update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
4         (Fconcord_object_adjoin): New function.
5         (Fconcord_object_adjoinX): New function.
6         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
7         `Fconcord_object_adjoinX'.
8
9 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
10
11         * concord.c:
12         - Include "elconcord.h".
13         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
14           and `Fconcord_object_get' to elconcord.h.
15         (Lisp_CONCORD_DS): Moved to elconcord.h.
16         (struct Lisp_CONCORD_DS): Ditto.
17         (XCONCORD_DS): Ditto.
18         (XSET_CONCORD_DS): Ditto.
19         (CONCORD_DS_P): Ditto.
20         (CHECK_CONCORD_DS): Ditto.
21         (CONCHECK_CONCORD_DS): Ditto.
22         (Lisp_CONCORD_Object): Ditto.
23         (struct Lisp_CONCORD_Object): Ditto.
24         (XCONCORD_OBJECT): Ditto.
25         (XSET_CONCORD_OBJECT): Ditto.
26         (CONCORD_OBJECT_P): Ditto.
27         (CHECK_CONCORD_OBJECT): Ditto.
28         (CONCHECK_CONCORD_OBJECT): Ditto.
29         (CONCORD_OBJECT_GENRE): Ditto.
30         (CONCORD_OBJECT_ID): Ditto.
31         (XCONCORD_OBJECT_ID): Ditto.
32         (XCONCORD_OBJECT_GENRE): Ditto.
33         (concord_object_equal): New function.
34         (LRECORD_IMPLEMENTATION of "concord_object"): Use
35         `concord_object_equal'.
36
37         * elconcord.h: New file.
38
39 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * concord.c (print_concord_object): Use readable form even if
42         `print-readably' is nil.
43
44 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * concord.c (print_concord_object): Don't display location of
47         data-source when `print-readably' is nil.
48
49 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
52         the default location of data-source.
53         (complex_vars_of_concord): Use Vchise_system_db_directory to
54         assign genre `character' and `feature'.
55
56         * chartab.h (Vchise_system_db_directory): New extern when
57         HAVE_CONCORD is defined.
58
59 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
62         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
63         (Qfeature): Ditto.
64         (Fconcord_object_genre): New function.
65         (syms_of_concord):
66         - Add new builtin symbols `character' and `feature' when
67           HAVE_LIBCHISE is defined.
68         - Add Add new builtin function `concord-object-genre'.  
69         (complex_vars_of_concord): New function; assign genres `character'
70         and `feature' when HAVE_LIBCHISE is defined.
71
72 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * emacs.c (main_1): Call `complex_vars_of_concord' when
75         HAVE_CONCORD is defined.
76
77         * symsinit.h (complex_vars_of_concord): New prototype.
78
79 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
80
81         * chartab.c (allocate_character): Add `static'.
82
83 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
84
85         * chartab.c (allocate_character): New function.
86         (Fdefine_char): Use allocate_character().
87
88 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
91         (Ōkawara).
92
93 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * chartab.c (save_uint8_byte_table): Fixed problem when a property
96         is unloaded.
97         (save_uint16_byte_table): Likewise.
98
99 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * chartab.c (Fchar_feature_property): New function when LIBCHISE
102         is enabled.
103         (Fput_char_feature_property): Likewise.
104         (syms_of_chartab): Add new builtin functions
105         `char-feature-property' and `put-char-feature-property' when
106         LIBCHISE is enabled.
107
108 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
111         '=>iso-ir.
112         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
113
114 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
117         (make_charset): Add new argument `iso_ir'.
118         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
119         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
120         XEmacs CHISE.
121         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
122         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
123         XEmacs CHISE.
124         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
125         function `make_charset'.
126
127         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
128         (struct Lisp_Charset): Add new member `iso_ir'.
129         (CHARSET_ISO_IR): New macro.
130
131 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
134         code-point by GL charset.
135
136 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * concord.c (concord_id_validate): New function.
139         (structure_type_create_concord): Use `concord_id_validate' instead
140         of `concord_name_validate' to accept integer and character as =id.
141
142 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
143
144         * concord.c (func_for_each_object): Fix bug about GC-protection.
145
146 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * concord.c (Fconcord_object_put): Check argument FEATURE is a
149         symbol.
150
151 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * text-coding.c (struct decoding_stream): Add new member
154         `bom_flag' in XEmacs CHISE.
155         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
156         in XEmacs CHISE.
157
158 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * mule-charset.c: Move definition of `=jis-x0208@1978' to
161         lisp/mule/mule-conf.el.
162
163 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
166         (make_charset): Add new argument `partial'.
167         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
168         (Fmake_reverse_direction_charset): Modify for `make_charset'.
169         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
170         CHISE.
171         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
172         `=jis-x0208' as a partial coded-charset.
173
174 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
175
176         * text-coding.c (decode_add_er_char): Fix problem when a character
177         represented by an entity-reference is not defined.
178
179 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
182         Qrep_*.
183
184 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
187         (Kasagi).
188
189 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
192         is a relation feature.
193
194 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * chartab.c (syms_of_chartab): Define
197         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
198
199         * chartab.h (Q_denotational): New extern when UTF2000 or
200         HAVE_CONCORD is defined.
201         (Q_denotational_from): Likewise.
202         (Q_subsumptive): Likewise.
203         (Q_subsumptive_from): Likewise.
204
205 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
206
207         * concord.c (concord_object_put): New function.
208         (Fconcord_object_put): Use `concord_object_put'.
209
210 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * concord.c (Fconcord_define_object): New function.
213         (syms_of_concord): Add new builtin function
214         `concord-define-object'.
215
216 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
219         (Kamo).
220
221 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * concord.c: Add EXFUN for Fconcord_object_get.
224         (Vconcord_genre_object_hash_table): New variable.
225         (concord_genre_cache_get_object): New function.
226         (concord_genre_cache_put_object): New function.
227         (Fconcord_make_object): Use object cache; put object-ID into `=id'
228         feature.
229         (Fconcord_object_put): Call `concord_index_sync' after
230         `concord_index_strid_put_obj'.
231         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
232
233 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * concord.c (Fconcord_decode_object): Do GCPRO for
236         Fconcord_make_object.
237         (func_for_each_object): Likewise; do GCPRO for
238         for_each_object_closure->function.
239         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
240         for_each_object_closure->function, for_each_object_closure->genre,
241         for_each_object_closure->ds and for_each_object_closure->ret.
242         (concord_object_validate): Do GCPRO for Fconcord_make_object.
243
244 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
245
246         * concord.c: Add EXFUNs for Fconcord_decode_object and
247         Fconcord_object_put.
248         (Fconcord_make_object): Change order of arguments.
249         (Fconcord_decode_object): Modify for Fconcord_make_object.
250         (func_for_each_object): Likewise.
251         (concord_object_validate): Likewise.
252         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
253
254 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
257
258 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
259
260         * concord.c (Fconcord_decode_object): Try to use readable print
261         form as a key of Concord-index.
262         (Fconcord_object_get): Try to use readable print form as an ID of
263         Concord-object.
264         (Fconcord_object_put): Try to use readable print form as an ID of
265         Concord-object and a feature value.
266         (Fconcord_object_spec): Try to use readable print form as an ID of
267         Concord-object.
268
269 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * concord.c (print_concord_object): Support readable form.
272
273 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * emacs.c (main_1): Call `structure_type_create_concord' when
276         HAVE_CONCORD is defined.
277
278         * symsinit.h (structure_type_create_concord): New prototype.
279
280         * concord.c (Qconcord_object): New variable.
281         (Qgenre): Likewise.
282         (Q_id): Likewise.
283         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
284         for directory.
285         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
286         char*> for genre-name.
287         (Fconcord_feature_list): Likewise.
288         (Fconcord_make_object): Likewise.
289         (Fconcord_decode_object): Likewise; use <char*> instead of
290         <unsigned char*> for feature_name and strid.
291         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
292         c_obj and feature_name.
293         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
294         char*> for c_value.
295         (struct closure_for_object_spec): Use <char*> instead of <unsigned
296         char*> for member `object_id'.
297         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
298         char*> for feature-name.
299         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
300         for c_obj.
301         (func_for_each_object): Cast to avoid warnings.
302         (Fconcord_foreach_object_in_feature): Use <char*> instead of
303         <unsigned char*> for genre_name and feature_name.
304         (concord_name_validate): New function.
305         (concord_object_validate): Likewise.
306         (concord_object_instantiate): Likewise.
307         (syms_of_concord): Add new builtin symbols `concord-object',
308         `genre' and `=id'.
309         (structure_type_create_concord): New function.
310
311 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * concord.c (Vconcord_ds_hash_table): New variable.
314         (Vconcord_genre_hash_table): New variable.
315         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
316         (Fconcord_ds_directory): New function.
317         (Fconcord_assign_genre): New function.
318         (Fconcord_genre_directory): New function.
319         (Fconcord_genre_ds): New function.
320         (Fconcord_feature_list): Allow to omit `ds'.
321         (Fconcord_make_object): Likewise.
322         (Fconcord_decode_object): Likewise.
323         (Fconcord_foreach_object_in_feature): Likewise.
324         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
325         Fconcord_assign_genre, Fconcord_genre_directory and
326         Fconcord_genre_ds.
327         (vars_of_concord): Setup Vconcord_ds_hash_table and
328         Vconcord_genre_hash_table.
329
330 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * concord.c (struct closure_for_each_object): Add new member
333         `ret'.
334         (func_for_each_object): Setup the return value to
335         `for_each_object_closure->ret'.
336         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
337         returns the value instead of Qt.
338
339 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * concord.c: New file.
342
343 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
346         `lrecord_type_concord_object'.
347
348 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * symsinit.h (syms_of_concord): New prototype.
351         (vars_of_concord): New prototype.
352
353         * emacs.c (main_1): Setup symbols and variable about concord if
354         HAVE_CONCORD is defined.
355
356         * config.h.in (HAVE_CONCORD): New macro.
357
358 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
359
360         * chartab.c (Fput_char_attribute): For each character relation
361         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
362
363 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
364
365         * chartab.c (Fput_char_attribute): Use
366         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
367         calling `put_char_composition'.
368
369 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
370
371         * chartab.c (Q_halfwidth_of): New variable.
372         (put_char_composition): Return `<-halfwidth' instead of
373         `=decomposition' for compatibility mapping to single character
374         tagged `narrow'.
375         (Fput_char_attribute): Convert char-specs in value of
376         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
377         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
378         for `<-halfwidth'.
379         (syms_of_chartab): Add new symbol `<-halfwidth'.
380
381 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * chartab.c (put_char_composition): Return
384         `<-formed@{isolated|initial|medial|final}' for compatibility
385         mapping to single character tagged
386         `{isolated|initial|medial|final}'.
387
388 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
389
390         * chartab.c (Q_compat_of): Deleted.
391         (put_char_composition): Return `<-FOO' for compatibility mapping
392         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
393         of `symbol_name (XSYMBOL(...))'.
394         (Fput_char_attribute): Convert char-specs in value of
395         `{<-|->}font[^*]*' to characters and put reverse links.
396         (Fsave_char_attribute_table): Don't refer Q_compat_of.
397         (syms_of_chartab): Delete builtin symbol `<-compat'.
398
399 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * chartab.c (Q_circled_of): New variable.
402         (put_char_composition): Return `<-circled' instead of
403         `=decomposition' for compatibility mapping to single character
404         tagged `circle'.
405         (Fput_char_attribute): Convert char-specs in value of
406         `{<-|->}circled[^*]*' to characters and put reverse links.
407         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
408         for `<-circled'.
409         (syms_of_chartab): Add new symbol `<-circled'.
410
411 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
412
413         * chartab.c (Qto_decomposition_at_circled): New variable.
414         (put_char_composition): Return `=>decomposition@circled' instead
415         of `=decomposition' for compatibility decomposition mapping tagged
416         `circle'.
417         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
418
419 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * chartab.c (Q_subscript_of): New variable.
422         (put_char_composition): Return `<-subscript' instead of
423         `=decomposition' for compatibility mapping to single character
424         tagged `sub'.
425         (Fput_char_attribute): Convert char-specs in value of
426         `{<-|->}subscript[^*]*' to characters and put reverse links.
427         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
428         for `<-subscript'.
429         (syms_of_chartab): Add new symbol `<-subscript'.
430
431 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * chartab.c (Q_superscript_of): New variable.
434         (put_char_composition): Return `<-superscript' instead of
435         `=decomposition' for compatibility mapping to single character
436         tagged `super'.
437         (Fput_char_attribute): Convert char-specs in value of
438         `{<-|->}superscript[^*]*' to characters and put reverse links.
439         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
440         for `<-superscript'.
441         (syms_of_chartab): Add new symbol `<-superscript'.
442
443 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
444
445         * chartab.c (Qto_decomposition_at_compat): Deleted.
446         (Qto_decomposition_at_superscript): New variable.
447         (put_char_composition): Use `=>decomposition@superscript' instead
448         of `=decomposition' for compatibility decomposition mapping tagged
449         `super'.
450         (Fput_char_attribute): Fix condition about `put_char_composition'.
451         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
452         add news symbol `=>decomposition@superscript'.
453
454 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
457         for compatibility decomposition mapping tagged FOO.
458         (Fput_char_attribute): Modify for `put_char_composition'.
459
460 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
461
462         * chartab.c (Qto_decomposition_at_compat): New variable.
463         (Q_compat_of): Renamed from `Q_compatibility_of'.
464         (put_char_composition): Rename `Q_compatibility_of' to
465         `Q_compat_of'; return `=>decomposition@compat' for compatibility
466         decomposition mapping.
467         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
468         `Q_compat_of'.
469         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
470         `<-compatibility' to `<-compat'.
471
472 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
473
474         * chartab.c (Q_compatibility_of): New variable.
475         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
476         object is proved to be a cons cell; return `<-compatibility' if
477         the first element of argument `value' is `compat'.
478         (Fput_char_attribute): Eliminate the first value if
479         `put_char_composition' returns `<-compatibility'.
480         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
481         for `<-compatibility'.
482         (syms_of_chartab): Add new symbol `<-compatibility'.
483
484 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
485
486         * chartab.c (Q_canonical): New variable.
487         (put_char_composition): Return a feature name: return
488         `->canonical' if argument `value' specifies single character.
489         (Fput_char_attribute): Use `put_char_composition' to determine
490         feature name for `=decomposition' or `->denotational'.
491         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
492         for `->canonical'.
493         (syms_of_chartab): Add new symbol `->canonical'.
494
495 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
496
497         * chartab.c (Qmap_decomposition): New variable.
498         (Fput_char_attribute): Convert `->decomposition' to
499         `=decomposition'.
500         (syms_of_chartab): Add new symbol `=decomposition'.
501
502 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * chartab.c (Fget_range_char_table): Fix serious problem when
505         `range' is nil.
506
507 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * chartab.c (char_table_get_db): Use `read_from_c_string'.
510
511 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
512
513         * lread.c (read_from_c_string): New function.
514
515         * lisp.h (read_from_c_string): New prototype.
516
517 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * chartab.c (Fput_char_attribute): Convert char-specs in value of
520         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
521         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
522         for `{<-|->}Oracle-Bones[^*]*'.
523
524 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
525
526         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
527         (Kizu).
528
529 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * text-coding.c (Qccs_priority_list): New variable in XEmacs
532         CHISE.
533         (Fmake_coding_system): Support new property `ccs-priority-list' in
534         XEmacs CHISE.
535         (Fcoding_system_property): Likewise.
536         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
537         Vdefault_coded_charset_priority_list in XEmacs CHISE.
538         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
539         XEmacs CHISE.
540         (complex_vars_of_file_coding): Define new coding-system-property
541         `ccs-priority-list' in XEmacs CHISE.
542
543         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
544
545 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
546
547         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
548         changed to normal function.
549         (encode_char_2): Likewise.
550
551         * mule-charset.c (decoding_table_put_char): Copied from
552         char-ucs.h; changed to normal function.
553         (encode_char_2): Likewise.
554
555 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
556
557         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
558         New extern.
559         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
560         (encode_char_2_search_children): New inline function.
561         (encode_char_2): Refer
562         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
563         and use `encode_char_2_search_children'.
564
565 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * mule-charset.c
568         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
569         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
570         (vars_of_mule_charset): Add new variable
571         `display-coded-charset-priority-use-inheritance' and
572         `display-coded-charset-priority-use-hierarchy-order'.
573
574 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * char-ucs.h (Q_subsumptive): New extern.
577         (Q_denotational): Likewise.
578         (encode_char_2): Search children specified by `->subsumptive' and
579         `->denotational'.
580
581 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
582
583         * mule-charset.c (complex_vars_of_mule_charset): Modify the
584         X-registry of `ucs-bmp'.
585
586 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
587
588         * chartab.c (char-variants): Refer `->subsumptive',
589         `->denotational' and `->identical' as same as `->ucs-unified'.
590
591 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * chartab.c (Fput_char_attribute): Convert char-specs in value of
594         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
595         links.
596
597 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * text-coding.c: Add EXFUN for `Fregexp_quote'.
600         (decode_add_er_char): Fix problem about infinite loop when a CCS
601         specified in `coded-charset-entity-reference-alist' is not
602         existed.
603
604 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
605
606         * mule-charset.c (syms_of_mule_charset): Rename
607         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
608
609 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * fns.c (simplify_char_spec): Don't allocate new character-object
612         if specified char_spec does not have any CCS-features.
613
614         * chartab.h: Add EXFUN for Fdefine_char.
615
616         * chartab.c: Delete EXFUN for Fdefine_char.
617
618 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * fns.c (simplify_char_spec): Use Fdefine_char instead of
621         Ffind_char for char-spec.
622
623 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * lisp-disunion.h (XCHARVAL): Fix condition about
626         SIZEOF_EMACS_INT.
627
628 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
631         <int> for `code'.
632         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
633         point; use <Emchar> instead of <int> for character-id.
634
635 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
636
637         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
638         (make_char): Likewise.
639         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
640         environment.
641         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
642         instead of <int> as the type of return value; use <Lisp_Object>
643         instead of <Emchar> as the type of argument.
644         (XCHARVAL[macro version]): Cast the result into <Emchar>.
645
646         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
647         syntaxcode> instead of <int>.
648
649 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * chartab.c (put_char_composition): Use DECODE_CHAR to get
652         character corresponding with UCS code point.
653         (Fput_char_attribute): Likewise.
654
655         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
656         character in the UCS decoding-table if the char-id is not equal to
657         the UCS code point.
658
659 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
662         for aliases; write `description'; write
663         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
664         not 0.
665
666 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
667
668         * chartab.c (Fsave_char_attribute_table): Don't use
669         `save_charset_properties'.
670
671         * mule-charset.c (Fsave_charset_properties): Renamed from
672         `save_charset_properties' and changed to Lisp function again;
673         write property `type' as `CCS'; write properties `final-byte' and
674         `mother' if they exists.
675         (syms_of_mule_charset): Revive builtin function
676         `save-charset-properties' when HAVE_LIBCHISE is defined.
677
678 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
681         instead of Vexec_directory.
682         (char_attribute_system_db_file): Likewise.
683
684 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * chartab.c (Fsave_char_attribute_table): Use
687         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
688         defined.
689
690         * mule-charset.c (save_charset_properties): Renamed from
691         `Fsave_charset_properties'; changed to non-Lisp function.
692         (syms_of_mule_charset): Abolish builtin function
693         `save-charset-properties'.
694
695 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
696
697         * mule-charset.c (Fsave_charset_properties): New function when
698         HAVE_LIBCHISE is defined.
699         (syms_of_mule_charset): Add new builtin function
700         `save-charset-properties' when HAVE_LIBCHISE is defined.
701
702 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
703
704         * chartab.c (Fput_char_attribute): Convert char-specs in value of
705         `{<-|->}ancient[^*]*' to characters and put reverse links.
706         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
707         for `{<-|->}ancient[^*]*'.
708
709 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
710
711         * chartab.c (Fput_char_attribute): Convert char-specs in value of
712         `{<-|->}original[^*]*' to characters and put reverse links.
713         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
714         for `{<-|->}original[^*]*'.
715
716 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
717
718         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
719
720 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * mule-charset.c (Qsystem_char_id): New variable.
723
724         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
725         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
726
727 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
728
729         * chartab.c (Fput_char_attribute): When processing a reference of
730         a character, put into the end of the reversed reference of each
731         target character.
732
733 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
734
735         * chartab.c (Q_same): Deleted.
736         (Q_same_of): Deleted.
737         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
738         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
739         for `{<-|->}same'.
740         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
741
742 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * chartab.c (Q_vulgar): Deleted.
745         (Q_vulgar_of): Deleted.
746         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
747         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
748         for `{<-|->}vulgar'.
749         (syms_of_chartab): Don't define `{<-|->}vulgar'.
750
751 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * chartab.c (Fput_char_attribute): Convert char-specs in value of
754         `{<-|->}wrong[^*]*' to characters and put reverse links.
755         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
756         for `{<-|->}wrong[^*]*'.
757
758 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
759
760         * chartab.c (Q_vulgar): New variable.
761         (Q_vulgar_of): New variable.
762         (Fput_char_attribute): Convert char-specs in value of
763         `{->|<-}vulgar' to characters and put reverse links.
764         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
765         for `{->|<-}vulgar'.
766         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
767
768 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * text-coding.c (decode_add_er_char): Must to quote prefix string
771         as regexp.
772
773 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * mule-charset.c (put_char_ccs_code_point): Store characters of
776         =ucs whose code_points >= 0xF0000.
777
778 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
779
780         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
781         CHISE.
782         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
783         CHISE.
784         (complex_vars_of_mule_charset): Add new coded-charset
785         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
786         builtin characters over 0xEFFFF.
787
788         * chartab.c (syms_of_chartab): Don't define symbol
789         `system-char-id' in every case.
790
791         * char-ucs.h (Qsystem_char_id): New extern variable.
792         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
793
794 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * text-coding.c (char_encode_utf8): Try to use entity-references
797         for U-000F0000 ...  U-0010FFFF.
798
799 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * text-coding.c (ER_BUF_SIZE): New macro.
802         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
803         `er_buf'.
804         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
805         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
806
807 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * chartab.c (find_char_feature_in_family): New function.
810         (Fchar_feature): Use `find_char_feature_in_family' with
811         `->identical', `<-subsumptive' and `<-denotational'.
812
813 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
814
815         * text-coding.c (char_encode_as_entity_reference): Allow prefix
816         within 8 characters; fix infinite loop.
817
818 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
819
820         * chartab.c (Q_same): New variable.
821         (Q_same_of): New variable.
822         (Fput_char_attribute): Convert char-specs in value of
823         `{->|<-}same' to characters and put reverse links.
824         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
825         for `{->|<-}same'.
826         (syms_of_chartab): Add new symbols `{->|<-}same'.
827
828 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * chartab.c (Q_component): New variable.
831         (Q_component_of): Likewise.
832         (Fput_char_attribute): Convert char-specs in value of
833         `{->|<-}ideographic-component-forms' to characters and put reverse
834         links.
835         (syms_of_chartab): Add new symbols
836         `{->|<-}ideographic-component-forms'.
837
838 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
839
840         * chartab.c (Q_identical): New variable.
841         (Q_identical_from): New variable.
842         (Fchar_feature): Regard `->identical' as a feature to find
843         ancestors.
844         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
845         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
846         for `{->|<-}identical'.
847         (syms_of_chartab): Add new symbols `{->|<-}identical'.
848
849 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
850
851         * char-ucs.h (encode_char_2): New inline function.
852         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
853
854 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
855
856         * chartab.c (Fput_char_attribute): Convert char-specs to
857         characters in value of `ideographic-structure'.
858         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
859         for `{<-|->}simplified(@...)'.
860         (Fdefine_char): Try to use predefined character's id.
861
862 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
863
864         * fns.c (simplify_char_spec): Try to convert builtin chars to
865         defined chars.
866
867 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
868
869         * chartab.c (Fput_char_attribute): Convert char-specs in value of
870         `<-simplified[^*]*' to characters and put reverse links.
871
872 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
873
874         * chartab.c (Q_subsumptive): Renamed from Q_unified.
875         (Q_subsumptive_from): Renamed from Q_unified_from.
876         (Fchar_feature): Use `Q_subsumptive_from' instead of
877         `Q_unified_from'.
878         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
879         `Q_unified'.
880         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
881         `<-unified' to `<-subsumptive'.
882
883 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
886         inheritance itself; fix typo; stop recursive search if cyclic
887         inheritance is found.
888
889 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
890
891         * chartab.c (Q_denotational): New variable.
892         (Q_denotational_from): New variable.
893         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
894         (put_char_attribute): New function.
895         (Fput_char_attribute): Use `put_char_attribute'; regard
896         `->denotational' and `<-denotational' as same as `->unified' and
897         `<-unified'.
898         (syms_of_chartab): Add new symbols `->denotational' and
899         `<-denotational'.
900
901 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
902
903         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
904         `Fget_char_attribute'.
905         (Fchar_variants): Likewise.
906         (get_char_table): Likewise.
907         (Fchar_feature): New function.
908         (put_char_composition): Use `Fchar_feature' instead of
909         `Fget_char_attribute'.
910         (Fput_char_attribute): Likewise; don't put the target character
911         into its `->unified' value.
912         (syms_of_chartab): Add new builtin function `char-feature'.
913
914 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
917         `Fget_char_attribute'.
918         (char_encode_utf8): Likewise.
919
920         * chartab.h: Add an EXFUN for `Fchar_feature'.
921
922 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
923
924         * chartab.c (Vnext_defined_char_id): New variable.
925         (Fput_char_attribute): Accept characters in `->unified'.
926         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
927         new characters which are not related with builtin char-id ranges.
928         (vars_of_chartab): Add new variable `next-defined-char-id'.
929
930 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * chartab.c (Q_unified): New variable.
933         (Q_unified_from): New variable.
934         (Fput_char_attribute): Add code for `->unified'.
935         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
936         XEmacs CHISE.
937
938 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * mule-charset.c (decode_ccs_conversion): New function.
941         (decode_defined_char): Use `decode_ccs_conversion'.
942         (decode_builtin_char): Likewise.
943
944 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * char-ucs.h: Change some charset-ids of private coded-charsets.
947
948 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
951         (char_encode_as_entity_reference): Likewise.
952         (decode_coding_big5): Modify for `decode_defined_char' and
953         `DECODE_CHAR'.
954         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
955         avoid compiler warning.
956         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
957
958         * mule-charset.c (decode_defined_char): Add new argument
959         `without_inheritance'.
960         (Fdecode_char): Add new optional argument `without_inheritance'.
961         (Fdecode_builtin_char): Modify for `Fdecode_char'.
962
963         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
964         (simplify_char_spec): Likewise.
965
966         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
967         setting.
968
969         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
970         (map_char_table): Likewise.
971         (Fdefine_char): Use `Fdecode_char' without inheritance.
972         (Ffind_char): Modify for `Fdecode_char'.
973
974         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
975
976         * char-ucs.h (decode_defined_char): Add new argument
977         `without_inheritance'.
978         (DECODE_CHAR): Likewise.
979         (MAKE_CHAR): Modify for `DECODE_CHAR'.
980
981 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
982
983         * chartab.c (Vchise_system_db_directory): New variable.
984         (vars_of_chartab): Add new variable `chise-system-db-directory'.
985
986 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * chartab.c: EXFUN `Fmount_char_attribute_table'.
989         (print_chartab_range): Don't define when `UTF2000' is defined.
990         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
991         `CHISE_DS_open'.
992
993 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
996         and optional argument `rehash' is specified, call
997         `open_chise_data_source_maybe' before
998         `chise_ds_foreach_char_feature_name' is called.
999
1000 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1001
1002         * chartab.c (char_attribute_list_reset_map_func): New function
1003         when HAVE_LIBCHISE is defined.
1004         (Fchar_attribute_list): Add new optional argument `rehash' when
1005         HAVE_LIBCHISE is defined.
1006         (open_chise_data_source_maybe): Use "chise-db" instead of
1007         "char-db".
1008         (char_attribute_system_db_file): Likewise.
1009         (Fload_char_attribute_table): Use
1010         `chise_feature_foreach_char_with_value' instead of
1011         `chise_char_feature_value_iterate'.
1012
1013 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1014
1015         * chartab.c (Vchise_db_directory): New variable.
1016         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1017
1018 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1019
1020         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1021         instead of HAVE_CHISE to specify using with libchise.
1022
1023         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1024
1025         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1026
1027         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1028         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1029         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1030         is defined.
1031         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1032         HAVE_CHISE to specify using with libchise.
1033         (syms_of_chartab): Don't define symbol `system-char-id' when
1034         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1035
1036 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1037
1038         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1039         specify CHISE DB support.
1040         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1041         of `char_attribute_system_db_file' to check feature DB file.
1042
1043         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1044         HAVE_CHISE_CLIENT to specify CHISE DB support.
1045
1046         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1047         specify CHISE DB support.
1048         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1049         not defined.
1050         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1051         instead of `char_attribute_system_db_file' to check feature DB
1052         file.
1053
1054 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1057         `HAVE_CHISE_CLIENT'.
1058
1059 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1062         (Fsave_charset_mapping_table): Don't use
1063         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1064
1065         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1066         (HAVE_LIBCHISE): New macro.
1067
1068         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1069
1070         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1071         (Fsave_char_attribute_table): Don't use
1072         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1073
1074 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1075
1076         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1077         defined.
1078         (save_uint16_byte_table): Likewise.
1079         (save_byte_table): Likewise.
1080         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1081         instead of `chise_char_load_feature_value'.
1082         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1083
1084 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1085
1086         * chartab.h (struct Lisp_Char_Table): Delete member
1087         `feature_table' if CHISE is defined.
1088
1089         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1090         (Fcopy_char_table): Likewise.
1091         (char_table_open_db_maybe): Likewise.
1092         (char_table_close_db_maybe): Likewise.
1093         (char_table_get_db): Likewise.
1094         (Fmount_char_attribute_table): Likewise.
1095         (Fload_char_attribute_table): Likewise.
1096
1097 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * mule-charset.c (load_char_decoding_entry_maybe): Use
1100         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1101         `chise_ccs_decode'.
1102
1103 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1104
1105         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1106         instead of `chise_open_data_source'.
1107         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1108         `chise_ds_close'.
1109
1110 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1111
1112         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1113         instead of `chise_ds_open_feature_table'.
1114         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1115
1116 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * mule-charset.c (Fsave_charset_mapping_table): Use
1119         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1120         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1121         `chise_ccs_sync' instead of `chise_ccst_close'.
1122         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1123
1124         * chartab.c (open_chise_data_source_maybe): Modify for
1125         `chise_open_data_source'.
1126         (char_table_open_db_maybe): Modify for
1127         `chise_ds_open_feature_table'.
1128
1129 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1130
1131         * mule-charset.c (load_char_decoding_entry_maybe): Use
1132         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1133         `chise_ccst_close'.
1134
1135 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1136
1137         * mule-charset.c (Fsave_charset_mapping_table): Use
1138         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1139         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1140         `chise_dt_put_char' and `chise_dt_close'.
1141         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1142         `chise_ccs_decode' and `chise_ccst_close' instead of
1143         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1144         `chise_dt_close'.
1145
1146         * chartab.c (char_table_get_db): Use
1147         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1148         (load_char_attribute_table_map_func): Modify for
1149         `chise_char_feature_value_iterate'.
1150         (Fload_char_attribute_table): Use
1151         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1152
1153 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1156
1157 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1158
1159         * chartab.c (put_char_table): Modify for inherited coded-charsets
1160         in XEmacs CHISE.
1161
1162 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1163
1164         * chartab.c (Fput_char_table_map_function): Fixed.
1165         (word_boundary_p): Don't check charset in XEmacs CHISE.
1166
1167 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1168
1169         * mule-charset.c (Fsave_charset_mapping_table): Use
1170         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1171         instead of `chise_open_decoding_table'; refer
1172         `default_chise_data_source'; use `chise_dt_close' instead of
1173         `chise_close_decoding_table'.
1174         (load_char_decoding_entry_maybe): Likewise.
1175
1176         * chartab.c (default_chise_data_source): New variable when `CHISE'
1177         is defined.
1178         (Fcopy_char_table): `ct->ds' is deleted.
1179         (open_chise_data_source_maybe): New function.
1180         (Fclose_char_data_source): New function.
1181         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1182         use `chise_ds_open_feature_table' instead of
1183         `chise_open_feature_table'.
1184         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1185         `chise_close_feature_table'; `cit->ds' is deleted.
1186         (syms_of_chartab): Add new builtin function
1187         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1188
1189         * chartab.h (default_chise_data_source): New extern variable.
1190         (open_chise_data_source_maybe): New prototype.
1191         (struct Lisp_Char_Table): Delete `ds'.
1192
1193 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1194
1195         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1196         `CHISE' is defined.
1197
1198 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1199
1200         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1201         not defined; add code for non-libchise setting.
1202         (char_table_close_db_maybe): Likewise.
1203         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1204         defined.
1205         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1206         even if `CHISE' is not defined.
1207         (Freset_char_attribute_table): Likewise.
1208         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1209         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1210         `char_table_get_db'.
1211         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1212         `char_table_close_db_maybe' even if `CHISE' is not defined.
1213
1214 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1215
1216         * chartab.c (char_table_open_db_maybe): New function.
1217         (char_table_close_db_maybe): New function.
1218         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1219         (Freset_char_attribute_table): Likewise.
1220         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1221         `char_table_close_db_maybe'.
1222         (Fload_char_attribute_table): Likewise.
1223
1224 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1225
1226         * chartab.c: Don't include <chise.h> because it is included in
1227         chartab.h.
1228         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1229         defined.
1230         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1231         `CHISE' is defined.
1232         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1233         `CHISE' is defined.
1234         (Fclose_char_attribute_table): Close `ct->feature_table' and
1235         `ct->ds' when `CHISE' is defined.
1236         (Freset_char_attribute_table): Likewise.
1237         (load_char_attribute_maybe): Use `cit->ds' and
1238         `cit->feature_table' when `CHISE' is defined.
1239         (Fload_char_attribute_table): Likewise.
1240
1241         * chartab.h: Include <chise.h> when `CHISE' is defined.
1242         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1243         when `CHISE' is defined.
1244
1245 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1246
1247         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1248         is defined.
1249         (char_table_description): Likewise.
1250         (Fmake_char_table): Likewise.
1251         (Fcopy_char_table): Likewise.
1252         (Fmount_char_attribute_table): Likewise.
1253         (Fclose_char_attribute_table): Likewise.
1254         (Freset_char_attribute_table): Likewise.
1255         (load_char_attribute_maybe): Likewise.
1256         (Fload_char_attribute_table): Likewise.
1257
1258         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1259         defined.
1260
1261 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1262
1263         * chartab.c (load_char_attribute_table_map_func): New function
1264         when CHISE is defined.
1265         (Qload_char_attribute_table_map_function): Don't define when CHISE
1266         is defined.
1267         (Fload_char_attribute_table_map_function): Likewise.
1268         (Fload_char_attribute_table): Use libchise when `CHISE' is
1269         defined.
1270         (syms_of_chartab): Don't define
1271         `load-char-attribute-table-map-function' when CHISE is defined.
1272
1273 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1274
1275         * chartab.c: Include <chise.h> when `CHISE' is defined.
1276         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1277
1278 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * mule-charset.c (charset_code_point): Fix problem when searching
1281         in mother CCS fails with `defined_only' mode.
1282
1283 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1284
1285         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1286         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1287         (put_char_composition): Likewise.
1288         (Fput_char_attribute): Likewise.
1289         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1290
1291 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1292
1293         * chartab.c (Q_ucs): Deleted.
1294         (Fput_char_attribute): Don't refer `->ucs'.
1295         (Fdefine_char): Likewise.
1296         (Ffind_char): Likewise.
1297         (syms_of_chartab): Delete `->ucs'.
1298
1299 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1300
1301         * mule-charset.c (Qmap_cns11643_2): Renamed from
1302         `Qchinese_cns11643_2'.
1303         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1304         `chinese-cns11643-2'.
1305         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1306         `=cns11643-2'.
1307
1308 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1309
1310         * mule-charset.c (Qmap_cns11643_1): Renamed from
1311         `Qchinese_cns11643_1'.
1312         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1313         `chinese-cns11643-1'.
1314         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1315         `=cns11643-1'.
1316
1317 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1318
1319         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1320         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1321         `chinese-gb12345'.
1322         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1323         `=gb12345'.
1324
1325 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1326
1327         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1328         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1329         `chinese-gb2312'.
1330         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1331         `=gb2312'.
1332
1333 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1334
1335         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1336         (syms_of_mule_charset): Add new symbol `=big5' instead of
1337         `chinese-big5'.
1338         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1339
1340 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1341
1342         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1343         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1344         `korean-ksc5601'.
1345         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1346         `=ks-x1001'.
1347
1348 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1349
1350         * mule-charset.c (Qmap_jis_x0212): Renamed from
1351         `Qjapanese_jisx0212'.
1352         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1353         `japanese-jisx0212'.
1354         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1355         `=jis-x0212'.
1356
1357 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1358
1359         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1360         `Qjapanese_jisx0208'.
1361         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1362         of `japanese-jisx0208'.
1363         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1364         `=jis-x0208-1983'.
1365
1366 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1367
1368         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1369         `Qjapanese_jisx0208_1978'.
1370         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1371         of `japanese-jisx0208-1978'.
1372         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1373         `=jis-x0208-1978'.
1374
1375 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1376
1377         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1378         only for XEmacs CHISE.
1379
1380 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1381
1382         * char-ucs.h: Compact non-ISO-IR charset-ids.
1383         (LEADING_BYTE_UCS): Changed to -177.
1384         (LEADING_BYTE_CONTROL_1): Changed to -77.
1385         (LEADING_BYTE_UCS_BMP): Changed to -176.
1386         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1387
1388 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1389
1390         * mule-charset.c (Qiso_ir): New variable.
1391         (Fmake_charset): Recognise new property `iso-ir'.
1392         (syms_of_mule_charset): Add new symbol `iso-ir'.
1393
1394 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1395
1396         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1397         n to -n; charset-id of non ISO-IR sets are changed to positive
1398         numbers.
1399
1400 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1401
1402         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1403         for &MCS-XXXXXXXX; values.
1404
1405 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1406
1407         * mule.c (Vxemacs_chise_version): Renamed from
1408         `Vutf_2000_version'.
1409         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1410         `utf-2000-version' as an alias for `xemacs-chise-version'.
1411
1412 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1415         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1416         defined.
1417
1418         * config.h.in (CHISE): New macro.
1419
1420 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1421
1422         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1423         of `ucs'.
1424         (Qmap_ucs): New variable.
1425         (syms_of_mule_charset): Add new symbol `=ucs'.
1426         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1427
1428         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1429         (simplify_char_spec): Likewise.
1430
1431         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1432
1433         * char-ucs.h (Qmap_ucs): New extern variable.
1434
1435 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1436
1437         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1438         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1439         don't define it when UTF2000 is not defined.
1440         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1441         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1442         when UTF2000 is not defined.
1443         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1444         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1445
1446 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1447
1448         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1449
1450         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1451         (Qucs_gb): Deleted.
1452         (syms_of_mule_charset): Delete `ucs-gb'.
1453         (complex_vars_of_mule_charset): Likewise.
1454
1455 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1456
1457         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1458
1459         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1460         (Qucs_cns): Deleted.
1461         (syms_of_mule_charset): Delete `ucs-cns'.
1462         (complex_vars_of_mule_charset): Likewise.
1463
1464 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1465
1466         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1467
1468         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1469         (Qucs_jis): Deleted.
1470         (syms_of_mule_charset): Delete `ucs-jis'.
1471         (complex_vars_of_mule_charset): Likewise.
1472
1473 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1474
1475         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1476
1477         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1478         (Qucs_ks): Deleted.
1479         (syms_of_mule_charset): Delete `ucs-ks'.
1480         (complex_vars_of_mule_charset): Likewise.
1481
1482 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1483
1484         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1485         (Qideograph_daikanwa_2): Deleted.
1486         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1487         (complex_vars_of_mule_charset): Likewise.
1488
1489         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1490         (LEADING_BYTE_DAIKANWA_1): Deleted.
1491         (LEADING_BYTE_DAIKANWA_2): Deleted.
1492         (MIN_CHAR_DAIKANWA): Deleted.
1493         (MAX_CHAR_DAIKANWA): Deleted.
1494
1495 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1496
1497         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1498         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1499         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1500
1501         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1502         (Vcharset_ideograph_daikanwa): Deleted.
1503         (Qideograph_hanziku_{1..12}): Deleted.
1504         (Qideograph_daikanwa): Deleted.
1505         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1506         Vcharset_ideograph_daikanwa.
1507         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1508         `ideograph-hanziku-{1..12}'.
1509         (complex_vars_of_mule_charset): Likewise.
1510
1511 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1512
1513         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1514
1515         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1516         (Qideograph_gt_pj_{1..11}): Deleted.
1517         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1518         (complex_vars_of_mule_charset): Likewise.
1519
1520 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1521
1522         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1523         (Vcharset_ideograph_gt): Deleted.
1524         (Qucs_big5): Deleted.
1525         (Qideograph_gt): Deleted.
1526         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1527         `ideograph-gt'.
1528         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1529         and `ideograph-gt'.
1530
1531         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1532         (LEADING_BYTE_GT): Deleted.
1533         (MIN_CHAR_GT): Deleted.
1534         (MAX_CHAR_GT): Deleted.
1535
1536 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1539
1540 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1543         (save_uint16_byte_table): Likewise.
1544         (save_byte_table): Likewise; convert values by it.
1545         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1546         for `ideographic-structure'.
1547         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1548         as the filter for `ideographic-structure'.
1549
1550 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1551
1552         * chartab.c (put_char_composition): New function.
1553         (Fput_char_attribute): Use `put_char_composition'; use
1554         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1555
1556         * fns.c (simplify_char_spec): New function.
1557         (char_ref_simplify_spec): New function.
1558         (Fchar_refs_simplify_char_specs): New function.
1559         (syms_of_fns): Add new builtin function
1560         `char-refs-simplify-char-specs'.
1561
1562 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1563
1564         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1565         (Qideograph_cbeta): Deleted.
1566         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1567         (complex_vars_of_mule_charset): Likewise.
1568
1569         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1570         (MIN_CHAR_CBETA): Comment out.
1571         (MAX_CHAR_CBETA): Likewise.
1572
1573 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1574
1575         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1576         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1577         CHISE client feature.
1578
1579 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1580
1581         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1582
1583 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1584
1585         * mule-charset.c (charset_lookup_description_1): Use
1586         `NUM_LEADING_BYTES' in UTF-2000.
1587
1588 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1589
1590         * char-ucs.h (GC_CHARSETP): Deleted.
1591
1592 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1593
1594         * char-ucs.h (MAX_CHAR_GT): Updated.
1595
1596 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1597
1598         * text-coding.c: Sync with XEmacs 21.4.10.
1599
1600 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1601
1602         * mule-charset.c (Vcharset_china3_jef): Deleted.
1603         (Qchina3_jef): Deleted.
1604         (syms_of_mule_charset): Don't define `china3-jef'.
1605         (complex_vars_of_mule_charset): Likewise.
1606
1607         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1608         (MIN_CHAR_CHINA3_JEF): Comment out.
1609         (MAX_CHAR_CHINA3_JEF): Comment out.
1610
1611 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1612
1613         * mule-charset.c (Vcharset_ucs_gb): New variable.
1614         (Qucs_gb): New variable.
1615         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1616         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1617
1618         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1619
1620 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1621
1622         * mule-charset.c (charset_code_point): if a coded-charset has a
1623         final-byte, don't inherit the builtin range of the mother CCS.
1624
1625 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1626
1627         * mule-charset.c (charset_code_point): Fix problem about
1628         inheritance.
1629
1630 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1631
1632         * mule-charset.c (decode_builtin_char): Reorganized.
1633
1634 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1635
1636         * text-coding.c (char_encode_as_entity_reference): Modify for
1637         `charset_code_point'.
1638         (char_encode_shift_jis): Likewise.
1639         (char_encode_big5): Likewise.
1640         (char_encode_utf8): Likewise.
1641         (char_encode_iso2022): Likewise.
1642
1643         * mule-charset.c (charset_code_point): Add new argument
1644         `defined_only'.
1645         (Fencode_char): Add new optional argument `defined_only'.
1646
1647         * chartab.c (put_char_table): Modify for `charset_code_point'.
1648
1649         * char-ucs.h (charset_code_point): Add new argument
1650         `defined_only'.
1651         (encode_char_1): Modify for `charset_code_point'.
1652
1653 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1654
1655         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1656         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1657
1658 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1659
1660         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1661         (Qjis_x0208): Likewise.
1662         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1663         XCHARSET_FINAL(charset).
1664         (charset_code_point): Modify condition for final-byte based
1665         builtin-chars.
1666         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1667         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1668         in UTF-2000; specify `=jis-x0208' as the mother of
1669         `japanese-jisx0208-1978', `japanese-jisx0208' and
1670         `japanese-jisx0208-1990' in UTF-2000.
1671
1672 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1673
1674         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1675
1676 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * text-coding.c (decode_coding_utf16): Support UTF-16.
1679         (char_encode_utf16): Fixed.
1680
1681 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * text-coding.c (Qutf16): New variable in MULE.
1684         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1685         (Fcoding_system_type): Add `utf-16' in MULE.
1686         (struct detection_state): Add a structure for utf16 in MULE.
1687         (detect_coding_type): Setup st->utf16.mask in MULE.
1688         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1689         MULE.
1690         (reset_encoding_stream): Use `char_encode_utf16' and
1691         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1692         (detect_coding_utf16): New function [incomplete].
1693         (decode_coding_utf16): New function [support only UCS-2].
1694         (char_encode_utf16): New function.
1695         (char_finish_utf16): New function.
1696         (syms_of_file_coding): Add new symbol `utf-16'; setup
1697         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1698
1699         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1700         UTF-2000.
1701         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1702         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1703
1704 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1705
1706         * chartab.c (put_char_table): When a charset is specified as a
1707         range in UTF-2000, don't support builtin characters.
1708
1709 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1710
1711         * mule-charset.c (decode_defined_char): Don't refer external
1712         database if Qunbound or Qnil are found.
1713         (Fsave_charset_mapping_table): Don't define it if
1714         HAVE_CHISE_CLIENT is not defined.
1715         (Freset_charset_mapping_table): New function.
1716         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1717         found in external database.
1718         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1719         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1720         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1721
1722 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1723
1724         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1725         not.
1726
1727 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1728
1729         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1730         Q_lowercase, Q_uppercase in UTF-2000.
1731
1732         * chartab.c (get_char_table): Add special code for the standard
1733         case table to use character attribute `->downcase' and
1734         `->uppercase' for case operations in UTF-2000.
1735
1736         * casetab.c (Qflippedcase): New variable in UTF-2000.
1737         (Q_lowercase): Likewise.
1738         (Q_uppercase): Likewise.
1739         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1740         and `->uppercase' in UTF-2000.
1741         (complex_vars_of_casetab): Assign attribute name `downcase' to
1742         downcase and CANON table of Vstandard_case_table in UTF-2000;
1743         assign attribute name `flippedcase' to upcase and EQV table of
1744         Vstandard_case_table in UTF-2000.
1745
1746 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1747
1748         * text-coding.c (decode_add_er_char): Support isolated-chars.
1749         (char_encode_as_entity_reference): Likewise.
1750
1751 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1752
1753         * emacs.c (Vutf_2000_lisp_directory): New variable.
1754         (Vconfigure_utf_2000_lisp_directory): Likewise.
1755         (complex_vars_of_emacs): Add new variable
1756         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1757
1758 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1759
1760         * char-ucs.h (DECODE_CHAR): Delete special code for
1761         `chinese-big5-1' and `chinese-big5-2'.
1762
1763         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1764         (Qbig5_2): Likewise.
1765         (decode_defined_char): Support CONVERSION_BIG5_1 and
1766         CONVERSION_BIG5_2.
1767         (decode_builtin_char): Likewise.
1768         (charset_code_point): Likewise.
1769         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1770         'conversion in UTF-2000.
1771         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1772         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1773         `chinese-big5-2' as children of `chinese-big5'.
1774
1775         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1776         (CONVERSION_BIG5_2): New macro.
1777
1778 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1779
1780         * text-coding.c (char_encode_big5): Support entity-reference.
1781
1782 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1783
1784         * text-coding.c (char_encode_as_entity_reference): New function.
1785         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1786
1787 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1788
1789         * text-coding.c (decode_coding_big5): Support entity-reference
1790         decoding feature.
1791
1792 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1793
1794         * text-coding.c (allocate_coding_system): Initialize initial
1795         charsets for CODESYS_UTF8.
1796         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1797         charset-g2 for CODESYS_UTF8.
1798         (decode_coding_utf8): Use charset-g0.
1799         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1800         to force variants to map to UCS.
1801
1802 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * text-coding.c (Qutf_8_mcs): New variable.
1805         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1806         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1807         instead of `utf-8' in UTF-2000.
1808
1809 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1810
1811         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1812         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1813         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1814         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1815         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1816         CONVERSION_96x96x96x96 are introduced.
1817         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1818         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1819         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1820
1821         * char-ucs.h (CONVERSION_94): New macro.
1822         (CONVERSION_96): New macro.
1823         (CONVERSION_94x94): New macro.
1824         (CONVERSION_96x96): New macro.
1825         (CONVERSION_94x94x94): New macro.
1826         (CONVERSION_96x96x96): New macro.
1827         (CONVERSION_94x94x94x60): New macro.
1828         (CONVERSION_94x94x94x94): New macro.
1829         (CONVERSION_96x96x96x96): New macro.
1830
1831 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1832
1833         * chartab.c (Vcharacter_variant_table): Deleted.
1834         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1835         of `Vcharacter_variant_table'.
1836         (Fput_char_attribute): Likewise.
1837         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1838         (complex_vars_of_chartab): Likewise.
1839
1840 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1841
1842         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1843
1844         * fns.c (Qideographic_structure): New variable.
1845         (Qkeyword_char): New variable.
1846         (ids_format_unit): New function.
1847         (Fideographic_structure_to_ids): New function.
1848         (syms_of_fns): Add new symbols `ideographic-structure' and
1849         `:char'; add new builtin function `ideographic-structure-to-ids'.
1850
1851         * data.c (Fchar_ref_p): New function.
1852         (syms_of_data): Add new builtin function `char-ref-p'.
1853
1854         * chartab.h: Add an EXFUN for `Ffind_char'.
1855
1856 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1857
1858         * text-coding.c (Vcharacter_composition_table): Deleted.
1859         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1860         in every UTF-2000.
1861
1862         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1863         UTF-2000.
1864         (Vcharacter_composition_table): Deleted.
1865         (Fget_composite_char): Use the implementation for external-DB
1866         support in every UTF-2000.
1867         (Fput_char_attribute): Likewise.
1868         (char_attribute_system_db_file): Don't define if external-DB
1869         feature is not available.
1870         (Fsave_char_attribute_table): Likewise.
1871         (Fmount_char_attribute_table): Likewise.
1872         (Fclose_char_attribute_table): Likewise.
1873         (Freset_char_attribute_table): Likewise.
1874         (Fload_char_attribute_table): Likewise.
1875         (syms_of_chartab): Don't define `save-char-attribute-table',
1876         `mount-char-attribute-table', `reset-char-attribute-table',
1877         `close-char-attribute-table' and `load-char-attribute-table' if
1878         external-DB feature is not available.
1879         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1880
1881 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1882
1883         * text-coding.c (Qcomposition): Add extern if external-DB feature
1884         is supported.
1885         (Vcharacter_composition_table): Don't add extern if external-DB
1886         feature is supported.
1887         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1888         character composition rule if external-DB feature is supported.
1889
1890         * chartab.c (Vcharacter_composition_table): Don't define if
1891         external-DB feature is supported.
1892         (Qcomposition): New variable.
1893         (Fget_composite_char): New implementation for external-DB support.
1894         (Fput_char_attribute): Use `composition' property of each
1895         character instead of `Vcharacter_composition_table' to store
1896         character-composition rules if external-DB feature is supported.
1897         (syms_of_chartab): Add new symbol `composition'.
1898         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1899         external-DB feature is supported.
1900
1901 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1902
1903         * chartab.c (Vchar_db_stingy_mode): New variable.
1904         (load_char_attribute_maybe): Close database if
1905         Vchar_db_stingy_mode is not NIL.
1906         (Fload_char_attribute_table_map_function): Use
1907         `get_char_id_table_0' instead of `get_char_id_table'.
1908         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1909
1910         * chartab.h (get_char_id_table_0): New inline function.
1911         (get_char_id_table): Use `get_char_id_table_0'.
1912
1913 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1914
1915         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1916         and `COMPOSE_ADD_CHAR'.
1917         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1918
1919 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1920
1921         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1922         instead of `DECODE_ADD_UCS_CHAR'.
1923         (COMPOSE_ADD_CHAR): Likewise.
1924
1925 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1926
1927         * text-coding.c (decode_flush_er_chars): New inline function.
1928         (decode_add_er_char): New function.
1929         (decode_coding_utf8): Use `decode_flush_er_chars' and
1930         `decode_add_er_char'.
1931
1932 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1933
1934         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1935         done before `decode_output_utf8_partial_char'.
1936
1937         * mule-charset.c (complex_vars_of_mule_charset): Specify
1938         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1939         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1940
1941 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1942
1943         * mule-charset.c (decode_defined_char): New function; search
1944         mother.
1945         (decode_builtin_char): Don't search mother if
1946         XCHARSET_MAX_CODE(charset) == 0.
1947         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1948         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1949         (Fdecode_char): Use `decode_defined_char' instead of
1950         `DECODE_DEFINED_CHAR'.
1951         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1952         mother of `Vcharset_ucs_jis'.
1953
1954         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1955         instead of `DECODE_DEFINED_CHAR'.
1956
1957         * char-ucs.h (decode_defined_char): Renamed from
1958         `DECODE_DEFINED_CHAR'; changed to normal function.
1959         (DECODE_CHAR): Use `decode_defined_char' instead of
1960         `DECODE_DEFINED_CHAR'.
1961
1962         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1963
1964 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1965
1966         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1967
1968         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1969         variable.
1970         (Quse_entity_reference): New variable.
1971         (Qd): New variable.
1972         (Qx): New variable.
1973         (QX): New variable.
1974         (coding_system_description): Add description for
1975         `ccs_priority_list'.
1976         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1977         (allocate_coding_system): Initialize `ccs_priority_list' in
1978         UTF-2000.
1979         (Fmake_coding_system): Add description about
1980         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1981         (codesys).
1982         (Fcoding_system_property): Accept `disable-composition' and
1983         `use-entity-reference' in UTF-2000.
1984         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1985         in UTF-2000.
1986         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1987         (decode_coding_utf8): Decode entity-reference if
1988         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1989         (char_encode_utf8): Encode non-Unicode characters as
1990         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1991         (str->codesys).
1992         (syms_of_file_coding): Add new symbols `use-entity-reference',
1993         `d', `x', `X'.
1994         (vars_of_file_coding): Add new variable
1995         `coded-charset-entity-reference-alist'.
1996         (complex_vars_of_file_coding): Declare `disable-composition' and
1997         `use-entity-reference' to be coding-system-properties in UTF-2000.
1998
1999         * file-coding.h (struct Lisp_Coding_System): Add new member
2000         `use_entity_reference' and `ccs_priority_list'.
2001         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2002         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2003         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2004
2005 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2006
2007         * chartab.c (save_uint8_byte_table): Don't clear the table.
2008         (save_uint16_byte_table): Likewise.
2009         (save_byte_table): Likewise.
2010         (Fmount_char_attribute_table): New function.
2011         (syms_of_chartab): Add new builtin function
2012         `mount-char-attribute-table'.
2013
2014 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2015
2016         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2017         "w+" mode.
2018         (load_char_decoding_entry_maybe): Open database as read-only mode.
2019
2020         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2021         open database as "w+" mode.
2022         (load_char_attribute_maybe): Open database as read-only mode.
2023         (Fload_char_attribute_table): Likewise.
2024
2025 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2028         (char_table_description): Delete member `db_file'.
2029         (Fmake_char_table): Don't refer `ct->db_file'.
2030         (Fcopy_char_table): Likewise.
2031         (Fsave_char_attribute_table): Likewise.
2032         (Fclose_char_attribute_table): Likewise.
2033         (Freset_char_attribute_table): Likewise.
2034         (load_char_attribute_maybe): Likewise.
2035         (Fload_char_attribute_table): Likewise.
2036
2037         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2038
2039 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2040
2041         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2042         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2043         `ct->db' is living.
2044         (load_char_attribute_maybe): Likewise.
2045         (Fload_char_attribute_table): Likewise.
2046
2047 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2048
2049         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2050         `ct->db_file' unconditionally.
2051
2052 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2053
2054         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2055         UTF-2000.
2056         (char_table_description): Add description for `db_file' and `db'
2057         in UTF-2000.
2058         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2059         UTF-2000.
2060         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2061         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2062         (Fclose_char_attribute_table): New function.
2063         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2064         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2065         and `cit->db'.
2066         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2067         (syms_of_chartab): Add new builtin function
2068         `Fclose_char_attribute_table'.
2069
2070 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2071
2072         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2073         `db' in UTF-2000.
2074         (load_char_attribute_maybe): Change interface.
2075         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2076
2077 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2078
2079         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2080
2081 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2082
2083         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2084         instead of `DECODE_CHAR' for mother; don't use special code for
2085         chinese-big5 to use code space of chinese-big5-1 and
2086         chinese-big5-2.
2087         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2088         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2089
2090         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2091         (MAX_CHAR_BIG5_CDP): Revival.
2092
2093 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2094
2095         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2096         the XLFD registry-encoding name of `chinese-big5'.
2097
2098 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2099
2100         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2101         (Qchinese_big5_cdp): Deleted.
2102         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2103         (complex_vars_of_mule_charset): Delete coded-charset
2104         `chinese-big5-cdp'.
2105
2106         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2107         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2108         `CHARSET_ID_OFFSET - n' for private CCS.
2109         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2110         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2111         of `MIN_LEADING_BYTE'.
2112         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2113         `(CHARSET_ID_OFFSET - 97)'.
2114         (MIN_CHAR_BIG5_CDP): Deleted.
2115         (MAX_CHAR_BIG5_CDP): Deleted.
2116
2117 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2118
2119         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2120
2121 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2122
2123         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2124         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2125         chartab.c].
2126
2127         * chartab.c (Vutf_2000_version): Moved to mule.c.
2128         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2129
2130 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2131
2132         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2133         when HAVE_CHISE_CLIENT is not defined.
2134
2135         * mule.c (vars_of_mule): Provide feature `chise' when
2136         HAVE_CHISE_CLIENT is defined.
2137
2138 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2139
2140         * config.h.in (UTF2000): Add comment.
2141         (HAVE_CHISE_CLIENT): New macro.
2142
2143 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2144
2145         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2146         CONSP.
2147         (Fput_char_attribute): Likewise.
2148         (char_attribute_system_db_file): Encode file-name of attribute.
2149         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2150         the initial value.
2151
2152 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2153
2154         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2155         (Fsave_charset_mapping_table): Use
2156         `char_attribute_system_db_file'.
2157         (load_char_decoding_entry_maybe): Likewise.
2158
2159         * chartab.h (Qsystem_char_id): New external variable.
2160         (char_attribute_system_db_file): New prototype.
2161
2162         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2163         (char_attribute_system_db_file): New function.
2164         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2165         (Freset_char_attribute_table): Likewise.
2166         (load_char_attribute_maybe): Likewise.
2167         (Fload_char_attribute_table): Likewise.
2168         (syms_of_chartab): Add new symbol `system-char-id'.
2169
2170 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2171
2172         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2173         `XCHARSET_GRAPHIC(ccs)'.
2174
2175 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2176
2177         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2178
2179 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2180
2181         * chartab.c (Q_ucs_variants): New variable.
2182         (syms_of_chartab): Add new symbol `->ucs-variants'.
2183         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2184         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2185         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2186
2187         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2188
2189         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2190         `HAVE_DATABASE' is defined.
2191         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2192         `HAVE_DATABASE' is defined.
2193
2194 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2195
2196         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2197         attribute-table.
2198         (Freset_char_attribute_table): New function.
2199         (syms_of_chartab): Add new builtin function
2200         `reset-char-attribute-table'.
2201
2202 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2203
2204         * chartab.c (load_char_attribute_maybe): Don't make directories.
2205
2206 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2207
2208         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2209
2210         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2211         for decoding-table.
2212
2213 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2214
2215         * mule-charset.c (Fsave_charset_mapping_table): Use
2216         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2217
2218         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2219         instead of `XCHARSET_CHARS'.
2220
2221 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2222
2223         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2224         (XCHARSET_BYTE_SIZE): Likewise.
2225
2226         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2227         mule-charset.c].
2228         (XCHARSET_BYTE_SIZE): Likewise.
2229
2230 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2231
2232         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2233         data-directory to store database.
2234         (Fsave_char_attribute_table): Likewise.
2235         (load_char_attribute_maybe): Likewise.
2236         (Fload_char_attribute_table): Likewise.
2237
2238 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2239
2240         * mule-charset.c (Fsave_charset_mapping_table): New function.
2241         (syms_of_mule_charset): Add new builtin function
2242         `save-charset-mapping-table'.
2243
2244 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2245
2246         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2247         (get_ccs_octet_table): New inline function.
2248         (put_ccs_octet_table): Likewise.
2249         (decoding_table_put_char): Use `get_ccs_octet_table' and
2250         `put_ccs_octet_table'.
2251         (decoding_table_remove_char): Use `decoding_table_put_char'.
2252         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2253
2254         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2255         into encoding_table.
2256         (make_charset): Use Qunbound instead Qnil as initial value of
2257         decoding_table.
2258
2259 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2260
2261         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2262         element is Qunloaded.
2263         (map_over_uint16_byte_table): Likewise.
2264         (map_over_byte_table): Likewise.
2265         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2266         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2267         database support, load encoding-table of the specified
2268         coded-charset if it is not loaded yet.
2269         (save_uint8_byte_table): New function of UTF-2000 with external
2270         database support.
2271         (save_uint16_byte_table): Likewise.
2272         (save_byte_table): Likewise.
2273         (Fput_char_attribute): Don't store value into external database
2274         even if the external database feature is supported in UTF-2000;
2275         set `attribute' as name of char-table if the external database
2276         feature is supported.
2277         (Fsave_char_attribute_table): New function in UTF-2000.
2278         (syms_of_chartab): Add new builtin function
2279         `save-char-attribute-table' in UTF-2000.
2280
2281 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2282
2283         * chartab.c (char_attribute_table_to_put): New variable in
2284         UTF-2000.
2285         (Qput_char_table_map_function): Likewise.
2286         (value_to_put): Likewise.
2287         (Fput_char_table_map_function): New function in UTF-2000.
2288         (put_char_table): Use `Fmap_char_attribute' for
2289         CHARTAB_RANGE_CHARSET in UTF-2000.
2290         (Fput_char_attribute): Store symbol instead of string in
2291         `XCHAR_TABLE_NAME (table)'.
2292         (load_char_attribute_maybe): Likewise.
2293         (syms_of_chartab): Add new symbol/function
2294         `put-char-table-map-function'.
2295
2296 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2297
2298         * database.h: Add new EXFUN for `Fmap_database'.
2299
2300         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2301         (syms_of_database): Likewise.
2302
2303         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2304         UTF-2000.
2305         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2306         (XCHAR_TABLE_UNLOADED): Likewise.
2307
2308         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2309         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2310         HAVE_DATABASE is defined.
2311         (char_attribute_table_to_load): New variable of UTF-2000 with
2312         external database support.
2313         (Qload_char_attribute_table_map_function): Likewise.
2314         (Fload_char_attribute_table_map_function): New function of
2315         UTF-2000 with external database support.
2316         (Fload_char_attribute_table): New function of UTF-2000.
2317         (Fmap_char_attribute): Call Fload_char_attribute_table if
2318         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2319         (syms_of_chartab): Add new symbol and function
2320         `load-char-attribute-table-map-function' in UTF-2000 with external
2321         database support; add new function `load-char-attribute-table' in
2322         UTF-2000.
2323
2324 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2325
2326         * chartab.h (load_char_attribute_maybe): New prototype for
2327         UTF-2000 with DATABASE support.
2328         (get_char_id_table): Use `load_char_attribute_maybe' if
2329         HAVE_DATABASE is defined.
2330
2331         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2332         with DATABASE support.
2333
2334 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2335
2336         * chartab.c (Fput_char_attribute): Use S-expression as key of
2337         external database.
2338
2339         * chartab.h (get_char_id_table): Use S-expression as key of
2340         external database.
2341
2342 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2343
2344         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2345         if an element is not loaded, load the corresponding attributes
2346         from an external database.
2347         (map_over_uint16_byte_table): Likewise.
2348         (map_over_byte_table): Likewise.
2349         (map_char_table): Modify for `map_over_uint8_byte_table',
2350         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2351         element is not loaded, load the corresponding attributes from an
2352         external database.
2353         (Fput_char_attribute): Change initial values to Qunloaded.
2354
2355         * chartab.h (get_char_id_table): If a character attribute is not
2356         loaded and the attribute value is not found in an external
2357         database, store Qunbound as the attribute value.
2358
2359 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2360
2361         * chartab.c (BT_UINT8_unloaded): New macro.
2362         (UINT8_VALUE_P): Accept Qunloaded.
2363         (UINT8_ENCODE): Likewise.
2364         (UINT8_DECODE): Likewise.
2365         (BT_UINT16_unloaded): New macro.
2366         (UINT16_VALUE_P): Accept Qunloaded.
2367         (UINT16_ENCODE): Likewise.
2368         (UINT16_DECODE): Likewise.
2369         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2370         BT_UINT16_unloaded.
2371         (mark_char_table): Mark `ct->name' in UTF-2000.
2372         (char_table_description): Add `name' in UTF-2000.
2373         (Fmake_char_table): Initialize `ct->name'.
2374         (Fcopy_char_table): Copy `ct->name'.
2375         (Fput_char_attribute): Store value into an external database if
2376         HAVE_DATABASE is defined.
2377
2378         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2379         UTF-2000.
2380         (CHAR_TABLE_NAME): New macro in UTF-2000.
2381         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2382         (get_char_id_table): Try to read an external database if Qunloaded
2383         is stored in a table.
2384
2385         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2386         Qunloaded.
2387
2388 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2389
2390         * database.h: Add EXFUN definitions for Fopen_database,
2391         Fput_database, Fget_database and Fclose_database.
2392
2393         * data.c (Qunloaded): New variable in UTF-2000.
2394
2395         * lisp.h (Qunloaded): New variable in UTF-2000.
2396
2397 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2398
2399         * mule-charset.c (put_char_ccs_code_point): Modify for
2400         `decoding_table_remove_char' and `decoding_table_put_char'.
2401         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2402
2403         * char-ucs.h (decoding_table_remove_char): Change arguments to
2404         hide decoding_table vector.
2405         (decoding_table_put_char): Likewise.
2406
2407 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2408
2409         * mule-charset.c (decoding_table_remove_char): Moved to
2410         char-ucs.h.
2411         (decoding_table_put_char): Likewise.
2412
2413         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2414         from mule-charset.c].
2415         (decoding_table_remove_char): New inline function [moved from
2416         mule-charset.c].
2417         (decoding_table_put_char): Likewise.
2418
2419 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2420
2421         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2422         extension.
2423
2424 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2425
2426         * mule-charset.c (decode_builtin_char): Support mother charsets.
2427
2428 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2429
2430         * mule-charset.c (Q94x94x60): New variable.
2431         (charset_code_point): Support conversion `94x94x60'.
2432         (Fmake_charset): Likewise.
2433         (syms_of_mule_charset): Add new symbol `94x94x60'.
2434
2435         * char-ucs.h (CONVERSION_94x94x60): New macro.
2436
2437 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2438
2439         * mule-charset.c (charset_code_point): Unify code about
2440         `code-offset'.
2441
2442 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2443
2444         * mule-charset.c (charset_code_point): Merge code about builtin
2445         characters into code about mother charsets; don't use
2446         `range_charset_code_point'.
2447         (range_charset_code_point): Deleted.
2448
2449 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2450
2451         * mule-charset.c (Qcode_offset): New variable.
2452         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2453         `max-code'; accept new property `code-offset'.
2454         (syms_of_mule_charset): Add new symbol `code-offset'.
2455
2456 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2457
2458         * mule-charset.c (range_charset_code_point): Fixed.
2459
2460 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2461
2462         * mule-charset.c (decode_builtin_char): Change semantics of
2463         code-offset of coded-charset.
2464         (charset_code_point): Likewise.
2465         (range_charset_code_point): Likewise.
2466         (complex_vars_of_mule_charset): Modify for the change.
2467
2468 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2469
2470         * mule-charset.c (Fencode_char): Reverse arguments.
2471
2472         * mule-charset.c (charset_code_point): Fixed.
2473
2474 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2475
2476         * mule-charset.c (Vcharset_mojikyo): Deleted.
2477         (Vcharset_mojikyo_2022_1): Deleted.
2478         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2479         (Qmin_code): New variable in UTF-2000.
2480         (Qmax_code): Likewise.
2481         (Qmother): Likewise.
2482         (Qconversion): Likewise.
2483         (Q94x60): Likewise.
2484         (Qmojikyo): Deleted.
2485         (Qmojikyo_2022_1): Deleted.
2486         (Qmojikyo_pj_{1..22}): Deleted.
2487         (mark_charset): Mark `cs->mother'.
2488         (charset_description): Add description for `mother'.
2489         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2490         new arguments `mother' and `conversion'; use
2491         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2492         (charset_code_point): Moved from char-ucs.h; support `mother'
2493         charset feature.
2494         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2495         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2496         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2497         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2498         allow 2 as the value of `graphic' in UTF-2000; add new properties
2499         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2500         require `final' in UTF-2000; modify for `make_charset'.
2501         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2502         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2503         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2504         (Fencode_char): New function.
2505         (syms_of_mule_charset): Add new builtin function `encode-char' in
2506         UTF-2000; add new symbols `min-code', `max-code', `mother',
2507         `conversion' and `94x60'; delete symbols `mojikyo',
2508         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2509         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2510         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2511         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2512
2513         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2514         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2515
2516         * char-ucs.h (Vcharset_mojikyo): Deleted.
2517         (Vcharset_mojikyo_2022_1): Deleted.
2518         (LEADING_BYTE_MOJIKYO): Deleted.
2519         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2520         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2521         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2522         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2523         add new member `mother'; add new member `conversion'.
2524         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2525         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2526         (CHARSET_MOTHER): New macro.
2527         (CHARSET_CONVERSION): New macro.
2528         (CONVERSION_IDENTICAL): New macro.
2529         (CONVERSION_94x60): New macro.
2530         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2531         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2532         (XCHARSET_MOTHER): New macro.
2533         (XCHARSET_CONVERSION): New macro.
2534         (MIN_CHAR_MOJIKYO): Deleted.
2535         (MAX_CHAR_MOJIKYO): Deleted.
2536         (DECODE_MOJIKYO_2022): Deleted.
2537         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2538         (charset_code_point): Changed to non-inline function.
2539         (encode_char_1): Use `charset_code_point'.
2540         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2541
2542 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2543
2544         * lread.c (read_compiled_function): Fix prototype.
2545         (read_vector): Likewise.
2546
2547 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2548
2549         * lrecord.h (struct lrecord_header): Delete `older'.
2550         (set_lheader_implementation): Delete code for `older'.
2551         (set_lheader_older_implementation): Deleted.
2552         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2553         (OLDER_RECORD_P): Deleted.
2554         (OLDER_RECORD_HEADER_P): Deleted.
2555         (alloc_older_lcrecord): Deleted.
2556         (alloc_older_lcrecord_type): Deleted.
2557
2558         * alloc.c (all_older_lcrecords): Deleted.
2559         (alloc_older_lcrecord): Deleted.
2560         (disksave_object_finalization_1): Delete code for older objects.
2561         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2562         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2563
2564 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2565
2566         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2567         instead of `make_older_vector'.
2568         (put_char_ccs_code_point): Likewise.
2569         (mark_charset): Mark `cs->decoding_table'.
2570         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2571
2572         * lisp.h (make_older_vector): Deleted.
2573         (make_vector_newer): Deleted.
2574
2575         * config.h.in (HAVE_GGC): Deleted.
2576
2577         * alloc.c (make_older_vector): Deleted.
2578         (make_vector_newer_1): Deleted.
2579         (make_vector_newer): Deleted.
2580
2581 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2582
2583         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2584         (Qideograph_daikanwa_2): New variable.
2585         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2586         (complex_vars_of_mule_charset): Add new coded-charset
2587         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2588         `LEADING_BYTE_DAIKANWA'.
2589
2590         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2591         (LEADING_BYTE_DAIKANWA_1): New macro.
2592         (LEADING_BYTE_DAIKANWA_2): New macro.
2593         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2594
2595 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2596
2597         * mule-charset.c (complex_vars_of_mule_charset): Change
2598         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2599         the second revised version.
2600
2601 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2602
2603         * mule-charset.c (Vcharset_ucs_smp): New variable.
2604         (Vcharset_ucs_sip): New variable.
2605         (Qucs_smp): New variable.
2606         (Qucs_sip): New variable.
2607         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2608         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2609         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2610         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2611         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2612         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2613
2614         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2615         (LEADING_BYTE_UCS_SIP): New macro.
2616         (MIN_CHAR_SMP): New macro.
2617         (MAX_CHAR_SMP): New macro.
2618         (MIN_CHAR_SIP): New macro.
2619         (MAX_CHAR_SIP): New macro.
2620
2621 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2622
2623         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2624         utf-2000.
2625
2626 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2627
2628         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2629         value; don't store value into `encoding_table' of `Lisp_Charset'.
2630         (mark_charset): `encoding_table' was deleted.
2631         (charset_description): Likewise.
2632         (make_charset): Likewise.
2633         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2634         `put_char_ccs_code_point'.
2635
2636         * chartab.h (Fput_char_attribute): New EXFUN.
2637
2638         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2639         is unified with normal symbol space.
2640         (Fget_char_attribute): Likewise.
2641         (Fput_char_attribute): Likewise; behavior of
2642         `put_char_ccs_code_point' is changed.
2643
2644         * char-ucs.h: Include "elhash.h".
2645         (Vchar_attribute_hash_table): New external variable.
2646         (struct Lisp_Charset): Delete `encoding_table'.
2647         (CHARSET_ENCODING_TABLE): New implementation; refer
2648         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2649         `Lisp_Charset'.
2650
2651 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2652
2653         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2654         (cs) == 0.
2655
2656 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2657
2658         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2659         `chinese-big5'.
2660
2661 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * chartab.c (uint8_byte_table_description): New constant.
2664         (uint8-byte-table): Use `uint8_byte_table_description'.
2665         (uint16_byte_table_description): New constant.
2666         (uint16-byte-table): Use `uint16_byte_table_description'.
2667
2668 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2669
2670         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2671         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2672
2673 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2674
2675         * mule-charset.c (Vcharset_ucs_ks): New variable.
2676         (Qucs_ks): New variable.
2677         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2678         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2679
2680         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2681
2682 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2683
2684         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2685         (Fdecode_char): Likewise.
2686
2687         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2688         chartab.h.
2689         (Fdefine_char): Modify for Fdecode_char.
2690         (Ffind_char): Likewise.
2691
2692         * mule-charset.c (Fdecode_char): Add new optional argument
2693         `defined-only'.
2694         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2695
2696 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2697
2698         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2699         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2700         (allocate_coding_system): Initialize initial-charsets of
2701         CODESYS_BIG5 in XEmacs UTF-2000.
2702         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2703         CODESYS_BIG5 in XEmacs UTF-2000.
2704         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2705         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2706
2707         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2708         variables.
2709         (Qideograph_hanziku_{1 .. 12}): Likewise.
2710         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2711         .. 12}'.
2712         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2713         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2714         `ideograph-hanziku-{1 .. 12}'.
2715
2716         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2717         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2718         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2719         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2720         (DECODE_DEFINED_CHAR): New inline function.
2721         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2722
2723 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2724
2725         * mule-charset.c (Vcharset_china3_jef): Renamed from
2726         `Vcharset_japanese_jef_china3'.
2727         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2728         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2729         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2730         (syms_of_mule_charset): Rename `china3-jef' from
2731         `japanese-jef-china3'.
2732         (complex_vars_of_mule_charset): Likewise; rename
2733         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2734
2735         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2736         `LEADING_BYTE_JEF_CHINA3'.
2737         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2738         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2739
2740 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * mule-charset.c (encode_builtin_char_1): Comment out special code
2743         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2744
2745         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2746         (MAX_CHAR_MOJIKYO_0): Comment out.
2747         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2748         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2749         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2750         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2751
2752 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2753
2754         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2755         (Qideograph_cbeta): New variable.
2756         (encode_builtin_char_1): Comment out special code for
2757         coded-charset `mojikyo' and `japanese-jef-china3'.
2758         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2759         (complex_vars_of_mule_charset): Add new coded-charset
2760         `ideograph-cbeta'.
2761
2762         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2763         (MIN_CHAR_CBETA): New macro.
2764         (MAX_CHAR_CBETA): New macro.
2765
2766 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2767
2768         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2769         (LEADING_BYTE_JEF_CHINA3): New macro.
2770         (MIN_CHAR_JEF_CHINA3): New macro.
2771         (MAX_CHAR_JEF_CHINA3): Likewise.
2772         (DECODE_CHAR): Fixed.
2773
2774 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2775
2776         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2777         (Qjapanese_jef_china3): New variable.
2778         (encode_builtin_char_1): Support `japanese-jef-china3'.
2779         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2780         (complex_vars_of_mule_charset): Add new coded-charset
2781         `japanese-jef-china3'.
2782
2783 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2784
2785         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2786         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2787         94^4, 96^3, 96^4, 128^n and 256^n set.
2788         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2789         (map_char_table): Likewise.
2790
2791 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2792
2793         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2794         UTF-2000.
2795
2796 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2797
2798         * chartab.h (get_char_id_table): New inline function.
2799
2800         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2801         function.
2802
2803 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2804
2805         * chartab.h (decode_char_table_range): New prototype in XEmacs
2806         UTF-2000.
2807         (put_char_id_table): New inline function in XEmacs UTF-2000.
2808
2809         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2810         function.
2811         (decode_char_table_range): Delete static declaration in XEmacs
2812         UTF-2000.
2813
2814 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2815
2816         * chartab.c (put_char_id_table): Use `put_char_table'.
2817
2818 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2819
2820         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2821         (map_over_uint16_byte_table): Likewise.
2822         (map_over_byte_table): Likewise.
2823         (map_char_table): Modify for `map_over_uint8_byte_table',
2824         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2825         UTF-2000.
2826
2827 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2828
2829         * chartab.c (struct map_char_table_for_charset_arg): New
2830         structure.
2831         (map_char_table_for_charset_fun): New function.
2832         (map_char_table): Use `map_char_table' for encoding_table of
2833         `range->charset'.
2834
2835 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2836
2837         * chartab.c (map_char_table): Check a character is found in
2838         range->charset instead of non default value is defined in
2839         char-table when range is CHARTAB_RANGE_ROW.
2840
2841 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * chartab.c (map_char_id_table): Deleted.
2844         (Fmap_char_attribute): Use `map_char_table' instead of
2845         `map_char_id_table'.
2846
2847 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2848
2849         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2850         UTF-2000.
2851         (update_syntax_table): Deleted in XEmacs UTF-2000.
2852
2853         * syntax.c (find_defun_start): Use `syntax_table' instead of
2854         `mirror_syntax_table' in XEmacs UTF-2000.
2855         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2856         UTF-2000.
2857         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2858         XEmacs UTF-2000.
2859         (Fmatching_paren): Likewise.
2860         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2861         in XEmacs UTF-2000.
2862         (find_start_of_comment): Likewise.
2863         (find_end_of_comment): Likewise.
2864         (Fforward_comment): Likewise.
2865         (scan_lists): Likewise.
2866         (char_quoted): Likewise.
2867         (Fbackward_prefix_chars): Likewise.
2868         (scan_sexps_forward): Likewise.
2869         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2870         (update_syntax_table): Likewise.
2871
2872         * search.c (skip_chars): Use `syntax_table' instead of
2873         `mirror_syntax_table' in XEmacs UTF-2000.
2874         (wordify): Likewise.
2875         (Freplace_match): Likewise.
2876
2877         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2878         `mirror_syntax_table' in XEmacs UTF-2000.
2879         (WORDCHAR_P_UNSAFE): Likewise.
2880         (re_match_2_internal): Likewise.
2881
2882         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2883         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2884
2885         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2886         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2887
2888         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2889         XEmacs UTF-2000.
2890
2891         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2892         UTF-2000.
2893         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2894         (char_table_description): Delete `mirror_table' in XEmacs
2895         UTF-2000.
2896         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2897         UTF-2000.
2898         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2899         (Fcopy_char_table): Likewise.
2900         (put_char_table): Don't call `update_syntax_table' in XEmacs
2901         UTF-2000.
2902
2903         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2904         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2905         (casify_region_internal): Likewise.
2906
2907         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2908
2909         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2910         `mirror_syntax_table' in XEmacs UTF-2000.
2911
2912         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2913         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2914         (Fexpand_abbrev): Likewise.
2915
2916 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2917
2918         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2919
2920 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2921
2922         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2923         (map_over_uint16_byte_table): Likewise.
2924         (map_over_byte_table): Likewise.
2925         (get_char_id_table): Refer `cit->default_value'.
2926         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2927         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2928         of character-id ranges.
2929         (mark_char_table): Mark `ct->default_value'.
2930         (char_table_description): Add `default_value'.
2931         (fill_char_table): Use `default_value'.
2932         (decode_char_table_range): Decode `nil' as
2933         `CHARTAB_RANGE_DEFAULT'.
2934         (get_char_id_table): Refer `cit->default_value'.
2935         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2936         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2937         temporary hack; check value of char-table is bound or not.
2938         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2939
2940         * chartab.h (struct Lisp_Char_Table): Add new member
2941         `default_value' in XEmacs UTF-2000.
2942         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2943         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2944         UTF-2000.
2945
2946 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2947
2948         * chartab.h (Lisp_Char_ID_Table): Deleted.
2949
2950         * chartab.c (char_table_description): Fix typo.
2951         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2952         `Lisp_Char_ID_Table'.
2953
2954 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2955
2956         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2957         `CHAR_ID_TABLE_P'.
2958
2959         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2960         `CHAR_ID_TABLE_P'.
2961
2962         * chartab.h (XCHAR_ID_TABLE): Deleted.
2963         (XSETCHAR_ID_TABLE): Deleted.
2964         (CHAR_ID_TABLE_P): Deleted.
2965
2966         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2967         `CHAR_ID_TABLE_P'.
2968         (Fget_composite_char): Likewise.
2969         (put_char_table): Likewise.
2970         (add_char_attribute_alist_mapper): Fixed.
2971         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2972         `CHAR_ID_TABLE_P'.
2973         (Fget_char_attribute): Likewise.
2974         (Fget_char_attribute): Likewise.
2975         (Fmap_char_attribute): Likewise.
2976
2977         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2978         `CHAR_ID_TABLE_P'.
2979         (encode_char_1): Likewise.
2980
2981 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2982
2983         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2984         `XCHAR_ID_TABLE'.
2985
2986         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2987         instead of `XCHAR_ID_TABLE'.
2988         (remove_char_ccs): Likewise.
2989
2990         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2991         `XCHAR_ID_TABLE'.
2992         (Fget_composite_char): Likewise.
2993         (Fchar_variants): Likewise.
2994         (put_char_table): Likewise.
2995         (add_char_attribute_alist_mapper): Likewise.
2996         (Fchar_attribute_alist): Likewise.
2997         (Fget_char_attribute): Likewise.
2998         (Fput_char_attribute): Likewise.
2999         (Fmap_char_attribute): Likewise.
3000         (Fmap_char_attribute): Likewise.
3001
3002         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3003         `XCHAR_ID_TABLE'.
3004         (encode_char_1): Likewise.
3005
3006 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3007
3008         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3009         `Lisp_Char_ID_Table'.
3010         (mark_char_id_table): Deleted.
3011         (print_char_id_table): Likewise.
3012         (char_id_table_equal): Likewise.
3013         (char_id_table_hash): Likewise.
3014         (char_id_table_description): Likewise.
3015         (char_id_table): Likewise.
3016         (make_char_id_table): Use `Fmake_char_table' and
3017         `fill_char_table'.
3018         (get_char_id_table): Use `Lisp_Char_Table' instead of
3019         `Lisp_Char_ID_Table'.
3020         (put_char_id_table): Likewise.
3021         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3022         `XCHAR_ID_TABLE'.
3023         (Fremove_char_attribute): Likewise.
3024         (syms_of_chartab): Don't define type `char-id-table'.
3025
3026         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3027         (char_id_table): Likewise.
3028         (GC_CHAR_ID_TABLE_P): Likewise.
3029         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3030         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3031         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3032         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3033         (get_char_id_table): Use `Lisp_Char_Table' instead of
3034         `Lisp_Char_ID_Table'.
3035         (put_char_id_table_0): Likewise.
3036         (put_char_id_table): Likewise.
3037
3038 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3039
3040         * chartab.h: Lisp_Byte_Table related codes are moved from
3041         chartab.h.
3042
3043         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3044
3045 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3046
3047         * chartab.h: Don't include "chartab.h".
3048         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3049         (Lisp_Char_ID_Table): Likewise.
3050         (char_id_table): Likewise.
3051         (XCHAR_ID_TABLE): Likewise.
3052         (XSETCHAR_ID_TABLE): Likewise.
3053         (CHAR_ID_TABLE_P): Likewise.
3054         (GC_CHAR_ID_TABLE_P): Likewise.
3055         (get_char_id_table): Likewise.
3056
3057         * char-ucs.h: Include "chartab.h".
3058         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3059         (Lisp_Char_ID_Table): Likewise.
3060         (char_id_table): Likewise.
3061         (XCHAR_ID_TABLE): Likewise.
3062         (XSETCHAR_ID_TABLE): Likewise.
3063         (CHAR_ID_TABLE_P): Likewise.
3064         (GC_CHAR_ID_TABLE_P): Likewise.
3065         (get_char_id_table): Likewise.
3066
3067 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3068
3069         * chartab.c (copy_uint8_byte_table): New function.
3070         (copy_uint16_byte_table): New function.
3071         (copy_byte_table): New function.
3072         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3073         characters to call.
3074         (map_over_uint16_byte_table): Likewise.
3075         (map_over_byte_table): Likewise.
3076         (get_byte_table): Move prototype to chartab.h.
3077         (put_byte_table): Likewise.
3078         (put_char_id_table_0): Moved to chartab.h.
3079         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3080         (char_table_entry_equal): Likewise.
3081         (char_table_entry_hash): Likewise.
3082         (char_table_entry_description): Likewise.
3083         (char_table_entry): Likewise.
3084         (make_char_table_entry): Likewise.
3085         (copy_char_table_entry): Likewise.
3086         (get_non_ascii_char_table_value): Likewise.
3087         (map_over_charset_ascii): Likewise.
3088         (map_over_charset_control_1): Likewise.
3089         (map_over_charset_row): Likewise.
3090         (map_over_other_charset): Likewise.
3091         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3092         (print_char_table): Likewise.
3093         (char_table_equal): Likewise.
3094         (char_table_hash): Likewise.
3095         (char_table_description): Likewise.
3096         (fill_char_table): Likewise.
3097         (Fcopy_char_table): Likewise.
3098         (get_char_table): Likewise.
3099         (Fget_range_char_table): Likewise.
3100         (put_char_table): Likewise.
3101         (map_char_table): Likewise.
3102         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3103         UTF-2000.
3104
3105 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3106
3107         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3108         `Vauto_fill_chars' in XEmacs UTF-2000.
3109
3110         * chartab.h (get_byte_table): New prototype [moved from
3111         chartab.c].
3112         (put_byte_table): Likewise [moved from chartab.c].
3113         (put_char_id_table_0): New inline function [moved from chartab.c].
3114         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3115         (Lisp_Char_Table_Entry): Likewise.
3116         (char_table_entry): Likewise.
3117         (XCHAR_TABLE_ENTRY): Likewise.
3118         (XSETCHAR_TABLE_ENTRY): Likewise.
3119         (CHAR_TABLE_ENTRYP): Likewise.
3120         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3121         (NUM_ASCII_CHARS): Likewise.
3122         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3123         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3124
3125 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3126
3127         * chartab.c (get_char_id_table): Change interface.
3128         (put_char_id_table_0): New function.
3129         (put_char_id_table): Change interface; new implementation.
3130         (Fget_composite_char): Modify for interface change of
3131         `get_char_id_table'.
3132         (Fchar_variants): Likewise.
3133         (add_char_attribute_alist_mapper): Likewise.
3134         (Fchar_attribute_alist): Likewise.
3135         (Fget_char_attribute): Likewise.
3136         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3137         as same as character as the first argument like `put-char-table';
3138         modify for interface change of `put_char_id_table'.
3139         (Fremove_char_attribute): Modify for interface change of
3140         `put_char_id_table'.
3141
3142 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3143
3144         * text-coding.c: Sync up with XEmacs 21.2.41.
3145         (COMPOSE_ADD_CHAR): Modify for interface change of
3146         `get_char_id_table'.
3147
3148         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3149         change of `put_char_id_table'.
3150         (remove_char_ccs): Likewise.
3151
3152         * chartab.h (put_char_id_table): Change interface.
3153
3154         * char-ucs.h (get_char_id_table): Change interface.
3155         (charset_code_point): Modify for interface change of
3156         `get_char_id_table'.
3157         (encode_char_1): Likewise.
3158
3159 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3160
3161         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3162         argument `ccs'.
3163         (map_over_uint16_byte_table): Likewise.
3164         (map_over_byte_table): Likewise.
3165         (map_char_id_table): Add new argument `range' like
3166         `map_char_table'.
3167         (Fmap_char_attribute): Add new argument `range' like
3168         `Fmap_char_table'.
3169
3170 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3171
3172         * chartab.c (map_over_uint8_byte_table): Change interface of
3173         mapping function to use struct chartab_range instead of Emchar.
3174         (map_over_uint16_byte_table): Likewise.
3175         (map_over_byte_table): Likewise.
3176         (map_char_id_table): Likewise.
3177         (struct slow_map_char_id_table_arg): Deleted.
3178         (slow_map_char_id_table_fun): Deleted.
3179         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3180         function `slow_map_char_table_fun' instead of struct
3181         `slow_map_char_id_table_arg' and function
3182         `slow_map_char_id_table_fun'.
3183
3184 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3185
3186         * mule-charset.c: Move char-it-table related codes to chartab.c.
3187         (Vutf_2000_version): Moved to chartab.c.
3188         (Fdefine_char): Likewise.
3189         (Ffind_char): Likewise.
3190         (syms_of_mule_charset): Move types `uint8-byte-table',
3191         `uint16-byte-table', `byte-table' and `char-id-table' to
3192         chartab.c; move functions `char_attribute_list,
3193         `find_char_attribute_table, `char_attribute_alist,
3194         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3195         `map_char_attribute, `define_char, `find_char, `char_variants and
3196         `get_composite_char to chartab.c; move symbols `=>ucs',
3197         `->decomposition', `compat', `isolated', `initial', `medial',
3198         `final', `vertical', `noBreak', `fraction', `super', `sub',
3199         `circle', `square', `wide', `narrow', `small' and `font' to
3200         chartab.c.
3201         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3202         setting codes for `Vcharacter_composition_table' and
3203         `Vcharacter_variant_table' to chartab.c.
3204         (complex_vars_of_mule_charset): Move setting code for
3205         `Vchar_attribute_hash_table' to chartab.c.
3206
3207         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3208         (make_char_id_table): New prototype.
3209         (put_char_id_table): Likewise.
3210         (Fget_char_attribute): Likewise.
3211
3212         * chartab.c: Move char-id-table related code from mule-charset.c.
3213         (Vutf_2000_version): Moved from mule-charset.c.
3214
3215         * char-ucs.h (Qucs): New external variable.
3216         (put_char_ccs_code_point): New prototype.
3217         (remove_char_ccs): Likewise.
3218
3219 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3220
3221         * mule-charset.c (Vcharset_ucs_jis): New variable.
3222         (Qucs_jis): Likewise.
3223         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3224         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3225
3226         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3227
3228 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3229
3230         * mule-charset.c (map_over_uint8_byte_table): New function.
3231         (map_over_uint16_byte_table): Likewise.
3232         (map_over_byte_table): Likewise.
3233         (map_char_id_table): Likewise.
3234         (slow_map_char_id_table_fun): Likewise.
3235         (Fmap_char_attribute): Likewise.
3236         (syms_of_mule_charset): Add new function `map-char-attribute'.
3237
3238 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3239
3240         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3241         (syms_of_mule_charset): Add new function `find-char'.
3242
3243 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3244
3245         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3246         XEmacs UTF-2000.
3247         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3248         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3249         XEmacs UTF-2000.
3250         (complex_vars_of_mule_charset): Add new coded-charset
3251         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3252         `ideograph-gt-pj-*'.
3253
3254         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3255
3256 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3257
3258         * mule-charset.c (encode_builtin_char_1): Purge codes about
3259         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3260         {MIN|MAX}_CHAR_HEBREW.
3261         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3262         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3263
3264         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3265         (MAX_CHAR_GREEK): Purged.
3266         (MIN_CHAR_CYRILLIC): Purged.
3267         (MAX_CHAR_CYRILLIC): Purged.
3268         (MIN_CHAR_HEBREW): Commented out.
3269         (MAX_CHAR_HEBREW): Likewise.
3270
3271 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3272
3273         * mule-charset.c (Qto_ucs): New variable.
3274         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3275         (Fdefine_char): Likewise.
3276         (syms_of_mule_charset): Add new symbol `=>ucs'.
3277
3278 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3279
3280         * mule-charset.c (Fdecode_char): Fixed.
3281
3282 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3283
3284         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3285         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3286         "tcvn5712-1".
3287
3288 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3289
3290         * mule-charset.c (Vcharset_ucs_big5): New variable.
3291         (Qucs_big5): Likewise.
3292         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3293         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3294
3295         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3296
3297 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3298
3299         * mule-charset.c (decode_builtin_char): Check Big5 code range
3300         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3301
3302 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3303
3304         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3305         (Qchinese_gb12345): Likewise.
3306         (Fdecode_builtin_char): Fixed.
3307         (syms_of_mule_charset): Add `chinese-gb12345'.
3308         (complex_vars_of_mule_charset): Add coded-charset
3309         `chinese-gb12345'.
3310
3311         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3312         (LEADING_BYTE_CHINESE_GB12345): New macro.
3313
3314 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3315
3316         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3317         and `latin-viscii-upper' for `latin-viscii'.
3318
3319 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3320
3321         * mule-charset.c (Fdecode_builtin_char): Comment out
3322         regularization code for ISO-IR GR representation.
3323
3324 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3325
3326         * mule-charset.c (decode_builtin_char): New function; renamed from
3327         `make_builtin_char'; return -1 instead of signal.
3328         (Fdecode_builtin_char): Use `decode_builtin_char'.
3329
3330         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3331         `make_builtin_char'.
3332         (DECODE_CHAR): Use `decode_builtin_char' instead of
3333         `make_builtin_char'; use mapping table of `chinese-big5' for
3334         `chinese-big5-{1,2}'.
3335
3336 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3337
3338         * text-coding.c (char_encode_big5): New function.
3339         (char_finish_big5): Likewise.
3340         (reset_encoding_stream): Use `char_encode_big5' and
3341         `char_finish_big5' for CODESYS_BIG5.
3342         (mule_encode): Don't use `encode_coding_big5'.
3343         (encode_coding_big5): Deleted.
3344
3345 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3346
3347         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3348         0x81- in XEmacs UTF-2000.
3349         (detect_coding_big5): Likewise.
3350
3351 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3352
3353         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3354         generate character-id if the CCS property does not have
3355         corresponding predefined character.
3356         (make_builtin_char): Return -1 if corresponding predefined
3357         character is not found.
3358         (Fdecode_char): Return nil if corresponding character is not
3359         found.
3360         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3361         don't map to builtin ucs space.
3362
3363 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3364
3365         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3366         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3367
3368 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3369
3370         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3371         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3372         (Qideograph_gt): Likewise.
3373         (Qideograph_gt_pj_{1..11}): Likewise.
3374         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3375         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3376         `ideograph-gt-pj-11'.
3377         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3378         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3379         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3380
3381         * char-ucs.h (LEADING_BYTE_GT): New macro.
3382         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3383         (MIN_CHAR_GT): Likewise.
3384         (MAX_CHAR_GT): Likewise.
3385
3386 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3387
3388         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3389         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3390
3391         * doprnt.c (unsigned_int_converters): Add `c'.
3392         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3393
3394         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3395         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3396         `MIN_CHAR_MOJIKYO'.
3397         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3398         (MAX_CHAR_MOJIKYO_0): New macro.
3399         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3400
3401 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3402
3403         * mule-charset.c (Fdefine_char): Delete cemented out code.
3404         (encode_builtin_char_1): Modify for new allocation of builtin
3405         Mojikyo characters.
3406
3407         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3408
3409 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3410
3411         * mule-charset.c (Vcharset_ucs_cns): New variable.
3412         (Qucs_cns): New variable.
3413         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3414         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3415
3416 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3417
3418         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3419
3420 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3421
3422         * search.c (search_buffer): Make `charset_base_code' as
3423         character-id >> 6 to eliminate the corresponding last byte in
3424         UTF-8 representation [I'm not sure it is right thing].
3425         (boyer_moore): Likewise.
3426
3427 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3428
3429         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3430         representation in MULE.
3431
3432 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3433
3434         * text-coding.c (Fmake_coding_system): Use
3435         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3436         `EXTERNAL_PROPERTY_LIST_LOOP'.
3437
3438 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3439
3440         * text-coding.c (decode_output_utf8_partial_char): New function.
3441         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3442
3443 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3444
3445         * text-coding.c (decode_coding_utf8): Output original byte
3446         sequence if it is broken; change order of conditions.
3447
3448         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3449         of conditions.
3450
3451         * mb-multibyte.h (BYTE_ASCII_P):
3452         Use bit ops for char-signedness safety.
3453         (BYTE_C0_P): Use bit ops for char-signedness safety.
3454         (BYTE_C1_P): Use bit ops for char-signedness safety.
3455
3456         * character.h: (XCHAR_OR_CHAR_INT):
3457         Always use inline function.
3458         Remove redundant type checking assert() - XINT will abort quite
3459         nicely.
3460
3461 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3462
3463         * text-coding.c: (Fencode_shift_jis_char):
3464         (Fencode_big5_char):
3465         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3466         Replace 0 with '\0' when working with bytes.
3467         Replace initial "(" with "\(" in docstrings.
3468
3469         (Fmake_coding_system):
3470         When type is ccl and value is vector, register it with a proper
3471         symbol.  And checks whether the given ccl program is valid.
3472         (mule_decode): When calling ccl_driver, if src indicates
3473         NULL pointer, set an empty string instead.
3474         (mule_encode): Likewise.
3475
3476         (detect_eol_type):
3477         (detect_coding_sjis):
3478         (decode_coding_sjis):
3479         (detect_coding_big5):
3480         (decode_coding_big5):
3481         (detect_coding_ucs4):
3482         (decode_coding_ucs4):
3483         (detect_coding_utf8):
3484         (decode_coding_utf8):
3485         (detect_coding_iso2022):
3486         (decode_coding_iso2022):
3487         (decode_coding_no_conversion):
3488         (mule_decode):
3489         Make all detecting and decoding functions take an Extbyte * arg.
3490         (text_encode_generic):
3491         (encode_coding_big5):
3492         (encode_coding_no_conversion):
3493         (mule_encode):
3494         Make all encoding functions take a Bufbyte * arg.
3495         Use size_t instead of unsigned int for memory sizes.
3496         Only cast to unsigned char whenever dereferencing Extbyte *.
3497
3498         (struct lrecord_description fcd_description_1): Use countof.
3499         (complex_vars_of_file_coding):
3500         Use countof instead of sizeof.
3501         Use CHECK_NATNUM instead of CHECK_INT.
3502
3503 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3504
3505         * mule-charset.c (Fget_char_attribute): Add new optional argument
3506         `default-value'.
3507         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3508         (remove_char_ccs): Likewise.
3509
3510 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3511
3512         * text-coding.c (char_encode_shift_jis): New implementation in
3513         UTF-2000.
3514         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3515         ...)'.
3516
3517         * mule-charset.c (Vcharset_chinese_big5): New variable in
3518         UTF-2000.
3519         (Qchinese_big5): New variable in UTF-2000.
3520         (BIG5_SAME_ROW): New macro in UTF-2000.
3521         (make_builtin_char): Use builtin characters of
3522         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3523         characters of `Vcharset_chinese_big5'.
3524         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3525         (complex_vars_of_mule_charset): Add new coded-charset
3526         `chinese-big5' in UTF-2000.
3527
3528         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3529         (Vcharset_chinese_big5): New external variable declaration.
3530         (Vcharset_japanese_jisx0208_1990): Likewise.
3531
3532 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3533
3534         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3535         function.
3536         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3537
3538 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3539
3540         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3541         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3542         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3543         `mojikyo-pj-*'.
3544
3545 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3546
3547         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3548
3549 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3550
3551         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3552         to 0.17.
3553
3554 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3555
3556         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3557         for `CHARSET_BY_ATTRIBUTES'.
3558         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3559         `CHARSET_BY_ATTRIBUTES'.
3560
3561         * text-coding.c (struct decoding_stream): Rename member `CH' to
3562         `CPOS'.
3563         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3564         (decode_coding_sjis): Likewise.
3565         (decode_coding_big5): Likewise.
3566         (decode_coding_ucs4): Likewise.
3567         (decode_coding_utf8): Likewise.
3568         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3569         `CHARSET_BY_ATTRIBUTES'.
3570         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3571         `str->counter'; decode 3, 4 bytes sets.
3572         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3573         sets.
3574         (decode_coding_no_conversion): Use `str->cpos' instead of
3575         `str->ch'.
3576
3577         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3578         (Qmojikyo_2022_1): New variable.
3579         (make_charset): Don't use `CHARSET_TYPE_*'.
3580         (range_charset_code_point): Support coded-charset
3581         `mojikyo-2022-1'.
3582         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3583         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3584         `CHARSET_BY_ATTRIBUTES'.
3585         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3586         `CHARSET_BY_ATTRIBUTES'.
3587         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3588         (complex_vars_of_mule_charset): Add new coded-charset
3589         `mojikyo-2022-1'.
3590
3591         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3592         interface; changed to inline function.
3593
3594         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3595         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3596         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3597         (CHARSET_TYPE_94): Deleted.
3598         (CHARSET_TYPE_94X94): Deleted.
3599         (CHARSET_TYPE_96): Deleted.
3600         (CHARSET_TYPE_96X96): Deleted.
3601         (CHARSET_TYPE_128): Deleted.
3602         (CHARSET_TYPE_128X128): Deleted.
3603         (CHARSET_TYPE_256): Deleted.
3604         (CHARSET_TYPE_256X256): Deleted.
3605         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3606         to inline function.
3607         (DECODE_MOJIKYO_2022): New inline function.
3608         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3609         `Vcharset_mojikyo_2022_1'.
3610
3611 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3612
3613         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3614         instead of `EQ'.
3615         (put_byte_table): Likewise.
3616         (char_id_table_equal): Use `get_byte_table' [new implementation].
3617
3618 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3619
3620         * mule-charset.c: Include <limits.h> in UTF-2000.
3621         (BT_UINT8_MIN): New macro in UTF-2000.
3622         (BT_UINT8_MAX): New macro in UTF-2000.
3623         (BT_UINT8_t): New macro in UTF-2000.
3624         (BT_UINT8_nil): New macro in UTF-2000.
3625         (BT_UINT8_unbound): New macro in UTF-2000.
3626         (INT_UINT8_P): New inline function in UTF-2000.
3627         (UINT8_VALUE_P): New inline function in UTF-2000.
3628         (UINT8_ENCODE): New inline function in UTF-2000.
3629         (UINT8_DECODE): New inline function in UTF-2000.
3630         (mark_uint8_byte_table): New function in UTF-2000.
3631         (print_uint8_byte_table): New function in UTF-2000.
3632         (uint8_byte_table_equal): New function in UTF-2000.
3633         (uint8_byte_table_hash): New function in UTF-2000.
3634         (make_uint8_byte_table): New function in UTF-2000.
3635         (uint8_byte_table_same_value_p): New function in UTF-2000.
3636         (BT_UINT16_MIN): New macro in UTF-2000.
3637         (BT_UINT16_MAX): New macro in UTF-2000.
3638         (BT_UINT16_t): New macro in UTF-2000.
3639         (BT_UINT16_nil): New macro in UTF-2000.
3640         (BT_UINT16_unbound): New macro in UTF-2000.
3641         (INT_UINT16_P): New inline function in UTF-2000.
3642         (UINT16_VALUE_P): New inline function in UTF-2000.
3643         (UINT16_ENCODE): New inline function in UTF-2000.
3644         (UINT16_DECODE): New inline function in UTF-2000.
3645         (UINT8_TO_UINT16): New inline function in UTF-2000.
3646         (mark_uint16_byte_table): New function in UTF-2000.
3647         (print_uint16_byte_table): New function in UTF-2000.
3648         (uint16_byte_table_equal): New function in UTF-2000.
3649         (uint16_byte_table_hash): New function in UTF-2000.
3650         (make_uint16_byte_table): New function in UTF-2000.
3651         (uint16_byte_table_same_value_p): New function in UTF-2000.
3652         (print_byte_table): New function in UTF-2000.
3653         (byte-table): Use `print_byte_table' as printer.
3654         (make_byte_table): Delete second argument `older'.
3655         (byte_table_same_value_p): New function in UTF-2000.
3656         (copy_byte_table): Deleted.
3657         (get_byte_table): New function in UTF-2000.
3658         (put_byte_table): New function in UTF-2000.
3659         (print_char_id_table): New function in UTF-2000.
3660         (char-id-table): Use `print_char_id_table' as printer.
3661         (make_char_id_table): Delete second argument `older'.
3662         (get_char_id_table): Use `get_byte_table [new implementation].
3663         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3664         implementation].
3665         (Ffind_char_attribute_table): New function in UTF-2000.
3666         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3667         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3668         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3669         (syms_of_mule_charset): Add new function
3670         `find-char-attribute-table' in UTF-2000.
3671
3672         * lrecord.h (enum lrecord_type): Add
3673         `lrecord_type_uint16_byte_table' and
3674         `lrecord_type_uint8_byte_table'.
3675
3676         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3677         (Lisp_Uint8_Byte_Table): New type.
3678         (XUINT8_BYTE_TABLE): New macro.
3679         (XSETUINT8_BYTE_TABLE): New macro.
3680         (UINT8_BYTE_TABLE_P): New macro.
3681         (GC_UINT8_BYTE_TABLE_P): New macro.
3682         (struct Lisp_Uint16_Byte_Table): New structure.
3683         (Lisp_Uint16_Byte_Table): New type.
3684         (XUINT16_BYTE_TABLE): New macro.
3685         (XSETUINT16_BYTE_TABLE): New macro.
3686         (UINT16_BYTE_TABLE_P): New macro.
3687         (GC_UINT16_BYTE_TABLE_P): New macro.
3688
3689 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3690
3691         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3692         (Vcharacter_ideographic_strokes_table): Deleted.
3693         (Vcharacter_total_strokes_table): Deleted.
3694         (Vcharacter_morohashi_daikanwa_table): Deleted.
3695         (Vcharacter_decomposition_table): Deleted.
3696         (Qname): Deleted because it is duplicated.
3697         (Qideographic_radical): Deleted.
3698         (Qideographic_strokes): Deleted.
3699         (Qtotal_strokes): Deleted.
3700         (Qmorohashi_daikanwa): Deleted.
3701         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3702         `ideographic-radical', `ideographic-strokes', `total-strokes',
3703         `morohashi-daikanwa' and `->decomposition'.
3704         (Fget_char_attribute): Likewise.
3705         (Fput_char_attribute): Likewise; use `make-vector' instead of
3706         `make_older_vector' for `->decomposition' value.
3707         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3708         `ideograph-daikanwa'.
3709         (syms_of_mule_charset): Delete builtin symbols `name',
3710         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3711         `morohashi-daikanwa'.
3712         (vars_of_mule_charset): Don't setup
3713         `Vcharacter_ideographic_radical_table',
3714         `Vcharacter_ideographic_strokes_table',
3715         `Vcharacter_total_strokes_table',
3716         `Vcharacter_morohashi_daikanwa_table' and
3717         `Vcharacter_decomposition_table'.
3718
3719 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3720
3721         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3722         `make_older_vector', `make_vector_newer_1' and
3723         `make_vector_newer'.
3724
3725         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3726         `make_older_vector' and `make_vector_newer'.
3727
3728         * config.h.in (HAVE_GGC): New macro.
3729
3730 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3731
3732         * mule-charset.c (struct char_attribute_list_closure): New
3733         structure in UTF-2000.
3734         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3735         (Fchar_attribute_list): Likewise.
3736         (Fset_charset_mapping_table): Use `make_vector_newer'.
3737         (Fdecode_builtin_char): New function in UTF-2000.
3738         (syms_of_mule_charset): Add new function `char-attribute-list' and
3739         `decode-builtin-char' in UTF-2000.
3740
3741         * lisp.h (make_vector_newer): New prototype.
3742
3743         * alloc.c (make_vector_newer_1): New function.
3744         (make_vector_newer): New function.
3745
3746 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3747
3748         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3749         50100)'.
3750
3751 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3752
3753         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3754         (Vcharacter_attribute_table): Deleted.
3755         (Vcharacter_name_table): Deleted.
3756         (put_char_attribute): Deleted.
3757         (remove_char_attribute): Deleted.
3758         (struct char_attribute_alist_closure): New structure.
3759         (add_char_attribute_alist_mapper): New function.
3760         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3761         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3762         (Fget_char_attribute): Likewise.
3763         (Fput_char_attribute): Likewise.
3764         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3765         of `remove_char_attribute'.
3766         (Fdefine_char): Return character.
3767         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3768         and `Vcharacter_name_table'.
3769         (complex_vars_of_mule_charset): Likewise
3770         `Vchar_attribute_hash_table'.
3771
3772 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3773
3774         * character.h (CHARC_CHARSET): New macro.
3775         (CHARC_CHARSET_ID): New macro.
3776         (CHARC_CODE_POINT): New macro.
3777         (CHARC_COLUMNS): New macro.
3778         (CHARC_TO_CHAR): New inline function.
3779         (CHARC_EQ): New inline function.
3780         (CHARC_ASCII_EQ): New inline function.
3781         (CHARC_IS_SPACE): New inline function.
3782         (ASCII_TO_CHARC): New inline function.
3783
3784         * char-ucs.h (encode_char_2): Deleted.
3785         (ENCODE_CHAR): Use `encode_char_1' again.
3786         (breakup_char_1): Likewise.
3787         (CHAR_TO_CHARC): New inline function.
3788
3789         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3790
3791 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3792
3793         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3794         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3795         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3796         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3797         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3798         `CHARC_IS_SPACE'.
3799         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3800
3801         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3802         `CHARC_CODE_POINT'.
3803         (x_output_display_block): Use `CHARC_CHARSET' and
3804         `CHARC_ASCII_EQ'.
3805
3806         * redisplay-tty.c (tty_output_display_block): Use
3807         `CHARC_ASCII_EQ'.
3808         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3809
3810         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3811
3812         * insdel.c (find_charsets_in_charc_string): Use
3813         `CHARC_CHARSET_ID'.
3814         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3815         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3816         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3817         (convert_charc_string_into_malloced_string): Likewise.
3818
3819 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3820
3821         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3822         instead of <Emchar_dynarr *> for buf; use
3823         `convert_bufbyte_string_into_charc_dynarr' instead of
3824         `convert_bufbyte_string_into_emchar_dynarr'; use
3825         `find_charsets_in_charc_string' instead of
3826         `find_charsets_in_emchar_string'.
3827
3828         * redisplay.h:
3829         - Include "character.h".
3830         (struct rune): New member `cglyph'; delete member `chr'.
3831
3832         * redisplay.c (redisplay_text_width_charc_string): New function;
3833         delete `redisplay_text_width_emchar_string'.
3834         (rtw_charc_dynarr): New variable; renamed from
3835         `rtw_emchar_dynarr'.
3836         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3837         `rtw_emchar_dynarr'; use
3838         `convert_bufbyte_string_into_charc_dynarr' instead of
3839         `convert_bufbyte_string_into_emchar_dynarr'; use
3840         `redisplay_text_width_charc_string' instead of
3841         `redisplay_text_width_emchar_string'.
3842         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3843         instead of `rtw_emchar_dynarr'; use
3844         `convert_bufbyte_string_into_charc_dynarr' instead of
3845         `convert_bufbyte_string_into_emchar_dynarr'.
3846         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3847         `redisplay_text_width_charc_string' instead of
3848         `redisplay_text_width_emchar_string'.
3849         (create_text_block): Modify for <struct rune> change.
3850         (generate_formatted_string_db): Likewise.
3851         (create_string_text_block): Likewise.
3852         (pixel_to_glyph_translation): Likewise.
3853
3854         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3855         instead of <const Emchar *>.
3856         (x_text_width): Likewise.
3857         (x_output_display_block): Use <Charc_dynarr *> instead
3858         <Emchar_dynarr *>; modify for <structure rune> change.
3859         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3860         *>.
3861
3862         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3863         <const Emchar *>; use `charc_string_displayed_columns' instead of
3864         `emchar_string_displayed_columns'.
3865         (tty_output_display_block): Use <Charc_dynarr *> instead of
3866         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3867         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3868         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3869         `tty_output_emchar_dynarr_dynarr'.
3870         (tty_output_charc_dynarr): New function; delete
3871         `tty_output_charc_dynarr'.
3872
3873         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3874         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3875         <Emchar_dynarr *> for buf; use
3876         `convert_bufbyte_string_into_charc_dynarr' instead of
3877         `convert_bufbyte_string_into_emchar_dynarr'.
3878
3879         * frame.c (title_string_charc_dynarr): New variable; renamed from
3880         `title_string_emchar_dynarr'.
3881         (generate_title_string): Use `title_string_charc_dynarr' instead
3882         of `title_string_emchar_dynarr'; use
3883         `convert_charc_string_into_malloced_string' instead of
3884         `convert_emchar_string_into_malloced_string'.
3885         (init_frame): Use `title_string_charc_dynarr' instead of
3886         `title_string_emchar_dynarr'.
3887
3888         * console.h:
3889         - Include "character.h".
3890         (struct console_methods): Use <const Charc *> instead of <const
3891         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3892         <Emchar_dynarr *> in output_string_method.
3893
3894         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3895         <Emchar_dynarr *>.
3896
3897         * console-stream.c (stream_text_width): Use <const Charc *>
3898         instead of <const Emchar *>.
3899
3900         * character.h (Charc_dynarr): New type.
3901
3902         * char-ucs.h (structure Charc): New structure; define new type
3903         `Charc'.
3904
3905         * char-lb.h (DECODE_CHAR): New inline function.
3906         (encode_char_1): New inline function.
3907         (ENCODE_CHAR): New macro.
3908         (structure Charc): New structure; define new type `Charc'.
3909
3910         * char-1byte.h (Vcharset_control_1): New macro.
3911         (Vcharset_latin_iso8859_1): New macro.
3912         (DECODE_CHAR): New inline function.
3913         (encode_char_1): New inline function.
3914         (ENCODE_CHAR): New macro.
3915         (structure Charc): New structure; define new type `Charc'.
3916
3917         * insdel.c (find_charsets_in_charc_string): New function; delete
3918         `find_charsets_in_emchar_string'.
3919         (charc_string_displayed_columns): New function; delete
3920         `emchar_string_displayed_columns'.
3921         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3922         `convert_bufbyte_string_into_emchar_dynarr'.
3923         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3924         `convert_charc_string_into_bufbyte_dynarr'.
3925         (convert_charc_string_into_malloced_string): New function; delete
3926         `convert_charc_string_into_malloced_string'.
3927
3928         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3929         `find_charsets_in_emchar_string'.
3930         (charc_string_displayed_columns): New prototype; delete
3931         `emchar_string_displayed_columns'.
3932         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3933         `convert_charc_string_into_bufbyte_dynarr'.
3934         (convert_charc_string_into_malloced_string): New prototype; delete
3935         `convert_charc_string_into_malloced_string'.
3936
3937 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3938
3939         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3940
3941 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3942
3943         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3944
3945         * char-ucs.h: Use <short> for <Charset_ID>.
3946
3947         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3948         <Charset_ID>.
3949
3950 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3951
3952         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3953         to 0.16.
3954
3955 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3956
3957         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3958         variable.
3959         (Qmorohashi_daikanwa): New variable.
3960         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3961         for `morohashi-daikanwa' attribute.
3962         (Fget_char_attribute): Likewise.
3963         (Fput_char_attribute): Likewise.
3964         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3965         has the same value of `ideograph-daikanwa'.
3966         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3967         (vars_of_mule_charset): Setup
3968         `Vcharacter_morohashi_daikanwa_table'.
3969
3970 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3971
3972         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3973         attributes.
3974         (add_charset_to_list_mapper): Add `key' instead of
3975         `XCHARSET_NAME (value)' to return aliases.
3976
3977 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3978
3979         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3980         variable.
3981         (Vcharacter_ideographic_strokes_table): New variable.
3982         (Qideographic_radical): New variable.
3983         (Qideographic_strokes): New variable.
3984         (Fchar_attribute_alist): Use
3985         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3986         attribute; use `Vcharacter_ideographic_strokes_table' for
3987         `ideographic-strokes' attribute.
3988         (Fget_char_attribute): Likewise.
3989         (Fput_char_attribute): Likewise.
3990         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3991         `ideographic-strokes'.
3992         (vars_of_mule_charset): Setup
3993         `Vcharacter_ideographic_radical_table' and
3994         `Vcharacter_ideographic_strokes_table'.
3995
3996 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3997
3998         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3999         (Qtotal_strokes): New variable.
4000         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4001         `total-strokes' attribute.
4002         (Fget_char_attribute): Likewise.
4003         (Fput_char_attribute): Likewise.
4004         (syms_of_mule_charset): Add new symbol `total-strokes'.
4005         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4006
4007 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4008
4009         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4010         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4011         are found.
4012         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4013         `->decomposition' attribute.
4014         (Fput_char_attribute): Likewise.
4015         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4016
4017 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4018
4019         * mule-charset.c (decoding_table_check_elements): New function.
4020         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4021
4022 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4023
4024         * mule-charset.c (Fset_charset_mapping_table): Use
4025         `put_char_ccs_code_point'.
4026
4027 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4028
4029         * mule-charset.c (decoding_table_put_char): New inline function.
4030         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4031
4032 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4033
4034         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4035         (XCHARSET_BYTE_SIZE): New macro.
4036         (decoding_table_remove_char): New inline function.
4037         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4038         `decoding_table_remove_char'.
4039         (remove_char_ccs): Use `decoding_table_remove_char'.
4040         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4041
4042 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4043
4044         * mule-charset.c (Vcharacter_name_table): New variable.
4045         (Qname): New variable.
4046         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4047         attribute.
4048         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4049         `Vcharacter_name_table' for `name' attribute.
4050         (Fremove_char_attribute): Use function `remove_char_ccs'.
4051         (put_char_ccs_code_point): New function.
4052         (remove_char_ccs): New function.
4053         (syms_of_mule_charset): Add new symbol `name'.
4054         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4055
4056 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4057
4058         * mule-charset.c (make_byte_table): Add new argument `older'.
4059         (make_char_id_table): Likewise.
4060         (copy_char_id_table): Comment out because it is not used.
4061         (put_char_id_table): Modify for `make_byte_table'.
4062         (Fput_char_attribute): Make encoding_table as older object;
4063         inherit older bit of `Vcharacter_composition_table'.
4064         (mark_charset): Don't mark `cs->encoding_table'.
4065         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4066         normal object; make `Vcharacter_composition_table' as an older
4067         object; delete staticpro for `Vcharacter_composition_table'; make
4068         `Vcharacter_variant_table' as a normal object.
4069
4070         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4071         (mark_object): Don't check older object in UTF-2000.
4072
4073         * lrecord.h (struct lrecord_header): Add new member `older' in
4074         UTF-2000.
4075         (set_lheader_implementation): Setup `SLI_header->older' in
4076         UTF-2000.
4077         (set_lheader_older_implementation): New macro in UTF-2000.
4078         (OLDER_RECORD_P): New macro in UTF-2000.
4079         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4080         (alloc_older_lcrecord): New prototype in UTF-2000.
4081         (alloc_older_lcrecord_type): New macro in UTF-2000.
4082
4083 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4084
4085         * mule-charset.c (byte_table_description): Use
4086         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4087         (char_id_table_description): Delete bogus `, 1'.
4088         (Fget_char_attribute): Refer encoding_table of each coded-charset
4089         to get value of coded-charset attribute of a character.
4090         (Fput_char_attribute): Use `make_older_vector' instead of
4091         `make_vector'; use encoding_table of each coded-charset to store
4092         value of coded-charset attribute of a character.
4093         (Fremove_char_attribute): Use encoding_table of each coded-charset
4094         to store value of coded-charset attribute of a character.
4095         (mark_charset): Mark `cs->encoding_table'; don't mark
4096         `cs->decoding_table'.
4097         (charset_description): Add description of new member
4098         `encoding_table'.
4099         (make_charset): Initialize `encoding_table'.
4100
4101         * char-ucs.h (struct Lisp_Charset): Add new member
4102         `encoding_table'.
4103         (CHARSET_ENCODING_TABLE): New macro.
4104         (XCHARSET_ENCODING_TABLE): New macro.
4105         (charset_code_point): New implementation.
4106         (encode_char_1): Likewise.
4107
4108         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4109         (disksave_object_finalization_1): Call finalizers of
4110         `all_older_lcrecords' in UTF-2000.
4111         (make_older_vector): New function in UTF-2000.
4112         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4113         UTF-2000.
4114
4115         * lisp.h (make_older_vector): New prototype in UTF-2000.
4116
4117 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4118
4119         * lrecord.h (enum lrecord_type): Rename
4120         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4121
4122         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4123         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4124         `get_char_code_table'.
4125
4126         * mule-charset.c (mark_char_id_table): Renamed from
4127         `mark_char_code_table'.
4128         (char_id_table_equal): Renamed from `char_code_table_equal'.
4129         (char_id_table_hash): Renamed from `char_code_table_hash'.
4130         (make_char_id_table): Renamed from `make_char_code_table'.
4131         (copy_char_id_table): Renamed from `copy_char_code_table'.
4132         (get_char_id_table): Renamed from `get_char_code_table'.
4133         (put_char_id_table): Renamed from `put_char_code_table'.
4134         (to_char_id): Renamed from `to_char_code'.
4135
4136         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4137         `Lisp_Char_Code_Table'.
4138         (char_id_table): Renamed from `char_code_table'.
4139         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4140         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4141         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4142         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4143         (get_char_id_table): Renamed from `get_char_code_table'.
4144
4145 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4146
4147         * lrecord.h (enum lrecord_type): Rename
4148         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4149
4150         * mule-charset.c (mark_byte_table): Renamed from
4151         `mark_char_byte_table'.
4152         (byte_table_equal): Renamed from `char_byte_table_equal'.
4153         (byte_table_hash): Renamed from `byte_table_hash'.
4154         (make_byte_table): Renamed from `make_byte_table'.
4155         (copy_byte_table): Renamed from `copy_char_byte_table'.
4156
4157         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4158         `Lisp_Char_Byte_Table'.
4159         (byte_table): Renamed from `char_byte_table'.
4160         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4161         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4162         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4163         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4164
4165 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4166
4167         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4168         (dfc_convert_to_internal_format): Likewise.
4169         
4170         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4171         * text-coding.c (Fcoding_system_alias_p): New function.
4172         * text-coding.c (Fcoding_system_aliasee): New function.
4173         * text-coding.c (append_suffix_to_symbol): New function.
4174         * text-coding.c (dangling_coding_system_alias_p): New function.
4175         * text-coding.c (Ffind_coding_system):
4176         * text-coding.c (Fcopy_coding_system):
4177         * text-coding.c (encode_coding_no_conversion):
4178         * text-coding.c (syms_of_file_coding):
4179         * text-coding.c (vars_of_file_coding):
4180         Rewrite coding system alias code.
4181         Allow nested aliases, like symbolic links.
4182         Allow redefinition of coding system aliases.
4183         Prevent existence of dangling coding system aliases.
4184         Eliminate convert_to_external_format.
4185         Eliminate convert_to_internal_format.
4186         
4187         * text-coding.c: Change enum eol_type to eol_type_t.
4188
4189 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4190
4191         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4192         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4193
4194         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4195         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4196
4197 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4198
4199         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4200         `ideograph-daikanwa'.
4201
4202         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4203         (Vcharset_ucs_bmp): Likewise.
4204         (Vcharset_mojikyo): Add new extern variable definition.
4205         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4206         (Vcharset_latin_iso8859_3): Likewise.
4207         (Vcharset_latin_iso8859_4): Likewise.
4208         (Vcharset_latin_iso8859_9): Likewise.
4209         (Vcharset_latin_viscii_lower): Likewise.
4210         (Vcharset_latin_viscii_upper): Likewise.
4211         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4212         `mojikyo' code-point is used to decode.
4213         (encode_char_2): New function [to convert `mojikyo' code-point to
4214         Mojikyo font encoding].
4215         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4216         (breakup_char_1): Likewise.
4217         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4218
4219 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4220
4221         * text-coding.c (Fmake_coding_system): Add document about
4222         `disable-composition' property.
4223
4224 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4225
4226         * text-coding.c (Qdisable_composition): New variable; delete
4227         `Qcomposite'.
4228         (Fmake_coding_system): Add new property `disable-composite';
4229         delete property `composite'.
4230         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4231         instead of `!CODING_SYSTEM_COMPOSITE'.
4232         (syms_of_file_coding): Add new symbol `disable-composition';
4233         delete symbol `composite'.
4234
4235         * file-coding.h (struct Lisp_Coding_System): Add
4236         `disable_composition'; delete `enable_composition'.
4237         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4238         `CODING_SYSTEM_COMPOSITE'.
4239         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4240         `XCODING_SYSTEM_COMPOSITE'.
4241
4242 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4243
4244         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4245         to 0.15.
4246
4247 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4248
4249         * text-coding.c (Qcomposite): New variable.
4250         (Fmake_coding_system): Add new property `composite'.
4251         (struct decoding_stream): Add `combined_char_count',
4252         `combined_chars' and `combining_table' in UTF-2000.
4253         (COMPOSE_FLUSH_CHARS): New macro.
4254         (COMPOSE_ADD_CHAR): New macro.
4255         (reset_decoding_stream): Reset `str->combined_char_count' and
4256         `str->combining_table' in UTF-2000.
4257         (decode_coding_iso2022): Modify for character-decomposition.
4258         (syms_of_file_coding): Add new symbol `composite'.
4259
4260 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4261
4262         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4263         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4264         of `Vcharacter_composition_table' if `->decomposition' property
4265         has only 1 element.
4266         (Qlatin_tcvn5712): New variable.
4267         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4268         (complex_vars_of_mule_charset): Add new coded-charset
4269         `latin-tcvn5712'.
4270
4271         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4272
4273 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4274
4275         * file-coding.h (struct Lisp_Coding_System): Add
4276         `enable_composition'.
4277         (CODING_SYSTEM_COMPOSITE): New macro.
4278         (XCODING_SYSTEM_COMPOSITE): New macro.
4279
4280 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4281
4282         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4283
4284 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4285
4286         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4287         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4288
4289 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4290
4291         * mule-charset.c (Vcharset_mojikyo): New variable.
4292         (Fdefine_char): Don't use coded-charset which does not have
4293         non-builtin character range to allocate character-id.
4294         (Qmojikyo): New variable.
4295         (syms_of_mule_charset): Add new symbol `mojikyo'.
4296         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4297
4298         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4299         (LEADING_BYTE_MOJIKYO): New macro.
4300         (MIN_CHAR_MOJIKYO): New macro.
4301         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4302         (MAX_CHAR_MOJIKYO): New macro.
4303
4304 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4305
4306         * mule-charset.c (remove_char_attribute): Fixed.
4307
4308 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4309
4310         * mule-charset.c (remove_char_attribute): New function.
4311         (Fremove_char_attribute): New function.
4312         (encode_builtin_char_1): Comment out builtin-support for
4313         greek-iso8859-7 and cyrillic-iso8859-5.
4314         (Fdecode_char): Check `code' is an integer.
4315         (syms_of_mule_charset): Add `remove-char-attribute'.
4316         (MIN_CHAR_GREEK): Deleted.
4317         (MAX_CHAR_GREEK): Likewise.
4318         (MIN_CHAR_CYRILLIC): Likewise.
4319         (MAX_CHAR_CYRILLIC): Likewise.
4320         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4321         MAX_CHAR_GREEK for `greek-iso8859-7'.
4322
4323         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4324         (MAX_CHAR_GREEK): Likewise.
4325         (MIN_CHAR_CYRILLIC): Likewise.
4326         (MAX_CHAR_CYRILLIC): Likewise.
4327
4328 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4329
4330         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4331         format is used without `ucs' property.
4332         (Fdecode_char): Fix problem with GR representation.
4333         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4334         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4335
4336 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4337
4338         * mule-charset.c (make_builtin_char): New function.
4339         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4340         (Fset_charset_mapping_table): Modify for new representation of
4341         code-point.
4342         (Fdecode_char): New function.
4343         (syms_of_mule_charset): Add new builtin function `decode-char' in
4344         UTF-2000.
4345
4346         * char-ucs.h (make_builtin_char): New prototype.
4347         (DECODE_CHAR): New inline function.
4348         (MAKE_CHAR): Use `DECODE_CHAR'.
4349
4350 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4351
4352         * text-coding.c (parse_charset_conversion_specs): Use
4353         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4354         `XCHARSET_TYPE'.
4355         (iso2022_designate): Likewise.
4356
4357         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4358         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4359
4360         * mule-charset.c (Vcharset_ucs): New variable.
4361         (print_charset): Change design; use `CHARSET_CHARS' and
4362         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4363         (make_charset): Change signature to specify `chars' and
4364         `dimension' instead of `type'.
4365         (range_charset_code_point): Modify for 256^n-set.
4366         (encode_builtin_char_1): Encode as `ucs' in default.
4367         (Fmake_charset): Modify for `make_charset'.
4368         (Fmake_reverse_direction_charset): Likewise.
4369         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4370         UTF-2000.
4371         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4372         for `make_charset'.
4373
4374         * char-ucs.h (Vcharset_ucs): New variable.
4375         (LEADING_BYTE_UCS): New macro.
4376         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4377         and `chars' to `unsigned short' from `unsigned int'.
4378         (CHARSET_TYPE): Deleted.
4379         (XCHARSET_TYPE): Deleted.
4380
4381 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4382
4383         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4384
4385         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4386         (ENCODE_CHAR): New macro.
4387
4388 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4389
4390         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4391         to 0.14 (Kawachi-Katakami).
4392
4393 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4394
4395         * text-coding.c (char_encode_shift_jis): Modify for
4396         `charset_code_point'.
4397         (char_encode_iso2022): Likewise.
4398
4399         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4400         (integer) instead of list of <Lisp_Object>s (integers) as the
4401         format of code-point of a coded-charset.
4402         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4403         (encode_builtin_char_1): New function; delete
4404         `split_builtin_char'.
4405         (charset_code_point): Return <int> instead of <Lisp_Object>.
4406         (Fsplit_char): Don't use `SPLIT_CHAR'.
4407
4408         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4409         prototype for `split_builtin_char'.
4410         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4411         (charset_code_point): Likewise.
4412         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4413         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4414
4415 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4416
4417         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4418         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4419
4420 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4421
4422         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4423
4424         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4425         (MAX_CHAR_OBS_94x94): Deleted.
4426
4427 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4428
4429         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4430
4431         * char-ucs.h (MAX_CHAR_BMP): New macro.
4432
4433 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4434
4435         * text-coding.c: Sync with r21-2-24.
4436
4437 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4438
4439         * file-coding.c: Modify for UTF-2000.
4440
4441 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4442
4443         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4444         to 0.13 (Takaida).
4445
4446 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4447
4448         * mule-charset.c (split_builtin_char): Delete builtin support for
4449         `katakana-jisx0201'.
4450         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4451         BMP area in builtin representation.
4452
4453         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4454         `Vcharset_katakana_jisx0201'.
4455
4456 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4457
4458         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4459         (Qisolated): New variable.
4460         (Qinitial): New variable.
4461         (Qmedial): New variable.
4462         (Qfinal): New variable.
4463         (Qvertical): New variable.
4464         (Qsmall): New variable.
4465         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4466         `Qvertical' and `Qsmall'.
4467         (Qmojikyo_pj_[1 .. 21]): New variable.
4468         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4469         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4470         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4471         .. 21]'.
4472
4473 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4474
4475         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4476         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4477         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4478
4479 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4480
4481         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4482         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4483         BMP.
4484         (Qjapanese_jisx0208_1990): New variable.
4485         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4486         (complex_vars_of_mule_charset): Add new coded-charset
4487         `japanese-jisx0208-1990'.
4488
4489         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4490         (MIN_CHAR_JIS_X0208_1990): New macro.
4491         (MAX_CHAR_JIS_X0208_1990): New macro.
4492
4493 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4494
4495         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4496         coded-charset is not found.
4497
4498 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4499
4500         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4501         (Fdefine_char): Use `Fmake_char'.
4502
4503 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4504
4505         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4506         (Vcharset_hiragana_jisx0208): Deleted.
4507         (Vcharset_katakana_jisx0208): Deleted.
4508         (Qideograph_daikanwa): New variable.
4509         (Qhiragana_jisx0208): Deleted.
4510         (Qkatakana_jisx0208): Deleted.
4511         (split_builtin_char): Split `ideograph-daikanwa'.
4512         (Fsplit_char): New implementation for UTF-2000.
4513         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4514         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4515         (complex_vars_of_mule_charset): Add new coded-charset
4516         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4517         `katakana-jisx0208'.
4518
4519         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4520         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4521         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4522         (MIN_CHAR_DAIKANWA): New macro.
4523         (MAX_CHAR_DAIKANWA): New macro.
4524
4525 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4526
4527         * data.c (Fstring_to_number): Don't recognize floating point if
4528         base is not 10.
4529
4530 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4531
4532         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4533
4534 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4535
4536         * mule-charset.c (Qsquare): New variable.
4537         (to_char_code): Add `Qsquare'.
4538         (syms_of_mule_charset): Add new symbol `square'.
4539
4540 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4541
4542         * mule-charset.c (Qcircle): New variable.
4543         (to_char_code): Add `Qcircle'.
4544         (syms_of_mule_charset): Add new symbol `circle'.
4545
4546 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4547
4548         * mule-charset.c (Qfont): New variable.
4549         (to_char_code): Add `Qfont'.
4550         (syms_of_mule_charset): Add new symbol `font'.
4551
4552 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4553
4554         * mule-charset.c (Qsub): New variable.
4555         (to_char_code): Add `Qsub'.
4556         (syms_of_mule_charset): Add new symbol `sub'.
4557
4558 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4559
4560         * mule-charset.c (Fput_char_attribute): Convert each element of
4561         VALUE to GL position if ATTRIBUTE is a GR-set,
4562
4563 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4564
4565         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4566         coded-charset is a GR-set.
4567
4568 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4569
4570         * mule-charset.c (Fput_char_attribute): Check each element of
4571         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4572
4573 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4574
4575         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4576         UTF-2000.
4577         (Qethiopic_ucs): New variable in UTF-2000.
4578         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4579         (complex_vars_of_mule_charset): Add new coded-charset
4580         `ethiopic-ucs' in UTF-2000.
4581
4582         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4583         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4584         9)'.
4585         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4586         10)'.
4587         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4588
4589 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4590
4591         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4592         `ascii'.
4593
4594 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4595
4596         * mule-charset.c (Vcharacter_variant_table): New variable.
4597         (Q_ucs): New variable.
4598         (Fchar_variants): New function.
4599         (Fput_char_attribute): Register `->ucs' value to
4600         `Vcharacter_variant_table'.
4601         (syms_of_mule_charset): Add new function `char-variants' and new
4602         symbol `->ucs'.
4603         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4604
4605 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4606
4607         * mule-charset.c (get_char_code_table): Allow negative character
4608         code.
4609         (put_char_code_table): Likewise.
4610         (Vcharacter_composition_table): New variable.
4611         (Q_decomposition): New variable.
4612         (Qwide): New variable.
4613         (Qnarrow): New variable.
4614         (Qcompat): New variable.
4615         (QnoBreak): New variable.
4616         (Qsuper): New variable.
4617         (Qfraction): New variable.
4618         (to_char_code): New function.
4619         (Fget_composite_char): New function.
4620         (Fput_char_attribute): Register `->decomposition' value to
4621         `Vcharacter_composition_table'.
4622         (syms_of_mule_charset): Add new function `get-composite-char', new
4623         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4624         `super' and `fraction'.
4625         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4626
4627 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4628
4629         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4630         character; copy the return value.
4631
4632 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4633
4634         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4635
4636         * mule-charset.c (range_charset_code_point): Must use make_int.
4637         (split_builtin_char): New function.
4638
4639 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4640
4641         * mule-charset.c (char_byte_table): Change name from
4642         "char-code-table" to "char-byte-table".
4643         (mark_char_code_table): New function.
4644         (char_code_table_equal): New function.
4645         (char_code_table_hash): New function.
4646         (char_code_table_description): New constant.
4647         (char_code_table): New type.
4648         (make_char_code_table): New function.
4649         (copy_char_code_table): New function.
4650         (get_char_code_table): Modify for `char_code_table' type.
4651         (put_char_code_table): Likewise.
4652         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4653         (Kashiwara).
4654
4655         * char-ucs.h (char_code_table): New type.
4656         (XCHAR_CODE_TABLE): New macro.
4657         (XSETCHAR_CODE_TABLE): New macro.
4658         (CHAR_CODE_TABLE_P): New macro.
4659         (GC_CHAR_CODE_TABLE_P): New macro.
4660         (struct Lisp_Char_Code_Table): New structure.
4661
4662 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4663
4664         * mule-charset.c (Fmake_charset): Setup byte_offset for
4665         {94|96}^n-set.
4666
4667 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4668
4669         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4670         character.
4671
4672 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4673
4674         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4675         is found.
4676
4677 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4678
4679         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4680         charset, it is regarded as a charset.
4681         (put_char_attribute): New function in UTF-2000.
4682         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4683         charset, mapping-table of the charset is modified.
4684         (Fdefine_char): New function in UTF-2000.
4685         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4686         `Fput_char_attribute'.
4687         (syms_of_mule_charset): Add new function `define-char' and new
4688         symbol `ucs' in UTF-2000.
4689         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4690
4691 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4692
4693         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4694         non-UTF-2000 configuration.
4695
4696 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4697
4698         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4699         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4700
4701         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4702         deleted.
4703         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4704         (Fset_charset_mapping_table): Likewise.
4705
4706         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4707         (CHARSET_ENCODING_TABLE): Delete.
4708         (XCHARSET_ENCODING_TABLE): Delete.
4709         (charset_code_point): New interface.
4710
4711 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4712
4713         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4714         instead of `charset_get_byte1' and `charset_get_byte2'.
4715
4716         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4717         (charset_get_byte2): Deleted.
4718
4719 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4720
4721         * char-ucs.h (SPLIT_CHAR): New inline function.
4722         (breakup_char_1): Use `SPLIT_CHAR'.
4723
4724         * mule-charset.c (range_charset_code_point): New function.
4725         (charset_code_point): New function.
4726
4727         * char-ucs.h (range_charset_code_point): New interface.
4728         (breakup_char_1): Use `range_charset_code_point'.
4729
4730 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4731
4732         * mule-charset.c (Fmake_charset): Delete unused local variable
4733         `code_offset'.
4734
4735         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4736         (breakup_char_1): Find a charset and code-point in
4737         `Vcharacter_attribute_table'.
4738
4739 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4740
4741         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4742         to 0.10 (Yao).
4743
4744 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4745
4746         * mule-charset.c (Vcharacter_attribute_table): New variable.
4747         (Fchar_attribute_alist): New function.
4748         (Fget_char_attribute): New function.
4749         (Fput_char_attribute): New function.
4750         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4751         too.
4752         (syms_of_mule_charset): Add new function `char-attribute-alist',
4753         `get-char-attribute' and `put-char-attribute'.
4754         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4755
4756 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4757
4758         * mule-charset.c (Fmake_charset): Just use
4759         `get_unallocated_leading_byte'.
4760
4761         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4762         sets; don't use final-byte based number for private sets.
4763
4764 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4765
4766         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4767         integer.
4768
4769 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4770
4771         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4772         to 0.9.
4773
4774 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4775
4776         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4777         of `CHAR_LEADING_BYTE' in UTF-2000.
4778
4779         * insdel.c (find_charsets_in_bufbyte_string): Use
4780         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4781         (find_charsets_in_emchar_string): Likewise.
4782
4783         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4784         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4785
4786         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4787         (CHAR_CHARSET_ID): New macro.
4788
4789 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4790
4791         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4792         charset-id - MIN_LEADING_BYTE.
4793         (put_char_table): Likewise.
4794
4795 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4796
4797         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4798         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4799         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4800         (CHARSET_ID_OFFSET): New macro.
4801         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4802         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4803         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4804         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4805         4).
4806         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4807         5).
4808         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4809         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4810         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4811         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4812         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4813
4814 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4815
4816         * mule-charset.c (next_allocated_leading_byte): New variable in
4817         UTF-2000.
4818         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4819         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4820         (get_unallocated_leading_byte): Simply use
4821         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4822         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4823         UTF-2000.
4824
4825         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4826         (MAX_LEADING_BYTE_PRIVATE): New macro.
4827         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4828         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4829
4830 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4831
4832         * mule-charset.c (Fmake_charset): Allocate final-byte based
4833         charset-id for 94-set, 96-set and 94x94-set.
4834
4835 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4836
4837         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4838         ambiguous `else'.
4839         (Fmake_charset): Likewise.
4840         (complex_vars_of_mule_charset): Modify the font registry of
4841         `ucs-bmp' not to match `Ethiopic-Unicode'.
4842
4843 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4844
4845         * mule-charset.c (complex_vars_of_mule_charset): Add font
4846         registory of `ucs-bmp'.
4847
4848 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4849
4850         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4851         coded-charsets in `default-coded-charset-priority-list' when
4852         breaking up a character.
4853
4854         * mule-charset.c (Vcharset_latin_viscii): New variable.
4855         (Qlatin_viscii): New variable.
4856         (make_charset): Don't use `decoding_table'.
4857         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4858         byte_offset.
4859         (Fset_charset_mapping_table): New implementation.
4860         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4861         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4862         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4863         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4864         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4865         charset `latin_viscii'.
4866
4867         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4868         (CHARSET_TYPE_94X94): Change to 1 from 2.
4869         (CHARSET_TYPE_96): Change to 2 from 1.
4870         (CHARSET_TYPE_128): New macro.
4871         (CHARSET_TYPE_128X128): Change to 5 from 4.
4872         (CHARSET_TYPE_256): New macro.
4873         (CHARSET_TYPE_256X256): Change to 7 from 5.
4874         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4875
4876 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4877
4878         * text-coding.c (char_encode_shift_jis): Refer
4879         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4880         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4881
4882         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4883         (char_byte_table_equal): New function in UTF-2000.
4884         (char_byte_table_hash): New function in UTF-2000.
4885         (char_byte_table_description): New constant in UTF-2000.
4886         (char_byte_table): New type in UTF-2000.
4887         (make_char_byte_table): New function in UTF-2000.
4888         (copy_char_byte_table): New function in UTF-2000.
4889         (make_char_code_table): New macro in UTF-2000.
4890         (get_char_code_table): New function in UTF-2000.
4891         (put_char_code_table): New function in UTF-2000.
4892         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4893         (charset_description): Add setting in UTF-2000.
4894         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4895         `CHARSET_TO_BYTE1_TABLE(cs)'.
4896         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4897         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4898         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4899         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4900         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4901         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4902         `CHARSET_TO_BYTE2_TABLE(cs)'.
4903
4904         * char-ucs.h (char_byte_table): New type.
4905         (XCHAR_BYTE_TABLE): New macro.
4906         (XSETCHAR_BYTE_TABLE): New macro.
4907         (CHAR_BYTE_TABLE_P): New macro.
4908         (GC_CHAR_BYTE_TABLE_P): New macro.
4909         (struct Lisp_Char_Byte_Table): New structure.
4910         (get_char_code_table): New interface.
4911         (Emchar_to_byte_table): Deleted.
4912         (get_byte_from_character_table): Deleted.
4913         (struct Lisp_Charset): Add `encoding_table'; delete
4914         `to_byte1_table' and `to_byte2_table'.
4915         (CHARSET_ENCODING_TABLE): New macro.
4916         (CHARSET_TO_BYTE1_TABLE): Deleted.
4917         (CHARSET_TO_BYTE2_TABLE): Deleted.
4918         (XCHARSET_ENCODING_TABLE): New macro.
4919         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4920         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4921
4922 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4923
4924         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4925         `vietnamese-viscii-*'.
4926
4927 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4928
4929         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4930         (Qvietnamese_viscii_upper): New variable.
4931         (Fdefine_charset_alias): New function.
4932         (syms_of_mule_charset): Add new function `define-charset-alias'.
4933         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4934         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4935         `latin-viscii-*'.
4936
4937 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4938
4939         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4940         (MAX_CHAR_OBS_94x94): New macro.
4941         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4942         for 94x94 sets.
4943
4944         * mule-charset.c (put_byte_from_character_table): Change unit size
4945         from 128 to 256.
4946         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4947         not defined.
4948         (Fmake_reverse_direction_charset): Modify dummy argument of
4949         `make_charset' for non-UTF-2000 environment.
4950
4951 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4952
4953         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4954
4955         * mule-charset.c (destroy_byte_from_character_table): New macro.
4956         (latin_jisx0201_to_ucs): Deleted.
4957         (latin_iso8859_2_to_ucs): Deleted.
4958         (latin_iso8859_3_to_ucs): Deleted.
4959         (latin_iso8859_4_to_ucs): Deleted.
4960         (latin_iso8859_9_to_ucs): Deleted.
4961         (latin_viscii_lower_to_ucs): Deleted.
4962         (latin_viscii_upper_to_ucs): Deleted.
4963         (mark_charset): Mark `cs->decoding_table'.
4964         (Fcharset_mapping_table): Fix DOC-string.
4965         (Fset_charset_mapping_table): New function.
4966         (syms_of_mule_charset): Add nwe function
4967         `set-charset-mapping-table'.
4968         (complex_vars_of_mule_charset): Don't setup and use
4969         `latin_*_to_ucs'.
4970
4971 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4972
4973         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4974         charset.
4975
4976 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4977
4978         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4979         (Vcharset_katakana_jisx0208): New variable.
4980         (Qhiragana_jisx0208): New variable.
4981         (Qkatakana_jisx0208): New variable.
4982         (make_charset): Add new argument `byte_offset'.
4983         (charset_get_byte1): Modify for new coded-charset definition; use
4984         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4985         `XCHARSET_BYTE_OFFSET'.
4986         (Fmake_charset): Modify for `make_charset'.
4987         (Fmake_reverse_direction_charset): Likewise.
4988         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4989         `katakana-jisx0208'.
4990         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4991         `.'  in font registry of charset `katakana-jisx0201',
4992         `latin-jisx0201', `vietnamese-viscii-lower' and
4993         `vietnamese-viscii-upper'; modify DOC-string of charset
4994         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4995         registry of charset `japanese-jisx0208' not to use font for JIS
4996         X0208:1990; add new charset `hiragana-jisx0208' and
4997         `katakana-jisx0208'.
4998
4999         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5000         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5001         (struct Lisp_Charset): Add `byte_offset'.
5002         (CHARSET_BYTE_OFFSET): New macro.
5003         (XCHARSET_UCS_MIN): New macro.
5004         (XCHARSET_UCS_MAX): New macro.
5005         (XCHARSET_CODE_OFFSET): New macro.
5006         (XCHARSET_BYTE_OFFSET): New macro.
5007         (MIN_CHAR_HIRAGANA): New macro.
5008         (MAX_CHAR_HIRAGANA): New macro.
5009         (MIN_CHAR_KATAKANA): New macro.
5010         (MAX_CHAR_KATAKANA): New macro.
5011         (MAKE_CHAR): Modify for new coded-charset definition; use
5012         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5013         `XCHARSET_BYTE_OFFSET'.
5014
5015 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5016
5017         * mule-charset.c (CHAR96): Deleted.
5018         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5019         <Lisp_Object>.
5020         (latin_iso8859_2_to_ucs): Likewise.
5021         (latin_iso8859_3_to_ucs): Likewise.
5022         (latin_iso8859_4_to_ucs): Likewise.
5023         (latin_iso8859_9_to_ucs): Likewise.
5024         (latin_viscii_lower_to_ucs): Likewise.
5025         (latin_viscii_upper_to_ucs): Likewise.
5026         (latin_tcvn5712_to_ucs): Commented out.
5027         (make_charset): Change type of argument `decoding_table' from
5028         <Emchar*> to <Lisp_Object> [vector of characters].
5029         (Fmake_charset): Modify for `make_charset'.
5030         (Fmake_reverse_direction_charset): Likewise.
5031         (Fcharset_mapping_table): New function in UTF-2000.
5032         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5033         UTF-2000.
5034         (complex_vars_of_mule_charset): Modify for type change of
5035         `*_to_ucs'; modify for `make_charset'.
5036
5037         * char-ucs.h (struct Lisp_Charset): Change type of
5038         `decoding_table' from <Emchar*> to <Lisp_Object>.
5039         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5040
5041 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5042
5043         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5044         error with non-UTF-2000-Mule.
5045
5046 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5047
5048         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5049         in lisp again].
5050         (Vcharset_chinese_cns11643_4): Likewise.
5051         (Vcharset_chinese_cns11643_5): Likewise.
5052         (Vcharset_chinese_cns11643_6): Likewise.
5053         (Vcharset_chinese_cns11643_7): Likewise.
5054         (Qchinese_cns11643_3): Likewise.
5055         (Qchinese_cns11643_4): Likewise.
5056         (Qchinese_cns11643_5): Likewise.
5057         (Qchinese_cns11643_6): Likewise.
5058         (Qchinese_cns11643_7): Likewise.
5059         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5060         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5061         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5062         (complex_vars_of_mule_charset): Likewise.
5063
5064 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5065
5066         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5067         96-set.
5068         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5069         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5070
5071 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5072
5073         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5074         0xFF60.
5075         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5076         (breakup_char_1): Likewise.
5077
5078         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5079         one of them includes the specified character.
5080
5081 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5082
5083         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5084
5085 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5086
5087         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5088
5089 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5090
5091         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5092         definition for non-UTF-2000 Mule.
5093         (latin_iso8859_3_to_ucs): Likewise.
5094         (latin_iso8859_4_to_ucs): Likewise.
5095         (latin_iso8859_9_to_ucs): Likewise.
5096         (latin_jisx0201_to_ucs): Likewise.
5097         (MIN_CHAR_THAI): Likewise.
5098         (MAX_CHAR_THAI): Likewise.
5099         (MIN_CHAR_GREEK): Likewise.
5100         (MAX_CHAR_GREEK): Likewise.
5101         (MIN_CHAR_HEBREW): Likewise.
5102         (MAX_CHAR_HEBREW): Likewise.
5103         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5104         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5105         (MIN_CHAR_CYRILLIC): Likewise.
5106         (MAX_CHAR_CYRILLIC): Likewise.
5107
5108 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5109
5110         * char-ucs.h (breakup_char_1): Use
5111         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5112         thai-tis620 and katakana-jisx0201 area.
5113
5114 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5115
5116         * char-ucs.h (breakup_char_1): Use
5117         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5118         area.
5119
5120         * text-coding.c (reset_encoding_stream): Fixed.
5121         (char_encode_ucs4): Delete `& 255'.
5122
5123         * char-ucs.h (breakup_char_1): Use
5124         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5125
5126 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5127
5128         * file-coding.c (Fmake_coding_system): Don't set up
5129         `codesys->fixed.size'.
5130         (encode_coding_no_conversion): Don't refer
5131         `str->codesys->fixed.size'.
5132
5133 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5134
5135         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5136         (latin_a_char_to_byte1): Deleted.
5137         (latin_a_char_to_byte2): Deleted.
5138
5139 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5140
5141         * mule-charset.c (make_charset): Add new argument `ucs_min',
5142         `ucs_max' and `code_offset'.
5143         (charset_get_byte1): New implementation [delete specific charset
5144         depended implementations].
5145         (Fmake_charset): Modify for `make_charset'.
5146         (Fmake_reverse_direction_charset): Likewise.
5147         (complex_vars_of_mule_charset): Likewise.
5148
5149         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5150         `code_offset'.
5151         (CHARSET_UCS_MIN): New macro.
5152         (CHARSET_UCS_MAX): New macro.
5153         (CHARSET_CODE_OFFSET): New macro.
5154         (MAKE_CHAR): Delete charset depended definitions [except
5155         katakana-jisx0201].
5156
5157 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5158
5159         * char-ucs.h (breakup_char_1): Use
5160         `Vdefault_coded_charset_priority_list' for C0-Controls,
5161         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5162
5163 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5164
5165         * char-ucs.h (charset_get_byte1): New function.
5166         (XCHARSET_GET_BYTE1): Deleted.
5167         (charset_get_byte2): New function.
5168         (XCHARSET_GET_BYTE2): Deleted.
5169         (Vdefault_coded_charset_priority_list): New external variable.
5170         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5171         `Vdefault_preferred_coded_charset_list'.
5172
5173         * mule-charset.c (charset_get_byte1): New function.
5174         (charset_get_byte2): New function.
5175         (Vdefault_coded_charset_priority_list): New variable.
5176         (vars_of_mule_charset): Add new variable
5177         `default-coded-charset-priority-list'.
5178
5179 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5180
5181         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5182         (XCHARSET_GET_BYTE2): New inline function.
5183         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5184         `XCHARSET_GET_BYTE2'.
5185
5186 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5187
5188         * mule-charset.c (make_charset): Initialize
5189         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5190         NULL if table is not defined.
5191
5192 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5193
5194         * text-coding.c (char_encode_shift_jis): Use
5195         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5196         `ucs_to_latin_jisx0201'.
5197
5198         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5199         (ucs_to_latin_iso8859_2): Deleted.
5200         (ucs_to_latin_iso8859_3): Deleted.
5201         (ucs_to_latin_iso8859_4): Deleted.
5202         (ucs_to_latin_iso8859_9): Deleted.
5203         (ucs_to_latin_viscii_lower): Deleted.
5204         (ucs_to_latin_viscii_upper): Deleted.
5205         (ucs_to_latin_tcvn5712): Deleted.
5206         (make_charset): Add new argument `decoding_table'; set up
5207         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5208         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5209         `decoding_table' is defined in UTF-2000.
5210         (Fmake_charset): Modify for `make_charset'.
5211         (Fmake_reverse_direction_charset): Likewise.
5212         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5213         and `GENERATE_96_SET'.
5214
5215         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5216         (ucs_to_latin_jisx0201): Deleted.
5217         (latin_iso8859_2_to_ucs): Deleted.
5218         (ucs_to_latin_iso8859_2): Deleted.
5219         (latin_iso8859_3_to_ucs): Deleted.
5220         (ucs_to_latin_iso8859_3): Deleted.
5221         (latin_iso8859_4_to_ucs): Deleted.
5222         (ucs_to_latin_iso8859_4): Deleted.
5223         (latin_iso8859_9_to_ucs): Deleted.
5224         (ucs_to_latin_iso8859_9): Deleted.
5225         (latin_viscii_lower_to_ucs): Deleted.
5226         (ucs_to_latin_viscii_lower): Deleted.
5227         (latin_viscii_upper_to_ucs): Deleted.
5228         (ucs_to_latin_viscii_upper): Deleted.
5229         (struct Lisp_Charset): Renamed `encoding_table' to
5230         `to_byte1_table'; add `to_byte2_table'.
5231         (CHARSET_DECODING_TABLE): New macro.
5232         (CHARSET_TO_BYTE1_TABLE): New macro.
5233         (CHARSET_TO_BYTE2_TABLE): New macro.
5234         (XCHARSET_DECODING_TABLE): New macro.
5235         (XCHARSET_TO_BYTE1_TABLE): New macro.
5236         (XCHARSET_TO_BYTE2_TABLE): New macro.
5237         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5238         tables.
5239         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5240         don't use `ucs_to_*' tables.
5241
5242 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5243
5244         * text-coding.c (Fmake_coding_system): Don't set up
5245         `codesys->fixed.size'.
5246         (encode_coding_no_conversion): Use `if' instead of `switch'.
5247
5248         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5249
5250 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5251
5252         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5253         (Fmake_charset): Modify for `make_charset'.
5254         (Fmake_reverse_direction_charset): Likewise.
5255         (complex_vars_of_mule_charset): Likewise.
5256
5257 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5258
5259         * text-coding.c (char_encode_shift_jis): Use table
5260         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5261
5262 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5263
5264         * text-coding.c (text_encode_generic): Use `if' instead of
5265         `switch'.
5266         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5267         decode JIS-Latin.
5268
5269 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5270
5271         * text-coding.c (encode_coding_sjis): Deleted.
5272         (char_encode_shift_jis): New function.
5273         (char_finish_shift_jis): New function.
5274         (reset_encoding_stream): Set up `encode_char' and `finish' for
5275         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5276         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5277         (char_encode_utf8): Treat `eol_type'.
5278
5279 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5280
5281         * file-coding.c (decode_coding_iso2022): Use
5282         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5283
5284 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5285
5286         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5287         to 0.7 (Hirano).
5288
5289 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5290
5291         * char-lb.h (CHAR_COLUMNS): New macro.
5292
5293 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5294
5295         * text-coding.c (char_encode_ucs4): New function.
5296         (char_finish_ucs4): New function.
5297         (encode_coding_ucs4): Deleted.
5298         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5299         (text_encode_generic): Delete local variable `charset' and `half'.
5300         (ucs_to_mule_table): Deleted.
5301         (mule_to_ucs_table): Deleted.
5302         (Fset_ucs_char): Deleted.
5303         (ucs_to_char): Deleted.
5304         (Fucs_char): Deleted.
5305         (Fset_char_ucs): Deleted.
5306         (Fchar_ucs): Deleted.
5307         (decode_ucs4): Deleted.
5308         (mule_char_to_ucs4): Deleted.
5309         (encode_ucs4): Deleted.
5310         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5311         (decode_coding_utf8): Likewise.
5312         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5313         (char_encode_iso2022): Fixed.
5314         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5315         `Fset_char_ucs' and `Fchar_ucs'.
5316         (complex_vars_of_file_coding): Don't initialize
5317         `ucs_to_mule_table'.
5318
5319         * objects-tty.c (tty_initialize_font_instance): Don't use
5320         `XCHARSET_COLUMNS'.
5321
5322         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5323         UTF-2000.
5324
5325         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5326         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5327
5328         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5329         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5330         (emchar_string_displayed_columns): Likewise.
5331
5332         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5333         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5334         (string_column_at_point): Likewise.
5335         (Fmove_to_column): Likewise.
5336
5337         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5338         `encoding_table' and `decoding_table'.
5339         (CHARSET_REP_BYTES): Deleted.
5340         (XCHARSET_REP_BYTES): Deleted.
5341         (XCHARSET_COLUMNS): Deleted.
5342         (CHAR_COLUMNS): New macro.
5343         (lookup_composite_char): Deleted unconditionally.
5344         (composite_char_string): Likewise.
5345
5346 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5347
5348         * char-ucs.h (Emchar_to_byte_table): New type.
5349         (get_byte_from_character_table): New function interface.
5350         (Vcharset_latin_jisx0201): New variable.
5351         (latin_jisx0201_to_ucs): New variable.
5352         (ucs_to_latin_jisx0201): New variable.
5353         (Vcharset_latin_iso8859_2): New variable.
5354         (latin_iso8859_2_to_ucs): New variable.
5355         (ucs_to_latin_iso8859_2): New variable.
5356         (Vcharset_latin_iso8859_3): New variable.
5357         (latin_iso8859_3_to_ucs): New variable.
5358         (ucs_to_latin_iso8859_3): New variable.
5359         (Vcharset_latin_iso8859_4): New variable.
5360         (latin_iso8859_4_to_ucs): New variable.
5361         (ucs_to_latin_iso8859_4): New variable.
5362         (Vcharset_latin_iso8859_9): New variable.
5363         (latin_iso8859_9_to_ucs): New variable.
5364         (ucs_to_latin_iso8859_9): New variable.
5365         (Vcharset_latin_viscii_lower): New variable.
5366         (latin_viscii_lower_to_ucs): New variable.
5367         (ucs_to_latin_viscii_lower): New variable.
5368         (Vcharset_latin_viscii_upper): New variable.
5369         (latin_viscii_upper_to_ucs): New variable.
5370         (ucs_to_latin_viscii_upper): New variable.
5371         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5372         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5373         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5374         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5375         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5376         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5377         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5378         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5379         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5380         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5381
5382         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5383         (Vcharset_latin_viscii_upper): New variable.
5384         (make_byte_from_character_table): New function.
5385         (put_byte_from_character_table): New function.
5386         (get_byte_from_character_table): New function.
5387         (CHAR96): New macro.
5388         (ucs_to_latin_jisx0201): New variable.
5389         (latin_jisx0201_to_ucs): New variable.
5390         (ucs_to_latin_iso8859_2): New variable.
5391         (latin_iso8859_2_to_ucs): New variable.
5392         (ucs_to_latin_iso8859_3): New variable.
5393         (latin_iso8859_3_to_ucs): New variable.
5394         (ucs_to_latin_iso8859_4): New variable.
5395         (latin_iso8859_4_to_ucs): New variable.
5396         (ucs_to_latin_iso8859_9): New variable.
5397         (latin_iso8859_9_to_ucs): New variable.
5398         (ucs_to_latin_viscii_lower): New variable.
5399         (latin_viscii_lower_to_ucs): New variable.
5400         (ucs_to_latin_viscii_upper): New variable.
5401         (latin_viscii_upper_to_ucs): New variable.
5402         (ucs_to_latin_tcvn5712): New variable.
5403         (latin_tcvn5712_to_ucs): New variable.
5404         (Qlatin_viscii_lower): New variable.
5405         (Qlatin_viscii_upper): New variable.
5406         (syms_of_mule_charset): Set up new symbol
5407         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5408         (complex_vars_of_mule_charset): Set up new charset
5409         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5410         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5411         `ucs_to_<CHARSET>' tables.
5412
5413 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5414
5415         * text-coding.c: New file.
5416
5417 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5418
5419         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5420
5421         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5422         (MAKE_CHAR): Modify for `ucs-bmp'.
5423         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5424         non-MULE characters of BMP.
5425
5426 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5427
5428         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5429         to 0.6.
5430
5431 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5432
5433         * lstream.h:
5434         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5435         - Include character.h for `CHAR_ASCII_P'.
5436
5437         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5438
5439         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5440         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5441
5442         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5443         (BYTE_C0_P): Likewise.
5444         (BYTE_C1_P): Likewise.
5445         (Lstream_get_emchar_1): Likewise.
5446         (Lstream_fput_emchar): Likewise.
5447         (Lstream_funget_emchar): Likewise.
5448         (copy_internal_to_external): Likewise.
5449         (copy_external_to_internal): Likewise.
5450
5451         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5452         (BYTE_C0_P): Likewise.
5453         (BYTE_C1_P): Likewise.
5454         (Lstream_get_emchar_1): Likewise.
5455         (Lstream_fput_emchar): Likewise.
5456         (Lstream_funget_emchar): Likewise.
5457         (copy_internal_to_external): Likewise.
5458         (copy_external_to_internal): Likewise.
5459
5460         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5461         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5462
5463         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5464         (BYTE_ASCII_P): Moved to mb-1byte.h.
5465
5466 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5467
5468         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5469
5470         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5471         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5472         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5473         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5474         (VALIDATE_CHARPTR_FORWARD): Likewise.
5475         (simple_charptr_emchar): Moved to mb-multibyte.h.
5476         (simple_set_charptr_emchar): Likewise.
5477         (simple_charptr_copy_char): Likewise.
5478         (non_ascii_charptr_emchar): Likewise.
5479         (non_ascii_set_charptr_emchar): Likewise.
5480         (non_ascii_charptr_copy_char): Likewise.
5481         (charptr_emchar): Moved to mb-*byte.h.
5482         (set_charptr_emchar): Likewise.
5483         (charptr_copy_char): Likewise.
5484
5485         * mb-1byte.h, mb-multibyte.h: New files.
5486
5487 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5488
5489         * mb-utf-8.h (MULTIBYTE): New macro.
5490         (MAX_EMCHAR_LEN): Moved from buffer.h.
5491         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5492
5493         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5494
5495         * mb-lb.h, multibyte.h: New files.
5496
5497         * char-1byte.h (Charset_ID): Moved from buffer.h.
5498         (MIN_LEADING_BYTE): Likewise.
5499         (LEADING_BYTE_ASCII): Likewise.
5500         (NUM_LEADING_BYTES): Likewise.
5501         (CHARSETP): Likewise.
5502         (CHARSET_BY_LEADING_BYTE): Likewise.
5503         (XCHARSET_LEADING_BYTE): Likewise.
5504         (XCHARSET_GRAPHIC): Likewise.
5505         (XCHARSET_COLUMNS): Likewise.
5506         (XCHARSET_DIMENSION): Likewise.
5507         (CHAR_CHARSET): Likewise.
5508         (CHAR_LEADING_BYTE): Likewise.
5509         (BREAKUP_CHAR): Likewise.
5510         (Vcharset_ascii): Likewise.
5511
5512         * buffer.h: Include multibyte.h unconditionally.
5513         (VALID_CHARPTR_P): Moved to multibyte.h.
5514         (ASSERT_VALID_CHARPTR): Likewise.
5515         (REAL_INC_CHARPTR): Likewise.
5516         (REAL_INC_CHARBYTIND): Likewise.
5517         (REAL_DEC_CHARPTR): Likewise.
5518         (INC_CHARPTR): Likewise.
5519         (INC_CHARBYTIND): Likewise.
5520         (DEC_CHARPTR): Likewise.
5521         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5522         (VALIDATE_CHARPTR_FORWARD): Likewise.
5523         (charptr_n_addr): Likewise.
5524         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5525         (simple_charptr_emchar): Moved to multibyte.h.
5526         (simple_set_charptr_emchar): Likewise.
5527         (simple_charptr_copy_char): Likewise.
5528         (non_ascii_charptr_emchar): Likewise.
5529         (non_ascii_set_charptr_emchar): Likewise.
5530         (non_ascii_charptr_copy_char): Likewise.
5531         (charptr_emchar): Likewise.
5532         (set_charptr_emchar): Likewise.
5533         (charptr_copy_char): Likewise.
5534         (charptr_emchar_n): Likewise.
5535         (Charset_ID): Moved to char-1byte.h.
5536         (Vcharset_ascii): Likewise.
5537         (CHAR_CHARSET): Likewise.
5538         (CHAR_LEADING_BYTE): Likewise.
5539         (LEADING_BYTE_ASCII): Likewise.
5540         (NUM_LEADING_BYTES): Likewise.
5541         (MIN_LEADING_BYTE): Likewise.
5542         (CHARSETP): Likewise.
5543         (CHARSET_BY_LEADING_BYTE): Likewise.
5544         (XCHARSET_LEADING_BYTE): Likewise.
5545         (XCHARSET_GRAPHIC): Likewise.
5546         (XCHARSET_COLUMNS): Likewise.
5547         (XCHARSET_DIMENSION): Likewise.
5548         (BREAKUP_CHAR): Likewise.
5549
5550 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5551
5552         * character.h: Add document about interface for characters.
5553
5554         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5555         (MAKE_CHAR): Delete comment about
5556         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5557         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5558         (BREAKUP_CHAR): Modify name of arguments.
5559         (CHAR_CHARSET): Modify name of argument.
5560
5561         * buffer.h: Delete document about Emchar accessors.
5562
5563 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5564
5565         * character.h (CHAR_INTP): Moved from buffer.h
5566         (CHAR_OR_CHAR_INTP): Likewise.
5567         (XCHAR_OR_CHAR_INT): Likewise.
5568         (CHECK_CHAR_COERCE_INT): Likewise.
5569
5570         * buffer.h (CHAR_INTP): Moved to character.h
5571         (CHAR_OR_CHAR_INTP): Likewise.
5572         (XCHAR_OR_CHAR_INT): Likewise.
5573         (CHECK_CHAR_COERCE_INT): Likewise.
5574
5575 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5576
5577         * character.h:
5578         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5579         - Include char-1byte.h, char-lb.h or char-ucs.h.
5580
5581         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5582
5583         * buffer.h: Include character unconditionally.
5584         (valid_char_p): Moved to char-*.h.
5585         (non_ascii_valid_char_p): Moved to char-lb.h.
5586
5587         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5588
5589 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5590
5591         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5592         in UTF-2000 because it is not ported yet and not to use
5593         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5594         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5595         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5596
5597         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5598         (CHAR_ASCII_P): Moved from character.h.
5599
5600         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5601         (CHAR_ASCII_P): Likewise.
5602         (CHAR_FIELD1_MASK): Deleted.
5603         (CHAR_FIELD2_MASK): Deleted.
5604         (CHAR_FIELD3_MASK): Deleted.
5605         (MAX_CHAR_BASIC_LATIN): New macro.
5606         (CHAR_FIELD1): Deleted.
5607         (CHAR_FIELD2_INTERNAL): Deleted.
5608         (CHAR_FIELD3_INTERNAL): Deleted.
5609         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5610         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5611         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5612         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5613         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5614         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5615         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5616         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5617         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5618         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5619         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5620         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5621         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5622         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5623         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5624         (MIN_CHAR_COMPOSITION): Deleted.
5625         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5626         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5627
5628 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5629
5630         * buffer.h: Include mb-utf-8.h in UTF-2000.
5631
5632         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5633
5634         * mb-utf-8.h: New file.
5635
5636 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5637
5638         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5639         instead of `int'.
5640
5641         * mule-charset.h, buffer.h (Charset_ID): New type.
5642
5643 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5644
5645         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5646         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5647         instead of `MULE_CHAR_PRIVATE_OFFSET',
5648         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5649         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5650         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5651
5652         * character.h (Vcharset_japanese_jisx0212): New variable
5653         definition.
5654
5655 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5656
5657         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5658         (charset_by_attributes): Delete array about direction.
5659         (latin_a_char_to_charset): New variable in UTF-2000.
5660         (latin_a_char_to_byte1): New variable in UTF-2000.
5661         (latin_a_char_to_byte2): New variable in UTF-2000.
5662         (Qucs_bmp): New variable.
5663         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5664         `Bufbyte'.
5665         (next_allocated_2_byte_leading_byte): Likewise.
5666         (non_ascii_set_charptr_emchar): Likewise.
5667         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5668         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5669         `charset_by_attributes'.
5670         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5671         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5672         and `CHARSET_BY_LEADING_BYTE'.
5673         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5674         `utf-2000-version' to `vars_of_mule_charset'.
5675         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5676         define `leading-code-private-11' in UTF-2000; move setting of
5677         `utf-2000-version' from `syms_of_mule_charset'.
5678         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5679         UTF-2000.
5680
5681         * character.h (Charset_ID): New type.
5682         (LEADING_BYTE_UCS_BMP): New macro.
5683         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5684         (CHARSET_ID_OFFSET_94): New macro.
5685         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5686         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5687         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5688         final-byte.
5689         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5690         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5691         (CHARSET_ID_OFFSET_96): New macro.
5692         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5693         CHARSET_ID_OFFSET_96 and final-byte.
5694         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5695         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5696         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5697         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5698         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5699         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5700         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5701         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5702         (LEADING_BYTE_THAI_TIS620): Likewise.
5703         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5704         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5705         (CHARSET_ID_OFFSET_94x94): New macro.
5706         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5707         CHARSET_ID_OFFSET_94x94 and final-byte.
5708         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5709         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5710         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5711         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5712         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5713         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5714         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5715         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5716         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5717         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5718         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5719         (CHARSET_TYPE_128X128): New macro.
5720         (CHARSET_TYPE_256X256): New macro.
5721         (XCHARSET_PRIVATE_P): Delete unconditionally.
5722         (charset_by_attributes): Delete array about direction.
5723         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5724         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5725         (MIN_CHAR_94): New macro.
5726         (MAX_CHAR_94): New macro.
5727         (MIN_CHAR_96): New macro.
5728         (MAX_CHAR_96): New macro.
5729         (MIN_CHAR_94x94): New macro.
5730         (MAX_CHAR_94x94): New macro.
5731         (MIN_CHAR_96x96): New macro.
5732         (MAX_CHAR_96x96): New macro.
5733         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5734         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5735         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5736         - 32)'.
5737         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5738         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5739         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5740         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5741         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5742         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5743         `XCHARSET_LEADING_BYTE' to make code-point.
5744         (latin_a_char_to_charset): New variable.
5745         (latin_a_char_to_byte1): New variable.
5746         (latin_a_char_to_byte2): New variable.
5747         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5748         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5749         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5750
5751         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5752         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5753         (find_charsets_in_emchar_string): Likewise.
5754         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5755
5756         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5757         `int'.
5758         (decode_coding_iso2022): Likewise.
5759
5760         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5761         of `unsigned char'.
5762
5763         * redisplay.c (redisplay_text_width_emchar_string): Use
5764         `Charset_ID' instead of `unsigned char'.
5765         (redisplay_frame_text_width_string): Likewise.
5766
5767         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5768         `unsigned char'.
5769
5770         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5771         instead of `unsigned char'.
5772         (face_cachel_charset_font_metric_info): Likewise.
5773
5774         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5775         (get_non_ascii_char_table_value): Likewise.
5776         (get_char_table): Likewise.
5777         (put_char_table): Likewise.
5778         (map_over_other_charset): Likewise.
5779         (map_char_table): Likewise.
5780
5781         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5782         instead of `unsigned char'.
5783
5784 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5785
5786         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5787         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5788
5789         * mule-charset.c (leading_code_private_11): Don't define in
5790         UTF-2000.
5791
5792         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5793         in UTF-2000 because it is not ported yet and not to use
5794         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5795
5796 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5797
5798         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5799
5800 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5801
5802         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5803         in UTF-2000.
5804
5805         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5806         of unsigned char to store leading-byte.
5807
5808         * chartab.c (get_non_ascii_char_table_value): Don't use
5809         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5810
5811         * file-coding.c (encode_coding_big5): Delete bogus implementation
5812         in UTF2000.
5813
5814         * character.h (LEADING_BYTE_*): Delete definition for
5815         non-UTF-2000.
5816         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5817         (LEADING_BYTE_PREFIX_P): Deleted.
5818         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5819         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5820         (BUFBYTE_LEADING_BYTE_P): Deleted.
5821         (CHARSET_PRIVATE_P): Deleted unconditionally.
5822         (rep_bytes_by_first_byte): Deleted unconditionally.
5823         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5824         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5825         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5826         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5827         (CHAR_FIELD2): Deleted.
5828         (CHAR_FIELD3): Deleted.
5829         (MAKE_CHAR): Delete definition for non-UTF-2000.
5830         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5831         (breakup_char_1): New implementation.
5832         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5833         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5834
5835 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5836
5837         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5838         condition.
5839
5840 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5841
5842         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5843         (CHARSET_PRIVATE_P): Likewise.
5844         (XCHARSET_PRIVATE_P): Likewise.
5845         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5846
5847         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5848         UTF2000.
5849         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5850
5851 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5852
5853         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5854         (NUM_LEADING_BYTES): Changed from 128 to 256.
5855         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5856         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5857         UTF2000.
5858         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5859
5860         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5861         UTF2000.
5862         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5863         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5864         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5865         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5866         (Qchinese_cns11643_3): New variable in UTF2000.
5867         (Qchinese_cns11643_4): New variable in UTF2000.
5868         (Qchinese_cns11643_5): New variable in UTF2000.
5869         (Qchinese_cns11643_6): New variable in UTF2000.
5870         (Qchinese_cns11643_7): New variable in UTF2000.
5871         (syms_of_mule_charset): Define `chinese-cns11643-3',
5872         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5873         and `chinese-cns11643-7' in UTF2000.
5874         (vars_of_mule_charset): Initialize
5875         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5876         + 1 in UTF2000.
5877         (complex_vars_of_mule_charset): Setup charset
5878         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5879         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5880
5881 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5882
5883         * mule-charset.c: Move setting for `leading-code-private-11' from
5884         `syms_of_mule_charset' to `vars_of_mule_charset'.
5885
5886 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5887
5888         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5889         and `NUM_LEADING_BYTES' in assert.
5890
5891 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5892
5893         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5894         instead of 128.
5895         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5896         `NUM_LEADING_BYTES' instead of 128.
5897
5898 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5899
5900         * mule-charset.h (charset_by_leading_byte): Use
5901         `NUM_LEADING_BYTES' instead of 128.
5902         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5903
5904         * mule-charset.c (charset_by_leading_byte): Use
5905         `NUM_LEADING_BYTES' instead of 128.
5906         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5907
5908         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5909         128.
5910
5911 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5912
5913         * mule-charset.c (syms_of_mule_charset): Update to
5914         0.4 (Shin-Imamiya).
5915
5916 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5917
5918         * file-coding.c (encode_coding_sjis): New implementation for
5919         UTF2000.  (decode_coding_sjis): Ditto.
5920
5921 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5922
5923         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5924         Don't define in UTF2000.
5925
5926         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5927         defined.
5928
5929         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5930         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5931         MULE.
5932
5933 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5934
5935         * config.h.in (CHAR_IS_UCS4): New macro.
5936
5937         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5938         conventional MULE representation.
5939         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5940
5941         * mule-charset.h: Reverted to original.
5942
5943         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5944         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5945         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5946
5947         * character.h: New file.
5948
5949         * file-coding.c (Fmake_coding_system): Set 1 to
5950         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5951         defined.
5952         (encode_coding_no_conversion): New implementation for UTF2000.
5953
5954         * file-coding.h (struct Lisp_Coding_System): Add new member
5955         `fixed.size'.
5956
5957 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5958
5959         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5960         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5961         (encode_coding_iso2022): New implementation for UTF2000.
5962
5963 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5964
5965         * mule-canna.c (c2mu): New implementation for UTF2000.
5966         (m2c): Likewise.
5967
5968 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5969
5970         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5971
5972 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5973
5974         * file-coding.c (reset_encoding_stream): Set 0 to
5975         `str->iso2022.current_char_boundary' in UTF2000.
5976         (encode_utf8): Don't define in UTF2000.
5977         (encode_coding_utf8): New implementation for UTF-8 representation
5978         of UTF2000.
5979         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5980
5981 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5982
5983         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5984
5985         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5986         UTF2000.
5987         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5988
5989         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5990
5991         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5992         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5993         as UTF-8 in UTF2000.
5994         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5995         (non_ascii_valid_char_p): Don't define in UTF2000.
5996         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5997         (Lstream_get_emchar_1): Likewise.
5998         (utf-2000-version): New variable in UTF2000.
5999
6000         * lread.c (read_escape): Add new reader `u'.
6001
6002         * insdel.c (three_to_one_table): Don't define in UTF2000.
6003         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6004         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6005         UTF2000.
6006         (bytind_to_bufpos_func): Likewise.
6007         (buffer_mule_signal_inserted_region): Likewise.
6008         (vars_of_insdel): Don't initialize `three_to_one_table'.
6009         (init_buffer_text): Use `buf->text->mule_size' instead of
6010         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6011         UTF2000.
6012
6013         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6014         UTF-8 representation in UTF2000.
6015         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6016         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6017         (decode_coding_iso2022): Don't define local variable `lb' in
6018         UTF2000; don't use LEADING_BYTE in UTF2000; use
6019         `DECODE_ADD_UCS_CHAR' in UTF2000.
6020         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6021
6022         * config.h.in (UTF2000): New macro.
6023
6024         * buffer.h (struct buffer_text): Add new member `mule_size' and
6025         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6026         (valid_char_p): Return always 1 in UTF2000.
6027         (MAX_EMCHAR_LEN): 6 in UTF2000.
6028         (three_to_one_table): Don't define in UTF2000.
6029         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6030         UTF2000.
6031         (real_bytind_to_bufpos): Likewise.
6032
6033         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6034
6035 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6036
6037         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6038         representation change.
6039         (Vutf_2000_version): New variable.
6040         (leading_code_private_11): New variable.
6041         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6042         `leading-code-private-11'.
6043
6044         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6045         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6046         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6047         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6048         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6049         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6050         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6051         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6052         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6053         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6054         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6055         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6056         (MIN_CHAR_GREEK): New macro.
6057         (MAX_CHAR_GREEK): New macro.
6058         (MIN_CHAR_CYRILLIC): New macro.
6059         (MAX_CHAR_CYRILLIC): New macro.
6060         (MIN_CHAR_HEBREW): New macro.
6061         (MAX_CHAR_HEBREW): New macro.
6062         (MIN_CHAR_THAI): New macro.
6063         (MAX_CHAR_THAI): New macro.
6064         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6065         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6066         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6067         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6068         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6069         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6070         (CHAR_FIELD2): New inline function.
6071         (CHAR_FIELD3): New inline function.
6072         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6073         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6074         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6075         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6076         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6077         (MIN_CHAR_COMPOSITION): Likewise.
6078         (CHAR_LEADING_BYTE): Modified for character representation change.
6079         (MAKE_CHAR): Likewise.
6080
6081         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6082         (Vcharset_greek_iso8859_7): Likewise.
6083         (Vcharset_cyrillic_iso8859_5): Likewise.
6084         (Vcharset_hebrew_iso8859_8): Likewise.
6085         (Vcharset_thai_tis620): Likewise.
6086         (Vcharset_katakana_jisx0201): Likewise.
6087
6088 2008-12-28  Vin Shelton  <acs@xemacs.org>
6089
6090         * XEmacs 21.4.22 is released
6091
6092 2008-12-27  Vin Shelton  <acs@xemacs.org>
6093
6094         * syswindows.h: Don't define wide character interfaces for Cygwin
6095         1.7 and up.
6096
6097 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6098
6099         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6100
6101 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6102
6103         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6104         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6105
6106 2008-12-25  Vin Shelton  <acs@xemacs.org>
6107
6108         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6109         By Julian Bradfield in
6110         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6111
6112         * mule-ccl.c (ccl_driver): 
6113
6114 2007-10-07  Vin Shelton  <acs@xemacs.org>
6115
6116         * XEmacs 21.4.21 is released
6117
6118 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6119
6120         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6121
6122 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6123
6124         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6125         (png_instantiate): Initialize setjmp_buffer early, and avoid
6126         recursive entry to error handler.
6127
6128 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6129
6130         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6131         a typo fix.
6132
6133 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6134
6135         * event-Xt.c (x_reset_modifier_mapping):
6136         * event-gtk.c (gtk_reset_modifier_mapping):
6137         Zero out the device's modifier map once we've freed it, to prevent
6138         a double free on a re-entrant call. 
6139
6140 2007-05-17  Vin Shelton  <acs@xemacs.org>
6141
6142         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6143         64-bit linux.  Patch from Hans de Graaff.
6144
6145 2007-05-02  Vin Shelton  <acs@xemacs.org>
6146
6147         * dumper.c (pdump): Don't close pdump_fd (already closed by
6148         fclose() call.  Patch from Steve Higham.
6149         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6150         already closed.  Patch inspired by Steve Higham.
6151
6152 2007-05-01  Vin Shelton  <acs@xemacs.org>
6153
6154         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6155         (mswindows_fstat): Ditto.
6156         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6157
6158 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6159
6160         * postgresql.c: Update Steve Baur's email address by his request.
6161         * postgresql.h: Ditto.
6162
6163 2007-01-04  Vin Shelton  <acs@xemacs.org>
6164
6165         * fileio.c (check_writable): Check old-style readonly bit only for
6166         non-directories.
6167
6168 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6169
6170         * src/fileio.c (check_writable): 
6171         Cope with the fact that the read-only attribute trumps Windows NTFS
6172         ACLS.
6173
6174
6175 2006-12-09  Vin Shelton  <acs@xemacs.org>
6176
6177         * XEmacs 21.4.20 is released
6178
6179 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6180
6181         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6182         relocated the definitions to be used sooner in file.
6183         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6184         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6185         overflow.
6186
6187 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6188
6189         * sound.c (init_native_sound):
6190         Only X11 and GTK devices can possibly not be on the console of the
6191         associated machine. Fixes a crash when init_native_sound is called
6192         on a msprinter device. 
6193
6194 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6195
6196         * buffer.c (buffer-file-name): Document invariant.
6197         (buffer-file-truename): Sync wording to buffer-file-name.
6198         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6199         and discussion.
6200
6201 2006-11-19  Benson Margulies  <benson@dchbk.us>
6202
6203         * fileio.c: Add code to use full Win32 API to check for write
6204         access.  Win32 has the general design policy that you aren't
6205         supposed to ask this question, since security checks change
6206         depending on asynchronous processes.  Nonetheless, there is a way,
6207         by acting as if we are a server doing interpretive access
6208         control.
6209
6210 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6211
6212         * bytecode.c: Use xnew_array instead of alloca.
6213
6214 2006-07-04  Vin Shelton  <acs@xemacs.org>
6215
6216         * redisplay-msw.c: Fix tiny, but crucial typo.
6217
6218 2006-06-22  Jerry James  <james@xemacs.org>
6219
6220         * EmacsShell-sub.c (ChangeManaged):
6221         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6222         NULL.
6223         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6224         checking if it is NULL.  Also fix a memory leak.
6225         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6226         dereference it, not the other way around.
6227         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6228         overflow check.
6229         * dumper.c (pdump_register_struct): Ditto.
6230         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6231         to (short) warnpath overflow warnpath.
6232         * extents.c (detach_all_extents): Call extent_list_delete_all with
6233         a non-NULL parameter only.
6234         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6235         NULL width and height.
6236         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6237         xic before checking if they are NULL.
6238         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6239         allocated array.
6240         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6241         * nas.c (Err): Fix a memory leak.
6242         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6243         Don't create the buffer if there is nothing to do.
6244         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6245         * redisplay-output.c (redisplay_output_layout): Ditto.
6246         * redisplay-tty.c (tty_output_display_block): Ditto.
6247         * redisplay-x.c (x_output_display_block): Ditto.
6248         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6249         dereference instance->scrollbar_data if it is NULL.
6250         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6251         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6252         for sb->scrollbar_data.
6253         * sound.c (init_native_sound): Avoid a buffer overflow by
6254         allocating a buffer with the appropriate size.
6255
6256 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6257
6258         * EmacsShell-sub.c (RootGeometryManager):
6259         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6260         Based on a suggestion by Francois L'Archeveque.
6261
6262 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6263
6264         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6265         current values found in GNU Emacs.
6266
6267 2006-03-17  Vin Shelton  <acs@xemacs.org>
6268
6269         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6270         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6271
6272         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6273         'hex_initialized' because it conflicts with 'initialized' in
6274         lisp.h.
6275
6276 2006-01-28  Vin Shelton  <acs@xemacs.org>
6277
6278         * XEmacs 21.4.19 is released
6279
6280 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6281
6282         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6283
6284 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6285
6286         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6287         5000 to INT_MAX.
6288
6289 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6290
6291         * database.c: Suppress compiler warning under Cygwin.
6292         * database.c: Removed __FreeBSD__ check, should be handled by
6293         HAVE_U_xxx_T defines.
6294
6295 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6296
6297         * console.c (stuff_buffered_input): Compile body only if
6298         HAVE_TTY.
6299
6300 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6301
6302         * callproc.c: #include sysdir.h, so that any appropriate Mule
6303         magic happens with the chdir() call when calling a subprocess. 
6304
6305 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6306
6307         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6308         * mule-ccl.c: Check that a character set exists before using it
6309         to create a character. 
6310
6311 2005-12-06  Vin Shelton  <acs@xemacs.org>
6312
6313         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6314         to INT_MAX.
6315
6316 2005-12-03  Vin Shelton <acs@xemacs.org>
6317
6318         * XEmacs 21.4.18 is released
6319
6320 2005-11-27  Kean Johnston <kean@armory.com>
6321
6322         * redisplay-tty.c (set_tty_modes):
6323         (reset_tty_modes): disable auto-margins if the terminal supports
6324         them.
6325         (init_tty_for_redisplay): fix cursor shape.
6326
6327 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6328
6329         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6330         for control-1 characters properly, both when reading multibyte
6331         characters and writing them. 
6332
6333 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6334
6335         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6336         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6337         were seeing with incremental selection transfer failing. 
6338
6339 2005-11-26  Vin Shelton  <acs@xemacs.org>
6340
6341         * callproc.c (Fold_call_process_internal): Create the buffer if it
6342         does not already exist.  The original patch came from Ben Wing in
6343         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6344
6345 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6346
6347         * callproc.c: Process-related docstring improvements spurred by
6348         Norbert Koch.
6349
6350 2005-11-25  Vin Shelton  <acs@xemacs.org>
6351
6352         * depend: Regenerated.
6353
6354 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6355
6356         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6357         says it clashes with a global with the same name.
6358
6359 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6360
6361         * sysdll.c (dll_open): Under MacOS X return NULL under the
6362         filename is NULL.  Fixes problems finding local symbols under 10.4
6363         (Tiger)
6364
6365 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6366         
6367         * config.h.in: New HAVE_U_INT*_T defines.
6368         
6369         * database.c: Only use u_int*_t typedefs if not already
6370         defined.
6371
6372 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6373
6374         * src/process-unix.c (unix_open_network_stream): moved
6375           'portbuf' buffer out of an inner block as it is used in the
6376           entire function. With gcc4, the stack may get corrupted
6377           after leaving this block. This patches adjusts the size of
6378           the used buffer also; static '128' bytes are far too much
6379           currently and might not suffice for future architectures
6380           (e.g. for 512 bit ones ;)). Instead of, use only the really
6381           required space (max octets * ln(256)/ln(10) chars + space
6382           for '\0' and the sign)
6383
6384 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6385
6386         * callproc.c: Include sysdir.h, so any necessary Mule processing
6387         is done on the current directory name before starting a new
6388         process.
6389
6390 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6391
6392         * chartab.c (Fchar_table_p):
6393         (Fget_range_char_table):
6394         (Fput_char_table):
6395         (Fmap_char_table):
6396         Describe range representation and fix typo.
6397
6398 2005-02-12  Vin Shelton  <acs@xemacs.org>
6399
6400         * emacs.c (shut_down_emacs): Advise users to send email to the
6401         xemacs-beta list instead of crashes@xemacs.org.
6402
6403 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6404
6405         * process-unix.c (unix_send_process): Flush the last chunk, even
6406         when the pipe is blocked.
6407
6408 2005-02-06  Vin Shelton <acs@xemacs.org>
6409
6410         * XEmacs 21.4.17 is released
6411
6412 2005-01-31  Ben Wing  <ben@xemacs.org>
6413
6414         * emacs.c:
6415         Define assert_failed() always.
6416         * lisp.h:
6417         Always define ABORT().
6418
6419 2005-01-25  Ben Wing  <ben@xemacs.org>
6420
6421         * Makefile.in.in:
6422         * Makefile.in.in (%.o):
6423         Don't compile executable as Windows (-mwindows) under Cygwin.
6424         Semi-recent changes to Cygwin's executable-startup handling make
6425         it impossible to access the TTY this way.
6426
6427         Don't use special linker file under Cygwin (cygwin.sc) except
6428         when non-PDUMP (even in this case it is highly questionable); you
6429         get errors like
6430
6431       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6432    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6433
6434 2005-01-29  Ben Wing  <ben@xemacs.org>
6435
6436         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6437
6438         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6439
6440 2005-01-29  Ben Wing  <ben@xemacs.org>
6441
6442         * bytecode.c (optimize_compiled_function):
6443         * print.c (FROB):
6444         * print.c (long_to_string):
6445         Add casts to avoid warning.
6446         
6447         * glyphs-eimage.c:
6448         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6449         #### The better solution is to move the TIFF and JPEG code to
6450         different files.
6451         
6452         * glyphs-msw.c (mswindows_xbm_instantiate):
6453         Define __STDC__ to avoid problems with compface.h.
6454         
6455         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6456         * EmacsShell-sub.c:
6457         * EmacsShell-sub.c (ABORT):
6458         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6459         * EmacsShell-sub.c (RootGeometryManager):
6460         * EmacsShell.c:
6461         * EmacsShell.c (ABORT):
6462         * EmacsShell.c (EmacsShellUpdateSizeHints):
6463         * alloc.c (free_lcrecord):
6464         * alloca.c (i00afunc):
6465         * buffer.c (delete_from_buffer_alist):
6466         * buffer.c (MARKED_SLOT):
6467         * bytecode.c (execute_rare_opcode):
6468         * bytecode.c (optimize_byte_code):
6469         * bytecode.c (Ffetch_bytecode):
6470         * chartab.c (char_table_type_to_symbol):
6471         * chartab.c (Freset_char_table):
6472         * chartab.c (decode_char_table_range):
6473         * chartab.c (Fget_range_char_table):
6474         * chartab.c (check_valid_char_table_value):
6475         * chartab.c (map_char_table):
6476         * chartab.c (slow_map_char_table_fun):
6477         * chartab.c (chartab_instantiate):
6478         * cm.c (cmcheckmagic):
6479         * console-msw.c (DHEADER):
6480         * console.c (MARKED_SLOT):
6481         * data.c (finish_marking_weak_lists):
6482         * data.c (encode_weak_list_type):
6483         * debug.h (DASSERT):
6484         * device-gtk.c (gtk_init_device):
6485         * device-msw.c (mswindows_get_default_margin):
6486         * device-tty.c (tty_init_device):
6487         * device-x.c (get_device_from_display):
6488         * device-x.c (x_get_visual_depth):
6489         * doprnt.c (parse_doprnt_spec):
6490         * doprnt.c (get_doprnt_args):
6491         * dumper.c (pdump_get_indirect_count):
6492         * dumper.c (pdump_register_sub):
6493         * dumper.c (pdump_register_object):
6494         * dumper.c (pdump_register_struct):
6495         * dumper.c (pdump_dump_data):
6496         * dumper.c (pdump_reloc_one):
6497         * elhash.c (print_hash_table):
6498         * elhash.c (make_standard_lisp_hash_table):
6499         * elhash.c (hash_table_instantiate):
6500         * emacs.c:
6501         * emacs.c (Fforce_debugging_signal):
6502         * emacs.c (sort_args):
6503         * emacs.c (main):
6504         * emacs.c (assert_failed):
6505         * eval.c (throw_or_bomb_out):
6506         * eval.c (signal_1):
6507         * eval.c (Fsignal):
6508         * event-Xt.c:
6509         * event-Xt.c (emacs_Xt_mapping_action):
6510         * event-Xt.c (Xt_process_to_emacs_event):
6511         * event-msw.c:
6512         * event-stream.c (check_event_stream_ok):
6513         * event-stream.c (Fadd_timeout):
6514         * event-stream.c (Fadd_async_timeout):
6515         * event-stream.c (Fdiscard_input):
6516         * event-stream.c (execute_internal_event):
6517         * event-stream.c (Frecent_keys):
6518         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6519         * event-stream.c (lookup_command_event):
6520         * event-unixoid.c (poll_fds_for_input):
6521         * events.c:
6522         * events.c (mark_event):
6523         * events.c (event_equal):
6524         * events.c (event_hash):
6525         * events.c (Fmake_event):
6526         * events.c (Fdeallocate_event):
6527         * events.c (event_chain_find_previous):
6528         * events.c (event_to_character):
6529         * events.c (format_event_object):
6530         * events.c (Fevent_type):
6531         * events.c (event_pixel_translation):
6532         * events.c (Fevent_properties):
6533         * extents.c (extent_in_region_p):
6534         * extents.c (print_extent):
6535         * extents.c (process_extents_for_insertion_mapper):
6536         * extents.c (report_extent_modification_mapper):
6537         * extents.c (glyph_layout_to_symbol):
6538         * faces.c (face_validate):
6539         * file-coding.c (eol_type_to_symbol):
6540         * file-coding.c (subsidiary_coding_system):
6541         * file-coding.c (Fcoding_system_type):
6542         * file-coding.c (Fcoding_system_property):
6543         * file-coding.c (mule_decode):
6544         * file-coding.c (mule_encode):
6545         * file-coding.c (encode_coding_ucs4):
6546         * file-coding.c (encode_coding_utf8):
6547         * file-coding.c (parse_iso2022_esc):
6548         * file-coding.c (encode_coding_iso2022):
6549         * fileio.c:
6550         * fns.c (concat):
6551         * fns.c (Fsubseq):
6552         * fns.c (mapcar1):
6553         * fns.c (Fbase64_encode_region):
6554         * fns.c (Fbase64_encode_string):
6555         * fns.c (Fbase64_decode_region):
6556         * fns.c (Fbase64_decode_string):
6557         * font-lock.c (find_context):
6558         * font-lock.c (context_to_symbol):
6559         * frame-gtk.c (gtk_set_frame_pointer):
6560         * frame-gtk.c (gtk_update_frame_external_traits):
6561         * frame-x.c (x_wm_mark_shell_size_user_specified):
6562         * frame-x.c (x_wm_mark_shell_position_user_specified):
6563         * frame-x.c (x_wm_set_shell_iconic_p):
6564         * frame-x.c (x_wm_set_cell_size):
6565         * frame-x.c (x_wm_set_variable_size):
6566         * frame-x.c (x_wm_store_class_hints):
6567         * frame-x.c (x_wm_maybe_store_wm_command):
6568         * frame-x.c (x_initialize_frame_size):
6569         * frame-x.c (x_update_frame_external_traits):
6570         * frame.c:
6571         * frame.c (delete_frame_internal):
6572         * frame.c (mouse_pixel_position_1):
6573         * frame.c (change_frame_size_1):
6574         * free-hook.c (check_free):
6575         * free-hook.c (check_realloc):
6576         * free-hook.c (note_block_input):
6577         * free-hook.c (log_gcpro):
6578         * gccache-gtk.c (gc_cache_lookup):
6579         * glyphs-eimage.c (tiff_memory_write):
6580         * glyphs-gtk.c (gtk_finalize_image_instance):
6581         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6582         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6583         * glyphs-gtk.c (gtk_xpm_instantiate):
6584         * glyphs-gtk.c (gtk_unmap_subwindow):
6585         * glyphs-gtk.c (gtk_map_subwindow):
6586         * glyphs-gtk.c (gtk_button_redisplay):
6587         * glyphs-msw.c:
6588         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6589         * glyphs-x.c (init_image_instance_from_xbm_inline):
6590         * glyphs-x.c (extract_xpm_color_names):
6591         * glyphs-x.c (x_xpm_instantiate):
6592         * glyphs.c (get_image_instantiator_governing_domain):
6593         * glyphs.c (print_image_instance):
6594         * glyphs.c (image_instance_equal):
6595         * glyphs.c (image_instance_hash):
6596         * glyphs.c (encode_image_instance_type):
6597         * glyphs.c (make_image_instance_1):
6598         * glyphs.c (inherit_instantiate):
6599         * glyphs.c (image_instantiate):
6600         * glyphs.c (allocate_glyph):
6601         * glyphs.c (Fglyph_type):
6602         * glyphs.c (redisplay_subwindow):
6603         * glyphs.c (display_table_entry):
6604         * gtk-glue.c (xemacs_list_to_gtklist):
6605         * gtk-glue.c (xemacs_gtklist_to_list):
6606         * gtk-glue.c (xemacs_list_to_array):
6607         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6608         * gutter.c (gutter_was_visible):
6609         * gutter.c (get_gutter_coords):
6610         * input-method-xlib.c (get_XIM_input):
6611         * insdel.c (bufpos_to_bytind_func):
6612         * insdel.c (bytind_to_bufpos_func):
6613         * insdel.c (move_gap):
6614         * intl.c (x_get_composed_input):
6615         * keymap.c (keymap_lookup_directly):
6616         * keymap.c (keymap_delete_inverse_internal):
6617         * keymap.c (ensure_meta_prefix_char_keymapp):
6618         * keymap.c (accessible_keymaps_mapper_1):
6619         * keymap.c (where_is_recursive_mapper):
6620         * lisp.h:
6621         * lisp.h (ABORT):
6622         * lread.c (read_atom):
6623         * lstream.c (Lstream_delete):
6624         * lstream.c (make_lisp_buffer_stream_1):
6625         * macros.c (pop_kbd_macro_event):
6626         * malloc.c (malloc):
6627         * malloc.c (free):
6628         * marker.c (bi_marker_position):
6629         * marker.c (set_bi_marker_position):
6630         * menubar-gtk.c (menu_descriptor_to_widget_1):
6631         * menubar-msw.c (prune_menubar):
6632         * menubar-x.c (set_frame_menubar):
6633         * mule-charset.c (get_unallocated_leading_byte):
6634         * mule-charset.h (CHAR_LEADING_BYTE):
6635         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6636         * nt.c (init_environment):
6637         * nt.c (generate_inode_val):
6638         * ntproc.c (delete_child):
6639         * ntproc.c (_sys_read_ahead):
6640         * ntproc.c (create_child):
6641         * objects.c (color_instantiate):
6642         * objects.c (font_instantiate):
6643         * objects.c (face_boolean_instantiate):
6644         * print.c (printing_major_badness):
6645         * process-nt.c (nt_send_process):
6646         * process-unix.c (unix_send_process):
6647         * process.c (get_process):
6648         * ralloc.c (obtain):
6649         * ralloc.c (relinquish):
6650         * ralloc.c (relocate_blocs):
6651         * ralloc.c (resize_bloc):
6652         * ralloc.c (r_alloc_free):
6653         * ralloc.c (r_re_alloc):
6654         * ralloc.c (r_alloc_thaw):
6655         * ralloc.c (init_ralloc):
6656         * ralloc.c (Free_Addr_Block):
6657         * ralloc.c (r_alloc):
6658         * redisplay-gtk.c (gtk_output_display_block):
6659         * redisplay-msw.c (mswindows_output_display_block):
6660         * redisplay-output.c (get_next_display_block):
6661         * redisplay-output.c (get_cursor_size_and_location):
6662         * redisplay-output.c (redisplay_output_layout):
6663         * redisplay-output.c (redisplay_clear_region):
6664         * redisplay-tty.c (tty_output_display_block):
6665         * redisplay-x.c (x_output_display_block):
6666         * redisplay.c (add_propagation_runes):
6667         * redisplay.c (add_glyph_rune):
6668         * redisplay.c (create_text_block):
6669         * redisplay.c (add_margin_runes):
6670         * redisplay.c (create_left_glyph_block):
6671         * redisplay.c (create_right_glyph_block):
6672         * redisplay.c (create_string_text_block):
6673         * redisplay.c (regenerate_window):
6674         * redisplay.c (REGEN_INC_FIND_START_END):
6675         * redisplay.c (redisplay_frame):
6676         * redisplay.c (point_in_line_start_cache):
6677         * regex.c:
6678         * regex.c (ABORT):
6679         * regex.c (re_compile_fastmap):
6680         * regex.c (re_match_2_internal):
6681         * regex.c (regerror):
6682         * scrollbar-gtk.c (gtk_scrollbar_loop):
6683         * scrollbar-gtk.c (scrollbar_cb):
6684         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6685         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6686         * scrollbar-x.c (x_update_scrollbar_instance_status):
6687         * scrollbar-x.c (x_scrollbar_loop):
6688         * scrollbar-x.c (x_update_frame_scrollbars):
6689         * search.c (search_command):
6690         * search.c (Fmatch_data):
6691         * select-x.c (motif_clipboard_cb):
6692         * signal.c (interrupt_signal):
6693         * specifier.c (specifier_add_spec):
6694         * specifier.c (specifier_instance_from_inst_list):
6695         * specifier.c (specifier_instance):
6696         * specifier.h:
6697         * specifier.h (struct specifier_methods):
6698         * strftime.c (add_num_time_t):
6699         * sunplay.c (init_device):
6700         * symbols.c (Fsetplist):
6701         * symbols.c (do_symval_forwarding):
6702         * symbols.c (store_symval_forwarding):
6703         * symbols.c (Fset):
6704         * symbols.c (Fbuilt_in_variable_type):
6705         * symbols.c (decode_magic_handler_type):
6706         * symbols.c (handler_type_from_function_symbol):
6707         * syntax.c (update_syntax_cache):
6708         * sysdep.c (init_baud_rate):
6709         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6710         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6711         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6712         * toolbar.c (get_toolbar_coords):
6713         * ui-gtk.c (build_gtk_boxed):
6714         * ui-gtk.c (describe_gtk_arg):
6715         * ui-gtk.c (gtk_type_to_lisp):
6716         * ui-gtk.c (lisp_to_gtk_type):
6717         * ui-gtk.c (lisp_to_gtk_ret_type):
6718         * ui-gtk.c (lisp_to_flag):
6719         * unexnt.c (read_in_bss):
6720         * unexnt.c (map_in_heap):
6721         * window.c (real_window):
6722         * window.c (window_display_lines):
6723         * window.c (window_display_buffer):
6724         * window.c (set_window_display_buffer):
6725         * window.c (window_modeline_height):
6726         * window.c (unshow_buffer):
6727         * window.c (window_loop):
6728         * window.c (Fget_lru_window):
6729         * window.c (Fsplit_window):
6730         * window.c (Fset_window_configuration):
6731         * window.c (saved_window_index):
6732         * xgccache.c (gc_cache_lookup):
6733         abort() -> ABORT().  Eliminate preprocessor games with abort()
6734         since it creates huge problems in VC7, solvable only by including
6735         massive amounts of files in every compile (and not worth it).
6736
6737         * sysdep.c:
6738         * sysproc.h:
6739         Inclusion of process.h does not need to be before lisp.h any more.
6740         Move later and remove comment about abort().
6741
6742 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6743
6744         * regex.c (re_match_2_internal):
6745         Correctly initialize loop which clears uninitialized registers.
6746
6747 2005-01-28  Vin Shelton  <acs@xemacs.org>
6748
6749         * sheap.c (more_static_core): Applied Ben's version of the long
6750         string patch.
6751
6752 2005-01-24  Vin Shelton  <acs@xemacs.org>
6753
6754         * sheap.c (more_static_core): Reformatted printf string so
6755         gcc-3.3.3 will compile this on Cygwin.
6756
6757 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6758
6759         * console.c (function_key_map): Reference `key-binding'.
6760
6761         * keymap.c (Vkey_translation_map): Improve docstring.
6762
6763 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6764
6765         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6766         * window.c (window_loop): [fix] Take into account
6767         `allow-deletion-of-last-visible-frame' variable.
6768         * window.c (replace-buffer-in-windows): Ditto.
6769
6770 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6771
6772         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6773
6774 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6775
6776         * event-gtk.c: Recognise AltGr as a valid modifier.
6777
6778 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6779
6780         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6781
6782 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6783
6784         Fix backreference bug caught by test suite.
6785
6786         * regex.c (regex_compile):
6787         Make backref duplicate internal register.
6788
6789 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6790
6791         Documentation, code clarification, and warning suppression.
6792         
6793         * regex.c (regex_compile):
6794         Improve comments.
6795         (re_match_2_internal):
6796         Improve comments and avoid redundant braces.  [Most of the big hunk
6797         at l. 4710 is indentation; use diff -w to see the real changes.]
6798         (alt_match_null_string_p):
6799         (common_op_match_null_string_p):
6800         Avoid shadowing global on Mac OS X 10.4, at least.
6801
6802 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6803
6804         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6805         introduced with shy groups fix).  [Already applied, probably
6806         with the second "fix shy groups" patch of 2004-10-07.] 
6807
6808 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6809
6810         From Andrey Slusar <anrays@gmail.com>:
6811
6812         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6813
6814 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6815
6816         * Makefile (RECURSIVE_MAKE): Removed.
6817         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6818         handling parallel builds.
6819
6820 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6821
6822         * Makefile.in.in: Enable support for parallel builds.
6823
6824 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6825
6826         From Andrey Slusar <anrays@gmail.com>:
6827
6828         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6829         FreeBSD version is >= 199701 _and_ < 600006.
6830
6831 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6832
6833         * scrollbar.c (compute_scrollbar_instance_usage):
6834         Only call device method compute_scrollbar_instance_usage() if it
6835         is defined.
6836
6837 2004-12-05  Vin Shelton <acs@xemacs.org>
6838
6839         * XEmacs 21.4.16 is released
6840
6841 2004-12-04  Vin Shelton  <acs@xemacs.org>
6842
6843         * depend: Regenerated.
6844
6845 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6846
6847         * regex.c (re_match_2_internal): Map internal to external
6848         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6849         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6850
6851 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6852
6853         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6854         to fix a crash.  Also, check the buffer is live and it
6855         really exists in buffer_list.  If the buffer is not in the list,
6856         prepend it.
6857
6858 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6859
6860         Fix shy groups by implementing recording of all groups for
6861         repetition and backtracking.  Backport from 21.5.
6862         
6863         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6864         external_to_internal_register, external_to_internal_register_size,
6865         and update comments for re_nsub.
6866
6867         * regex.c (re_opcode_t): Update comments.
6868         (print_compiled_pattern): Ouput external_to_internal_register,
6869         external_to_internal_register_size, and re_ngroups for debugging.
6870         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6871         (regex_compile): Update header comment.
6872         Ensure that all groups are recorded so that repeat matches and
6873         backtracking work correctly.  Comment related warning for groups >
6874         255.
6875         (re_search_2): Construct map of API indexes (which count only
6876         nonshy groups) to internal register numbers, and keep it updated.
6877
6878 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6879
6880         * frame-gtk.c (gtk_make_frame_visible):
6881         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6882         show/hide.  This is what X uses and is prevents previously hidden
6883         widgets from suddenly reappearing.
6884         * gtk-xemacs.c (gtk_xemacs_paint):
6885         * gtk-xemacs.c (gtk_xemacs_draw):
6886         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6887         drawable.
6888         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6889         size and location changes so that they can be seen before the next
6890         idle event.  Without this rapid changes to scrollbar properties
6891         are not seen.
6892
6893 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6894
6895         * console-gtk.h:
6896         * console-gtk.h (struct gtk_frame):
6897         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6898           Add hash tables track tab_control callback data.
6899           Added #defines for GTK object data names.
6900           Declaration of gtk_widget_to_frame().
6901         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6902         * frame-gtk.c (gtk_widget_to_frame): New.
6903         * frame-gtk.c (gtk_create_widgets):
6904         * frame-gtk.c (allocate_gtk_frame_struct):
6905         * frame-gtk.c (gtk_mark_frame):
6906         Manage frame callbakc hash tables.
6907         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6908         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6909         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6910         of widget size.
6911         * glyphs-gtk.c (gtk_widget_query_geometry): New
6912         * glyphs-gtk.c (gtk_register_gui_item): New
6913         * glyphs-gtk.c (gtk_add_tab_item): New
6914         * glyphs-gtk.c (gtk_tab_control_callback): New
6915         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6916         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6917         Use correct list when loading item.
6918         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6919         Register new methods.
6920         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6921         default size, for widgets.
6922         * gui-x.c:  Improved comment.
6923         * menubar-gtk.c (__generic_button_callback): Use
6924         gtk_widget_to_frame instead of __get_channel.
6925         * scrollbar-gtk.c:
6926         * ui-gtk.c: Use symbolic names for GTK object data.
6927
6928 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6929
6930         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6931
6932 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6933
6934         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6935
6936 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6937
6938         * malloc.c (morecore): siz is a long because in some architectures
6939         (eg ia-64) an int cannot hold the address range.  Additional patch
6940         from the SuSe distribution.
6941
6942 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6943
6944         * emacs.c:
6945         * malloc.c: lim_data is a long because in some architectures
6946         (eg ia-64) an int cannot hold the address range.
6947         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6948         instead of ulimit() because ulimit() always returns -1.
6949
6950 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6951
6952         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6953
6954 2004-06-11  David Kastrup  <dak@gnu.org>
6955
6956         * search.c (match_limit): Don't flag an error if match-data
6957         exceeding the allocated search_regs.num_regs gets requested, just
6958         return Qnil.
6959
6960 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6961
6962         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6963         replace symbolic color entries with the real colors specified in
6964         xpm-color-symbols, before passing the XPM to gtk.
6965         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6966         instead of a GTK specific field, so that it is used in by generic
6967         code.
6968
6969 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6970
6971        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6972         coredump from deref of NULL ptr (ExtData)
6973
6974 2004-04-19  Jerry James  <james@xemacs.org>
6975
6976         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6977         VALBITS to compute the location of the sign bit.
6978         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6979         of VALBITS with EMACS_INT_MAX.
6980         * events.c (Fevent_timestamp): Ditto.
6981         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6982         compute the halfway point to timestamp wraparound.
6983         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6984         EMACS_INT_MIN instead of using VALBITS.
6985         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6986         incorrect number with VALBITS.
6987         * fns.c (Frandom): Correct number of integer bits in docstring.
6988         Use INT_VALBITS instead of VALBITS to compute the denominator.
6989         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6990         build random numbers.
6991
6992 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6993         * event-gtk.c:
6994         * event-gtk.c (gtk_event_to_emacs_event):
6995         * menubar-gtk.c:
6996         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6997         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6998         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6999         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7000         * menubar-gtk.c (__activate_menu):
7001         * menubar-gtk.c (convert_underscores):
7002         * menubar-gtk.c (remove_underscores):
7003         * menubar-gtk.c (menu_convert):
7004         * menubar-gtk.c (menu_descriptor_to_widget_1):
7005         * menubar-gtk.c (menu_descriptor_to_widget):
7006         * menubar-gtk.c (menu_can_reuse_widget):
7007         * menubar-gtk.c (menu_create_menubar):
7008         * menubar-gtk.c (gtk_popup_menu):
7009         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7010         Added support for Gtk menu bar and menu item mnemonics.
7011
7012 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7013
7014         * sysdll.c: (dll_function): Added support for finding symbols in
7015         Darwin shared libraries as well in Darwin bundles.
7016         * sysdll.c (image_for_address): New
7017         * sysdll.c (my_find_image): New
7018         * sysdll.c (search_linked_libs): New
7019
7020 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7021
7022         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7023         return to GTK requires a different API to marshalling data to use
7024         as GTK parameters.
7025         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7026
7027 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7028
7029         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7030
7031 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7032
7033         * glyphs.c (process_image_string_instantiator):
7034         (Fset_console_type_image_conversion_list):
7035         Stop GCC from warning about shadowing of `exp'.
7036
7037         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7038
7039 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7040
7041         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7042
7043 2004-02-03  Vin Shelton  <acs@xemacs.org>
7044
7045         * glyphs.c (image_instance_layout): Remove pointless assertion.
7046         * regex.c (regex_grow_registers): Return type is void.
7047
7048 2004-02-02  Vin Shelton <acs@xemacs.org>
7049
7050         * XEmacs 21.4.15 is released
7051
7052 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7053
7054         * device-x.c (x_error_handler): Don't call stderr_out
7055
7056 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7057
7058         * buffer.c (other-buffer): Clarify documentation of order of
7059         arguments for FSF Emacs.
7060
7061 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7062
7063         * window.c (Fdelete_window): Dirty the mirror structure _before_
7064         marking the window deleted.
7065
7066 2003-09-15  Jerry James  <james@xemacs.org>
7067
7068         * event-msw.c (debug_mswin_messages): Conditionally compile
7069         messages missing from the Cygwin headers.
7070
7071 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7072
7073         * data.c (eq_with_ebola_notice): Fix typo in comment.
7074         (Ftrue_list_p): Improve docstring.
7075
7076 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7077
7078         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7079
7080 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7081
7082         * search.c (trivial_regexp_p): Regexps containing "\{" are
7083         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7084         Stefan Monnier for suggesting a diagnosis.
7085
7086 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7087
7088         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7089
7090 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7091
7092         * search.c (Fsearch_forward):
7093         (Fsearch_backward):
7094         Document negative count.
7095
7096 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7097
7098         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7099
7100 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7101
7102         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7103
7104 2003-09-15  Vin Shelton  <acs@xemacs.org>
7105
7106         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7107         21.5.
7108
7109 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7110
7111         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7112         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7113         (re_match_2_internal): Use TRANSLATE instead of
7114         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7115         non-ASCII char case conversion.
7116
7117 2003-09-08  Mike Sperber  <mike@xemacs.org>
7118
7119         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7120         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7121
7122 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7123
7124        * .gdbinit (pobj): fix printing of symbol name.
7125
7126 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7127
7128         * frame-x.c (x_layout_widgets): When resizing is about to cause
7129         frame size slip, mark it for redisplay.
7130
7131 2003-08-18  Jerry James  <james@xemacs.org>
7132
7133         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7134
7135 2003-09-03  Vin Shelton <acs@xemacs.org>
7136
7137         * XEmacs 21.4.14 is released
7138
7139 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7140
7141         * config.h.in (REGEX_MALLOC): Make it configure'able.
7142
7143 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7144
7145         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7146         linking.
7147         * sysdll.c (dll_init):
7148         * sysdll.c (dll_open):
7149         * sysdll.c (dll_close):
7150         * sysdll.c (dll_function):
7151         * sysdll.c (dll_variable):
7152         * sysdll.c (dll_error):
7153         Add support for loading bundles using Darwin/MacOSX
7154         native API.
7155
7156 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7157
7158         * process.c (start-process-internal): Document coding systems.
7159
7160 2003-07-30  Jerry James  <james@xemacs.org>
7161
7162         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7163
7164 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7165
7166         * event-msw.c (mswindows_enqueue_mouse_button_event):
7167         * event-msw.c (mswindows_wnd_proc):
7168           enqueue button event when scrollwheel event isn't handled by 
7169           mswindows_handle_mousewheel_event, such as when the scrollbars
7170           are not showing.
7171
7172 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7173
7174         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7175
7176 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7177
7178         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7179
7180 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7181
7182         * regex.c (re_match_2_internal): Fix matching degenerate word
7183         boundaries.
7184
7185 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7186
7187         * XEmacs 21.4.13 is released
7188
7189 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7190
7191         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7192         * lisp.h (<inttypes.h>):
7193         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7194         the definition.
7195
7196 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7197
7198         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7199         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7200         Result: "temacs can only be run in -batch mode."
7201         Fix: Check xemacs executable candidate for directory-ness.
7202
7203 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7204
7205         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7206           they conflict with <sys/types.h>.
7207
7208 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7209
7210         * database.c: Berkeley DB wants __STDC__ to be defined.
7211
7212 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7213
7214         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7215
7216 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7217
7218         * process-unix.c (unix_send_process): Fix C++ compile error.
7219
7220 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7221
7222         * Added .dylib as an acceptable shared library file extension
7223         * to support MacOSX.
7224
7225 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7226
7227         * EmacsFrameP.h (EmacsFramePart):
7228         Kludge to allow compiling with Motif1, but linking with Motif2.
7229
7230 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7231
7232         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7233
7234
7235 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7236
7237         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7238
7239 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7240
7241         * sysdll.c: Included lisp.h to define needed alloca_array.
7242
7243 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7244
7245         Make XEmacs redisplay 10 times faster.
7246         If, that is, you're using a slow X connection and MoveOpaque.
7247         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7248         Use compress_motion = TRUE.
7249         * EmacsFrame.c (emacsFrameClassRec): 
7250         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7251         * EmacsManager.c (emacsManagerClassRec):
7252         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7253
7254 2003-01-30  Vin Shelton  <acs@xemacs.org>
7255
7256         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7257
7258 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7259
7260         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7261         Patch by Martin Buchholz.
7262
7263 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7264
7265         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7266         Thanks to icc for warning and Martin Buchholz for reporting.
7267
7268 2003-01-29  Vin Shelton <acs@xemacs.org>
7269
7270         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7271
7272         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7273         remember to multiply by the element size.
7274
7275 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7276
7277         * XEmacs 21.4.12 "Portable Code" is released.
7278
7279 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7280
7281         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7282         * s/cygwin.sc: new linker file.
7283
7284 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7285
7286         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7287
7288         * redisplay-x.c (x_output_string): Use X11-specified types.
7289         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7290         * emacs.c (__free_hook): Use typeof with Intel compiler.
7291         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7292
7293 2003-01-08  Andy Piper  <andy@xemacs.org>
7294
7295         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7296         reserve size during unexec().
7297
7298 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7299
7300         * process-unix.c (unix_create_process): Don't let outchannel block.
7301
7302 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7303
7304         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7305         Needed for IsBadReadPtr().
7306
7307 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7308
7309         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7310
7311 2002-12-14  Ben Wing  <ben@xemacs.org>
7312
7313         * callint.c: Declaration error.
7314         * dumper.c (pdump):
7315         * dumper.c (pdump_load): Warning fix.
7316         * process.c: GCPRO error.
7317         * glyphs.c (unmap_subwindow):
7318         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7319         * event-stream.c (maybe_kbd_translate): Wrong argument to
7320         character_to_event().
7321
7322         * alloc.c (garbage_collect_1):
7323         * emacs.c:
7324         * emacs.c (debug_can_access_memory):
7325         * emacs.c (fatal_error_signal):
7326         * emacs.c (mswindows_handle_hardware_exceptions):
7327         * emacs.c (main_1):
7328         * emacs.c (main):
7329         * emacs.c (assert_failed):
7330         * emacs.c (syms_of_emacs):
7331         * lisp.h:
7332         * print.c:
7333         * print.c (std_handle_out_va):
7334         * print.c (write_string_to_stdio_stream):
7335         * print.c (write_fmt_string):
7336         * print.c (printing_badness):
7337         * print.c (printing_major_badness):
7338         * print.c (print_internal):
7339         * print.c (debug_print_no_newline):
7340         * print.c (debug_backtrace):
7341         Be more defensive in handling bad values when printing.  Add code
7342         from trunk involving inhibit_non_essential_printing_operations.
7343         When going down or in debug_print(), don't do external conversion
7344         and such and try really, really hard when printing to avoid core
7345         dumping.  Add force-debugging-signal, debug_break().
7346
7347 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7348
7349         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7350         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7351
7352 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7353
7354         * database.c: Fix open_database. Berkeley DB API has changed in
7355         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7356
7357 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7358
7359         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7360
7361 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7362
7363         * event-Xt.c (Xt_timeout):
7364         (Xt_timeout_callback):
7365         (emacs_Xt_add_timeout):
7366         (emacs_Xt_remove_timeout):
7367         (Xt_timeout_to_emacs_event):
7368         Turn completed_timeouts from a stack into a queue.  Fixes
7369         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7370
7371 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7372
7373         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7374         * emacs.c (main): Assert that mmap'd allocation is disabled.
7375
7376 2002-10-14  Andy Piper  <andy@xemacs.org>
7377
7378         * glyphs-widget.c (layout_query_geometry): add in fiddle
7379         factor. Include border text in width layout calculation.
7380         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7381
7382 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7383
7384         * XEmacs 21.4.10 "Military Intelligence" is released.
7385
7386 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7387
7388         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7389         using the NAS private array SoundFileInfo that no longer exists in
7390         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7391         and earlier.  This is broken for some versions between 1.5a and
7392         1.5f.
7393
7394 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7395
7396         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7397
7398         * emacs.c (shut_down_emacs): Improve crash message.
7399
7400 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7401
7402         * file-coding.c (determine_real_coding_system): Check for coding
7403         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7404         shebangs and Python PEP 263.
7405
7406 2002-10-08  Andy Piper  <andy@xemacs.org>
7407
7408         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7409         if static sizes haven't been set.
7410
7411 2002-08-30  Mike Alexander  <mta@arbortext.com>
7412
7413         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7414         to close a socket.
7415
7416 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7417
7418         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7419
7420 2002-09-20  Mike Sperber <mike@xemacs.org>
7421
7422         (This partially gets back my patch from 2002-07-20 without the
7423         bug.)
7424         * callproc.c (child_setup): Remove Ben's comment noting confusion
7425         over the file descriptors >= 3: close_process_descs() doesn't
7426         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7427         * process-unix.c (unix_create_process): Call
7428         begin_dont_check_for_quit to inhibit unwanted interaction (and
7429         thus breaking of X event synchronicity) in the child.
7430
7431 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7432
7433         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7434         widget.
7435
7436 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7437
7438         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7439         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7440         the xemacs process did not exit, but looped infinitely here.  This
7441         fixes that problem.
7442
7443 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7444
7445         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7446         (find_context): Improve comments.
7447
7448         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7449         (re_match_2): An XCHAR_TABLE operation was missing.
7450
7451         Many of the following changes were inspired by Andy Piper's (now
7452         obsolete) patch to make syntax-table text property lookup optional.
7453
7454         [Documentation]
7455
7456         * syntax.h (top level): Document semantics of syntax flags.
7457         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7458         * syntax.c, syntax.h (top level): Document syntax cache better in
7459         comments.
7460
7461         [Instrument syntax caching (temporary change)]
7462
7463         * syntax.h (enum syntax_cache_statistics_functions, struct
7464         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7465         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7466         * syntax.c (scan_words, Fforward_comment, scan_lists,
7467         Fbackward_prefix_characters):
7468         * font-lock.c (find_context):
7469         Use them to instrument syntax caching. 
7470         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7471         syntax_cache_statistics_function_names): New type and variables.
7472         * syntax.c (update_syntax_cache): Update and report statistics.
7473
7474         [Major syntax cache optimizations]
7475
7476         syntax.c (lookup_syntax_properties): Default off.
7477
7478         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7479         * syntax.c (update_syntax_cache):
7480         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7481
7482         [Minor syntax cache optimizations and code clarifications]
7483
7484         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7485         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7486         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7487         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7488         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7489         (Code clarification.)
7490
7491         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7492         scan_lists): Compute code from syncode, use Boolean macros instead
7493         of redundant masking operations.  (Code clarification; any decent
7494         compiler can do this optimization.)
7495
7496         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7497         for clarity.
7498
7499         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7500         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7501         use F*_single_property_change instead of F*_extent_change.
7502         Currently F*_single_property_change is _much_ less efficient.
7503
7504         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7505         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7506         syntax_cache.object properly, don't leave Qt or Qnil.
7507         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7508         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7509         tests for Qt or Qnil.
7510
7511 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7512
7513         * redisplay.c (point_in_line_start_cache): 
7514         * extents.c (print_extent_1):
7515         Fix warnings.
7516
7517         * extents.c (Fset_extent_property): Document `syntax-table' property.
7518
7519         * extents.h (Fnext_single_property_change): EXFUN it.
7520
7521 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7522
7523         * search.c (clear_unused_search_regs): New static function.
7524         (search_buffer): 
7525         (simple_search): 
7526         (boyer_moore):
7527         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7528         Minor clarifications in comments.
7529
7530         * regex.c (re_match_2_internal): Ensure no stale submatches.
7531
7532 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7533
7534         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7535
7536 2002-08-29  Jerry James  <james@xemacs.org>
7537
7538         * lisp.h: structrures -> structures.
7539
7540 2002-06-03  Andy Piper  <andy@xemacs.org>
7541
7542         * frame.c (frame_conversion_internal): add conversion appropriate
7543         for setting frame dimensions in pixels.
7544
7545         * console.h (struct console_methods): add device-specific widget
7546         layout functions.
7547
7548         * emacs.c (main_1): initialize glyph vars.
7549
7550         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7551         (handle_focus_event_2): new function. Allow focus to
7552         be set to a particular window and widget.
7553         (enqueue_focus_event): new function. Create a
7554         synthetic focus event.
7555         (emacs_Xt_handle_magic_event): call
7556         handle_focus_event_2.
7557
7558         * frame.c (Fset_frame_pixel_height): new function. Allow
7559         pixel-based sizing. Does the right thing on character-oriented
7560         displays.
7561         (Fset_frame_pixel_width): ditto.
7562         (Fset_frame_pixel_size): ditto.
7563         (syms_of_frame): declare.
7564
7565         * general-slots.h: add :vertically-justify and
7566         :horizontally-justify.
7567
7568         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7569         (mswindows_widget_border_width): new function.
7570         (mswindows_combo_box_instantiate): set border widths.
7571         (console_type_create_glyphs_mswindows): declare.
7572
7573         * glyphs-widget.c:
7574         (check_valid_justification): allow vertical and horizontal
7575         justification.
7576         (widget_border_width): new function. Call device methods.
7577         (widget_instance_border_width): ditto.
7578         (logical_unit_height): new function. Determine the height of a
7579         logical-unit. Logical units are intended to provide grid-like
7580         layout for subcontrols in a layout. If the layout is
7581         :vertically-justify top then subcontrols will be positioned on
7582         logical-unit boundaries, thus allowing adjacent subcontrols to
7583         line up.
7584         (widget_logical_unit_height): ditto for widgets.
7585         (redisplay_widget): misc cleanup.
7586         (widget_spacing): new function. Call device specific
7587         methods. Intended to be the default gap between adjacent widgets.
7588         (widget_query_geometry): use new spacing functions to determine
7589         appropriate geometry.
7590         (initialize_widget_image_instance): initialize horizontal and
7591         vertical justification.
7592         (widget_instantiate): use logica-units where appropriate for
7593         sizing large widgets.
7594         (button_query_geometry): use widget_instance_border_width.
7595         (tree_view_query_geometry): ditto.
7596         (tab_control_query_geometry): ditto.
7597         (edit_field_query_geometry): new function.
7598         (layout_update): pick up :justify, :horizontally-justify and
7599         :vertically-justify none of which worked previously. :justify is
7600         used as a fallback for both horizontal and vertical justification.
7601         (layout_query_geometry): use logical units to size appropriately.
7602         (layout_layout): ditto.
7603         (Fwidget_logical_to_character_width): new function. Allow users to
7604         convert from logical units to characters so that frame sizes can
7605         be set appropriately.
7606         (Fwidget_logical_to_character_height): ditto.
7607         (syms_of_glyphs_widget): declare.
7608         (image_instantiator_edit_fields): add edit_field_query_geometry.
7609         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7610         :horizontally-justify.
7611         (specifier_vars_of_glyphs_widget): new function. Declare
7612         Vwidget_border_width which is not yet used.
7613
7614         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7615         (x_widget_border_width): new function.
7616         (x_widget_instantiate): create a sensible name for widgets.
7617         (console_type_create_glyphs_x): declare x_widget_border_width.
7618
7619         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7620         (struct Lisp_Image_Instance): add :vertically-justify and
7621         :horizontally-justify.
7622         (LAYOUT_JUSTIFY_TOP): new.
7623         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7624         (ROUND_UP): new macro. Round argument up to next integral
7625         interval.
7626
7627         * redisplay-output.c (redisplay_output_layout): misc formatting.
7628
7629         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7630
7631 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7632
7633         * XEmacs 21.4.9 "Informed Management" is released.
7634
7635 2002-08-19  Andy Piper  <andy@xemacs.org>
7636
7637         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7638         win32 format.
7639
7640         * realpath.c (xrealpath): normalize drive spec also so that dir
7641         sep chars are not mixed on cygwin.
7642
7643 2002-08-06  Jerry James  <james@xemacs.org>
7644
7645         * window.c (Fsplit_window): Count only half of the divider width
7646         against the left window when splitting horizontally. 
7647
7648 2002-06-24  Andy Piper  <andy@xemacs.org>
7649
7650         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7651         toolbar was cleared.
7652
7653         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7654         function. Split out from mswindows_output_frame_toolbars.
7655         (mswindows_output_frame_toolbars): move clear pieces to
7656         mswindows_output_frame_toolbars.
7657
7658         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7659         out from gtk_output_frame_toolbars.
7660         (gtk_output_frame_toolbars): move clear pieces to
7661         gtk_clear_frame_toolbars.
7662
7663         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7664         the frame is cleared. How this ever worked before is a mystery.
7665         (x_output_frame_toolbars): Only output toolbars.
7666         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7667
7668         * gutter.c (update_gutter_geometry):
7669         Mark frame layout changed.
7670         (update_frame_gutter_geometry, update_frame_gutters):
7671         Respect frame_layout_changed.
7672
7673         * console.h (struct console_methods): add
7674         clear_frame_toolbars_method.
7675
7676         * redisplay.c (redisplay_frame): call
7677         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7678
7679         * toolbar.h: declare update_frame_toolbars_geometry.
7680
7681         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7682         out from update_frame_toolbars.  Call clear_frame_toolbars.
7683         (update_frame_toolbars): only output, do not change geometry.
7684
7685         * redisplay.c: add frame_layout_changed.
7686
7687         * redisplay.h: add frame_layout_changed.
7688         (CLASS_RESET_CHANGED_FLAGS): set it.
7689         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7690         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7691         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7692
7693         * device.h (struct device): add frame_layout_changed.
7694         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7695
7696         * frame.h (struct frame): add frame_layout_changed.
7697         (MARK_FRAME_LAYOUT_CHANGED): new.
7698
7699 2002-06-30  Mike Alexander  <mta@arbortext.com>
7700
7701         * event-msw.c (mswindows_need_event): Don't wait for a new message
7702         if the queue is not empty.  Suggested by Paul Moore.
7703
7704 2002-06-12  Andy Piper  <andy@xemacs.org>
7705
7706         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7707         for printing on accurately.
7708
7709 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7710
7711         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7712         WM_ACTIVATE message. Make sure that the frame is visible if the
7713         window is visible. This seemss to fix the problem where XEmacs
7714         appears to freeze after switching desktops with certain virtual
7715         window managers.
7716         (debug_output_mswin_message): Added code to output message
7717         parameters for WM_WINDOWPOSCHANGED, 
7718         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7719
7720 2002-05-25  Andy Piper  <andy@xemacs.org>
7721
7722         * select-x.c (vars_of_select_x): Fix docstring of
7723         x-selection-strict-motif-ownership
7724
7725 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7726
7727         * keymap.c (get_keymap):
7728         Add comment about do_autoload GCPROs own args.
7729
7730 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7731
7732         * bytecode.c (execute_optimized_program): check_opcode ifdef
7733         ERROR_CHECK_BYTE_CODE.
7734
7735 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7736
7737         Thanks to Ben Wing and Michael Sperber.
7738
7739         * eval.c (Fcommand_execute):
7740         (Feval):
7741         (Ffuncall):
7742         (Fmacroexpand_internal):
7743         (function_argcount):
7744         callint.c (Fcall_interactively):
7745         Add comment about do_autoload GCPROs own args.
7746
7747         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7748
7749         * eval.c (Ffuncall): Extra braces to placate GCC.
7750
7751 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7752
7753         * backtrace.h (grow_specpdl):
7754         (SPECPDL_RESERVE):
7755         * EmacsFrame.c (EmacsFrameSetValues):
7756         * eval.c (grow_specpdl):
7757         * ExternalShell.c (hack_event_masks_1):
7758         * glyphs-x.c (convert_EImage_to_XImage): 
7759         (x_finalize_image_instance):
7760         * ralloc.c (page_size):
7761         (r_alloc_sbrk):
7762         * xgccache.c (gc_cache_hash):
7763         Fix unsigned comparison warnings.
7764
7765 2002-07-29  Jerry James  <james@xemacs.org>
7766
7767         * lread.c (locate_file): Any nonnegative return value indicates
7768         success if MODE is nonnegative.
7769
7770 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7771
7772         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7773         argument. 
7774
7775 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7776
7777         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7778
7779         * dumper.c (pdump_get_indirect_count):
7780         (pdump_scan_by_alignment):
7781         (pdump_dump_root_struct_ptrs):
7782         (pdump_dump_rtables):
7783         (pdump_dump_root_objects):
7784         (pdump):
7785         * nas.c (WaveOpenDataForReading):
7786         * fns.c (print_bit_vector):
7787         * font-lock.c (SINGLE_SYNTAX_STYLE):
7788         * glyphs.c (check_for_ignored_expose):
7789         (find_matching_subwindow):
7790         * glyphs-eimage.c:
7791         * imgproc.c (get_histogram):
7792         * redisplay.c (point_in_line_start_cache):
7793         * redisplay-output.c (redisplay_unmap_subwindows):
7794         * symbols.c (defsymbol_massage_name_1):
7795         (defkeyword_massage_name):
7796         (deferror_massage_name_and_message):
7797         * redisplay-x.c (x_output_string): 
7798         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7799         * frame.h (struct frame):
7800         * filelock.c (current_lock_owner):
7801         * doprnt.c (emacs_doprnt_1):
7802         * lisp.h (struct Lisp_Bit_Vector):
7803         (DO_REALLOC):
7804         Fix warnings.
7805
7806 2002-02-13  Ben Wing  <ben@xemacs.org>
7807
7808         * event-stream.c (reset_key_echo):
7809         * event-stream.c (reset_this_command_keys):
7810         * event-stream.c (execute_command_event):
7811         If console is dead as a result of C-x 5 0, then post-command stuff
7812         needs to be careful and do only non-console-specific stuff.
7813
7814 2002-07-01  Mike Sperber <mike@xemacs.org>
7815
7816         * process-unix.c (unix_send_process): Mark coding_outstream as
7817         non-open upon SIGPIPE.
7818
7819         * event-stream.c (Fnext_event): Reorder switch cases to something
7820         that makes sense.
7821
7822 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7823
7824         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7825         Don't bogusly reinitialize ascii_character property.
7826
7827 2002-07-08  Mike Sperber <mike@xemacs.org>
7828
7829         * process.c (Fstart_process_internal): Do error checking before we
7830         fork off the child, so the child can't muck with the state of the
7831         parent.
7832
7833 2002-07-08  Mike Sperber <mike@xemacs.org>
7834
7835         * ralloc.c (init_ralloc): Allocate properly for pdump.
7836
7837 2002-06-12  Andy Piper  <andy@xemacs.org>
7838
7839         * glyphs.c (query_string_geometry): check the string.
7840
7841         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7842         widget names.
7843
7844 2002-06-17  Jerry James  <james@xemacs.org>
7845
7846         * sysdll.c: Remove RTLD_GLOBAL initialization.
7847         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7848
7849 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7850
7851         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7852
7853 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7854
7855         * sysdep.c (sys_rename): Make sys_rename work for the case where
7856         Windows rename sets errno to EACCES if target file exists.
7857
7858 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7859
7860         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7861         Fix detection of metric units to work on Win95
7862
7863 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7864
7865         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7866
7867 2002-04-25  Andy Piper  <andy@xemacs.org>
7868
7869         * redisplay.c (create_text_block): Remove extra comment trailer.
7870
7871 2002-04-24  Andy Piper  <andy@xemacs.org>
7872
7873         * redisplay.c (create_text_block): Don't actually add propagation
7874         data if the line ends after we have added a glyph.
7875
7876 2002-04-22  Andy Piper  <andy@xemacs.org>
7877
7878         * extents.c (extent_fragment_update): check for glyphs we have
7879         previously displayed.
7880         * extents.c (print_extent_1): warning removal.
7881         * extents.h: change prototype.
7882         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7883         widths correctly for wide glyphs.
7884         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7885         * redisplay.c (prop_type): add PROP_GLYPH.
7886         * redisplay.c (struct prop_block): add glyph type
7887         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7888         to the propagation data.
7889         * redisplay.c (create_text_block): if there is a glyph in the
7890         propagation data use it to salt extent_fragment_update.
7891         * redisplay.c (create_string_text_block): ditto.
7892
7893 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7894
7895         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7896         * redisplay-output.c (compare_runes): Compare them.
7897         * redisplay.c: Update copyright date.
7898         * redisplay.c (pos_data): Add need_baseline_computation field.
7899         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7900         need_baseline_computation; zero yoffset. Set max_pixmap_height
7901         for all pixmaps, not just automatically positioned ones.
7902         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7903         * redisplay.c (calculate_baseline): New, compute textual baseline.
7904         * redisplay.c (add_glyph_rune): Call them.
7905         * redisplay.c (create_text_block): Likewise.
7906         * redisplay.c (create_overlay_glyph_block): Likewise.
7907         * redisplay.c (add_margin_runes): Likewise.
7908         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7909
7910         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7911         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7912         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7913         * redisplay-msw.c (mswindows_output_string): Likewise.
7914         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7915         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7916         * redisplay-x.c (x_output_display_block): Likewise.
7917
7918 2002-03-28  Ben Wing  <ben@xemacs.org>
7919
7920         * redisplay.c: Fixed bug in redisplay
7921         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7922         and down of the lines, since they're bigger than the line
7923         size. (It was seen most obviously when there's a horizontal scroll
7924         bar, e.g. do C-h a glyph or something like that.) The problem was
7925         that the glyph-contrib-p setting on glyphs was ignored even if it
7926         was set properly, which it wasn't until now.
7927
7928 2002-04-24  Andy Piper  <andy@xemacs.org>
7929
7930         * lisp.h (Dynarr_end): Fix definition.
7931
7932 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7933
7934         * redisplay.c (mark_redisplay): Remove call to
7935         update_frame_window_mirror.
7936
7937 2001-11-15  Andy Piper  <andy@xemacs.org>
7938
7939         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7940         cygwin (again).
7941
7942 2002-02-13  Andy Piper  <andy@xemacs.org>
7943
7944         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7945         we did in fact enqueue the XM_MAPFRAME event.
7946
7947 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7948
7949         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7950         to fix problem switching between virtual desktops under virtuawin
7951         virtual window manager.
7952
7953 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7954
7955         * event-msw.c: Typo fix.
7956         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7957         magic XM_MAPFRAME event has been sent.
7958
7959 2001-11-23  Andy Piper  <andy@xemacs.org>
7960
7961         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7962
7963 2001-11-21  Andy Piper  <andy@xemacs.org>
7964
7965         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7966         mouse events outside the frame.
7967
7968 2002-03-20  Andy Piper  <andy@xemacs.org>
7969
7970         * menubar-msw.c (mswindows_popup_menu): warning removal.
7971         * dialog-msw.c (dialog_popped_down): ditto.
7972
7973 2001-12-11  Andy Piper  <andy@xemacs.org>
7974
7975         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7976         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7977         popup_up_p.
7978         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7979         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7980         * menubar-msw.c (mswindows_popup_menu): ditto.
7981
7982 2001-10-29  Andy Piper  <andy@xemacs.org>
7983
7984         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7985         cancels.
7986
7987 2002-01-03  Andy Piper  <andy@xemacs.org>
7988
7989         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7990         letters.
7991         (xrealpath): ditto.
7992
7993 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7994
7995         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7996         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7997         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7998         Detect and handle case where machine is set up for metric units
7999
8000 2002-04-02  Andy Piper  <andy@xemacs.org>
8001
8002         * dired-msw.c (mswindows_get_files): 
8003         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8004         completely handled by XEmacs. Suggested by Thomas Vogler
8005         <mail@thomas-vogler.de>.
8006
8007 2001-11-14  Andy Piper  <andy@xemacs.org>
8008
8009         * nt.c (REG_ROOT): change registry key to XEmacs.
8010
8011 2002-04-27  Andy Piper  <andy@xemacs.org>
8012
8013         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8014
8015 2002-04-26  Andy Piper  <andy@xemacs.org>
8016
8017         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8018         behavior.
8019
8020 2002-03-14  Mike Alexander  <mta@arbortext.com>
8021
8022         * event-msw.c (mswindows_unwait_process): New, remove process from
8023         wait list
8024         * process-nt.c (nt_finalize_process_data): Call
8025         mswindows_unwait_process
8026         * console-msw.h: Declare mswindows_unwait_process
8027
8028 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8029
8030         * editfns.c (Fdecode_time):
8031         (Fformat_time_string):
8032         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8033         (make_time): Warning elimination (change arg name).
8034
8035 2001-11-24  Andy Piper  <andy@xemacs.org>
8036
8037         * window.c (Fsplit_window): Doc return type.
8038
8039 2002-04-01  Andy Piper  <andy@xemacs.org>
8040
8041         * emacs.c (Fkill_emacs): Only output message box in interactive
8042         mode.
8043
8044 2002-04-26  Andy Piper  <andy@xemacs.org>
8045  
8046         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8047         cygwin.
8048
8049 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8050
8051         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8052         bit platform.
8053
8054 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8055
8056         * XEmacs 21.4.8 "Honest Recruiter" is released.
8057
8058 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8059
8060         Supersedes 2002-04-17 patch.
8061
8062         * process.h (PROCESS_LIVE_P): Use the process status as
8063         evidence of health, not the state of the input stream.
8064         (PROCESS_READABLE_P): Say if the process is readable
8065         from. (It may be dead nonetheless.)
8066         (CHECK_READABLE_PROCESS): Test for that condition.
8067
8068         * process.c (create_process): Use PROCESS_READABLE_P.
8069         (read_process_output, set_process_filter): Likewise.
8070
8071         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8072         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8073
8074         This code is #if 0'd, this is not the time to add new functions:
8075
8076         * process.c (Fprocess_readable_p): Report readability status.
8077         * process.c (Qprocess_readable_p): New, associated symbol...
8078         * process.c (syms_of_process): ... initialize it.
8079
8080 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8081
8082         * XEmacs 21.4.7 "Economic Science" is released.
8083
8084 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8085
8086         * process.h (PROCESS_LIVE_P): Use the process status as
8087         evidence of health, not the state of the input stream.
8088
8089 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8090
8091         * sysdep.c (sys_siglist): change "signum" to "signal"
8092
8093 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8094
8095         * s/darwin.h: New file.
8096         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8097         
8098 2002-04-23  Andreas Jaeger  <aj@suse.de>
8099
8100         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8101         which use lib64 for 64-bit libs.
8102         (START_FILES): Likewise.
8103
8104 2002-02-11  Mike Sperber  <mike@xemacs.org>
8105
8106         * device-x.c: 
8107         (x_IO_error_handler):
8108         (x_init_device): Temporarily keep device in static variable
8109         `device_being_initialized' so we can recover gracefully from
8110         internal XOpenDevice failure.  (XOpenDevice is documented to
8111         return NULL on failure, but sometimes calls the IO error handler
8112         instead.)
8113
8114 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8115
8116         * dired.c (Ffile_name_all_completions): Change documentation --
8117         remove reference to completion-ignored-extensions.
8118         * dired.c (vars_of_dired): Change documentation for
8119         completion-ignored-extensions -- remove reference to
8120         file-name-all-completions.
8121
8122 2002-03-06  Jerry James  <james@xemacs.org>
8123
8124         * emodules.c (emodules_load): Fix multiple loading of same module.
8125
8126 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8127         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8128         RTLD_LAZY to avoid incorrect symbol binding when using nested
8129         shared libraries on Solaris.
8130
8131 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8132
8133         * fileio.c (Ffind_file_name_handler): Improve docstring.
8134
8135 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8136
8137         * fns.c (Fmapconcat): Improve docstring.
8138
8139 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8140
8141         * device-gtk.c: Add prototype for
8142         emacs_gtk_selection_clear_event_handle.
8143         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8144         selection.  Setup signal handler for "selection_clear_event"
8145         (emacs_gtk_selection_clear_event_handle).
8146
8147         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8148         other applications owning the clipboard (based on
8149         x_handle_selection_clear).
8150
8151 2001-12-23  William M. Perry  <wmperry@gnu.org>
8152
8153         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8154         
8155 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8156
8157         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8158
8159 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8160
8161         * XEmacs 21.4.6 "Common Lisp" is released.
8162
8163 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8164
8165         * search.c (Freplace_match): Add missing sub-expression functionality.
8166
8167         * buffer.c (decode_buffer): Add a check for pointer type to
8168         decode_buffer, before gcc's CSE optimization reorders a
8169         dereference in front of the allow_string test.
8170
8171 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8172
8173         * window.c (window_loop): Fix bug that sometimes prevented
8174         window_loop() from iterating across multiple devices.  Also, at
8175         Ben's request, changed infloop-detecting code to abort() instead
8176         of silently terminating window_loop().
8177
8178 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8179
8180         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8181         * editfns.c (make_time): New function.
8182         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8183         * lisp.h (make_time): Prototype and comment it.
8184         * dired.c (wasteful_word_to_lisp): Deprecate.
8185         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8186
8187 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8188
8189         * fileio.c (auto_save_1): Use current coding system, not
8190         escape-quoted.
8191
8192 2001-11-13  Ben Wing  <ben@xemacs.org>
8193
8194         * window.c:
8195         * window.c (window_truncation_on):
8196         * window.c (syms_of_window):
8197         truncate-partial-width-windows should respect the buffer being
8198         displayed, like other redisplay vars.
8199
8200 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8201
8202         * event-stream.c (Fread_key_sequence): save current buffer.
8203
8204 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8205
8206         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8207
8208 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8209
8210         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8211
8212 2001-10-26  Mike Alexander  <mta@arbortext.com>
8213
8214         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8215
8216 2001-10-25  Andy Piper  <andy@xemacs.org>
8217
8218         * ChangeLog:
8219         * dialog-msw.c (handle_directory_proc): new function.
8220          (handle_directory_dialog_box): new fucntion.
8221          (handle_file_dialog_box): use new directory dialog support.
8222          (mswindows_make_dialog_box_internal): ditto.
8223         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8224         handling.
8225         (mswindows_find_frame): make global.
8226         * fileio.c (Fexpand_file_name): build fix.
8227         * general-slots.h: add Qdirectory.
8228         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8229         handling.
8230         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8231         cygwin not leaving win32 paths unchanged.
8232         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8233         cygwin runtime to do path conversion.
8234         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8235         (syms_of_win32): add new function.
8236         * window.c (window_loop): build fix.
8237
8238 2001-10-15  Andy Piper  <andy@xemacs.org>
8239
8240         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8241
8242 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8243
8244         * XEmacs 21.4.5 "Civil Service" is released.
8245
8246 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8247
8248         * glyphs-x.c: Force buffer-tab highlight update when moving the
8249         buffer, avoiding an ugly black border, used for keyboard focus
8250         indication, on a widget that can never have keyboard focus, the
8251         buffer tab.
8252
8253 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8254
8255         * process-unix.c (unix_open_multicast_group): Remove too much
8256         conversion between host and network byte order.
8257
8258 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8259
8260         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8261         before replacing them.
8262
8263         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8264         operation.
8265
8266         * src/window.c (undedicate_windows): Use it.
8267         * src/window.h: Add prototype.
8268
8269 2001-09-17  Ben Wing  <ben@xemacs.org>
8270
8271         * fileio.c (normalize_filename):
8272         * fileio.c (Fexpand_file_name):
8273         Fix various C++ compile errors in Andy's recent code.
8274         
8275         * callint.c (Fcall_interactively):
8276         * editfns.c (Ftemp_directory):
8277         * editfns.c (Fuser_full_name):
8278         * emacs.c (argmatch):
8279         * lread.c (locate_file_map_suffixes):
8280         * redisplay-x.c (x_ring_bell):
8281         Fix sign-compare warnings.
8282         
8283 2001-09-08  Andy Piper  <andy@xemacs.org>
8284
8285         * fileio.c (normalize_filename): copied from nt.c
8286         * (Ffile_name_directory): enable win32 paths under cygwin.
8287         * (Ffile_name_nondirectory): ditto.
8288         * (directory_file_name): ditto.
8289         * (Fexpand_file_name): ditto.
8290         * (Ffile_truename): ditto.
8291         * (Fsubstitute_in_file_name): ditto.
8292         * (Ffile_name_absolute_p): ditto.
8293         * (Ffile_readable_p): ditto.
8294
8295 2001-09-08  Andy Piper  <andy@xemacs.org>
8296
8297         * device-msw.c (mswindows_finish_init_device): remove dde
8298         initialization.
8299         * device-msw.c (mswindows_init_dde): factor out from
8300         mswindows_finish_init_device()
8301         * device-msw.c (init_mswindows_very_early): new function
8302         initialize but don't enable dde.
8303         * emacs.c (main_1): call init_mswindows_very_early.
8304         * event-msw.c:
8305         * event-msw.c (mswindows_dde_callback): only execute when we are
8306         ready.
8307         * symsinit.h: declare init_mswindows_very_early.
8308
8309 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8310
8311         [sjt: This has been in 21.5 for months with no complaints.]
8312
8313         * console.h (struct console_methods): Added flags member.
8314         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8315         (CONMETH_IMPL_FLAG):
8316         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8317         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8318
8319         * device.c (window_system_pixelated_geometry): Use the above macros.
8320
8321         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8322         implememntation flag.
8323         * device.h (DEVICE_DISPLAY_P): Use it.
8324
8325         * frame.c (delete_frame_internal): Use the above macro.
8326
8327         * redisplay.c (redisplay_device): Use it.
8328         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8329         (redisplay_frame): Ditto.
8330
8331         * device-msw.c (mswindows_device_implementation_flags): Removed.
8332         (msprinter_device_implementation_flags): Removed.
8333         (console_type_create_device_mswindows): Removed references to
8334         implementation_flags methods, set implementation flags here.
8335         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8336
8337         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8338         (console_type_create_device_gtk): Removed method declaration.
8339         Added commented out statement which semantically matches the
8340         commented out statement in the above removed method.
8341
8342 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8343
8344         The attached patch fixes a few warnings. 
8345
8346         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8347         * src/frame-gtk.c: guard against GNOME calls in GTK only
8348         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8349         * src/select-gtk.c: prototype lisp_to_time
8350
8351 2001-06-08  Ben Wing  <ben@xemacs.org>
8352
8353         ------ gc-in-window-procedure fixes ------
8354         
8355         * alloc.c:
8356         * alloc.c (struct post_gc_action):
8357         * alloc.c (register_post_gc_action):
8358         * alloc.c (run_post_gc_actions):
8359         * alloc.c (garbage_collect_1):
8360         Create "post-gc actions", to avoid those dreaded "GC during window
8361         procedure" problems.
8362
8363         * event-msw.c:
8364         Abort, clean and simple, when GC in window procedure.  We want
8365         to flush these puppies out.
8366
8367         * glyphs-msw.c:
8368         * glyphs-msw.c (finalize_destroy_window):
8369         * glyphs-msw.c (mswindows_finalize_image_instance):
8370         Use a post-gc action when destroying subwindows.
8371
8372         * lisp.h:
8373         Declare register_post_gc_action().
8374
8375         * scrollbar-msw.c:
8376         * scrollbar-msw.c (unshow_that_mofo):
8377         Use a post-gc action when unshowing scrollbar windows, if in gc.
8378
8379         * redisplay.c (mark_redisplay):
8380         Add comment about the utter evilness of what's going down here.
8381
8382         ------ cygwin setitimer fixes ------
8383         
8384         * Makefile.in.in (sheap_objs):
8385         * Makefile.in.in (profile_objs):
8386         * Makefile.in.in (objs):
8387         Compile profile.c only when HAVE_SETITIMER.
8388         
8389         * nt.c (mswindows_sigset):
8390         * nt.c (mswindows_sighold):
8391         * nt.c (mswindows_sigrelse):
8392         * nt.c (mswindows_sigpause):
8393         * nt.c (mswindows_raise):
8394         * nt.c (close_file_data):
8395         Style fixes.
8396         
8397         * nt.c:
8398         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8399         
8400         * profile.c:
8401         * profile.c (Fstart_profiling):
8402         * profile.c (Fstop_profiling):
8403         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8404         instead of just plain setitimer().
8405         
8406         * signal.c:
8407         * signal.c (set_one_shot_timer):
8408         * signal.c (alarm):
8409         Define qxe_setitimer() as an encapsulation around setitimer() --
8410         call setitimer() directly unless Cygwin or MS Win, in which case
8411         we use our simulated version in win32.c.
8412         
8413         * systime.h:
8414         * systime.h (struct itimerval):
8415         * systime.h (ITIMER_REAL):
8416         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8417         comment about "qxe" and the policy regarding encapsulation.
8418
8419         * win32.c:
8420         * win32.c (setitimer_helper_proc):
8421         * win32.c (setitimer_helper_period):
8422         * win32.c (setitimer_helper):
8423         * win32.c (mswindows_setitimer):
8424         Move setitimer() emulation here, so Cygwin can use it.
8425         Rename a couple of functions and variables to be longer and more
8426         descriptive.  In setitimer_helper_proc(), send the signal
8427         using either mswindows_raise() or (on Cygwin) kill().  If for
8428         some reason we are still getting lockups, we'll change the kill()
8429         to directly invoke the signal handlers.
8430
8431         ------ windows shell fixes ------
8432         
8433         * callproc.c:
8434         * ntproc.c:
8435         Comments about how these two files must die.
8436
8437         * callproc.c (init_callproc):
8438         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8439         not just COMSPEC. (more correct and closer to FSF.) Don't
8440         force a value for SHELL into the environment. (Comments added
8441         to explain why not.)
8442         
8443         * nt.c (init_user_info):
8444         Don't shove a fabricated SHELL into the environment.  See above.
8445
8446 2001-06-01  Ben Wing  <ben@xemacs.org>
8447
8448         * Makefile.in.in (ldflags):
8449         eliminate that pesky "defaulting to 00401000" warning.
8450         * nt.h:
8451         eliminate warnings.
8452
8453 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8454
8455         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8456         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8457
8458 2001-04-24  Jerry James <james@xemacs.org>
8459
8460         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8461         correct order.
8462
8463 2001-06-01  Ben Wing  <ben@xemacs.org>
8464
8465         * event-msw.c (debug_mswin_messages):
8466         conditionalize the messages that were causing compile errors.
8467         (if only macros could generate #ifdef statements ...)
8468
8469 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8470
8471         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8472
8473 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8474
8475         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8476
8477 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8478
8479         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8480         * process-unix.c (unix_canonicalize_host_name):
8481         sysdep.c (init_system_name):
8482         Use it to conditionally support IPv6 canonicalization.
8483
8484 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8485
8486         * event-msw.c:
8487         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8488
8489 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8490
8491         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8492         attempt is made to scroll when no scroll bar is available.
8493
8494 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8495
8496         * input-method-motif.c (XIM_delete_frame): New callback.
8497         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8498         got deleted from 21.4.3.)
8499
8500 2001-06-01  Ben Wing  <ben@xemacs.org>
8501
8502         * nt.c (mswindows_utime):
8503         * nt.c (close_file_data):
8504         fix off-by-one-indirection error.
8505
8506 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8507
8508         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8509         because set_file_times() now takes Lisp_Object path, instead of
8510         char*.
8511         * nt.c: Include buffer.h.
8512         * nt.c (convert_from_time_t): New.
8513         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8514         not set mtime correctly.
8515         * nt.h: Declare mswindows_utime().
8516         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8517         path, instead of char*.
8518         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8519
8520 2001-05-30  Ben Wing  <ben@xemacs.org>
8521
8522         For 21.4:
8523
8524         (Stephen, just take all event-msw.c patches.  This includes
8525         the "iconify" fix below.)
8526
8527         * event-msw.c:
8528         * event-msw.c (mswindows_dequeue_dispatch_event):
8529         * event-msw.c (assert):
8530         * event-msw.c (emacs_mswindows_quit_p):
8531         * event-msw.c (debug_mswin_messages):
8532         * event-msw.c (debug_output_mswin_message):
8533         * event-msw.c (vars_of_event_mswindows):
8534         Fix yet more problems with C-g handling.
8535         Implement debug-mswindows-events.
8536         
8537 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8538
8539         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8540         
8541 2001-05-23  Ben Wing  <ben@xemacs.org>
8542
8543         * event-msw.c (winsock_writer):
8544         * event-msw.c (winsock_closer):
8545         prior kludgy code was clobbering the buffer, thinking it was
8546         "unused" space to store an unneeded return value; instead, use
8547         the variable we've already got staring us in the face.
8548
8549 2001-05-17  Andy Piper  <andy@xemacs.org>
8550
8551         * sysfile.h: don't assume that file attributes are boolean
8552
8553 2001-05-23  Ben Wing  <ben@xemacs.org>
8554
8555         * device-msw.c (msprinter_init_device):
8556         signal an error rather than crash with an unavailable network
8557         printer (from Mike Alexander).
8558         
8559         * event-msw.c:
8560         * event-msw.c (struct winsock_stream):
8561         * event-msw.c (winsock_writer):
8562         * event-msw.c (winsock_closer):
8563         * event-msw.c (make_winsock_stream_1):
8564         cleanup headers.  fix (hopefully) an error with data corruption
8565         when sending to a network connection.
8566
8567         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8568         to handle the ~user prefix by (a) always assuming we're referencing
8569         ourselves and not even verifying the user -- hence any file with
8570         a tilde as its first char is invalid! (b) if there wasn't a slash
8571         following the filename, the pointer was set *past* the end of
8572         file and we started reading from uninitialized memory.  Now we
8573         simply treat these as files, always.
8574
8575         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8576         
8577 2001-05-19  Ben Wing  <ben@xemacs.org>
8578
8579         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8580
8581         * process-nt.c:
8582         * process-nt.c (vars_of_process_nt):
8583         remove unused mswindows-quote-process-args.  rec for 21.4.
8584         
8585 2001-05-12  Ben Wing  <ben@xemacs.org>
8586
8587         * event-msw.c (mswindows_dde_callback):
8588         * event-msw.c (mswindows_wnd_proc):
8589         eliminate cygwin warnings.
8590
8591 2001-05-06  Ben Wing  <ben@xemacs.org>
8592
8593         * console-msw.h:
8594         * device-msw.c:
8595         * device-msw.c (print_dialog_worker):
8596         * device-msw.c (mswindows_handle_print_dialog_box):
8597         * device-msw.c (syms_of_device_mswindows):
8598         * dialog-msw.c (mswindows_make_dialog_box_internal):
8599         * general-slots.h:
8600         implement printing the selection when it's selected.
8601
8602 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8603
8604         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8605
8606 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8607
8608         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8609         EMACS_INT is signed.
8610
8611 2001-04-15  Michael Lausch  <mla@1012surf.net>
8612
8613         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8614         gtk_widget_request_size() to give scrollbar >0 width for
8615         GTK >1.2.8.
8616
8617 2001-05-30  William M. Perry  <wmperry@gnu.org>
8618
8619         * event-gtk.c: Check for buttons as modifier keys.
8620
8621 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8622
8623         * s\mingw32.h:
8624         Properly find MinGW's <process.h> inside Cygwin's restructured
8625         include directories.  Don't try to include <cygwin/version.h>
8626         since we are dropping support for MinGW in versions of Cygwin
8627         earlier than b21.
8628         * nt.c:
8629         Drop support for MinGW in versions of Cygwin before b21.
8630         * sysdep.c:
8631         Properly find MinGW's <process.h> inside Cygwin's restructured
8632         include directories.
8633         * syswindows.h:
8634         Drop support for MinGW in versions of Cygwin before b21.
8635         * unexcw.c:
8636         Even though a.out.h is no longer detected by configure, allow
8637         MinGW to use it until we figure out how to do the job with Win32.
8638
8639 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8640
8641         * syntax.c (find_start_of_comment):
8642         Fix `unbalanced parentheses' bug when dealing with mixed comment
8643         styles in c++/java/etc. mode
8644
8645 2001-05-29  Mike Alexander  <mta@arbortext.com>
8646
8647         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8648         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8649
8650 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8651
8652         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8653
8654 2001-03-31  Mike Sperber <mike@xemacs.org>
8655
8656         * search.c (Freplace_match): Support FSF-style specification of
8657         match subexpression when applied to a buffer.
8658
8659 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8660
8661         * event-stream.c (is_scrollbar_event): add missing semicolon
8662
8663 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8664
8665         * Makefile.in.in: Use TAR macro instead of hardcoding
8666           tar.  Allows use of GNU tar instead of system tar
8667
8668 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8669
8670         * event-stream.c (is_scrollbar_event): add missing semicolon
8671
8672 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8673
8674         * XEmacs 21.4.3 "Academic Rigor" is released.
8675
8676 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8677
8678         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8679
8680 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8681
8682         * buffer.c (Vcase_fold_search): Remove obsolete
8683           comment about non ASCII case-fold-search.  This
8684           bug has been fixed by case-table changes.
8685
8686 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8687
8688         * event-msw.c: Restore include of events-mod.h.
8689
8690 2001-04-22   zhaoway  <zw@debian.org>
8691
8692         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8693         !HAVE_SCROLLBARS.
8694
8695 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8696
8697         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8698
8699 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8700
8701         * mule-charset.c (Fmake_charset): Add missing else.
8702
8703 2001-04-23  Ben Wing  <ben@xemacs.org>
8704
8705         * event-msw.c (FAKE_MOD_QUIT):
8706         * event-msw.c (mswindows_dequeue_dispatch_event):
8707         * event-msw.c (mswindows_wnd_proc):
8708         * event-msw.c (emacs_mswindows_quit_p):
8709         Get critical quit working.
8710
8711 2001-05-05  Ben Wing  <ben@xemacs.org>
8712
8713         * console-msw.h:
8714         * device-msw.c:
8715         * device-msw.c (mswindows_get_default_margin):
8716         * frame-msw.c (mswindows_size_frame_internal):
8717         * frame-msw.c (msprinter_init_frame_1):
8718         * frame-msw.c (vars_of_frame_mswindows):
8719         Change top/bottom margin defaults to 0.5 inches.
8720
8721 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8722
8723         Fix link error with gcc 3.0 on Linux.
8724         * terminfo.c (UP): Remove.
8725         * terminfo.c (BC): Remove.
8726         * terminfo.c (PC): Remove.
8727         They weren't used, and in any case, these symbols should be
8728         defined in the *library*.
8729
8730 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8731
8732         * s/aix4.h: Fix crash with xlc -O3.
8733         Improve comment explaining how -O3 works.
8734
8735 2001-04-15  Ben Wing  <ben@xemacs.org>
8736
8737         * event-stream.c:
8738         * event-stream.c (Fnext_event):
8739         * event-stream.c (is_scrollbar_event):
8740         * event-stream.c (execute_command_event):
8741         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8742         crash' problem.  His fix introduces other problems.  We filter
8743         out scrollbar events specifically, making them somewhat invisible
8744         to command-building, and not appearing in `this-command-keys'.
8745         More work is still needed (see comments in event-stream.c), but
8746         this fixes all the major problems.
8747
8748 2001-04-20  Ben Wing  <ben@xemacs.org>
8749
8750         * .cvsignore: Added stuff for Windows.
8751
8752 2001-04-28  Ben Wing  <ben@xemacs.org>
8753
8754         * buffer.c (Ferase_buffer):
8755         * editfns.c (buffer_insert1):
8756         * editfns.c (Finsert_before_markers):
8757         * editfns.c (Finsert_string):
8758         * editfns.c (Finsert_char):
8759         * editfns.c (Fdelete_region):
8760         * editfns.c (Fwiden):
8761         * editfns.c (Fnarrow_to_region):
8762         remove bogus lines setting zmacs_region_stays to 0.
8763         
8764 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8765
8766         * process-unix.c (unix_open_network_stream): If connect() fails
8767         invalidate file descriptor after closing it.
8768
8769 2001-03-08  Mike Alexander  <mta@arbortext.com>
8770
8771         * event-msw.c (mswindows_need_event_in_modal_loop):
8772         Don't dispatch a message if we didn't get one.
8773         (mswindows_need_event):
8774         Terminate the correct process when one exits instead of the first
8775         one on Vprocess_list and look for process termination when in
8776         mswindows_protect_modal_loop.
8777
8778 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8779
8780         * XEmacs 21.4.1 "Copyleft" is released.
8781
8782 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8783
8784         * input-method-motif.c (XIM_delete_frame): New callback.
8785         (XIM_init_frame): Register it.
8786
8787 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8788
8789         * XEmacs 21.4.0 "Solid Vapor" is released.
8790
8791 2001-04-15  Ben Wing  <ben@xemacs.org>
8792
8793         * cmdloop.c (call_command_loop):
8794         Fix braino in bit-rotting code.
8795         
8796 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8797
8798         * extents.c (Fset_extent_endpoints): Force creation of extent info
8799         in buffer_or_string.
8800
8801         * extents.c (process_extents_for_insertion_mapper): Correctly
8802         check for open-open zero-length extents.
8803
8804 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8805
8806         * lisp.h: New typedefs Memory_count, Element_count.
8807         * regex.c:
8808         * regex.h:
8809         Sign-compare warning elimination: several unsigned -> signed.
8810         Based on work by Ben Wing <ben@xemacs.org>.
8811
8812 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8813
8814         * XEmacs 21.2.47 "Zephir" is released.
8815
8816 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8817
8818         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8819
8820 2001-04-03  Mike Sperber <mike@xemacs.org>
8821
8822         * search.c: Revert previous patch due because of release.
8823
8824 2001-03-30  Ben Wing  <ben@xemacs.org>
8825
8826         * s\cygwin32.h:
8827         Add missing killpg prototype.
8828
8829         * elhash.c:
8830         Add a comment about fixing problems when a new entry is added
8831         while mapping.
8832
8833         * frame-msw.c (mswindows_init_frame_1):
8834         Fix compile warnings.
8835
8836         * menubar.c (vars_of_menubar):
8837         Provide `menu-accelerator-support' to indicate that we properly
8838         support %_ in menu specifications, so that package code can
8839         conditionalize on this (and remove %_ from menu specifications
8840         on older versions).
8841
8842         * event-msw.c:
8843         * scrollbar-msw.c:
8844         * scrollbar-msw.c (can_scroll):
8845         * scrollbar-msw.h:
8846         Fix handling of mouse wheel under Windows to follow standards --
8847         now scrolls window under pointer, not selected window.
8848
8849 2001-03-31  Mike Sperber <mike@xemacs.org>
8850
8851         * search.c (Freplace_match): Support FSF-style specification of
8852         match subexpression when applied to a buffer.
8853
8854 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8855
8856         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8857         function to modify KEYMAP, so map over a copy of the hash table.
8858
8859 2001-03-21  Martin Buchholz <martin@xemacs.org>
8860
8861         * XEmacs 21.2.46 "Urania" is released.
8862
8863 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8864
8865         * realpath.c (xrealpath): Make file-truename work with symlinks to
8866         /cygdrive paths on cygwin. Always lowercase drive-letters on
8867         native windows.
8868         (cygwin_readlink): Don't try to find canonical filename unless
8869         file exists.
8870
8871 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8872
8873         * ChangeLog: Log GTK merge.
8874
8875         * dumper.c:
8876         * select-x.c:
8877         * specifier.c:
8878         * symeval.h:
8879         Revert gratuitous whitespace changes from GTK merge.
8880
8881         * emacs.c: Document end of complex #ifdef @ l. 1495.
8882
8883
8884 2001-03-12  Andy Piper  <andy@xemacs.org>
8885
8886         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8887         have to do likewise.
8888
8889 2001-03-12  Andy Piper  <andy@xemacs.org>
8890
8891         * sysdep.c: we only support mingw now.
8892
8893 2001-03-09  Andy Piper  <andy@xemacs.org>
8894
8895         * unexcw.c (copy_executable_and_dump_data_section): making approx
8896         overrun a warning only.
8897
8898 2001-03-10  William M. Perry  <wmperry@aventail.com>
8899
8900         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8901         satisfy Stephen's identical-after-cpp plea.
8902
8903 2001-03-02  Ben Wing  <ben@xemacs.org>
8904
8905         * cmds.c:
8906         * cmds.c (Fforward_char):
8907         * syntax.c:
8908         * window.c:
8909
8910         Augment documentation of the most common motion commands to make
8911         note of the shifted-motion support.
8912         
8913 2001-03-02  Ben Wing  <ben@xemacs.org>
8914
8915         * nt.c (mswindows_fstat):
8916         * nt.c (mswindows_stat):
8917         * search.c (boyer_moore):
8918         Fix compile warnings under Windows.
8919         
8920         * sysdep.c (sys_readdir):
8921         Fix buggy filename-conversion code under Mule.
8922
8923 2001-03-09  William M. Perry  <wmperry@aventail.com>
8924
8925         * Makefile.in.in:
8926         * config.h.in:
8927         * console.c:
8928         * console.h:
8929         * device.c:
8930         * device.h:
8931         * dragdrop.c:
8932         * emacs.c:
8933         * event-stream.c:
8934         * events.c:
8935         * events.h:
8936         * faces.c:
8937         * frame.h:
8938         * general-slots.h:
8939         * glyphs.c:
8940         * gutter.c:
8941         * inline.c:
8942         * lisp.h:
8943         * lrecord.h:
8944         * make-src-depend:
8945         * redisplay-output.c:
8946         * redisplay.c:
8947         * symsinit.h:
8948         * sysfile.h:
8949         * toolbar.c:
8950         * window.c:
8951         The Great GTK Merge.
8952
8953         * ChangeLog.GTK:
8954         * console-gtk.c:
8955         * console-gtk.h:
8956         * device-gtk.c:
8957         * emacs-marshals.c:
8958         * emacs-widget-accessors.c:
8959         * event-gtk.c:
8960         * frame-gtk.c:
8961         * gccache-gtk.c:
8962         * gccache-gtk.h:
8963         * glade.c:
8964         * glyphs-gtk.c:
8965         * glyphs-gtk.h:
8966         * gtk-glue.c:
8967         * gtk-xemacs.c:
8968         * gtk-xemacs.h:
8969         * gui-gtk.c:
8970         * gui-gtk.h:
8971         * menubar-gtk.c:
8972         * native-gtk-toolbar.c:
8973         * objects-gtk.c:
8974         * objects-gtk.h:
8975         * redisplay-gtk.c:
8976         * scrollbar-gtk.c:
8977         * scrollbar-gtk.h:
8978         * select-gtk.c:
8979         * toolbar-gtk.c:
8980         * ui-byhand.c:
8981         * ui-gtk.c:
8982         * ui-gtk.h:
8983         The Great GTK Merge: new files.
8984
8985 2001-02-26  Ben Wing  <ben@xemacs.org>
8986
8987         Reapplied Lstream change.
8988
8989 2001-02-26  Ben Wing  <ben@xemacs.org>
8990
8991         Undid the last change, since it is more controversial than I
8992         thought.  It should be back in at some point soon.
8993         
8994 2001-02-25  Ben Wing  <ben@xemacs.org>
8995
8996         * buffer.c:
8997         * callproc.c (Fold_call_process_internal):
8998         * event-msw.c (ntpipe_slurp_reader):
8999         * event-msw.c (ntpipe_shove_writer):
9000         * event-msw.c (winsock_reader):
9001         * event-msw.c (winsock_writer):
9002         * file-coding.c:
9003         * file-coding.c (detect_eol_type):
9004         * file-coding.c (detect_coding_type):
9005         * file-coding.c (determine_real_coding_system):
9006         * file-coding.c (Fdetect_coding_region):
9007         * file-coding.c (decoding_reader):
9008         * file-coding.c (decoding_writer):
9009         * file-coding.c (mule_decode):
9010         * file-coding.c (Fdecode_coding_region):
9011         * file-coding.c (encoding_reader):
9012         * file-coding.c (encoding_writer):
9013         * file-coding.c (mule_encode):
9014         * file-coding.c (Fencode_coding_region):
9015         * file-coding.c (detect_coding_sjis):
9016         * file-coding.c (decode_coding_sjis):
9017         * file-coding.c (encode_coding_sjis):
9018         * file-coding.c (detect_coding_big5):
9019         * file-coding.c (decode_coding_big5):
9020         * file-coding.c (encode_coding_big5):
9021         * file-coding.c (detect_coding_ucs4):
9022         * file-coding.c (decode_coding_ucs4):
9023         * file-coding.c (encode_coding_ucs4):
9024         * file-coding.c (detect_coding_utf8):
9025         * file-coding.c (decode_coding_utf8):
9026         * file-coding.c (encode_coding_utf8):
9027         * file-coding.c (detect_coding_iso2022):
9028         * file-coding.c (decode_coding_iso2022):
9029         * file-coding.c (encode_coding_iso2022):
9030         * file-coding.c (decode_coding_no_conversion):
9031         * file-coding.c (encode_coding_no_conversion):
9032         * glyphs-x.c (write_lisp_string_to_temp_file):
9033         * gpmevent.c (tty_get_foreign_selection):
9034         * lisp.h:
9035         * lstream.c:
9036         * lstream.c (Lstream_flush_out):
9037         * lstream.c (Lstream_adding):
9038         * lstream.c (Lstream_write_1):
9039         * lstream.c (Lstream_write):
9040         * lstream.c (Lstream_raw_read):
9041         * lstream.c (Lstream_read_more):
9042         * lstream.c (Lstream_read):
9043         * lstream.c (Lstream_unread):
9044         * lstream.c (Lstream_fputc):
9045         * lstream.c (stdio_reader):
9046         * lstream.c (stdio_writer):
9047         * lstream.c (filedesc_reader):
9048         * lstream.c (filedesc_writer):
9049         * lstream.c (lisp_string_reader):
9050         * lstream.c (struct fixed_buffer_stream):
9051         * lstream.c (make_fixed_buffer_input_stream):
9052         * lstream.c (make_fixed_buffer_output_stream):
9053         * lstream.c (fixed_buffer_reader):
9054         * lstream.c (fixed_buffer_writer):
9055         * lstream.c (struct resizing_buffer_stream):
9056         * lstream.c (resizing_buffer_writer):
9057         * lstream.c (dynarr_writer):
9058         * lstream.c (lisp_buffer_reader):
9059         * lstream.c (lisp_buffer_writer):
9060         * lstream.h:
9061         * lstream.h (lstream_implementation):
9062         * lstream.h (struct lstream):
9063         * md5.c (Fmd5):
9064         * process-nt.c (nt_send_process):
9065         * process-unix.c (unix_send_process):
9066         
9067         Correct Lstream lossage due to mixing of signed and unsigned
9068         quantities.  All Lstream uses of size_t and ssize_t are now a
9069         single signed data type Lstream_data_count.  This fixes problems
9070         under Windows with sending large quantities of data to a process,
9071         and may well fix other subtle bugs.
9072
9073 2001-02-23  Martin Buchholz <martin@xemacs.org>
9074
9075         * XEmacs 21.2.45 "Thelxepeia" is released.
9076
9077 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9078
9079         * lisp-union.h (XSETINT): 
9080         (XSETCHAR):
9081         (XSETOBJ): 
9082         Reverse previous change of 2001-02-06.
9083
9084 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9085
9086         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9087         buffers.
9088         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9089         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9090         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9091         * regex.c (POS_AS_IN_BUFFER): removed
9092         * regex.c (re_search_2):
9093         * regex.c (re_match_2):
9094         Don't use an offset of 1 when calculating buffer positions, since
9095         `BI_BUF_BEGV' does it already.
9096
9097 2001-02-18  Wim Dumon  <wim@easics.be>
9098
9099         * insdel.c (prepare_to_modify_buffer): Also check for
9100         supersession when clash-detection is enabled. 
9101
9102 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9103
9104         * regex.c (re_match_2_internal):
9105         Convert temp characters from 'const unsigned char' to 're_char'.
9106         Fix crashing bug with extended characters under mule.
9107         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9108         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9109         font-lock, pdump, and new syntax-table code.
9110         * syntax.c (find_start_of_comment):
9111         (find_end_of_comment):
9112         (forward-comment):
9113         Fix crashing bugs involving moving beyond end of buffer.
9114         * syntax.c (find_start_of_comment):
9115         Fixed logic to allow proper detection of cases where the same
9116         character is used to end both a two-char comment start and a
9117         two-char comment end sequence. Fixes `(forward-comment -1)'.
9118         * syntax.c (find_start_of_comment):
9119         Return position just past last comment-end character for all cases
9120         (previously was only done for two-char comment-end sequences).
9121         * syntax.c (forward-comment):
9122         Take value returned from `find_end_of_comment', rather than
9123         incrementing it.
9124         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9125         Properly deal with BUFFERP (syntax_cache.object)
9126
9127 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9128
9129         * alloc.c (Fgarbage_collect): 
9130         * alloc.c (make_bit_vector_from_byte_vector):
9131         -Wsign-compare-correctness.
9132
9133 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9134
9135         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9136         (XSETCHAR): Likewise.
9137         (XSETOBJ): Likewise.
9138
9139 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9140
9141         * mule-canna.c (canna-func-delete_previous): 
9142         Rename to canna-func-delete-previous.
9143
9144 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9145
9146         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9147
9148 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9149
9150         * font-lock.c (find_context): Fix C++ compile errors introduced by
9151         recent patch
9152
9153 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9154
9155         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9156         pragma, but earlier ones barf on the same pragma.
9157
9158 2001-02-06  Mike Sperber <mike@xemacs.org>
9159
9160         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9161         `configure-mule-lisp-directory'.
9162
9163 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9164
9165         Make sure dump-id.c is compiled in the same way as other .c's.
9166         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9167         * dump-id.h: Remove.
9168         * emacs.c: Move dump-id.h into dumper.h.
9169         * dumper.h: Move dump-id.h into dumper.h.
9170         * Makefile.in.in:
9171         Use standard .c.o rule for building dump-id.o.
9172         Remove preprocessor flags from link command.
9173         Add dump-id.o to ${otherobjs} if PDUMP.
9174
9175 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9176
9177         Port FSF 20.7 syntax table improvements.
9178         * syntax.c.
9179         * syntax.h.
9180
9181         Fixups for new syntax table stuff.
9182         * dired.c: Include syntax.c.
9183         (Fdirectory_files): Initialize regex_match_object and
9184         regex_emacs_buffer.
9185         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9186         and Fget_char_property.
9187
9188         Use ported FSF 20.7 syntax table improvements.
9189         * font-lock.c.
9190         * regex.c.
9191         * search.c.
9192         
9193 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9194
9195         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9196         Unixware's enum boolean from sys/types.h.
9197
9198 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9199
9200         Fix support for building with latest Purify.
9201         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9202         (PURIFY_FLAGS): Likewise.
9203
9204 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9205
9206         * fileio.c (lisp_string_set_file_times): New.
9207         * fileio.c (Fcopy_file): Use it.
9208         Fixes bug:
9209         (copy-file filename non-ascii-filename t t)
9210         ==> No such file or directory, non-ascii-filename
9211
9212 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9213
9214         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9215         USHRT_MAX seems clearer than ~0 anyways.
9216
9217 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9218
9219         dumper improvements.  Inspired by Olivier.
9220         * dumper.c (pdump_max_align): New.
9221         * dumper.c (pdump_add_entry): Use pdump_max_align.
9222         * dumper.c (pdump_get_entry_list): Likewise.
9223         * dumper.c (pdump_scan_by_alignment): Likewise.
9224         Don't iterate through unnecessary alignments.
9225         * dumper.c (pdump_file_get): No need to align result of malloc().
9226         * dumper.c (pdump_mallocadr): Remove.  
9227         The result of malloc() is guaranteed to be maximally aligned.
9228         * dumper.c: s/elmt/elt/g;
9229         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9230         * dumper.c (pdump_alert_undump_object): Likewise.
9231         * dumper.c (pdump_align_table): 
9232         Don't support alignments > 64.
9233         Store ALIGNOF's, not shift counts, in table.
9234
9235 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9236
9237         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9238         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9239         * systime.h: Use HAVE_UTIME.
9240         * sysdep.c (struct utimbuf): Remove.
9241         * sysdep.c (set_file_times): Prefer utime() to utimes().
9242         * config.h.in (HAVE_UTIME): New.
9243         * config.h.in (HAVE_UTIME_H): Remove.
9244         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9245
9246 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9247
9248         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9249
9250 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9251
9252         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9253
9254 2001-02-08  Martin Buchholz <martin@xemacs.org>
9255
9256         * XEmacs 21.2.44 "Thalia" is released.
9257
9258 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9259
9260         Fixes crashes in kill-emacs on some systems.
9261         * process-unix.c (unix_kill_child_process):
9262         It's OK for kill() to fail with ESRCH.
9263
9264 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9265
9266         Contortions to make .gdbinit tricks work on most systems.
9267         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9268         * alloc.c (dbg_valmask): Make non-const.
9269         * alloc.c (dbg_typemask): Make non-const.
9270         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9271         * alloc.c (dbg_valbits): Make non-const.
9272         * alloc.c (dbg_gctypebits): Make non-const.
9273         * .gdbinit (decode_object): Make it work with AIX cc.
9274
9275 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9276
9277         * elhash.c (make_general_lisp_hash_table):
9278         Use simpler and more efficient calloc to clear entries.
9279
9280 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9281
9282         * window.c (window_scroll): Work around an AIX C compiler bug.
9283         Fixes 'scroll-up' does nothing problem with xlC.
9284
9285 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9286
9287         * .gdbinit: Remove obsolete comment.
9288
9289 2001-01-31  Mike Alexander  <mta@arbortext.com>
9290
9291         * select.c (Fown_selection_internal): Set owned_p for device
9292         method correctly.
9293
9294 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9295
9296         Port to g++ 2.97.
9297         "not" cannot be used as a macro name as it is an operator in C++
9298         * config.h.in: Stop #defining `not'.
9299         * chartab.c (check_category_char): not ==> not_p
9300         * chartab.h: Likewise.
9301         * regex.c (re_match_2_internal): Likewise.
9302
9303 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9304
9305         * lisp-disunion.h: Fix up comments.
9306
9307 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9308
9309         * keymap.c (define_key_check_and_coerce_keysym):
9310         (syms_of_keymap):
9311         Support mouse-6 and mouse-7 bindings in the obvious way.
9312
9313 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9314
9315         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9316
9317 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9318
9319         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9320         Previous patch missed DEFVAR_INT_MAGIC.
9321         Make sure future DEFVAR_foo use correct types.
9322         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9323         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9324         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9325         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9326         * (DEFVAR_INT): Likewise.
9327         * redisplay.c (vertical_clip): Should be of type Fixnum.
9328         * redisplay.c (horizontal_clip): Likewise.
9329         * lisp.h (dump_add_opaque_int): New.
9330         (dump_add_opaque_fixnum): New.
9331
9332 2001-01-29  Andy Piper  <andy@xemacs.org>
9333
9334         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9335         since they can be eval'ed
9336
9337 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9338
9339         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9340         Oops, XEmacs redefines `class'.  Use `typename' instead.
9341
9342 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9343
9344         * dumper.c: Fix C++ compile errors.
9345
9346 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9347
9348         * tparam.c: Use correct prototypes.
9349
9350 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9351
9352         * sysproc.h: #include util.h for NetBSD's openpty.
9353
9354 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9355
9356         More 64-bit correctness.
9357         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9358         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9359         Fix up comments.
9360         This finally finishes the 64-bit SGI port.
9361         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9362         * symbols.c: Fix up comments and type casts.
9363         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9364         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9365         * symeval.h (Fixnum): New type.
9366         * symeval.h (symbol_value_type): Fix up comment.
9367
9368         * commands.h:
9369         * nt.c:
9370         * emacs.c:
9371         * data.c:
9372         * redisplay.c:
9373         * abbrev.c:
9374         * dired-msw.c:
9375         * event-Xt.c:
9376         * eldap.c:
9377         * window.c:
9378         * sound.c:
9379         * event-stream.c:
9380         * eval.c:
9381         * buffer.c:
9382         * mule-canna.c: A million DEFVAR_INTs here...
9383         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9384         * extents.c:
9385         * cmdloop.c:
9386         * lisp.h:
9387         * select-x.c:
9388         * console-x.h:
9389         * event-msw.c:
9390         * mule-wnnfns.c:
9391         * hpplay.c:
9392         * ralloc.c:
9393         * alloc.c:
9394         * keymap.c:
9395         * profile.c:
9396         s/int/Fixnum/g in DEFVAR_INT declarations.
9397
9398 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9399
9400         Port pdump to SGI alignment-sensitive environment.
9401         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9402         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9403         properly aligned.
9404         Define and use aligned reading and writing macros.
9405         Use buffered stdio instead of posix i/o for faster dumping.
9406         Eliminate kludgy 256 byte space for header.
9407         Read and write from dump file using structs for alignment safety.
9408         * dumper.c (pdump_align_stream): New.
9409         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9410         * dumper.c (PDUMP_READ_ALIGNED): New.
9411         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9412         * dumper.c (pdump_static_Lisp_Object): New struct.
9413         * dumper.c (pdump_static_pointer): New struct.
9414         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9415         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9416         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9417         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9418
9419         * dumper.c (pdump_backtrace):
9420         * dumper.c (pdump_get_indirect_count):
9421         * dumper.c (pdump_register_object):
9422         * dumper.c (pdump_register_struct):
9423         * dumper.c (pdump_reloc_one):
9424         * dumper.c (pdump_scan_by_alignment):
9425         * dumper.c (pdump_dump_from_root_struct_ptrs):
9426         * dumper.c (pdump_dump_opaques):
9427         * dumper.c (pdump_dump_rtables):
9428         * dumper.c (pdump_dump_from_root_objects):
9429         * dumper.c (pdump):
9430         * dumper.c (pdump_load_finish):
9431         Use aligned reading and writing.
9432
9433         * dumper.c (pdump_free): Make static.
9434         * dumper.c (pdump_hFile): Likewise.
9435         * dumper.c (pdump_hMap): Likewise.
9436
9437 2001-01-26  Martin Buchholz <martin@xemacs.org>
9438
9439         * XEmacs 21.2.43 "Terspichore" is released.
9440
9441 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9442
9443         Type fiddling for window_config.saved_windows_count
9444         * window.c (struct window_config): 
9445         Make saved_windows_count member unsigned.
9446         * window.c (sizeof_window_config_for_n_windows): 
9447         Make parameter unsigned.
9448         * window.c (mark_window_config):
9449         * window.c (window_config_equal):
9450         * window.c (free_window_configuration):
9451         * window.c (Fset_window_configuration):
9452         * window.c (count_windows):
9453         * window.c (Fcurrent_window_configuration):
9454         * window.c (reinit_vars_of_window):
9455         Update all callers and users.
9456
9457 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9458
9459         Alignment correctness for flexible arrays.
9460         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9461         Make alignment-correct. Add interesting comments.
9462         * alloc.c (size_vector):
9463         * alloc.c (make_vector_internal):
9464         * alloc.c (make_bit_vector_internal):
9465         * alloc.c (sweep_bit_vectors_1):
9466         * fns.c (size_bit_vector):
9467         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9468         * window.c (sizeof_window_config_for_n_windows): 
9469         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9470
9471 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9472
9473         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9474
9475 2001-01-23  Andy Piper  <andy@xemacs.org>
9476
9477         * select.c (Fown_selection_internal): pass owned_p
9478
9479         * select-msw.c (mswindows_own_selection): New Signature.
9480
9481         * console.h (struct console_methods): add owned_p to
9482         _own_selection.
9483
9484         * select-x.c (x_own_selection): pass owned_p
9485         (hack_motif_clipboard_selection): use owned_p
9486         (vars_of_select_x): new variable -
9487         x_selection_strict_motif_ownership.
9488
9489 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9490
9491         * specifier.h (specifier_data_offset): Remove pointless parens.
9492         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9493
9494 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9495
9496         Make Lisp_Object sizeof methods be alignment-correct.
9497         pdump must restore objects to the same alignment as the C compiler
9498         assumes.  It really matters on SGIs.
9499         * lstream.c (aligned_sizeof_lstream): New.
9500         (sizeof_lstream): Use aligned_sizeof_lstream.
9501         (Lstream_new): Likewise.
9502         * opaque.c (aligned_sizeof_opaque): New.
9503         (sizeof_opaque): Use aligned_sizeof_opaque.
9504         (make_opaque): Likewise.
9505         * specifier.c (aligned_sizeof_specifier): New.
9506         (sizeof_specifier): Use aligned_sizeof_specifier.
9507         (make_specifier_internal): Likewise.
9508
9509 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9510
9511         * lstream.h (struct lstream): Use max_align_t for trailing data.
9512         * specifier.h (struct Lisp_Specifier): Likewise.
9513
9514 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9515
9516         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9517         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9518         (CCL_SUSPEND): Likewise.
9519         (CCL_INVALID_CMD): Likewise.
9520         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9521         (ccl_driver): Likewise.
9522         (CCL_WRITE_CHAR): Macro hygiene.
9523         (CCL_WRITE_STRING): Macro hygiene.
9524
9525 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9526
9527         Port "portable" dumper to SunOS 4 and HP-UX.
9528         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9529         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9530         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9531
9532 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9533
9534         * lisp.h (ALIGNOF): A better definition for C++.
9535
9536 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9537
9538         Macro hygiene.
9539         Fix printf warnings: int format, long int arg.
9540         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9541         (PUSH_FAILURE_POINT): Use correct printf formats.
9542         (POP_FAILURE_POINT): Use correct printf formats.  
9543         Use do {...} while (0)
9544
9545 2001-01-20  Martin Buchholz <martin@xemacs.org>
9546
9547         * XEmacs 21.2.42 "Poseidon" is released.
9548
9549 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9550
9551         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9552
9553 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9554
9555         De-kludgify FIXED_TYPE free list frobbing.
9556         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9557         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9558         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9559         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9560         * alloc.c (LRECORD_FREE_P): New.
9561         * alloc.c (MARK_LRECORD_AS_FREE): New.
9562         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9563         * alloc.c (STRUCT_FREE_P): Deleted.
9564         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9565         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9566         * alloc.c (STRING_CHARS_FREE_P): New.
9567         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9568         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9569         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9570         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9571         * alloc.c (resize_string): Use new definitions.
9572         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9573         * alloc.c (verify_string_chars_integrity): Use new definitions.
9574         * alloc.c (compact_string_chars): Use new definitions.
9575         * alloc.c: Update monster comments.
9576         * lrecord.h (lrecord_type): Add some new lrecord types for
9577         alloc.c's use.
9578
9579 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9580
9581         Improve alignment hackery.
9582         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9583         (max_align_t): Moved from opaque.h - general purpose.
9584         (ALIGN_PTR): Use size_t, not long.
9585         * opaque.h (max_align_t): Move to lisp.h.
9586
9587 2001-01-18  Norbert Koch  <nk@LF.net>
9588
9589         * gui.h: Fix and add prototypes to fix build problems.
9590
9591 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9592
9593         temacs is going away, so `dump-temacs' is now a bad name.
9594         * .dbxrc (dump-temacs): Rename to `dmp'.
9595         * .gdbinit (dump-temacs): Rename to `dmp'.
9596
9597 2001-01-17  Andy Piper  <andy@xemacs.org>
9598
9599         * glyphs.c (print_image_instance): comment to make martin happy.
9600
9601         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9602         change.
9603
9604         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9605         activation.
9606         (mswindows_tab_control_redisplay): warning suppression.
9607
9608         * glyphs-widget.c (widget_update): re-write to cope with updated
9609         items.
9610         (widget_instantiate): use new gui_item functions.
9611         (tab_control_update): deleted.
9612         (progress_gauge_update): deleted.
9613         (image_instantiator_progress_guage): take out update reference.
9614         (image_instantiator_tree_view): ditto.
9615         (image_instantiator_tab_control): ditto.
9616
9617         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9618         Right the new way.
9619         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9620         return whether anything was changed.
9621         (update_gui_item_keywords): as it sounds.
9622
9623         * gui.h: declare widget_gui_parse_item_keywords.
9624
9625         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9626         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9627
9628 2001-01-17  Martin Buchholz <martin@xemacs.org>
9629
9630         * XEmacs 21.2.41 "Polyhymnia" is released.
9631
9632 2001-01-16  Didier Verna  <didier@xemacs.org>
9633
9634         * glyphs.c (image_instantiate): don't use fallbacks when
9635         instantiating a face's background pixmap by inheritance.
9636
9637 2001-01-14  Mike Sperber <mike@xemacs.org>
9638
9639         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9640         Conditionalize accordingly.
9641
9642 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9643
9644         * dumper.c (pdump_file_get): Fix a compiler warning.
9645
9646 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9647
9648         Make Purify happy when pdumping.
9649         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9650         iniitalizing all bits of new lisp object memory.
9651         * symbols.c (Fmake_local_variable): Likewise.
9652         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9653         * symbols.c (Fdefvaralias): Likewise.
9654         * mule-charset.c (vars_of_mule_charset): Likewise.
9655
9656 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9657         Add the `-nd' flag when running pre-dump operations under the debugger.
9658         * .dbxrc (run-temacs): Add `-nd'.
9659         * .dbxrc (update-elc): Likewise.
9660         * .dbxrc (dump-temacs): Likewise.
9661         * .gdbinit (run-temacs): Likewise.
9662         * .gdbinit (check-temacs): Likewise.
9663         * .gdbinit (update-elc): Likewise.
9664         * .gdbinit (dump-temacs): Likewise.
9665
9666 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9667
9668         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9669         export OBJECT_MODE=64
9670         configure --pdump --use-union-type=no
9671         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9672         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9673
9674         * miscplay.c (sndcnv8U_2mono):
9675         Avoid two uses of `++' in the same expression.
9676         Suppresses a GCC warning.
9677
9678 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9679
9680         Make sure future compilers don't miscompile alloc.c.
9681         * alloc.c:
9682         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9683         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9684
9685 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9686
9687         * dumper.c: A little post-pdump-rename comment fixup.
9688
9689 2001-01-09  Jerry James  <james@eecs.ku.edu>
9690
9691         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9692
9693 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9694
9695         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9696         script:
9697         #!/bin/sh
9698         replace_symbol () {
9699           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9700         }
9701
9702         replace_symbol pdump_wire_lists pdump_weak_object_chains
9703         replace_symbol pdump_wire_list dump_add_weak_object_chain
9704
9705         replace_symbol pdump_wires pdump_root_objects
9706         replace_symbol pdump_wire dump_add_root_object
9707
9708         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9709         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9710
9711         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9712         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9713         replace_symbol dumpstructinfo pdump_root_struct_ptr
9714         replace_symbol dumpstruct dump_add_root_struct_ptr
9715
9716         replace_symbol dumpopaque dump_add_opaque
9717         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9718         replace_symbol dumpopaqueinfos pdump_opaques
9719         replace_symbol dumpopaqueinfo pdump_opaque
9720
9721         replace_symbol nb_structdump nb_root_struct_ptrs
9722         replace_symbol nb_opaquedump nb_opaques
9723
9724         replace_symbol align_table pdump_align_table
9725         replace_symbol dump_header pdump_header
9726
9727         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9728         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9729
9730
9731 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9732
9733         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9734         optimizing bytecount_to_charcount().
9735
9736 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9737
9738         * config.h.in:
9739         (HAVE_DLFCN_H): Removed.
9740         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9741
9742 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9743
9744         Portable dumper maintainability improvements.
9745         * alloc.c (staticpro):
9746         * alloc.c (staticpro_nodump):
9747         * alloc.c (garbage_collect_1):
9748         * alloc.c (reinit_alloc_once_early):
9749         * alloc.c (init_alloc_once_early):
9750         * alloc.c: Move dumper functions to alloc.c.
9751         * dumper.c (pdump_backtrace):
9752         * dumper.c (pdump_dump_structs):
9753         * dumper.c (pdump_dump_opaques):
9754         * dumper.c (pdump_dump_rtables):
9755         * dumper.c (pdump_dump_wired):
9756         * dumper.c (pdump):
9757         * dumper.c (pdump_load_check):
9758         * dumper.c (pdump_load_finish):
9759         * dumper.c (pdump_file_unmap):
9760         * dumper.c (pdump_file_get):
9761         * dumper.c (pdump_resource_free):
9762         * dumper.c (pdump_resource_get):
9763         * dumper.c (pdump_file_free):
9764         * dumper.c (pdump_file_try):
9765         * dumper.c (pdump_load):
9766         Remove fixed size limits on staticpro(), staticpro_nodump(),
9767         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9768         Remove custom code for dumping lrecord_implementations_table - use
9769         dumpopaque instead.
9770         Remove (most of the) custom code for dumping staticpros - dump it
9771         like any other dynarr.
9772
9773         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9774         * dumper.c: Moved functions from alloc.c.
9775         * alloc.c (dumpstruct): Moved to dumper.c.
9776         * alloc.c (dumpopaque): Likewise.
9777         * alloc.c (pdump_wire): Likewise.
9778         * alloc.c (pdump_wire_list): Likewise.
9779
9780         * lisp.h (Dynarr_sizeof): New.
9781         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9782         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9783         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9784
9785         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9786         * lisp.h (dumpopaque): ditto.
9787         * lisp.h (pdump_wire): ditto.
9788         * lisp.h (pdump_wire_list): ditto.
9789
9790 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9791
9792         * make-src-depend (PrintPatternDeps):
9793         Use `sort' to make output independent of perl version.
9794
9795 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9796
9797         Port to Netbsd 1.5.
9798         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9799         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9800
9801 2001-01-03  Didier Verna  <didier@xemacs.org>
9802
9803         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9804         that `focus_frame' is alive before thinking of calling
9805         `redisplay_redraw_cursor' on it.
9806
9807 2001-01-08  Martin Buchholz <martin@xemacs.org>
9808
9809         * XEmacs 21.2.40 is released.
9810
9811 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9812
9813         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9814
9815 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9816
9817         * alloc.c (dbg_valmask): Make const.
9818         * alloc.c (dbg_typemask): Make const.
9819         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9820         * alloc.c (dbg_valbits): Make const.
9821         * alloc.c (dbg_gctypebits): Make const.
9822
9823 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9824
9825         * redisplay-x.c (x_bevel_area):
9826         redisplay.h (struct rune):
9827         Typo fixes in comments.
9828
9829 2001-01-05  Andy Piper  <andy@xemacs.org>
9830
9831         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9832         adjustment.
9833
9834         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9835
9836 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9837
9838         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9839
9840         * mule-ccl.c (stack_idx_of_map_multiple):
9841         Non const global data must not be initialized!
9842         Found by MIYASHITA Hisashi.
9843
9844 2001-01-02  Andy Piper  <andy@xemacs.org>
9845
9846         * frame.c (change_frame_size): make sure frame size is always
9847         marked as changed.
9848
9849         * glyphs.c (image_instance_layout): minor code reuse.
9850
9851         * window.c (Fcurrent_window_configuration): revert previous
9852         change.
9853
9854 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9855
9856         * glyphs.h:
9857         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9858
9859 2000-12-31  Andy Piper  <andy@xemacs.org>
9860
9861         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9862         when widget gets unmapped.
9863
9864         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9865         function. Make sure widgets losing focus don't just drop it.
9866         (handle_focus_event_1): record the widget with focus.
9867
9868 2000-12-31  Andy Piper  <andy@xemacs.org>
9869
9870         * window.c (allocate_window): use
9871         make_image_instance_cache_hash_table.
9872         (make_dummy_parent): ditto.
9873         (Fset_window_configuration): ditto.
9874
9875         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9876
9877         * glyphs.c (process_image_string_instantiator): use
9878         INSTANTIATOR_TYPE.
9879         (get_image_instantiator_governing_domain): ditto.
9880         (normalize_image_instantiator): ditto.
9881         (instantiate_image_instantiator): ditto.
9882         (make_image_instance_1): ditto.
9883         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9884         (instantiator_eq_equal): new function for use with instance hash
9885         tables.
9886         (instantiator_eq_hash): ditto.
9887         (make_image_instance_cache_hash_table): create a suitable hash
9888         table for storing image instances.
9889
9890         * elhash.h (hash_table_weakness): new internal weakness type
9891         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9892         declare new functions.
9893
9894         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9895         another weakness type for glyphs.
9896         (make_standard_lisp_hash_table): new function split out from
9897         make_general_lisp_hash_table.
9898         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9899         (hash_table_instantiate): ditto.
9900         (Fmake_hash_table): ditto.
9901
9902 2000-12-31  Martin Buchholz <martin@xemacs.org>
9903
9904         * XEmacs 21.2.39 is released.
9905
9906 2000-12-29  Andy Piper  <andy@xemacs.org>
9907
9908         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9909
9910         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9911         the frame has changed so that we pick up geometry changes such as
9912         menubar visibility.
9913
9914 2000-12-28  Andy Piper  <andy@xemacs.org>
9915
9916         * lastfile.c (my_ebss): make a char array so we can pad the
9917         bss. Fixes cygwin unexec.
9918
9919         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9920
9921 2000-12-26  Andy Piper  <andy@xemacs.org>
9922
9923         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9924         comments and try and be more precise about a non-/SIGIO world.
9925         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9926         SIGIO.
9927
9928         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9929         we don't normalize to zero width or height.
9930
9931 2000-12-24  Andy Piper  <andy@xemacs.org>
9932
9933         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9934
9935 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9936
9937         * s/sco5.h: SCO 5 has pty support.
9938
9939 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9940
9941         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9942         input-method-xlib.c contains whole contents of input-method-xfs.c,
9943         so we can use input-method-xlib.c's code for USE_XFONTSET
9944         using #ifdefs.
9945         * input-method-xfs.c: removed.
9946
9947 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9948
9949         * file-coding.h (enum coding_category_type): reorder enumerators to
9950         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9951         (now one greater than largest real coding_category_type enumerator).
9952         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9953         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9954         Fcoding_category_list, Fset_coding_priority_list,
9955         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9956         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9957
9958 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9959
9960         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9961         * redisplay-output.c (redisplay_output_window): Clear top of window
9962         when face is changed.
9963         * redisplay-x.c (x_redraw_exposed_window): Call
9964         redisplay_clear_top_of_window.
9965         * redisplay.h: Publish redisplay_clear_top_of_window.
9966
9967 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9968
9969         * buffer.c (Fkill_buffer): Map over all devices.
9970         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9971         (list_windows): New function.
9972         (list_all_windows): Ditto.
9973         (Freplace_buffer_in_windows): Use them.
9974
9975 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9976
9977         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9978         (Fopen_database): Use `db_create' instead of `db_open'.
9979         (syms_of_database): Initialize Qqueue.
9980
9981 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9982
9983         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9984         buffer_local_face_property.
9985         * buffer.h (struct buffer): New member buffer_local_face_property.
9986         * window.c (Fset_window_buffer):  Mark window's face as changed
9987         when buffer has buffer local face.
9988         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9989         * objects.c (color_after_change): Set buffer_local_face_property
9990         when locale of face specifier is buffer.
9991         * objects.c (font_after_change): Ditto.
9992         * objects.c (face_boolean_after_change): Ditto.
9993         * glyphs.c (image_after_change): Ditto.
9994
9995 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9996
9997         * nt.c (mswindows_fstat): Report file permissions, volume serial
9998         number, etc. Code adapted from FSF Emacs 20.7.
9999
10000 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10001
10002         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10003         of stat when we don't have symbolic links, to make sure
10004         mswindows_stat is called on mswindows.
10005
10006 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10007
10008         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10009
10010 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10011
10012         * doprnt.c (emacs_doprnt_1): More printing fixes.
10013         Make printing of numbers compatible with libc and FSF Emacs.
10014         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10015         Use the system printf to do most of the hard work of formatting,
10016         instead of doprnt_1().
10017         Calculate memory to allocate for format string.
10018         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10019         (doprnt_1): Cleaner code and documentation.
10020
10021 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10022
10023         * Makefile.in.in: Use the loop variable to install headers.
10024
10025 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10026
10027         * window.c (Fsplit_window): Don't invalidate face cache.
10028
10029 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10030
10031         * minibuf.c (Fall_completions): Undo the previous change
10032         which removed checking elements start with space.
10033
10034 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10035
10036         * mule-canna.c: Didier suppression.
10037
10038 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10039
10040         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10041         (warning suppression).  Add English comment translations.
10042
10043 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10044
10045         * unexelfsgi.c (unexec): Better test for mmap failure.
10046
10047 2000-12-05  Martin Buchholz <martin@xemacs.org>
10048
10049         * XEmacs 21.2.38 is released.
10050
10051 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10052
10053         * redisplay.c (bar-cursor): Make a user variable.
10054
10055         * symsinit.h: Add init_postgresql_from_environment.
10056
10057 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10058
10059         * regex.c: Convert to clean C.
10060
10061 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10062
10063         * realpath.c:
10064         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10065         initialization.
10066         (sys_readlink): renamed to system_readlink to avoid conflict with
10067         the other sys_readlink.
10068
10069 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10070
10071         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10072
10073 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10074
10075         * postgresql.c (init_postgresql_from_environment): new function.
10076         (vars_of_postgresql): Move code initializing Lisp variables out and
10077         into init_postgresql_from_environment.
10078         emacs.c (main_1): Call init_postgresql_from_environment if and only
10079         if running a dumped XEmacs.
10080
10081 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10082
10083         * buffer.c: Make find-file-compare-truenames default to true on
10084         windows.
10085
10086         * realpath.c (win32_abs_start):
10087         (cygwin_readlink):
10088         (win32_readlink): New functions.
10089         (xrealpath): Return really real filenames on windows.
10090
10091         * fileio.c (Ffile_truename): Make file-truename work on windows.
10092
10093 2000-11-29  Didier Verna  <didier@xemacs.org>
10094
10095         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10096         * faces.c (update_face_cachel_data): use it.
10097         * faces.c (add_face_cachel): use it. Complete background pixmap
10098         frobbing in face cache if `update_face_cachel_data' has not done so.
10099
10100 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10101
10102         * search.c (string_match_1): Don't set last_thing_searched
10103         when search failed.
10104
10105 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10106
10107         * buffer.c: Include casetab.h
10108         (common_init_complex_vars_of_buffer): Use new case-table object.
10109         * buffer.h: Include casetab.h
10110         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10111         (DOWNCASE_TABLE_OF): Ditto.
10112         * bufslots.h: Remove char-tables and add case-table.
10113         * casetab.c: Include casetab.h
10114         (CASE_TABLE_P): Removed.
10115         (mark_case_table): New function.
10116         (allocate_case_table): New function.
10117         (Fcase_table_p): Use new case-table.
10118         (case_table_char): New function.
10119         (Fget_case_table): Ditto.
10120         (Fput_case_table): Ditto.
10121         (Fput_case_table_pair): Ditto.
10122         (Fcopy_case_table): Ditto.
10123         (Fcurrent_case_table): Return case-table.
10124         (Fstandard_case_table): Return case-table.
10125         (Fset_case_table): Fix doc-string.
10126         (set_case_table): Use case-table
10127         (syms_of_casetab): DEFSUBR new functions.
10128         (complex_vars_of_casetab): Set up standard case-table.
10129         * casetab.h: New file.
10130         * editfns.c: Include casetab.h
10131         (Fcompare_buffer_substrings): Use case-table.
10132         * inline.c: Include casetab.h
10133         * lisp.h: Remove bogus extern.
10134         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10135         * search.c: Include casetab.h
10136         (TRANSLATE_ASCII): Removed.
10137         (TRANSLATE): Unconditionally translate character.
10138         (looking_at_1): Use case-table.
10139         (string_match_1): Ditto.
10140         (fast_string_match): Ditto.
10141         (search_command): Ditto.
10142         (search_buffer): Separate boyer_moore.  Check whether
10143         boyer_moore is possible.
10144         (simple_search): New function.
10145         (boyer_moore): Separated from search_buffer. Translate char.
10146
10147 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10148
10149         * regex.c (RE_TR_ASCII): Removed.
10150         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10151         (PATFETCH): Call PATFETCH_RAW.
10152         (PATFETCH_RAW): Fetch Emchar.
10153         (PATUNFETCH): Decrement charptr.
10154         (GET_BUFFER_SPACE): Rename b to buf_end.
10155         (BUF_PUSH): Ditto.
10156         (BUF_PUSH_2): Ditto.
10157         (BUF_PUSH_3): Ditto.
10158         (EXTEND_BUFFER): Ditto.
10159         (SET_LIST_BIT): Ditto.
10160         (regex_compile): Ditto.  Translate non ASCII char.
10161         (compile_range): Ditto.
10162         (re_search_2): Ditto.
10163         (re_match_2_internal): Compare Emchar.
10164         (bcmp_translate): Ditto.
10165
10166 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10167
10168         * lisp.h (basic char/int typedefs):  comment improvement.
10169
10170 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10171
10172         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10173         unstomp inhibit_site_lisp.  Improve comments.
10174
10175 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10176
10177         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10178
10179 2000-11-28  Andy Piper  <andy@xemacs.org>
10180
10181         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10182         clipped display for windows in the gutter also.
10183         (redisplay_display_boxes_in_window_p): change semantics of return
10184         codes to be more intuitive.
10185
10186         * gutter.h: declare display_boxes_in_gutter_p.
10187
10188         * gutter.c (display_boxes_in_gutter_p): new function for
10189         redisplay.
10190
10191 2000-11-22  Andy Piper  <andy@xemacs.org>
10192
10193         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10194         autodetect domain.
10195
10196 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10197
10198         * callproc.c (Fold_call_process_internal):
10199         * gpm.c (Freceive_gpm_event):
10200         (tty_get_foreign_selection): Might be just warning supression.
10201         * fileio.c (Fwrite_region_internal):
10202         (Fset_visited_file_modtime):
10203         * keymap.c (event_matches_key_specifier_p):
10204         Initialize GCPROed variable.
10205
10206         * menubar-x.c (command_builder_find_menu_accelerator):
10207         Initialize before use.
10208
10209 2000-11-23  Andy Piper  <andy@xemacs.org>
10210
10211         * unexcw.c (unexec): make the resulting executable executable.
10212
10213 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10214
10215         * doc.c (get_doc_string):
10216         Use size_t, not int, for result of XSTRING_LENGTH.
10217
10218         * cmds.c (Fdelete_char):
10219         * cmds.c (Fpoint_at_eol):
10220         * cmds.c (Fself_insert_command):
10221         Use EMACS_INT, not int, for result of XINT.
10222         Someday, someone will want to insert more than 2**31 identical characters.
10223
10224         * cmds.c (Fdelete_char):
10225         * cmds.c (Fdelete_backward_char):
10226         * syntax.c (Fforward_word):
10227         * syntax.c (Fforward_comment):
10228         Make COUNT argument optional, for consistency with forward-char et al.
10229
10230 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10231
10232         * lisp.h:
10233         * print.c (long_to_string):
10234         Return a useful value: the pointer at end of data written.
10235
10236         * doprnt.c:
10237         Use `static const char * const' for constant strings.
10238         (union printf_arg): Delete `i', `ui' members.
10239         (get_doprnt_args):
10240         (emacs_doprnt_1):
10241         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10242         Do all printf-ing via the `l' specifier.
10243         Use EMACS_INT instead of int.
10244         Optimize.
10245
10246 2000-11-20  Didier Verna  <didier@xemacs.org>
10247
10248         * faces.c (update_face_cachel_data): don't frob the background
10249         pixmap when the window is being created. The face is needed but
10250         does not exist yet.
10251
10252 2000-11-20  Andy Piper  <andy@xemacs.org>
10253
10254         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10255         messing with a debug environment.
10256
10257 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10258
10259         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10260
10261 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10262
10263         * casetab.c (Fcase_table_p): Fix compile error and crash.
10264
10265 2000-11-18  Philip Aston  <philipa@mail.com>
10266
10267         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10268
10269 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10270
10271         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10272         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10273
10274 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10275
10276         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10277         * unexelf.c: Use HAVE_ELF_H.
10278         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10279         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10280         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10281         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10282         for testing.
10283         So this is an unexelfsgi.c from a different line of development.
10284
10285 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10286
10287         * regex.c (RE_TR_ASCII): New function.
10288         (RE_TRANSLATE): Call it.
10289
10290 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10291
10292         * buffer.h (TRT_TABLE_OF): Remove assert.
10293         (IN_TRT_TABLE_DOMAIN): Removed.
10294
10295 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10296
10297         * free-hook.c (log_gcpro):
10298         (show_gcprohist): Add support for GCPRO5.
10299
10300 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10301
10302         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10303
10304 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10305
10306         * symeval.h: Declare flush_all_buffer_local_cache.
10307
10308         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10309         (flush_buffer_local_cache): Added.
10310         (flush_all_buffer_local_cache): Added.
10311
10312         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10313
10314         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10315         (pdump_dump_data): Ditto.
10316         (pdump_reloc_one): Ditto.
10317         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10318         before dumping.
10319
10320
10321 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10322
10323         * buffer.c: Remove if 0'ed entry.
10324         * buffer.h: Rewrite TRT to use char-table.
10325         * bufslots.h: Remove mirror tables.
10326         * casetab.c: Remove mirror tables.
10327         (CASE_TABLE_P): New macro.
10328         (Fcase_table_p): Element of a case table is string or char-table.
10329         (make_mirror_trt_table): Removed.
10330         (set_case_table): Setup char-table from strings for backward
10331         compatibility.
10332         * dired.c (Fdirectory_files):
10333         * dired-msw.c: (mswindows_get_files):
10334         * lisp.h: Change prototype of re_pattern_buffer.
10335         * regex.c: (RE_TRANSLATE): New macro.
10336         (TRANSLATE_P): Ditto.
10337         Change translate to type RE_TRANSLATE_TYPE.
10338         * regex.h: Define RE_TRANSLATE_TYPE
10339         * search.c (TRANSLATE): New macro.
10340         (TRANSLATE_ASCII): New macro.
10341         Translate table is changed to Lisp_Object.
10342         (signal_failure): Inhibit return.
10343
10344 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10345
10346         * device-msw.c:
10347         * eldap.c:
10348         * event-Xt.c:
10349         * event-stream.c:
10350         * print.c:
10351         Do UNGCPRO before return.
10352
10353 2000-11-14  Martin Buchholz <martin@xemacs.org>
10354
10355         * XEmacs 21.2.37 is released.
10356
10357 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10358
10359         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10360         Add comments about discarded return value.
10361
10362 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10363
10364         * callint.c:
10365         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10366
10367 2000-10-27  Andy Piper  <andy@xemacs.org>
10368
10369         * gutter.c (Fset_default_gutter_position): default left and right
10370         gutters to visible.
10371         (calculate_gutter_size): calculate resonable heuristic for left
10372         and right gutter sizes.
10373         (specifier_vars_of_gutter): change left and right gutter sizes to
10374         autodetect.
10375         (calculate_gutter_size_from_display_lines): new function.
10376         (output_gutter): check for resizing on left and right gutters.
10377         (clear_gutter): don't special case top and left gutters.
10378         (specifier_vars_of_gutter): use new signature for
10379         set_specifier_caching.
10380
10381         * glyphs-x.c (x_redisplay_widget): spelling fix.
10382         * glyphs.c (specifier_vars_of_glyphs):
10383         * menubar.c (specifier_vars_of_menubar):
10384         * redisplay.c (specifier_vars_of_redisplay):
10385         * toolbar.c (specifier_vars_of_toolbar):
10386         * window.c (specifier_vars_of_window):
10387         * scrollbar.c (specifier_vars_of_scrollbar):
10388         (complex_vars_of_scrollbar): use new signature for
10389         set_specifier_caching.
10390
10391         * specifier.c (set_specifier_caching): include recompute flag.
10392         (recompute_one_cached_specifier_in_window): always recompute if
10393         flag set.
10394         (recompute_one_cached_specifier_in_frame): ditto.
10395
10396         * specifier.h (struct specifier_caching): add recompute flag.
10397
10398 2000-10-24  Andy Piper  <andy@xemacs.org>
10399
10400         * unexcw.c (copy_executable_and_dump_data_section): add new
10401         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10402         5.0 happy.
10403
10404 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10405
10406         * console-x.h (x_device): New member modifier_release_time.
10407         * event-Xt.c (x_handle_sticky_modifiers):
10408         Bound interval modifier keys are sticky.
10409         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10410         * events.h: extern it.
10411
10412 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10413
10414         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10415
10416 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10417
10418         * event-stream.c (execute_command_event): Preserve current_events
10419         and the like when event is misc-user-event.
10420         Inhibit quit during the call to maybe_echo_keys.
10421
10422 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10423
10424         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10425         symlink when buffer is killed.
10426         (inhibit_clash_detection): New variable.
10427
10428 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10429
10430         * console.c (Fset_input_method): Trigger redisplay on tty.
10431
10432 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10433
10434         * process.c (Fprocess_status): Revert to previous behavior:
10435         (process-status "nosuchprocess") ==> nil
10436
10437 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10438
10439         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10440         Work around another GCC 2.95.2 optimizer bug.
10441
10442 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10443
10444         * process.c (Fget_process): Use LIST_LOOP_2.
10445         (kill_buffer_processes): Use LIST_LOOP_2.
10446
10447         * minibuf.c (Fall_completions):
10448         Delete old non-functional code for FSF fourth argument.
10449
10450         * frame.c (frame_matches_frame_spec):
10451         Renamed from `frame_matches_frametype'.  Update all callers.
10452         (device_matches_device_spec):
10453         Renamed from 'device_matches_console_spec'.  Update all callers.
10454
10455         * doc.c (Fsubstitute_command_keys):
10456         Remove buffer overflow crash.  Small code cleanups.
10457
10458         * casetab.c (check_case_table): Simpler code.
10459
10460         * window.c (Freplace_buffer_in_windows):
10461         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10462         (and similar implementation) as Fdelete_windows_on.
10463         Update all callers.
10464
10465         * alloc.c (Fmake_list):
10466         * alloc.c (make_vector):
10467         * alloc.c (Fmake_vector):
10468         * alloc.c (make_bit_vector):
10469         * alloc.c (Fmake_bit_vector):
10470         * alloc.c (Fbit_vector):
10471         * alloc.c (Fmake_string):
10472         * alloc.c (Fpurecopy):
10473         * alloc.c (Fmemory_limit):
10474         * buffer.c:
10475         * buffer.c (Fget_buffer):
10476         * buffer.c (Fkill_buffer):
10477         * buffer.c (complex_vars_of_buffer):
10478         * bytecode.c (Fcompiled_function_stack_depth):
10479         * callint.c (Fprefix_numeric_value):
10480         * event-stream.c:
10481         * event-stream.c (Fread_key_sequence):
10482         * casetab.c:
10483         * casetab.c (Fcase_table_p):
10484         * casetab.c (check_case_table):
10485         * casetab.c (Fset_case_table):
10486         * casetab.c (Fset_standard_case_table):
10487         * chartab.c:
10488         * chartab.c (Fchar_table_type):
10489         * chartab.c (Freset_char_table):
10490         * chartab.c (Fget_char_table):
10491         * chartab.c (Fget_range_char_table):
10492         * chartab.c (Fput_char_table):
10493         * chartab.c (Fmap_char_table):
10494         * chartab.c (Fcategory_table_p):
10495         * chartab.c (Fcheck_category_at):
10496         * chartab.c (Fchar_in_category_p):
10497         * chartab.c (Fcategory_table):
10498         * chartab.c (Fcopy_category_table):
10499         * chartab.c (Fset_category_table):
10500         * chartab.c (Fcategory_designator_p):
10501         * chartab.c (Fcategory_table_value_p):
10502         * cmds.c (Fdelete_char):
10503         * cmds.c (Fdelete_backward_char):
10504         * cmds.c (Fself_insert_command):
10505         * cmds.c (Fself_insert_internal):
10506         * console.c (Fvalid_console_type_p):
10507         * console.c (Fcdfw_console):
10508         * console.c (Fconsole_type):
10509         * console.c (Fconsole_name):
10510         * console.c (Fconsole_device_list):
10511         * console.c (Fconsole_on_window_system_p):
10512         * data.c:
10513         * data.c (Feq):
10514         * data.c (Fold_eq):
10515         * data.c (Fsubr_interactive):
10516         * data.c (Fchar_to_int):
10517         * data.c (Fint_to_char):
10518         * data.c (Fsetcar):
10519         * data.c (Fsetcdr):
10520         * data.c (Fnumber_to_string):
10521         * data.c (Fstring_to_number):
10522         * data.c (Frem):
10523         * database.c (mark_database):
10524         * database.c (finalize_database):
10525         * database.c (Fdatabase_live_p):
10526         * database.c (Fdatabasep):
10527         * device-x.c (Fx_get_resource):
10528         * device.c (Fdfw_device):
10529         * dired.c:
10530         * dired.c (Ffile_name_completion):
10531         * dired.c (Ffile_name_all_completions):
10532         * dired.c (Fuser_name_completion):
10533         * dired.c (Fuser_name_completion_1):
10534         * dired.c (Fuser_name_all_completions):
10535         * doc.c (Fdocumentation):
10536         * doc.c (Fdocumentation_property):
10537         * doc.c (Fsubstitute_command_keys):
10538         * editfns.c:
10539         * editfns.c (Fchar_to_string):
10540         * editfns.c (Fstring_to_char):
10541         * editfns.c (Ftemp_directory):
10542         * editfns.c (Finsert_char):
10543         * editfns.c (Fbuffer_substring_no_properties):
10544         * editfns.c (Fnarrow_to_region):
10545         * editfns.c (Fchar_equal):
10546         * editfns.c (Fchar_Equal):
10547         * editfns.c (Ftranspose_regions):
10548         * emacs.c (Fdump_emacs):
10549         * eval.c (Fthrow):
10550         * eval.c (Fcommand_execute):
10551         * eval.c (Fautoload):
10552         * eval.c (Fbacktrace):
10553         * eval.c (Fbacktrace_frame):
10554         * events.c:
10555         * events.c (Fcopy_event):
10556         * events.c (Fcharacter_to_event):
10557         * events.c (Fevent_button):
10558         * events.c (Fevent_process):
10559         * extents.c:
10560         * extents.c (Fnext_extent_change):
10561         * extents.c (Fextent_property):
10562         * faces.c (Ffacep):
10563         * faces.c (Fmake_face):
10564         * file-coding.c:
10565         * file-coding.c (Fencode_shift_jis_char):
10566         * file-coding.c (Fencode_big5_char):
10567         * fileio.c (Ffile_name_directory):
10568         * fileio.c (Ffile_name_nondirectory):
10569         * fileio.c (Ffile_name_as_directory):
10570         * fileio.c (Fdirectory_file_name):
10571         * fileio.c (Ffile_truename):
10572         * fileio.c (Fsubstitute_in_file_name):
10573         * fileio.c (Ffile_modes):
10574         * fileio.c (Fset_file_modes):
10575         * fileio.c (Fset_default_file_modes):
10576         * fileio.c (Fverify_visited_file_modtime):
10577         * floatfns.c (Facos):
10578         * floatfns.c (Fasin):
10579         * floatfns.c (Fatan):
10580         * floatfns.c (Fcos):
10581         * floatfns.c (Fsin):
10582         * floatfns.c (Ftan):
10583         * floatfns.c (Fbessel_j0):
10584         * floatfns.c (Fbessel_j1):
10585         * floatfns.c (Fbessel_jn):
10586         * floatfns.c (Fbessel_y0):
10587         * floatfns.c (Fbessel_y1):
10588         * floatfns.c (Fbessel_yn):
10589         * floatfns.c (Ferf):
10590         * floatfns.c (Ferfc):
10591         * floatfns.c (Flog_gamma):
10592         * floatfns.c (Fexp):
10593         * floatfns.c (Fexpt):
10594         * floatfns.c (Flog):
10595         * floatfns.c (Flog10):
10596         * floatfns.c (Fsqrt):
10597         * floatfns.c (Fcube_root):
10598         * floatfns.c (Facosh):
10599         * floatfns.c (Fasinh):
10600         * floatfns.c (Fatanh):
10601         * floatfns.c (Fcosh):
10602         * floatfns.c (Fsinh):
10603         * floatfns.c (Ftanh):
10604         * floatfns.c (Fabs):
10605         * floatfns.c (Ffloat):
10606         * floatfns.c (Flogb):
10607         * floatfns.c (Fceiling):
10608         * floatfns.c (Ffloor):
10609         * floatfns.c (Fround):
10610         * floatfns.c (Ftruncate):
10611         * floatfns.c (Ffceiling):
10612         * floatfns.c (Fffloor):
10613         * floatfns.c (Ffround):
10614         * floatfns.c (Fftruncate):
10615         * fns.c (Fstring_equal):
10616         * fns.c (Fstring_lessp):
10617         * fns.c (concat2):
10618         * fns.c (concat3):
10619         * fns.c (vconcat2):
10620         * fns.c (vconcat3):
10621         * fns.c (Fsubstring):
10622         * fns.c (Fassoc):
10623         * fns.c (Fold_assoc):
10624         * fns.c (assoc_no_quit):
10625         * fns.c (Fassq):
10626         * fns.c (Fold_assq):
10627         * fns.c (assq_no_quit):
10628         * fns.c (Frassoc):
10629         * fns.c (Fold_rassoc):
10630         * fns.c (Frassq):
10631         * fns.c (Fold_rassq):
10632         * fns.c (rassq_no_quit):
10633         * fns.c (Fremassoc):
10634         * fns.c (remassoc_no_quit):
10635         * fns.c (Fremassq):
10636         * fns.c (remassq_no_quit):
10637         * fns.c (Fremrassoc):
10638         * fns.c (Fremrassq):
10639         * fns.c (remrassq_no_quit):
10640         * fns.c (Fsort):
10641         * fns.c (Fplist_get):
10642         * fns.c (Fplist_put):
10643         * fns.c (Fplist_remprop):
10644         * fns.c (Fplist_member):
10645         * fns.c (Flax_plist_get):
10646         * fns.c (Flax_plist_put):
10647         * fns.c (Flax_plist_remprop):
10648         * fns.c (Flax_plist_member):
10649         * fns.c (Fequal):
10650         * fns.c (Fold_equal):
10651         * fns.c (Frequire):
10652         * fns.c (Fbase64_encode_region):
10653         * fns.c (Fbase64_encode_string):
10654         * fns.c (Fbase64_decode_region):
10655         * frame.c:
10656         * frame.c (frame_matches_frame_spec):
10657         * frame.c (device_matches_device_spec):
10658         * frame.c (next_frame):
10659         * frame.c (previous_frame):
10660         * frame.c (Fnext_frame):
10661         * frame.c (Fprevious_frame):
10662         * frame.c (Fframe_property):
10663         * frame.c (Fset_frame_height):
10664         * frame.c (Fset_frame_size):
10665         * frame.h:
10666         * glyphs.c:
10667         * glyphs.c (if):
10668         * glyphs.c (decode_error_behavior_flag):
10669         * glyphs.c (Fmake_image_instance):
10670         * indent.c (Findent_to):
10671         * intl.c (Fignore_defer_gettext):
10672         * keymap.c (Fkeymapp):
10673         * keymap.c (Flookup_key):
10674         * lread.c:
10675         * lread.c (Fload_internal):
10676         * lread.c (Feval_buffer):
10677         * lread.c (Feval_region):
10678         * macros.c (Fexecute_kbd_macro):
10679         * marker.c (set_marker_internal):
10680         * marker.c (Fset_marker):
10681         * marker.c (set_marker_restricted):
10682         * marker.c (Fcopy_marker):
10683         * marker.c (noseeum_copy_marker):
10684         * menubar.c:
10685         * menubar.c (Fpopup_menu):
10686         * minibuf.c:
10687         * mule-charset.c (Fcharset_name):
10688         * mule-charset.c (Fchar_charset):
10689         * mule-charset.c (Fchar_octet):
10690         * mule-charset.c (Fsplit_char):
10691         * mule-wnnfns.c (Fwnn_open):
10692         * mule-wnnfns.c (Fwnn_dict_comment):
10693         * mule-wnnfns.c (Fwnn_quit_henkan):
10694         * mule-wnnfns.c (Fwnn_word_toroku):
10695         * mule-wnnfns.c (Fwnn_word_sakujo):
10696         * mule-wnnfns.c (Fwnn_word_use):
10697         * mule-wnnfns.c (Fwnn_hindo_set):
10698         * objects.c:
10699         * objects.c (Fmake_color_instance):
10700         * objects.c (Fmake_font_instance):
10701         * print.c (Fwrite_char):
10702         * process.c:
10703         * process.c (mark_process):
10704         * process.c (print_process):
10705         * process.c (get_process_from_usid):
10706         * process.c (Fprocessp):
10707         * process.c (Fprocess_live_p):
10708         * process.c (Fget_process):
10709         * process.c (Fget_buffer_process):
10710         * process.c (get_process):
10711         * process.c (Fprocess_id):
10712         * process.c (Fprocess_name):
10713         * process.c (Fprocess_command):
10714         * process.c (init_process_io_handles):
10715         * process.c (start_process_unwind):
10716         * process.c (Fstart_process_internal):
10717         * process.c (Fopen_multicast_group_internal):
10718         * process.c (Fset_process_window_size):
10719         * process.c (read_process_output):
10720         * process.c (send_process):
10721         * process.c (Fprocess_tty_name):
10722         * process.c (Fset_process_buffer):
10723         * process.c (Fprocess_buffer):
10724         * process.c (Fprocess_mark):
10725         * process.c (set_process_filter):
10726         * process.c (Fset_process_filter):
10727         * process.c (Fprocess_filter):
10728         * process.c (Fprocess_send_region):
10729         * process.c (Fprocess_send_string):
10730         * process.c (exec_sentinel):
10731         * process.c (Fset_process_sentinel):
10732         * process.c (Fprocess_sentinel):
10733         * process.c (status_notify):
10734         * process.c (Fprocess_status):
10735         * process.c (Fprocess_exit_status):
10736         * process.c (process_send_signal):
10737         * process.c (Fprocess_send_eof):
10738         * process.c (deactivate_process):
10739         * process.c (remove_process):
10740         * process.c (Fdelete_process):
10741         * process.c (kill_buffer_processes):
10742         * process.c (Fprocess_kill_without_query):
10743         * process.c (Fprocess_kill_without_query_p):
10744         * rangetab.c:
10745         * rangetab.c (Fget_range_table):
10746         * rangetab.c (Fput_range_table):
10747         * rangetab.c (Fremove_range_table):
10748         * rangetab.c (Fclear_range_table):
10749         * search.c:
10750         * search.c (Fskip_chars_forward):
10751         * search.c (Fskip_chars_backward):
10752         * search.c (Fskip_syntax_forward):
10753         * search.c (Fskip_syntax_backward):
10754         * search.c (search_command):
10755         * search.c (Freplace_match):
10756         * search.c (Fregexp_quote):
10757         * select.c (Fown_selection_internal):
10758         * select.c (Fselection_owner_p):
10759         * select.c (Fselection_exists_p):
10760         * select.c (Fget_selection_internal):
10761         * specifier.c:
10762         * symbols.c:
10763         * symbols.c (Fintern):
10764         * symbols.c (Fintern_soft):
10765         * symbols.c (Funintern):
10766         * symbols.c (Fapropos_internal):
10767         * symbols.c (Fset_default):
10768         * syntax.c:
10769         * syntax.c (Fsyntax_table_p):
10770         * syntax.c (Fcopy_syntax_table):
10771         * syntax.c (Fset_syntax_table):
10772         * syntax.c (Fchar_syntax):
10773         * syntax.c (syntax_match):
10774         * syntax.c (Fmatching_paren):
10775         * syntax.c (Fforward_word):
10776         * syntax.c (scan_lists):
10777         * syntax.c (Fscan_lists):
10778         * syntax.c (Fscan_sexps):
10779         * syntax.c (Fparse_partial_sexp):
10780         * toolbar.c (Fcheck_toolbar_button_syntax):
10781         * tooltalk.doc:
10782         * window.c:
10783         * window.c (Fwindowp):
10784         * window.c (Fwindow_live_p):
10785         * window.c (Fwindow_point):
10786         * window.c (Fdelete_window):
10787         * window.c (Fnext_window):
10788         * window.c (Fprevious_window):
10789         * window.c (Fother_window):
10790         * window.c (window_loop):
10791         * window.c (Fget_lru_window):
10792         * window.c (Fsplit_window):
10793         * window.c (Fenlarge_window):
10794         * window.c (Fenlarge_window_pixels):
10795         * window.c (Fshrink_window):
10796         * window.c (Fshrink_window_pixels):
10797         * window.c (change_window_height):
10798         * window.c (Fwindow_configuration_p):
10799         * window.c (Fcurrent_window_configuration):
10800         * window.h:
10801         * casefiddle.c (casify_object):
10802         * casefiddle.c (Fupcase):
10803         * casefiddle.c (Fdowncase):
10804         * casefiddle.c (Fcapitalize):
10805         * casefiddle.c (Fupcase_initials):
10806         * casefiddle.c (casify_region_internal):
10807         * casefiddle.c (casify_region):
10808         * casefiddle.c (Fupcase_region):
10809         * casefiddle.c (Fdowncase_region):
10810         * casefiddle.c (Fcapitalize_region):
10811         * casefiddle.c (Fupcase_initials_region):
10812         * casefiddle.c (Fupcase_word):
10813         * casefiddle.c (Fdowncase_word):
10814         * casefiddle.c (Fcapitalize_word):
10815         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10816         Replace 0 with '\0' when working with bytes.
10817         Replace initial "(" with "\(" in docstrings.
10818
10819 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10820
10821         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10822
10823         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10824
10825 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10826
10827         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10828
10829 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10830
10831         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10832         correctly.
10833
10834 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10835
10836         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10837         (inhibit_auto_save_session): New variable.
10838         (vars_of_fileio): Declare and initialize them.
10839         * fileio.c (Fdo_auto_save): Don't create session file if
10840         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10841
10842 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10843
10844         * sgiplay.c (play_internal): C++ compilability.
10845         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10846         * callproc.c (Fold_call_process_internal):
10847         Remove unused vars `env', `first'.
10848         * scrollbar.c (update_scrollbar_instance):
10849         #### unused var `current_window'.
10850         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10851         etc. within #ifdef NOT_YET.
10852         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10853         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10854         * specifier.c (specifier_instance):
10855         #### unused var `tag'.
10856         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10857
10858 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10859
10860         * fns.c (Fbutlast):
10861         * fns.c (list_sort):
10862         * fns.c (Ffillarray):
10863         * fns.c (bytecode_nconc2):
10864         * fns.c (Fnconc):
10865         * fns.c (mapcar1):
10866         * fns.c (Fmapconcat):
10867         Be pedantically 64-bit correct.  For the time when someone will
10868         want to have a list with length > 2**32.
10869
10870         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10871         Work around MIPSpro compiler bug.
10872
10873         * process-unix.c (unix_kill_child_process): Add snarky comment.
10874         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10875
10876         * config.h.in: Oops, _getpt ==> _getpty
10877
10878 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10879
10880         * config.h.in:
10881         * regex.c:
10882         Use void*, not char*, as return type of alloca().
10883
10884         * alloc.c (free_marker): Side effect inside assert expression!
10885
10886 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10887
10888         * mule-charset.c (Fset_charset_ccl_program): To check
10889         if the given ccl program is valid, use setup_ccl_program()
10890         instead of CHECK_VECTOR().
10891         (Fmake_charset): Likewise.
10892
10893 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10894
10895         * faces.c (get_extent_fragment_face_cache_index):
10896         Fix cachel.merged_faces memory leak.
10897
10898 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10899
10900         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10901         Reset MSB of octets obtained by DECODE_SJIS
10902         because of the incompatibility with Emacs.
10903         (ccl_driver)<CCL_ENCODE_SJIS>:
10904         Set MSB of octets before passing them to
10905         ENCODE_SJIS because of the incompatibility
10906         with Emacs.
10907
10908 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10909
10910         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10911         (DECLARE_LRECORD): Undo the last change.
10912         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10913
10914 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10915
10916         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10917         the implementation to lrecord_implementations_table.
10918
10919 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10920
10921         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10922         initial value of `lrecord_type_##c_name' and
10923         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10924         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10925         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10926         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10927         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10928
10929 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10930
10931         * miscplay.c (sndcnv8S_2mono):
10932         (sndcnv2monounsigned):
10933         (sndcnvULaw_2linear):
10934         (sndcnv16swap):
10935         Remove implementation-defined behavior.
10936
10937 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10938
10939         * input-method-xlib.c: Warning suppression.
10940
10941 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10942
10943         * mule-ccl.c: Sync up with Emacs 21.0.90.
10944         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10945         Do nothing.
10946         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10947         Likewise.
10948         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10949         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10950         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10951         leading char belongs to official 2-dimensional charset.
10952         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10953         write the given character as is.  Otherwise,
10954         if it is a multibyte char, convert it by
10955         non_ascii_set_charptr_emchar, then write it.
10956         (CCL_WRITE_STRING): Likewise.
10957         (ccl_get_compiled_code): New function.
10958         (setup_ccl_program): When ccl_prog is invalid,
10959         return -1.
10960         (Fregister_code_conversion_map): New function.
10961         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10962
10963         * mule-ccl.h: Sync up with Emacs 21.0.90.
10964         (Fregister_ccl_program): export it.
10965
10966         * redisplay-msw.c (separate_textual_runs):
10967         If ccl program is not valid, don't do ccl conversion.
10968
10969         * redisplay-x.c (separate_textual_runs): Ditto.
10970
10971         * file-coding.c (Fmake_coding_system):
10972         When type is ccl and value is vector, register it
10973         with a proper symbol.  And checks whether the
10974         given ccl program is valid.
10975         (mule_decode): When calling ccl_driver, if src indicates
10976         NULL pointer, set an empty string instead.
10977         (mule_encode): Likewise.
10978
10979 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10980
10981         The following large batch of changes gets us back to a state of
10982         C++ compilability.  Extbyte is now a char, which means that
10983         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10984
10985         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10986
10987         * sound.c (Fplay_sound): Type correctness.
10988
10989         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10990         (x_get_window_property): Type correctness.
10991         (receive_incremental_selection): unsigned char ==> Extbyte
10992         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10993         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10994         (Fx_store_cutbuffer_internal): Type correctness.
10995
10996         * process-unix.c (try_to_initialize_subtty): Type correctness.
10997
10998         * objects-x.c (x_print_color_instance): Type correctness.
10999         (x_print_font_instance): Type correctness.
11000         (x_list_fonts): SExtbyte ==> Extbyte.
11001         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11002         (x_find_charset_font): SExtbyte ==> Extbyte.
11003         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11004         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11005         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11006         Use bufbyte_strcmp.
11007
11008         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11009         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11010         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11011         (BYTE_C0_P): Use bit ops for char-signedness safety.
11012         (BYTE_C1_P): Use bit ops for char-signedness safety.
11013         (CHARSET_BY_LEADING_BYTE):
11014         (CHARSET_BY_ATTRIBUTES):
11015         Always use inline function.
11016         Use type_checking_assert.
11017         Hide chlook.
11018
11019         * mule-charset.c (non_ascii_charptr_copy_char):
11020         Modify to work with both ASCII and non-ASCII characters.
11021         Improve docs and variable names.
11022         Replace over-clever fall-through switch with a simple loop.
11023         (Lstream_get_emchar_1):
11024         Replace over-clever fall-through switch with a simple loop.
11025
11026         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11027         Warning suppression.
11028
11029         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11030         the return value of Lstream_getc, which could be EOF as well.
11031
11032         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11033
11034         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11035         APIs can be used on Extbytes without casts.  Risky!
11036         (SExtbyte): Remove.
11037         (UExtbyte): Remove.
11038
11039         * input-method-xlib.c (XIM_init_device):
11040         Use Xlib.h instead of IntrinsicP.h.
11041         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11042         which will break in X11R7.
11043         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11044         to call XRegisterIMInstantiateCallback with correct types.
11045
11046         * gui-x.c (button_item_to_widget_value): Type correctness.
11047
11048         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11049
11050         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11051         (xbm_instantiate_1): Type correctness.
11052         (BUILD_GLYPH_INST):  Type correctness.
11053
11054         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11055
11056         * file-coding.c:
11057         (decode_coding_sjis):
11058         (decode_coding_big5):
11059         (decode_coding_ucs4):
11060         (decode_coding_utf8):
11061         (decode_coding_iso2022):
11062         (decode_coding_no_conversion):
11063         Make all decoding functions take an Extbyte * arg.
11064         (encode_coding_sjis):
11065         (encode_coding_big5):
11066         (encode_coding_ucs4):
11067         (encode_coding_utf8):
11068         (encode_coding_iso2022):
11069         (encode_coding_no_conversion):
11070         Make all encoding functions take a Bufbyte * arg.
11071         Use size_t instead of unsigned int for memory sizes.
11072         Only cast to unsigned char whenever dereferencing Extbyte *.
11073
11074         * doc.c (unparesseuxify_doc_string): Type correctness.
11075
11076         * console-x.c (split_up_display_spec):
11077         Rewrite without using details of internal string representation.
11078         (x_semi_canonicalize_device_connection): Type correctness.
11079
11080         * config.h.in:
11081         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11082         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11083         (HAVE_XFREE386): Removed.
11084
11085         * buffer.h (DEC_CHARPTR): `const' correctness.
11086         (bufbyte_strcmp): New.
11087         (bufbyte_memcmp): New.
11088
11089         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11090
11091         * buffer.h (XCHAR_OR_CHAR_INT):
11092         Always use inline function.
11093         Remove redundant type checking assert() - XINT will abort quite nicely.
11094
11095 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11096
11097         * search.c (Freplace_match): Set newtext to an empty string.
11098
11099 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11100
11101         * s/decosf1-3.h: Remove #include of stropts.h
11102         * s/ptx.h: Remove #include of stropts.h
11103         * s/usg5-4.h: Remove #include of stropts.h
11104         * sysproc.h:
11105         * config.h.in:
11106         Use stropts.h, not sys/stropts.h.
11107         Use strtio.h, not sys/strtio.h.
11108
11109 2000-10-04  Martin Buchholz <martin@xemacs.org>
11110
11111         * XEmacs 21.2.36 is released.
11112
11113 2000-09-21  Andy Piper  <andy@xemacs.org>
11114
11115         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11116         changes still involve copying the widget tree.
11117         (update_widget_face): make sure a change is register in the widget
11118         tree. Call update_tab_widget_face appropriately.
11119         (update_tab_widget_face): ditto.
11120         (x_tab_control_redisplay): make sure non-structural changes still
11121         involve copying the widget tree.
11122
11123 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11124
11125         * lread.c (locate_file): Check the path element is non-nil.
11126
11127 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11128
11129         * lisp.h: Warning suppression for SCO compilers.
11130
11131         * redisplay-tty.c (reset_tty_modes): Fix crash.
11132         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11133
11134 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11135
11136         Big signal/process handling overhaul.  Bugs fixed:
11137         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11138         M-x comint-kill-subjob should work for both values nil and t of
11139         process-connection-type. It was broken on most platforms.
11140         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11141         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11142         * process-unix.c: Signal/Process handling overhaul.
11143         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11144         (allocate_pty): Use all available modern methods of allocating
11145         ptys, falling back to old style BSD allocation as a last resort.
11146         Use allegedly more secure Unix98 pty allocation by default.
11147         (allocate_pty_the_old_fashioned_way): New. the last resort.
11148         (unix_create_process): Push ptem, ldterm, ttcompat where
11149         available.  Autoconfiscate.
11150         (try_to_initialize_subtty): New.
11151         (unix_kill_child_process): Proper signal handling for ptys on most
11152         platforms, using special knowledge of AIX, BSD, etc...
11153         (unix_create_process): Always disconnect_controlling_terminal() for
11154         subprocesses, whether using ptys or not.
11155         * process.h: Remove old getpt-dependent PTY code.
11156         * process.c (Fprocess_send_signal): New, obvious generic function.
11157         (decode_signal): New.
11158         (Finterrupt_process):
11159         (Fkill_process):
11160         (Fquit_process):
11161         (Fstop_process):
11162         (Fcontinue_process):
11163         (Fsignal_process): Use decode_signal.
11164         (process_send_signal):
11165         Many docstring corrections.
11166         Allow any signal to be sent to a process object.
11167         * config.h.in: Add symbols for big signal/process overhaul.
11168         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11169         * sysproc.h: Include process-related headers, where available:
11170         sys/stropts.h sys/strtio.h pty.h libutil.h
11171         * s/irix4-0.h:
11172         * s/irix5-0.h:
11173         * s/cygwin32.h:
11174         * s/gnu.h:
11175         * s/linux.h:
11176         * s/hpux.h:
11177         * s/aix3-1.h:
11178         Remove old S&M pty stuff.
11179         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11180         * systty.h: Simplify cpp hackery, improve comments.
11181         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11182
11183         * editfns.c (Fformat_time_string):
11184         Be a little more paranoid with the return value of ctime.
11185
11186         * fileio.c (check_executable):
11187         (check_writable):
11188         Use symbolic constants X_OK, W_OK.
11189
11190         * console-x.c (split_up_display_spec): Fix a warning.
11191
11192 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11193
11194         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11195         * ntproc.c (sys_spawnve): make_string ==> build_string
11196         Small clarity improvements.
11197
11198 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11199
11200         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11201
11202         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11203
11204         * config.h.in (HAVE_STRCASECMP): Remove.
11205
11206 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11207
11208         * redisplay-output.c (redisplay_output_pixmap):
11209         Cleaner and possibly more 64-bit correct code.
11210
11211 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11212
11213         * dumper.c (pdump_load_finish): move restoration of
11214         `noninteractive1' to emacs.c (main_1).
11215         * emacs.c (main_1): protect LISP-visible command-line flags
11216         from pdump_load().
11217
11218 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11219
11220         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11221         DUMP_TARGET instead of literal program names.
11222
11223 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11224
11225         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11226
11227 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11228
11229         * *: Spelling mega-patch
11230
11231 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11232
11233         * fns.c (bad_bad_turtle):
11234         Delete "Eek!" comment, since we fixed the bug to which it refers.
11235
11236 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11237
11238         * alloca.c: Replace REGISTER with register.
11239
11240 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11241
11242         * file-coding.c (ucs_to_char): Use countof.
11243
11244 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11245
11246         * file-coding.c: (ucs_to_char):
11247         (complex_vars_of_file_coding):
11248         Use countof instead of sizeof.
11249         Use CHECK_NATNUM instead of CHECK_INT.
11250
11251         * sysdep.c (strcasecmp): Remove.
11252         * device-x.c (ascii_strcasecmp): New.
11253         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11254         Avoid using non-standard non-portable strcasecmp.
11255
11256 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11257
11258         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11259         * font-lock.c: remove reference to emacsfns.h.
11260         * search.c: small doc improvement.
11261         * event-Xt.c: correct file names in comments.
11262         * console-x.h Correct file names in comments.
11263         * frame.c: Correct file names in comments.
11264         * event-stream.c: remove Energize from comments.
11265
11266 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11267
11268         * symeval.h (DEFERROR_STANDARD):
11269         (DEFERROR):
11270         (DEFSYMBOL):
11271         (DEFSYMBOL_NO_DUMP):
11272         (DEFSYMBOL_MULTIWORD_PREDICATE):
11273         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11274         (DEFKEYWORD):
11275         The construct &##name is not sensible C.
11276         Fixes compilation errors with Unixware native compiler.
11277
11278 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11279
11280         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11281         (next_frame_internal): Removed.  We now just have next_frame.
11282         (next_frame):
11283         Write a simpler and cleaner one-pass algorithm.
11284         Remove called_from_delete_device arg and #ifdefed-out code.
11285         (previous_frame):
11286         Renamed from prev_frame.  Update callers.
11287         Cleaned up to have an analogous implementation to next_frame.
11288         (other_visible_frames_internal): Remove the
11289         called_from_delete_device bogus arg, and hence, remove this
11290         function.  Just use other_visible_frames().
11291
11292         * window.c (Fnext_window):
11293         Prettify docstring.
11294         Since next_frame() is guaranteed to return a frame, remove check
11295         for nil inserted in previous patch.
11296         (Fprevious_window):
11297         Prettify docstring.
11298         Make code look more like Fnext_window.
11299         (window_loop):
11300         Respect the `console' arg when iterating through windows.
11301         Fixes bug: (get-buffer-window buffer t device) not respecting
11302         the `device' arg.
11303         This function needs more work, as others have pointed out.
11304
11305         * frame.h: Rename prev_frame to previous_frame.
11306         device_matches_console_spec no longer takes a `frame' arg.
11307
11308         * s/gnu.h:
11309         * s/linux.h:
11310         * s/hpux.h:
11311         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11312         From "Golubev I. N." <gin@mo.msk.ru>.
11313
11314         * make-src-depend: Fix typo.
11315
11316 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11317
11318         * window.c (Fnext_window):
11319         next_frame() might return nil, not a frame.
11320         Fixes this crash:
11321         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11322
11323         * frame.c (next_frame_internal):
11324         We've passed a frame if we've passed its device.
11325         Fixes this crash:
11326         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11327 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11328
11329 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11330
11331         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11332         Allow option to suppress accelerators in menu/dialog items.
11333         (populate_or_checksum_helper): Pass dialog title through above.
11334
11335 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11336
11337         * event-msw.c (mswindows_key_to_emacs_keysym):
11338         Add "pause" key, fix "menu" key.
11339
11340 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11341
11342         * eval.c (reinit_vars_of_eval):
11343         Increase max_lisp_eval_depth to 1000,
11344         required for thai-xtis.el to byte-compile under some circumstances.
11345
11346 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11347
11348         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11349         From Kenichi Handa.
11350
11351 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11352
11353         * make-src-depend: Make the generated Makefiles smaller.
11354
11355         * s/hpux.h (SETUP_SLAVE_PTY):
11356         Provide a %d in the format string for the errno argument.
11357
11358         * editfns.c (Ftemp_directory):
11359         Warning fix.
11360         Avoid buffer overrun on very long file name.
11361
11362         * input-method-xlib.c (XIM_init_device):
11363         6th parameter of XRegisterIMInstantiateCallback has different
11364         pointer types on different OSes, so simply cast to (void *).
11365
11366         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11367
11368         * sysdll.c (dll_open):
11369         shl_load will hang hard if passed a NULL filename.
11370         Simply return NULL for compatibility with dlopen.
11371         * sysdll.c: Conform to XEmacs coding standards.
11372
11373         * sysdep.c (get_pty_max_bytes):
11374         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11375
11376 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11377
11378         * tooltalk.c: Add #include <syssignal.h>
11379
11380 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11381
11382         * s/hpux.h: Don't use undefined function sigunblock().
11383
11384 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11385
11386         * config.h.in: Add HAVE_BALLOON_HELP.
11387         * emacs.c: Use HAVE_BALLOON_HELP.
11388         * Makefile.in.in (x_objs):
11389         Make Balloon Help conditional on finding shape.h.
11390
11391 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11392
11393         * syntax.c (regex_emacs_buffer_p): New variable.
11394         * syntax.h (regex_emacs_buffer_p): extern.
11395         * search.c (looking_at_1):
11396         (string_match_1):
11397         (fast_string_match):
11398         (search_buffer): Set regex_emacs_buffer_p.
11399         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11400         when before_dot, at_dot, after_dot.
11401
11402 2000-08-23  Andy Piper  <andy@xemacs.org>
11403
11404         * gui-x.c (popup_selection_callback): Only set action_occurred
11405         when we really have an image instance.
11406         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11407
11408 2000-08-23  Andy Piper  <andy@xemacs.org>
11409
11410         * gui-msw.c (mswindows_handle_gui_wm_command): set
11411         action_occurred.
11412         * gui-x.c (popup_selection_callback): ditto.
11413
11414         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11415         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11416         (struct Lisp_Image_Instance): add action_occurred flag.
11417
11418         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11419         (image_instance_changed): ditto.
11420         (reset_frame_subwindow_instance_cache): only unmap windows - do
11421         not remove them from the cache also.
11422
11423         * glyphs-widget.c (tab_control_update): better debug.
11424         (progress_gauge_update): ditto.
11425         (layout_update): ditto.
11426         (layout_instantiate): ditto.
11427         (tab_control_order_only_changed): cope with null pending items.
11428
11429         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11430         debug. Force selection of an item when an action occurred. Cope
11431         with null pending_items.
11432         (mswindows_progress_gauge_redisplay): better debug.
11433         * glyphs-x.c (x_tab_control_redisplay): ditto.
11434
11435         * redisplay.c (redisplay_frame): reset the frame cache if the
11436         frame is garbaged.
11437
11438         * window.c (Fset_window_configuration): potentially re-enable
11439         frame cache reset.
11440         (window_unmap_subwindows): need to finalize instances here since
11441         it is only used in mark_window_as_deleted.
11442
11443 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11444
11445         * nas.c (SndOpenDataForReading):
11446         nas.c (WaveOpenDataForReading):
11447         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11448         Somehow escaped from the 2000-08-14 patch.
11449
11450 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11451
11452         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11453         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11454
11455 2000-08-21  Andy Piper  <andy@xemacs.org>
11456
11457         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11458         window if it is not already displayed.
11459
11460         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11461         it is not already displayed.
11462
11463         * window.c (Fset_window_configuration): don't reset the frame
11464         cache.
11465
11466         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11467         instances from the frame cache if we are actually finalizing them.
11468         (reset_frame_subwindow_instance_cache): reset frame cache only
11469         after unmapping everything.
11470         (map_subwindow): set displayed flag after mapping.
11471
11472 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11473
11474         * data.c (indirect_function):
11475         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11476
11477         * eval.c (function_argcount):
11478         Use original function when signaling errors.
11479
11480 2000-08-18  Andy Piper  <andy@xemacs.org>
11481
11482         * frame.c (delete_frame_internal): use new
11483         free_frame_subwindow_instances name.
11484
11485         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11486         (add_tab_item): make return type correct.
11487         (mswindows_tab_control_instantiate): assert index of tab.
11488         (mswindows_tab_control_redisplay): Re-code to use
11489         gui_item_equal_sans_selected and gui_item_list_find_selected.
11490
11491         * glyphs-widget.c (tab_control_update): Correct comment.
11492
11493         * window.c (window_unmap_subwindows): use new
11494         unmap_subwindow_instance_cache_mapper.
11495         (window_unmap_subwindows_cache_mapper): deleted.
11496         (Fset_window_configuration): comparisons should now be with
11497         EQ. Preserve the subwindow instance cache across configuration
11498         changes.
11499         (allocate_window): ditto.
11500         (make_dummy_parent): ditto.
11501
11502         * glyphs.c (free_frame_subwindow_instances): rename from
11503         free_frame_subwindow_instance_cache. finalize all instances rather
11504         than just those in the display cache.
11505         (finalize_all_subwindow_instances): walk windows unmapping and
11506         finalizing subwindows.
11507         (unmap_subwindow_instance_cache_mapper): moved from
11508         window.c. Allow finalization as well as unmapping.
11509
11510         * gui.c (gui_item_list_find_selected): new function.
11511
11512         * gui.h (gui_item_list_find_selected): declare.
11513
11514         * glyphs-x.c (x_tab_control_redisplay): pick tab
11515         explicitly. Re-code to use gui_item_equal_sans_selected and
11516         gui_item_list_find_selected.
11517
11518         * glyphs-x.h: add lwlib-utils.h
11519
11520         * buffer.c (Frecord_buffer): undo previous change.
11521
11522 2000-08-09  Vin Shelton  <acs@xemacs.org>
11523
11524         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11525         possible.  Create temporary files more securely.  The patch was
11526         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11527         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11528         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11529         for details.
11530
11531 2000-08-07  Ben Wing  <ben@xemacs.org>
11532
11533         * getloadavg.c: remove duplicate (and windows-breaking)
11534         includes of fcntl.h and sys/file.h.
11535
11536         * nt.c: remove duplicate getloadavg() definition.
11537
11538         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11539         encodings.
11540
11541 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11542
11543         * eval.c (function_argcount): If function needs to be autoloaded
11544         actually use the loaded definition.
11545         GCPRO function.
11546
11547 2000-08-05  Ben Wing  <ben@xemacs.org>
11548
11549         * getloadavg.c: add prototype for getloadavg().  remove
11550         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11551         of the code).  remove duplicate header includes.
11552
11553         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11554
11555         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11556         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11557         useful load average.
11558
11559         * alloc.c (reinit_alloc_once_early): removed references to
11560         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11561         the lisp vars are the only things referencing the malloc_sbrk_*
11562         vars, and they were already if 0'd out.  these vars only exist
11563         in the older malloc.c, which is basically unused, and they're
11564         only for informational purposes.
11565
11566         * m\*.h: removed useless VIRT_ADDR_VARIES.
11567
11568         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11569
11570 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11571
11572         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11573         color if the image is a mono pixmap.
11574
11575 2000-07-30  Ben Wing  <ben@xemacs.org>
11576
11577         * Makefile.in.in (release):
11578         Remove stray @.
11579
11580         * buffer.c (directory_is_current_directory):
11581         * dired-msw.c (mswindows_get_files):
11582         * dired.c:
11583         * dired.c (Fdirectory_files):
11584         * dired.c (file_name_completion_stat):
11585         * dired.c (Ffile_attributes):
11586         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11587         preprocessor tricks, to avoid problems on some machines
11588         (e.g. SCO).
11589
11590         * callproc.c (egetenv): GC docs.
11591
11592         * console-msw.h:
11593         * console-msw.h (struct mswindows_dialog_id):
11594         * lrecord.h (lrecord_type):
11595         New object for use with MSW dialogs.
11596
11597         * console.h (struct console_methods):
11598         New enable/disable frame methods, for proper modal dialogs.
11599
11600         * device-msw.c (msprinter_default_printer): Fix to follow
11601         proper Mule conventions.
11602
11603         * device-msw.c:
11604         * device-msw.c (signal_open_printer_error):
11605         * device-msw.c (msprinter_init_device):
11606         * device-msw.c (ensure_not_printing):
11607         * device-msw.c (plist_get_margin):
11608         * device-msw.c (Fmsprinter_select_settings):
11609         * device-msw.c (finalize_devmode):
11610         * device-msw.c (Fmsprinter_settings_despecialize):
11611         * device-msw.c (signal_enum_priner_error):
11612         * extents.c (decode_extent):
11613         * extents.c (decode_map_extents_flags):
11614         * extents.c (decode_extent_at_flag):
11615         * extents.c (Fextent_at):
11616         * extents.c (Fextents_at):
11617         * extents.c (symbol_to_glyph_layout):
11618         [[[[2]]]] Use structured errors.
11619
11620         * dialog-msw.c:
11621         * dialog-msw.c (mswindows_is_dialog_msg):
11622         * dialog-msw.c (mark_mswindows_dialog_id):
11623         * dialog-msw.c (dialog_proc):
11624         * dialog-msw.c (handle_question_dialog_box):
11625         * dialog-msw.c (syms_of_dialog_mswindows):
11626         Define new object to clean up marking; use it as a dialog identifier.
11627         Call new delete-dialog-box-hook.
11628
11629         * dialog-x.c (dbox_selection_callback):
11630         * dialog-x.c (dbox_descriptor_to_widget_value):
11631         * dialog-x.c (x_make_dialog_box_internal):
11632         Call new delete-dialog-box-hook.
11633         Return an id.
11634
11635         * dialog.c:
11636         * dialog.c (syms_of_dialog):
11637         * dialog.c (vars_of_dialog):
11638         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11639
11640         * eval.c:
11641         * eval.c (signal_call_debugger):
11642         when noninteractive, output stack traces on the console instead
11643         of in a (never-seen) buffer.
11644
11645         * eval.c (signal_type_error):
11646         * eval.c (invalid_argument_2):
11647         * lisp.h:
11648         new funs for use w/structured errors.
11649
11650         * event-Xt.c:
11651         * event-Xt.c (x_to_emacs_keysym):
11652         * event-Xt.c (describe_event):
11653         * event-Xt.c (emacs_Xt_event_handler):
11654         * event-Xt.c (vars_of_event_Xt):
11655         * event-msw.c:
11656         * event-msw.c (mswindows_wnd_proc):
11657         * event-msw.c (vars_of_event_mswindows):
11658         rename {x,mswindows}-debug-events to debug-{}-events for
11659         consistency with other debug-foo variables.
11660
11661         * event-stream.c:
11662         document next-event more clearly.
11663
11664         * fileio.c (Ffile_name_directory):
11665         * fileio.c (Ffile_name_nondirectory):
11666         * fileio.c (Funhandled_file_name_directory):
11667         * fileio.c (file_name_as_directory):
11668         * fileio.c (Ffile_name_as_directory):
11669         * fileio.c (directory_file_name):
11670         * fileio.c (Fdirectory_file_name):
11671         * fileio.c (Fmake_temp_name):
11672         * fileio.c (Ffile_truename):
11673         * fileio.c (Fsubstitute_in_file_name):
11674         * fileio.c (expand_and_dir_to_file):
11675         * fileio.c (barf_or_query_if_file_exists):
11676         * fileio.c (check_executable):
11677         * fileio.c (Ffile_exists_p):
11678         * fileio.c (Ffile_writable_p):
11679         * fileio.c (Ffile_directory_p):
11680         * fileio.c (Ffile_regular_p):
11681         * fileio.c (Ffile_modes):
11682         * fileio.c (Ffile_newer_than_file_p):
11683         * fileio.c (Fverify_visited_file_modtime):
11684         * fileio.c (Fset_visited_file_modtime):
11685         * fileio.c (auto_save_1):
11686         (1). (2).
11687         fix up gcpro's.
11688
11689         * frame-msw.c:
11690         * frame-msw.c (mswindows_init_frame_1):
11691         * frame-msw.c (mswindows_enable_frame):
11692         * frame-msw.c (error_frame_unsizable):
11693         * frame-msw.c (msprinter_init_frame_1):
11694         * frame-msw.c (msprinter_init_frame_3):
11695         * frame-msw.c (console_type_create_frame_mswindows):
11696         (2).
11697         implement new enable/disable frame methods.
11698
11699         * frame-x.c:
11700         * frame-x.c (x_enable_frame):
11701         * frame-x.c (console_type_create_frame_x):
11702         implement new enable/disable frame methods.
11703
11704         * frame.c:
11705         * frame.c (Fdisable_frame):
11706         * frame.c (syms_of_frame):
11707         * frame.h (struct frame):
11708         implement new enable/disable frame methods/functions.
11709
11710         * general-slots.h:
11711         add initial-focus.
11712
11713         * glyphs-msw.c (mswindows_widget_instantiate):
11714         comment that initial-focus should be implemented.
11715
11716         * glyphs-widget.c:
11717         * glyphs-widget.c (check_valid_instantiator):
11718         * glyphs-widget.c (check_valid_orientation):
11719         * glyphs-widget.c (check_valid_tab_orientation):
11720         * glyphs-widget.c (check_valid_justification):
11721         * glyphs-widget.c (check_valid_border):
11722         * glyphs-widget.c (check_valid_callback):
11723         * glyphs-widget.c (check_valid_int_or_function):
11724         * glyphs-widget.c (check_valid_string_or_vector):
11725         * glyphs-widget.c (check_valid_item_list_1):
11726         * glyphs-widget.c (widget_validate):
11727         * glyphs-widget.c (combo_box_validate):
11728         * glyphs-widget.c (widget_instantiate):
11729         * glyphs-widget.c (syms_of_glyphs_widget):
11730         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11731         * glyphs-widget.c (image_instantiator_combo_box):
11732         * glyphs-widget.c (image_instantiator_scrollbar):
11733         * glyphs-widget.c (image_instantiator_tab_control):
11734         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11735         (2).
11736         support (unimplemented) keyword initial-focus.
11737         reindent long macros.
11738
11739         * glyphs-x.c (x_redisplay_widget):
11740         * glyphs-x.c (x_button_instantiate):
11741         * glyphs-x.c (x_button_redisplay):
11742         * glyphs-x.c (x_progress_gauge_instantiate):
11743         * glyphs-x.c (x_edit_field_instantiate):
11744         * glyphs-x.c (x_combo_box_instantiate):
11745         * glyphs-x.c (x_tab_control_instantiate):
11746         * glyphs-x.c (x_label_instantiate):
11747         * gui-x.c:
11748         * gui-x.c (button_item_to_widget_value):
11749         * gui-x.c (gui_items_to_widget_values_1):
11750         * gui-x.c (gui_item_children_to_widget_values):
11751         * gui-x.c (gui_items_to_widget_values):
11752         * gui-x.h:
11753         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11754         add new flag to gui-parsing routines to indicate whether
11755         accelerator specs should be supported.
11756
11757         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11758
11759         * glyphs.h (struct Lisp_Image_Instance):
11760         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11761         add initial-focus flag.
11762
11763         * gui.c:
11764         * gui.c (syms_of_gui):
11765         * gui.c (vars_of_gui):
11766         clean up menu-no-selection-hook.
11767
11768         * gui.h:
11769         support delete-dialog-box-hook.
11770
11771         * lread.c (Fload_internal):
11772         * lread.c (locate_file_in_directory_mapper):
11773         (1).
11774
11775         * lrecord.h:
11776         * lrecord.h (struct toolbar_button):
11777         * lrecord.h (syms_of_toolbar):
11778         document how to create a new object.
11779
11780         * menubar-msw.c (mswindows_char_is_accelerator):
11781         may be called on frames w/o menus.
11782
11783         * menubar.c (vars_of_menubar):
11784         clean up :filter docs.
11785
11786         * nt.c (readdir):
11787         * ntproc.c:
11788         (1).
11789
11790         * process-nt.c:
11791         * process-nt.c (validate_signal_number):
11792         * process-nt.c (signal_cannot_launch):
11793         * process-nt.c (nt_create_process):
11794         * process-nt.c (nt_send_process):
11795         * process-nt.c (nt_kill_child_process):
11796         * process-nt.c (nt_open_network_stream):
11797         * process-nt.c (syms_of_process_nt):
11798         (2).
11799         delete quote-handling.  call new lisp code that does it better.
11800
11801         * process-unix.c (connect_to_file_descriptor):
11802         * process-unix.c (allocate_pty):
11803         * process-unix.c (unix_send_process):
11804         * process-unix.c (unix_kill_child_process):
11805         * process-unix.c (unix_open_network_stream):
11806         * process-unix.c (unix_open_multicast_group):
11807         (1). (2).
11808
11809         * process.c:
11810         * process.c (Fstart_process_internal):
11811         (2).  need to canonicalize process path even if absolute.
11812
11813         * select-msw.c (symbol_to_ms_cf):
11814         * select-msw.c (ms_cf_to_symbol):
11815         * select-msw.c (cf_is_autofreed):
11816         * select-msw.c (mswindows_destroy_selection):
11817         * select.c:
11818         * select.c (syms_of_select):
11819         * select.h:
11820         support dibv5, fix bugs. (from Mike Alexander)
11821
11822         * select.c (Fget_selection_internal):
11823         * select.c (select_convert_out):
11824
11825         * sysdep.c:
11826         * sysdep.c (xemacs_stat):
11827         renamed.
11828
11829         * sysdep.c (mkdir):
11830         * sysdep.c (rmdir):
11831         but keep original stat() here because we provide encapsulation
11832         around these funs.
11833
11834         * sysfile.h:
11835         * sysfile.h (fstat):
11836         remove stat garbage.
11837
11838         * syswindows.h:
11839         fix X/MSW conflict.
11840         don't include tchar.h.  it's inappropriate because it makes
11841         compile-time distinctions when we want runtime distinctions.
11842         (we provide our own tchar replacements)
11843
11844         * toolbar.c:
11845         use default object printer for toolbar-button.
11846
11847         * unexcw.c:
11848         make sure we don't encapsulate.
11849
11850         * window.c (vars_of_window):
11851         emphasize that temp-buffer-show-hook is obsolete.
11852
11853 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11854
11855         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11856         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11857
11858         * events.c (Fevent_timestamp_lessp):
11859         Not 64-bit clean.  Use EMACS_INT, not int.
11860
11861 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11862
11863         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11864         unsigned int and changed the last enum to
11865         lrecord_type_last_built_in_type.
11866         (lrecord_implementations_table): changed prototype to know how
11867         long the array is supposed to be.
11868         (lrecord_type_count): new unsigned int to keep track of the
11869         current number of lisp lrecord types.
11870         (DEFINE_EXTERNAL_LRECORD):
11871         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11872         dynamic-modules to declare new lisp types. They are the same
11873         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11874         int for each new type, and increment lrecord_type_count by 1.
11875
11876         * alloc.c (lrecord_implementations_table): Changed to reference
11877         lrecord_type_last_built_in_type for the size of the array.
11878         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11879
11880 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11881
11882         * glyphs.h (check_valid_item_list): Renamed from
11883         check_valid_item_list_1.
11884
11885 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11886
11887         * select.c (Qselect_coerce): New.
11888         * select.c (Vselection_coercion_alist): New.
11889         * select.c (syms_of_select): Declare.
11890         * select.c (get-selection-internal): Use it.
11891         Use the new select-coerce functionality.
11892
11893         * select.c (select_coerce): New.
11894         * select.h (select_coerce): Declare.
11895         New function to coerce one type of data into another.
11896
11897 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11898
11899         * callproc.c (Fcall_process_internal):
11900         (Fcall_process_internal):
11901         * process-unix.c (unix_create_process):
11902         Save and restore the value of errno, so that error messages are accurate.
11903
11904 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11905
11906         * elhash.c (print_hash_table):
11907         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11908         Prettify docstrings and indentation.
11909
11910 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11911
11912         * window.c (Fwindow_pixel_edges): Subtract frame border and
11913         gutter size.
11914
11915 2000-07-31  Andy Piper  <andy@xemacs.org>
11916
11917         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11918         will acknowledge the change.
11919
11920         * glyphs.h: declare tab_control_order_only_changed.
11921
11922         * glyphs-x.c (x_tab_control_redisplay): use
11923         tab_control_order_only_changed.
11924
11925         * glyphs-widget.c (tab_control_order_only_changed): new function.
11926
11927         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11928         tab_control_order_only_changed.
11929
11930         * gui.c (gui_item_equal_sans_selected): new function.
11931         (gui_item_equal): use it.
11932
11933         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11934         :properties in favor of :items..
11935
11936         * glyphs-widget.c (check_valid_item_list): rename from
11937         check_valid_item_list_1.
11938         (check_valid_item_list_1): renamed.
11939         (combo_box_validate): deprecate :properties in favor of :items.
11940         (widget_instantiate): ditto.
11941         (tab_control_update): ditto.
11942         (image_instantiator_combo_box): ditto.
11943         (image_instantiator_tree_view): ditto.
11944         (image_instantiator_tab_control): ditto.
11945         (layout_post_instantiate): remove dead code.
11946
11947         * print.c (debug_print_no_newline): only write to debugger if in
11948         WIN32_NATIVE.
11949
11950         * elhash.c (Fmake_hash_table): update doc string.
11951
11952         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11953         messages whilst in GC. This at least stops XEmacs crashing but has
11954         the potential for wierd behaviour.
11955
11956 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11957
11958         * config.h.in:
11959         Make existence of s&m files optional.
11960
11961         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11962         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11963         * s/gnu.h: Remove HAVE_GETLOADAVG.
11964         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11965         * s/sol2.h: Remove HAVE_GETLOADAVG.
11966         * lisp.h: Remove getloadavg() declaration.
11967         * fns.c:
11968         Include <sys/loadavg.h> if available.
11969         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11970         * config.h.in:  Group together getloadavg()-related macros.
11971         Use only configure-time tests to detect getloadavg().
11972
11973 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11974
11975         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11976
11977 2000-07-25  Andy Piper  <andy@xemacs.org>
11978
11979         * syswindows.h: add tchar.h for native builds.
11980
11981         * frame.c (syms_of_frame): remove set-glyph-image.
11982
11983         * general-slots.h: add Qset_glyph_image.
11984
11985         * glyphs-widget.c (layout_update): add domain arg to
11986         set-glyph-image.
11987         (syms_of_glyphs_widget): remove set-glyph-image.
11988
11989 2000-07-23  Ben Wing  <ben@xemacs.org>
11990
11991         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11992         Vpopup_frame_list.
11993
11994 2000-07-22  Andy Piper  <andy@xemacs.org>
11995
11996         * symsinit.h: add syms_of_win32().
11997
11998         * gui-msw.c (syms_of_gui_mswindows): remove
11999         Fmswindows_shell_execute.
12000         (Fmswindows_shell_execute): moved to win32.c.
12001
12002         * emacs.c (main_1): add syms_of_win32 ().
12003
12004         * win32.c (init_potentially_nonexistent_functions): rewrite in
12005         compiler-friendly terms.
12006         (Fmswindows_shell_execute): move here from gui-msw.c.
12007         (syms_of_win32): new.
12008
12009         * device-msw.c (Fmswindows_printer_list): clean up args to
12010         EnumPrinters.
12011         Don't include tchar under cygwin or mingw.
12012         (msprinter_default_printer): make cygwin-friendly.
12013
12014 2000-07-21  Andy Piper  <andy@xemacs.org>
12015
12016         * glyphs-widget.c (image_instantiator_tree_view): use tab
12017         control's update function.
12018         (layout_property): new function. Retrieve items.
12019
12020         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12021         function. Re-populate the tree view from the pending items.
12022
12023         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12024         is designated the parent if the domain is an image instance. This
12025         is needed so that dirtiness can be cascade up the hierarchy and
12026         thus for layout children to be redisplayed correctly.
12027         (allocate_image_instance): rename glyph -> parent.
12028
12029         * redisplay.h: change redisplay_output_layout signature.
12030
12031         * redisplay-msw.c (mswindows_output_display_block): use domain
12032         arg.
12033
12034         * redisplay-x.c (x_output_display_block): use domain arg.
12035
12036 2000-07-10  Andy Piper  <andy@xemacs.org>
12037
12038         * window.c (Fset_window_configuration): add comment.
12039
12040         * redisplay-output.c (compare_runes):
12041         (redisplay_output_subwindow): redisplay rather than update subwindow.
12042         (redisplay_output_layout): ditto.
12043
12044         * redisplay-msw.c (mswindows_frame_output_end):
12045         (mswindows_frame_output_end): make defer window pos optional.
12046
12047         * lisp.h: add Flast.
12048
12049         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12050         normalize method. Change update method to be for changed
12051         instantiators. Add redisplay method. Change signature of layout
12052         method.
12053         (struct Lisp_Image_Instance): add instantiator.
12054         (IMAGE_INSTANCE_INSTANTIATOR): new.
12055         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12056         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12057         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12058
12059         * glyphs.c:
12060         (find_instantiator_differences): new function.
12061         (Fset_instantiator_property): new convenience function.
12062         (check_image_instance_structure): strictly check for vector
12063         instantiators.
12064         (normalize_image_instantiator): make non-static.
12065         (instantiate_image_instantiator): pass on dest_mask and use new
12066         signatures for image_instance_layout and friends.
12067         (mark_image_instance): mark the instantiator. Mark the subwindow
12068         face not the widget face.
12069         (image_instance_equal): add instantiator.
12070         (image_instance_hash): ditto.
12071         (allocate_image_instance): ditto.
12072         (Fset_image_instance_property): removed.
12073         (Fimage_instance_file_name): ditto.
12074         (Fcolorize_image_instance): ditto.
12075         (image_instance_layout): add offsets to be set.
12076         (update_image_instance): new function. update an image instance
12077         from its changed instantiator.
12078         (inherit_normalize): add dest_mask.
12079         (xbm_normalize): ditto.
12080         (xface_normalize): ditto.
12081         (xpm_normalize): ditto.
12082         (text_update): set_property -> update.
12083         (image_instantiate): use the glyph identity as a hash key, not the
12084         instantiator.
12085         (glyph_width): use new image_instance_layout signature.
12086         (glyph_ascent): ditto.
12087         (glyph_descent): ditto.
12088         (glyph_height): ditto.
12089         (glyph_query_geometry): ressurrect.
12090         (glyph_layout): ditto.
12091         (redisplay_subwindow): update -> redisplay.
12092         (syms_of_glyphs): add Fset_instantiator_property.
12093         (image_instantiator_format_create): set_property -> update.
12094
12095         * glyphs-x.c:
12096         (autodetect_normalize): add dest_maks to signature.
12097         (x_redisplay_subwindow): update -> redisplay.
12098         (x_redisplay_widget): ditto.
12099         (x_button_redisplay): ditto.
12100         (x_progress_gauge_redisplay): ditto.
12101         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12102         stacking order.
12103         (console_type_create_glyphs_x): update -> redisplay.
12104         (image_instantiator_format_create_glyphs_x): ditto.
12105
12106         * glyphs-widget.c:
12107         (check_valid_instantiator): disallow glyphs in the instantiator,
12108         they must now be vectors.
12109         (check_valid_instantiator_list): ditto.
12110         (glyph_instantiator_to_glyph): use internal symbol rather than
12111         intern.
12112         (widget_update): renamed from widget_set_property. Call cascaded
12113         update methods.
12114         (redisplay_widget): renamed from update_widget.
12115         (widget_layout): image_instance_layout now takes position as well
12116         as size.
12117         (widget_normalize): ditto.
12118         (widget_instantiate): ditto.
12119         (tab_control_query_geometry) ditto.:
12120         (tab_control_update): renamed from tab_control_set_property.
12121         (progress_gauge_update): set_property -> update.
12122         (layout_normalize): rewrite so that child instantiators are
12123         normalized also.
12124         (layout_update): new function. Create glyphs from the normalized
12125         children and cope with any other layout keywords. We do not
12126         instantiate children here that will be take care of by
12127         redisplay_output_layout.
12128         (layout_instantiate): call layout_update and not much else.
12129         (layout_post_instantiate): not sure whether this is needed
12130         anymore.
12131         (layout_query_geometry): query glyph geometry rather than
12132         image_instance geometry.
12133         (layout_layout): set offsets from pass in parameters. Use glyph
12134         geometry and layout functions rather than image instance ones.
12135         (native_layout_layout): ditto.
12136         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12137         (image_instantiator_widget): set_property -> update.
12138         (image_instantiator_buttons): ditto.
12139         (image_instantiator_progress_guage): ditto.
12140         (image_instantiator_tab_control): ditto.
12141         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12142         (image_instantiator_layout): add update method.
12143
12144         * glyphs-msw.c (bmp_normalize):
12145         (mswindows_resource_normalize): add dest_mask so that it can be
12146         proprogated by layout_normalize.
12147         (begin_defer_window_pos): make optional because it may not be the
12148         right thing to do and it introduces differences with X.
12149         (mswindows_unmap_subwindow): ditto.
12150         (mswindows_map_subwindow): ditto.
12151         (mswindows_redisplay_subwindow): renamed from
12152         mswindows_update_subwindow.
12153         (mswindows_redisplay_widget): ditto.
12154         (mswindows_button_redisplay): renamed from
12155         mswindows_button_update. Update is now what the instantiation
12156         function does for a changed instantiator.
12157         (mswindows_progress_gauge_instantiate): set the progress value
12158         here if appropriate.
12159         (mswindows_tab_control_redisplay): cope with re-ordering of the
12160         members of the tab widget by simply selecting the new top
12161         widget. This makes things appear ok if you click on a tab.
12162         (mswindows_combo_box_instantiate): image_instance_layout now takes
12163         position as well as size.
12164         (mswindows_progress_gauge_redisplay): renamed from
12165         mswindows_progress_gauge_update.
12166         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12167         (image_instantiator_format_create_glyphs_mswindows): ditto.
12168
12169         * glyphs-eimage.c (jpeg_normalize):
12170         (gif_normalize):
12171         (png_normalize):
12172         (tiff_normalize): add dest_mask so that it can be proprogated by
12173         layout_normalize.
12174
12175         * elhash.c:
12176         (print_hash_table):
12177         (hash_table_weakness_validate):
12178         (decode_hash_table_weakness):
12179         (Fhash_table_weakness):
12180         (Fhash_table_type):
12181         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12182
12183         * console.h (struct console_methods): move update_* to
12184         redisplay_*.
12185
12186 2000-07-20  Ben Wing  <ben@xemacs.org>
12187
12188         * *.[ch] (XSETOBJ): remove unused middle argument.
12189         lisp-disunion.h: correct wrap_object() to one argument.
12190
12191 2000-07-15  Ben Wing  <ben@xemacs.org>
12192
12193         * s/cygwin32.h:
12194         * s/cygwin32.h (CYGWIN_CONV_PATH):
12195         Add missing logb prototype for v1.1.
12196         Use post-b20 names and alias to pre-b20 names when pre-b20.
12197
12198         * s/windowsnt.h: [5].
12199
12200 2000-07-15  Ben Wing  <ben@xemacs.org>
12201
12202         * Makefile.in.in (x_objs):
12203         * Makefile.in.in (sheap_objs):
12204         * Makefile.in.in (objs):
12205         added win32.o, cosmetic cleanups.
12206
12207         * alloc.c (Fmake_byte_code):
12208         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12209         etc. macros which declare their own args now.
12210
12211         * alloc.c (syms_of_alloc):
12212         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12213
12214         * buffer.c:
12215         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12216
12217         * buffer.c (Fget_file_buffer):
12218         Fixed GCPRO problem.
12219
12220         * buffer.c (get_truename_buffer):
12221         Fixed comment about GC checking.
12222
12223         * buffer.c (syms_of_buffer):
12224         Undeclared those dedicated frame funs.
12225         [2].
12226
12227         * buffer.h:
12228         Define convenience macros for internal/external conversions.
12229         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12230         and Qenvironment_variable_encoding for cleaner code.
12231
12232         * bufslots.h:
12233         Remove dedicated-frame; in lisp.
12234
12235         * bytecode.c (funcall_compiled_function):
12236         [1].
12237
12238         * bytecode.c (syms_of_bytecode):
12239         [2].
12240
12241         * console-msw.c:
12242         * console-msw.c (mswindows_show_console): Rewrote.
12243
12244         * console-msw.c (Fmswindows_debugging_output): New.
12245         Sends to OutputDebugString (special MSWin debugger interface).
12246
12247         * console-msw.c (Fmswindows_message_box):
12248         Fixed stupid bugs so it works when called from kill-emacs.
12249
12250         * console-msw.c (syms_of_console_mswindows):
12251         Declare Fmswindows_debugging_output.
12252
12253         * console-msw.h:
12254         New MSWin prototypes.
12255
12256         * console-msw.h (struct mswindows_frame):
12257         New entry last-click-mods for improved button-modifier support.
12258
12259         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12260         New struct entry `popup' with corresponding accessor.
12261
12262         * console-x.c:
12263         * console-x.c (split_up_display_spec):
12264         * console-x.c (get_display_arg_connection):
12265         * console-x.c (x_semi_canonicalize_console_connection):
12266         * console-x.c (x_canonicalize_device_connection):
12267         [[[6]]]: Change char to more specific type.
12268         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12269
12270         * console-x.c (x_semi_canonicalize_console_connection):
12271         * console-x.c (x_canonicalize_device_connection):
12272         [[[9]]]: Fix up error signalling to use new structured error system.
12273
12274         * console-x.h:
12275         [[[4]]]: Define codesys aliases:
12276         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12277         Qx_color_name_encoding, Qx_display_name_encoding.
12278
12279         * console.h (struct console_methods):
12280         New method make_dialog_box_internal supersedes older
12281         popup_dialog_box method.
12282
12283         * data.c:
12284         Define many new errors, part of new structured errors.
12285
12286         * data.c (init_errors_once_early):
12287         * data.c (syms_of_data):
12288         [2].
12289
12290         * device-msw.c (mswindows_init_device):
12291         [[[5]]]: Cleanup to support NT 3.51.
12292
12293         * device-msw.c (decode_devmode): Cleanup.
12294
12295         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12296         * device-msw.c (mswindows_handle_print_dialog_box):
12297         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12298         * device-msw.c (syms_of_device_mswindows):
12299         Delete the dialog box primitives recently introduced by Kirill and
12300         instead interface to general dialog box interface.
12301
12302         * device-x.c:
12303         * device-x.c (compute_x_app_name):
12304         * device-x.c (x_init_device):
12305         * device-x.c (Fx_valid_keysym_name_p):
12306         * device-x.c (Fx_set_font_path):
12307         [6].
12308         [7].
12309
12310         * device.h (wrap_device): New.
12311         First of its kind; meant to replace XSETDEVICE.
12312
12313         * dialog-msw.c: Many file-dialog symbols.
12314
12315         * dialog-msw.c (mswindows_register_popup_frame): New.
12316         * dialog-msw.c (mswindows_is_dialog_msg): New.
12317         For supporting kbd traversal in dialog boxes.
12318
12319         * dialog-msw.c (dialog_proc):
12320         Support hitting ESC in dialogs.
12321
12322         * dialog-msw.c (struct):
12323         Common dialog box errors.
12324
12325         * dialog-msw.c (handle_file_dialog_box): New.
12326         Add file dialog code.
12327
12328         * dialog-msw.c (handle_question_dialog_box):
12329         Redo existing code to support new question dialog syntax.
12330
12331         * dialog-msw.c (console_type_create_dialog_mswindows):
12332         We support new dialog console method.
12333
12334         * dialog-msw.c (syms_of_dialog_mswindows):
12335         * dialog-msw.c (vars_of_dialog_mswindows):
12336         New file dialog symbols, vars.
12337
12338         * dialog-x.c:
12339         * dialog-x.c (maybe_run_dbox_text_callback):
12340         * dialog-x.c (dbox_descriptor_to_widget_value):
12341         * dialog-x.c (x_make_dialog_box_internal):
12342         * dialog-x.c (console_type_create_dialog_x):
12343         Mule-ize entire file.
12344         Redo to support question dialog syntax.
12345         [6].
12346
12347         * dialog.c:
12348         * dialog.c (Fmake_dialog_box_internal):
12349         * dialog.c (syms_of_dialog):
12350         Kill old popup-dialog-box, replace with new primitive.
12351         Just call device method or signal error.
12352
12353         * eldap.c (Fldap_open):
12354         * eldap.c (Fldap_search_basic):
12355         * eldap.c (Fldap_add):
12356         * eldap.c (Fldap_modify):
12357         [1].
12358         [7].
12359
12360         * emacs.c:
12361         * emacs.c (make_arg_list_1):
12362         * emacs.c (make_arg_list):
12363         Mule-ize call to dll_init().
12364         [6].
12365         [8].
12366
12367         * emacs.c (make_argc_argv):
12368         * emacs.c (free_argc_argv):
12369         * emacs.c (init_cmdargs):
12370         * emacs.c (main_1):
12371         * emacs.c (Fkill_emacs):
12372         * emacs.c (Fdump_emacs):
12373         Update comments about what can be used in syms_* etc.
12374         Call init_win32() when necessary.
12375         Fix up MS Win dialog box in kill-buffer to actually work right.
12376         [7].
12377
12378         * eval.c:
12379         * eval.c (For):
12380         * eval.c (Fand):
12381         * eval.c (Fprogn):
12382         * eval.c (Fprog1):
12383         * eval.c (Fprog2):
12384         * eval.c (FletX):
12385         * eval.c (Flet):
12386         * eval.c (condition_case_3):
12387         * eval.c (Feval):
12388         * eval.c (function_argcount):
12389         * eval.c (funcall_lambda):
12390         [1].
12391
12392         * eval.c (type_error): New.
12393         * eval.c (maybe_type_error): New.
12394         * eval.c (continuable_type_error): New.
12395         * eval.c (maybe_continuable_type_error): New.
12396         * eval.c (type_error_with_frob): New.
12397         * eval.c (maybe_type_error_with_frob): New.
12398         * eval.c (continuable_type_error_with_frob): New.
12399         * eval.c (maybe_continuable_type_error_with_frob): New.
12400         New functions for use with structured errors.
12401
12402         * event-Xt.c:
12403         * event-Xt.c (x_event_to_emacs_event):
12404         Buttons are now modifiers too.
12405
12406         * event-Xt.c (emacs_Xt_current_event_timestamp):
12407         Implement new event method.
12408         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12409
12410         * event-msw.c:
12411         * event-msw.c (ntpipe_shove_writer): [5].
12412         * event-msw.c (mswindows_enqueue_mouse_button_event):
12413         * event-msw.c (mswindows_drain_windows_queue):
12414         * event-msw.c (mswindows_wnd_proc): [7].
12415         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12416         * event-msw.c (mswindows_modifier_state):
12417         Throughout: support new button modifiers.
12418
12419         * event-msw.c (emacs_mswindows_current_event_timestamp):
12420         Implement new event method.
12421         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12422
12423         * event-stream.c:
12424         * event-stream.c (event_stream_current_event_timestamp): New.
12425         * event-stream.c (maybe_kbd_translate): New functionality.
12426         * event-stream.c (vars_of_event_stream):
12427         Document new kbd-translate-table functionality.
12428
12429         * event-stream.c (Fcurrent_event_timestamp): New.
12430         New primitive for use in fabricated events.
12431         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12432
12433         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12434
12435         * events.c:
12436         * events.c (Fmake_event):
12437         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12438         [1].
12439         [9].
12440
12441         * events.c (format_event_object): fix gcc warnings.
12442
12443         * events.c (Fevent_timestamp): Document new primitives.
12444
12445         * events.c (TIMESTAMP_HALFSPACE): New.
12446
12447         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12448         comparing timestamps correctly (half-space algorithm).
12449
12450         * events.c (Fevent_modifier_bits): Doc fix.
12451
12452         * events.c (Fevent_modifiers): Major doc addition.
12453         * events.c (event_x_y_pixel_internal): Typo fix.
12454         * events.c (syms_of_events): Declare new primitives.
12455
12456         * events.h:
12457         Update long comment for button modifiers, timestamps.
12458
12459         * events.h (struct event_stream):
12460         New current_event_timestamp method.
12461
12462         * extents.c:
12463         * extents.c (extent_in_region_p):
12464         * extents.c (decode_extent):
12465         * extents.c (Fset_extent_parent):
12466         * extents.c (decode_map_extents_flags):
12467         Fix gcc warnings.
12468         [9].
12469
12470         * extents.c (struct extent_at_arg):
12471         * extents.c (decode_extent_at_flag):
12472         * extents.c (extent_at_mapper):
12473         * extents.c (extent_at_bytind):
12474         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12475         * extents.c (Fextents_at): New primitive. [9].
12476         * extents.c (symbol_to_glyph_layout): [9].
12477         Support new primitive `extents-at'.
12478
12479
12480         * extents.c (get_text_property_bytind):
12481         extent_at_bytind has another arg.
12482         [9].
12483
12484         * extents.c (syms_of_extents): New primitive.
12485
12486         * file-coding.c (Fmake_coding_system): [1].
12487         * file-coding.c (subsidiary_coding_system): fix gcc warning
12488         * file-coding.c (syms_of_file_coding): [2].
12489
12490         * fileio.c (Fexpand_file_name):
12491         * fileio.c (Fsysnetunam):
12492         * fileio.c (Ffile_exists_p):
12493         * fileio.c (Ffile_executable_p):
12494         * fileio.c (Fverify_visited_file_modtime):
12495         Clean up GCPROing.
12496
12497         * fileio.c (syms_of_fileio): [2].
12498
12499         * filelock.c (lock_file_1):
12500         * filelock.c (current_lock_owner):
12501         * filelock.c (lock_if_free):
12502         * filelock.c (lock_file):
12503         * filelock.c (unlock_file):
12504         Clean up GCPROing.
12505
12506         * fns.c (concat): Fix gcc warning.
12507
12508         * fns.c (Fmember):
12509         * fns.c (Fold_member):
12510         * fns.c (Fmemq):
12511         * fns.c (Fold_memq):
12512         * fns.c (memq_no_quit):
12513         * fns.c (Fassoc):
12514         * fns.c (Fold_assoc):
12515         * fns.c (Fassq):
12516         * fns.c (Fold_assq):
12517         * fns.c (assq_no_quit):
12518         * fns.c (Frassoc):
12519         * fns.c (Fold_rassoc):
12520         * fns.c (Frassq):
12521         * fns.c (Fold_rassq):
12522         * fns.c (rassq_no_quit):
12523         * fns.c (Fdelete):
12524         * fns.c (Fold_delete):
12525         * fns.c (Fdelq):
12526         * fns.c (Fold_delq):
12527         * fns.c (delq_no_quit):
12528         * fns.c (Fremassoc):
12529         * fns.c (Fremassq):
12530         * fns.c (remassq_no_quit):
12531         * fns.c (Fremrassoc):
12532         * fns.c (Fremrassq):
12533         * fns.c (remrassq_no_quit):
12534         * fns.c (Freverse):
12535         * fns.c (mapcar1):
12536         [1].
12537
12538         * frame-msw.c (mswindows_init_frame_1):
12539         * frame-msw.c (mswindows_delete_frame):
12540         Register popups with dialog code so keyboard traversing works.
12541
12542         * frame-tty.c (tty_raise_frame_no_select): [1].
12543
12544         * frame-x.c:
12545         * frame-x.c (x_set_frame_text_value):
12546         * frame-x.c (x_set_frame_properties):
12547         * frame-x.c (x_create_widgets):
12548         [7].
12549
12550         * frame.c:
12551         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12552
12553         * frame.h (wrap_frame): New.
12554         Macro like wrap_device.
12555
12556         * general.c:
12557         * general.c (SYMBOL):
12558         * general.c (syms_of_general):
12559         Major reorg.  This is now just a wrapper and symbols themselves
12560         are listed in general-slots.h.
12561
12562         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12563         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12564
12565         * glyphs-msw.c (mswindows_native_layout_instantiate):
12566         Add DS_CONTROL so keyboard traversal will work.
12567
12568         * glyphs-widget.c:
12569         * glyphs-widget.c (syms_of_glyphs_widget):
12570         Move some symbols to general-slots.h.
12571
12572         * glyphs-x.c:
12573         * glyphs-x.c (xbm_instantiate_1):
12574         * glyphs-x.c (x_xbm_instantiate):
12575         * glyphs-x.c (x_xface_instantiate):
12576         * glyphs-x.c (autodetect_instantiate):
12577         * glyphs-x.c (cursor_font_instantiate):
12578         * glyphs-x.c (x_update_widget):
12579         * glyphs-x.c (x_widget_instantiate):
12580         * glyphs.c (bitmap_to_lisp_data):
12581         * glyphs.c (pixmap_to_lisp_data):
12582         [7].
12583
12584         * glyphs.c (syms_of_glyphs):
12585         [2].
12586
12587         * gui-x.c:
12588         * gui-x.c (print_widget_value):
12589         * gui-x.c (menu_separator_style_and_to_external):
12590         * gui-x.c (add_accel_and_to_external):
12591         * gui-x.c (button_item_to_widget_value):
12592         * gui-x.c (gui_items_to_widget_values_1):
12593         * gui-x.c (gui_items_to_widget_values):
12594         * gui-x.c (syms_of_gui_x):
12595         * gui-x.c (vars_of_gui_x):
12596         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12597         [9].
12598
12599         * gui-x.h:
12600         Muleize, prototype changes matching gui-x.c.
12601
12602         * gui.c:
12603         * gui.c (separator_string_p):
12604         * gui.c (gui_item_add_keyval_pair):
12605         * gui.c (make_gui_item_from_keywords_internal):
12606         * gui.c (signal_too_long_error):
12607         * gui.c (parse_gui_item_tree_item):
12608         * gui.c (syms_of_gui):
12609         * gui.c (vars_of_gui):
12610         * gui.h:
12611         menu-no-selection-hook moved here (used by MSWin).
12612         Move some symbols to general-slots.h.
12613         [6].
12614         [9].
12615
12616         * insdel.c (get_buffer_pos_char):
12617         * insdel.c (get_buffer_range_char):
12618         Add GC comments.
12619
12620         * keymap.c (keymap_lookup_directly):
12621         * keymap.c (keymap_store):
12622         * keymap.c (ensure_meta_prefix_char_keymapp):
12623         * keymap.c (describe_map):
12624         * keymap.h:
12625         Support new button modifiers.
12626
12627         * lisp-disunion.h (wrap_object):
12628         * lisp-disunion.h (XSETOBJ):
12629         Rename make_obj to wrap_object.
12630
12631         * lisp-union.h:
12632         * lisp-union.h (make_int):
12633         * lisp-union.h (make_char):
12634         Support wrap_object.
12635
12636         * lisp.h:
12637         * lisp.h (LIST_LOOP):
12638         * lisp.h (EXTERNAL_LIST_LOOP):
12639         * lisp.h (LIST_LOOP_2):
12640         * lisp.h (EXTERNAL_LIST_LOOP_1):
12641         * lisp.h (EXTERNAL_LIST_LOOP_2):
12642         * lisp.h (EXTERNAL_LIST_LOOP_3):
12643         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12644         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12645         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12646         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12647         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12648         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12649         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12650         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12651         * lisp.h (struct Lisp_Symbol):
12652         * lisp.h (maybe_continuable_error_with_frob):
12653         Fix up section comments.
12654         Add new types for char to indicate usage.
12655         Delete symbols auto-generated from general-slots.h.
12656         Add prototypes for structured error functions.
12657         Add long comments describing looping macros and change interface
12658         so that lvalues are automatically declared.
12659         Add NO_DECLARE macro in case callers want to declare lvalues
12660         themselves.
12661
12662         * lread.c (read_syntax_error):
12663         * lread.c (continuable_read_syntax_error):
12664         * lread.c (read_structure):
12665         * lread.c (sequence_reader):
12666         * lread.c (read_list_conser):
12667         * lread.c (read_compiled_function):
12668         Rename syntax_error and continuable_syntax_error to avoid clash
12669         with same-named structured error functions.
12670
12671         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12672         * menubar-msw.c (populate_menu_add_item):
12673         * menubar-msw.c (populate_or_checksum_helper):
12674         [5].
12675         [9].
12676
12677         * menubar-x.c:
12678         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12679         Mule-ize whole file.
12680
12681         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12682
12683         * mule-charset.c (Fmake_charset):
12684         * mule-wnnfns.c (Fwnn_set_param):
12685         [1].
12686
12687         * ntproc.c (create_child):
12688         * ntproc.c (Fwin32_set_current_locale):
12689         Add comments portending doom.
12690
12691         * objects-msw.c:
12692         * objects-msw.c (old_font_enum_callback_2):
12693         * objects-msw.c (font_enum_callback_1):
12694         * objects-msw.c (mswindows_enumerate_fonts):
12695         [5].
12696
12697         * objects-x.c:
12698         * objects-x.c (allocate_nearest_color):
12699         * objects-x.c (x_parse_nearest_color):
12700         * objects-x.c (x_initialize_color_instance):
12701         * objects-x.c (x_print_color_instance):
12702         * objects-x.c (x_finalize_color_instance):
12703         * objects-x.c (x_valid_color_name_p):
12704         * objects-x.c (x_initialize_font_instance):
12705         * objects-x.c (x_print_font_instance):
12706         * objects-x.c (valid_x_font_name_p):
12707         * objects-x.c (truename_via_FONT_prop):
12708         * objects-x.c (truename_via_random_props):
12709         * objects-x.c (truename_via_XListFonts):
12710         * objects-x.c (x_font_truename):
12711         * objects-x.c (x_font_instance_truename):
12712         * objects-x.c (x_font_instance_properties):
12713         * objects-x.c (x_list_fonts):
12714         * objects-x.c (x_find_charset_font):
12715         Mule-ize entire file.
12716         [7].
12717
12718         * objects-x.h:
12719         Mule-verify.
12720
12721         * print.c:
12722         * print.c (std_handle_out_external):
12723         * print.c (debug_print_no_newline):
12724         * print.c (syms_of_print):
12725         Output to all debugger kinds in debug-print.
12726         Fix console-output code under MSWin to actually work.
12727
12728         * process-nt.c (send_signal):
12729         * process-nt.c (nt_create_process):
12730         Use newer Unicode macros.
12731
12732         * process-unix.c (unix_create_process):
12733         * process-unix.c (unix_canonicalize_host_name):
12734         * process-unix.c (unix_open_network_stream):
12735         [7].
12736
12737         * scrollbar-x.c:
12738         Mule-verify.
12739
12740         * search.c (syms_of_search):
12741         [2].
12742
12743         * select-msw.c (mswindows_destroy_selection):
12744         Use LIST_LOOP_2.
12745
12746         * select-x.c (symbol_to_x_atom):
12747         [7].
12748
12749         * select.c (syms_of_select):
12750         [2].
12751
12752         * sound.c (Fplay_sound_file):
12753         [7].
12754
12755         * specifier.c:
12756         * specifier.c (decode_specifier_type):
12757         * specifier.c (Fvalid_specifier_locale_type_p):
12758         * specifier.c (check_valid_locale_or_locale_type):
12759         * specifier.c (decode_locale):
12760         * specifier.c (decode_locale_type):
12761         * specifier.c (decode_locale_list):
12762         * specifier.c (check_valid_domain):
12763         * specifier.c (decode_specifier_tag_set):
12764         * specifier.c (Fcanonicalize_tag_set):
12765         * specifier.c (Fdefine_specifier_tag):
12766         * specifier.c (Fspecifier_tag_predicate):
12767         * specifier.c (check_valid_inst_list):
12768         * specifier.c (check_valid_spec_list):
12769         * specifier.c (decode_how_to_add_specification):
12770         * specifier.c (check_modifiable_specifier):
12771         * specifier.c (specifier_add_spec):
12772         * specifier.c (boolean_validate):
12773         * specifier.c (display_table_validate):
12774         [9].
12775
12776         * specifier.c (syms_of_specifier):
12777         Move some symbols to general-slots.h.
12778         [2].
12779
12780         * symbols.c:
12781         * symbols.c (Fmapatoms):
12782         * symbols.c (Fapropos_internal):
12783         Add GCPROs.
12784
12785         * symbols.c (set_default_buffer_slot_variable):
12786         * symbols.c (set_default_console_slot_variable):
12787         [1].
12788
12789         * symbols.c (defsymbol_massage_name_1):
12790         * symbols.c (defkeyword_massage_name):
12791         * symbols.c (deferror_1):
12792         * symbols.c (deferror):
12793         * symbols.c (deferror_massage_name_and_message):
12794         * symeval.h:
12795         * symeval.h (DEFSYMBOL):
12796         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12797
12798         * symbols.c (syms_of_symbols):
12799         [2].
12800
12801         * symsinit.h:
12802         * symsinit.h (init_win32): New.
12803         Also new is syms_of_dialog_mswindows.
12804
12805         * syswindows.h:
12806         Add new Unicode macros, missing Cygwin wide-char functions,
12807         convenience conversion macros for Qmswindows_tstr, macros for
12808         encapsulating required MSWin <-> Cygwin filename conversions,
12809         prototype for dynamically-extracted (not in NT 3.51) functions.
12810
12811         * toolbar-x.c:
12812         Mule-verify.
12813
12814         * tooltalk.c (Fadd_tooltalk_message_arg):
12815         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12816         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12817         [7].
12818
12819         * tooltalk.c (syms_of_tooltalk):
12820         [2].
12821
12822         * unexnt.c:
12823         * unexnt.c (unexec):
12824         Fix up headers, declaration of unexec() to be more standard.
12825
12826 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12827
12828         * offix.h: Revert change to guard macros - they're used in offix.c!
12829
12830 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12831
12832         * lisp.h: Defsubred Fdelete.
12833
12834         * console-msw.h:  (msprinter_default_printer): Added.
12835
12836         * console-msw.c (msprinter_canonicalize_console_connection):
12837         (msprinter_canonicalize_device_connection): Added.
12838
12839         * device-msw.c (msprinter_default_printer):
12840         (Fmswingows_get_default_printer):
12841         (signal_enum_priner_error):
12842         (Fmswingows_printer_list): Added.
12843
12844 2000-07-19  Martin Buchholz <martin@xemacs.org>
12845
12846         * XEmacs 21.2.35 is released.
12847
12848 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12849
12850         * select-x.c (x_handle_selection_request):
12851         Text selected in xemacs and pasted into xterm failed to appear.
12852         Spelling fixes and cosmetic changes.
12853
12854 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12855
12856         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12857         XEmacs frame (fix for doubling chars in dialog boxes).
12858
12859 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12860
12861         * select.c (select_convert_in, select_convert_out):
12862         Don't call intern() every time.
12863
12864         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12865         * select.c (vars_of_select): Initialise them.
12866
12867 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12868
12869         * select.c (selection-coercible-types): New.
12870
12871         * select.c (own-selection-internal):
12872         * select.c (get-selection-internal):
12873         MULE bug fix - these should default to COMPOUND_TEXT and not
12874         STRING for MULE. I think.
12875
12876         * select.c (select_convert_out): Use selection-coercible-types
12877         to find types that we can attempt to perform coercions on.
12878
12879 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12880
12881         * mule-wnnfns.c:
12882         * mule-canna.c:
12883         Add coding: cookie to identify encoding.
12884
12885         * mule-canna.c (CANNA_mode_keys): make static.
12886         Use proper prototypes, even for functions of no arguments.
12887         Remove external prototype for Fding().
12888
12889         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12890
12891         * select.c (syms_of_select): Add missing DEFSUBR.
12892
12893 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12894
12895         * select.c (get_selection_internal, own_selection_internal):
12896         Make the type default to STRING, rather than placing a nil type
12897         into Vselection_alist.
12898
12899 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12900
12901         * gpmevent.c (tty_selection_exists_p):
12902         * gpmevent.c (tty_own_selection):
12903         Updated parameter lists.
12904
12905 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12906
12907         * select.h (selection-alist): Removed declaration.
12908
12909         * select.h (get_local_selection):
12910         * select.c (get_local_selection):
12911         Made static.
12912
12913         * select.h (convert_selection): Removed declaration.
12914         * select.c (convert_selection): Removed.
12915         This function belongs in Lisp.
12916
12917         * select.h (select_convert_in): Declare.
12918         * select.h (select_convert_out): Declare.
12919         * select.c (select_convert_in): New.
12920         * select.c (select_convert_out): New.
12921         New conversion functions for other files to call.
12922
12923         * select.h (select_notify_buffer_kill): Declare.
12924         * select.c (select_notify_buffer_kill): New.
12925         New functions that get called from kill-buffer.
12926
12927         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12928         X-specific lisp code.
12929
12930         * select.h: Declare some of the lisp-visible functions for
12931         external use.
12932
12933         * select.c (clean_local_selection_data): Removed. This was
12934         a disgusting function, and previously should have been in
12935         select-x.c in any case. The functionality is now provided
12936         in select-convert-from-integer (select.el).
12937
12938         * select.c (available-selection-types): Fixed stupidity where
12939         INTEGER and ATOM got added twice. Also add STRING when we see an
12940         extent.
12941
12942         * select.c (get-selection-internal): Removed symbol stripping. No
12943         longer causes conversion when data comes from the internal cache.
12944
12945         * select.c (syms_of_select): Added new functions.
12946
12947         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12948         error checking - previously this called abort!
12949
12950         * select-x.c (x_own_selection): Changed comment.
12951
12952         * select-x.c (x_handle_selection_request): Use select_convert_out.
12953         Don't mess with selection-alist; it's an internal variable of select.c.
12954
12955         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12956
12957         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12958         rather than messing with selection-alist.
12959
12960         * select-msw.c (mswindows_get_foreign_selection):
12961         Use TO_INTERNAL_FORMAT rather than hacking.
12962
12963 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12964
12965         * process-unix.c (unix_open_multicast_group):
12966         (unix_open_multicast_group): Remove useless casts.
12967
12968 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12969
12970         * sound.c (Fplay_sound): Fix `unused variable' warning.
12971
12972         * emacs.c (main): Use correct type for _environ on SCO5.
12973
12974 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12975
12976         * console.h (own_selection_method):
12977         * console.h (selection_exists_p_method):
12978         * console.h (available_selection_types_method): New.
12979         * console.h (register_selection_data_type_method): New.
12980         * console.h (selection_data_type_name): New.
12981
12982         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12983         function & alist to track GlobalAlloc()'d handles that need
12984         releasing when the clipboard data gets replaced or emptied.
12985
12986         * event-msw.c (mswindows_wnd_proc): Call it.
12987
12988         * lisp.h, general.c (Qappend): New symbol representing a
12989         `how-to-add' mode.
12990
12991         * select.c (own-selection-internal):
12992         * select.c (selection-exists-p):
12993         * select.c (available-selection-types): New.
12994         * select.c (register-selection-data-type): New.
12995         * select.c (selection-data-type-name): New.  New functions to deal
12996         with device-specific selection data formats.
12997         * select.c (selection-converter-out-alist): Renamed.
12998         * select.c (selection-converter-in-alist): New.
12999         * select.c (selection-appender-alist): New.  Added new alists.
13000         * select.c (syms_of_select, vars_of_select): Added new symbols &
13001         variables.
13002         * select.c (get_local_selection): Split.
13003         * select.c: Removed spurious type checking - selections may now be
13004         of any type, not just strings.
13005         * select.c (own-selection-internal):
13006
13007         * select.h, select.c (convert_selection): New. Created
13008         convert_selection() function based on get_local_selection().
13009         * select.h, select.c (QCF_*): New symbols representing mswindows
13010         clipboard formats.
13011         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13012         symbols representing `how-to-add' modes.
13013
13014         * select-msw.c (x_sym_p): New.
13015         * select-msw.c (symbol_to_ms_cf): New.
13016         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13017         symbols & clipboard formats. Can also handle string names.
13018         * select-msw.c (mswindows_own_selection):
13019         * select-msw.c (mswindows_selection_exists_p):
13020         Added `data-type' parameter. Use it.
13021         * select-msw.c (mswindows_available_selection_types): New.
13022         * select-msw.c (mswindows_register_selection_data_type): New.
13023         * select-msw.c (mswindows_selection_data_type_name): New.
13024         * select-msw.c (mswindows_own_selection):
13025         * select-msw.c (mswindows_get_foreign_selection):
13026         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13027         * select-msw.c (console_create_select_mswindows): Added new methods.
13028         * select-msw.c (mswindows_destroy_selection): New.
13029         * select-msw.c (Vhandle_alist): New list.
13030         * select-msw.c (mswindows_own_selection):
13031
13032         * select-x.c (x_own_selection):
13033         * select-x.c (x_selection_exists_p):
13034         * select-x.c: Added some comments about maybe using new
13035         functionality.
13036         * select-x.c (x_own_selection):
13037
13038         * specifier.c: Remove definition of Qappend (now in general.c)
13039         * specifier.c (syms_of_specifier): Remove Qappend.
13040
13041 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13042
13043         * config.h.in: Add socklen_t.
13044
13045         * s/decosf4-0.h: No special compiler flags needed or desired.
13046         In particular, undefine _BSD for DEC OSF 4.0.
13047
13048 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13049
13050         * redisplay-msw.c (msprinter_frame_output_end): Added.
13051         (console_type_create_redisplay_mswindows): Referred the above.
13052
13053         * frame.c (setup_frame_without_minibuffer): Do not create a
13054         default minibuffer frame on a printer device.
13055
13056         * frame-msw.c (apply_dc_geometry): Added.
13057         (msprinter_start_page):
13058         (msprinter_init_frame_3):
13059         (msprinter_eject_page): Use it.
13060
13061         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13062         and removed residual duplex and orientation properties.
13063
13064 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13065
13066         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13067
13068         * unexalpha.c: Remove system prototypes from C sources!
13069
13070 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13071
13072         * eval.c: Remove references to M-x edit-options in DEFUNs for
13073         `defvar' and `defconst'.
13074
13075 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13076
13077         * config.h.in: Remove SMART_INCLUDE hackery.
13078
13079         PostgreSQL hacking:
13080         * config.h.in: Don't use SMART_INCLUDE.
13081
13082         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13083         * inline.c: Simply #include "postgresql.h"
13084         * postgresql.c:
13085         - Don't use SMART_INCLUDE
13086         - Use simply "const".
13087         - Use standard doc string conventions.
13088         - Use correct type for result of PQstatus.
13089
13090 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13091
13092         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13093
13094         C++ compilation changes.
13095         * config.h.in (EXTERN_C): Define.
13096         * config.h.in (not): This is also a C++ keyword.
13097         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13098         * cm.c: Use EXTERN_C.
13099         * redisplay-tty.c: Use EXTERN_C.
13100         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13101
13102 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13103
13104         * general.c: Remove duplicate definition for Qfunction.
13105
13106 2000-07-08  Ben Wing  <ben@xemacs.org>
13107
13108         * device-msw.c (msprinter_init_device):
13109         * device-msw.c (sync_printer_with_devmode):
13110         * device-msw.c (handle_devmode_changes):
13111         * device-msw.c (print_dialog_worker):
13112         * device-msw.c (Fmsprinter_apply_settings):
13113         * device-msw.c (hash_devmode):
13114         * device-msw.c (Fmsprinter_settings_despecialize):
13115         use Qmswindows_tstr, not Qctext.
13116
13117         * vm-limit.c (check_memory_limits):
13118         avoid infinite loop printing warning messages.
13119
13120 2000-07-05  Craig Lanning  <lanning@scra.org>
13121
13122         * Makefile.in.in: Add support for including the Windows resources
13123         when building with the cygwin and mingw targets.
13124
13125         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13126         not set or not correct.
13127         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13128         (init_initial_directory): Don't try to use $PWD on the
13129         WIN32_NATIVE target.
13130
13131         * s\cygwin32.h:
13132         [[Add -mwindows to eliminate console window.]] not required --ben
13133         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13134         (MAIL_USE_POP): removed; now handled by configure.
13135
13136         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13137         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13138         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13139         (MAIL_USE_POP): removed; now handled by configure.
13140         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13141         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13142         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13143         constant string.
13144         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13145         up from <winsock.h> via systime.h.
13146         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13147         (getpagesize): from Dan Holmsand, added.
13148         Added #endif which was left dangling by Ben's mega patch; added
13149         comment to help prevent this in the future.
13150
13151         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13152
13153 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13154
13155         * console-msw.h (struct mswindows_device): Removed unnecessary
13156         cached device geometry values.
13157         Added update_tick and an accessor macro.
13158         (Lisp_Devmode): Added lrecord declaration.
13159         (struct msprinter_device): Contain devmode as a Lisp object.
13160         Added mswindows_get_selected_frame_hwnd();
13161
13162         * console.h (struct console_methods): Indentation nitpicking.
13163
13164         * device-msw.c (mswindows_init_device): Do not initialize geometry
13165         cache. Initialize update tick.
13166         (mswindows_device_system_metrics): Ask the device for its geometry.
13167         (global_free_2_maybe):
13168         (devmode_to_hglobal):
13169         (handle_printer_changes):
13170         (ensure_not_printing):
13171         (print_dialog_worker):
13172         (Fmsprinter_print_setup_dialog):
13173         (Fmsprinter_print_dialog):
13174         (plist_get_margin):
13175         (plist_set_margin):
13176         (Fmsprinter_page_setup_dialog): Added functions.
13177         (sync_printer_with_devmode):
13178         (handle_devmode_changes):
13179         (Fmsprinter_get_settings):
13180         (Fmsprinter_select_settings):
13181         (Fmsprinter_apply_settings):
13182         (allocate_devmode):
13183         (Fmsprinter_settings_copy):
13184         (Fmsprinter_settings_despecialize):
13185         (print_devmode):
13186         (finalize_devmode):
13187         (equal_devmode):
13188         (hash_devmode): Added functions
13189         (syms_of_device_mswindows): Init devmode lrecord class.
13190
13191         * device.h: Added an exfun for find-device.
13192
13193         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13194         geometry; although, recreate the device compatible DC.
13195
13196         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13197         (msprinter_init_frame_3):
13198         (msprinter_frame_property):
13199         (msprinter_internal_frame_property_p):
13200         (msprinter_frame_properties):
13201         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13202         print job properties (will move to device settings).
13203
13204         * lisp.h: Added symbols.
13205
13206         * general.c (syms_of_general): Declared them.
13207
13208         * hash.c (string_hash): Added.
13209
13210         * lrecord.h (lrecord_type): Added devmode lrecord type.
13211
13212 2000-07-02  Mike Sperber <mike@xemacs.org>
13213
13214         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13215         FreeBSD 4.0.
13216
13217 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13218
13219         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13220         integer.
13221
13222 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13223
13224         * data.c (Fstring_to_number): Don't recognize floating point if
13225         base is not 10.
13226
13227 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13228
13229         * glyphs-widget.c (tab_control_query_geometry):
13230         (widget_query_geometry):
13231         (button_query_geometry):
13232         * glyphs.c (text_query_geometry):
13233         Enforce type correctness.
13234
13235 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13236
13237         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13238         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13239
13240 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13241
13242         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13243         conflicts with gcc's fixincluded version of FOO.h.
13244
13245         * glyphs.h (image_instance_geometry): Remove trailing `,'
13246
13247 2000-06-08  Mike Alexander  <mta@arbortext.com>
13248
13249         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13250         (shove_thread): Don't write the same output twice
13251         (make_ntpipe_output_stream): Increase priority of shove thread
13252         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13253         chance to run
13254         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13255         it.
13256
13257 2000-06-12  Ben Wing  <ben@xemacs.org>
13258
13259         * s\mingw32.h (sigset):
13260         * s\windowsnt.h (sigset):
13261         rename msw_ to mswindows_ for consistency with general convention.
13262
13263 2000-06-12  Ben Wing  <ben@xemacs.org>
13264
13265         * console-msw.c:
13266         * console-msw.c (mswindows_get_console_hwnd):
13267         * console-msw.c (mswindows_ensure_console_allocated):
13268         * console-msw.c (mswindows_hide_console):
13269         * console-msw.c (mswindows_show_console):
13270         * console-msw.c (mswindows_ensure_console_buffered):
13271         * console-msw.c (mswindows_output_console_string):
13272         * console-msw.c (mswindows_windows9x_p):
13273         * console-msw.h:
13274         * device-msw.c (mswindows_get_workspace_coords):
13275         * device-msw.c (mswindows_device_system_metrics):
13276         * dialog-msw.c (mswindows_popup_dialog_box):
13277         * event-msw.c (mswindows_wnd_proc):
13278         * frame-msw.c (mswindows_size_frame_internal):
13279         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13280         * menubar-msw.c (displayable_menu_item):
13281         * menubar-msw.c (mswindows_char_is_accelerator):
13282         * nt.c:
13283         * nt.c (mswindows_sigset):
13284         * nt.c (mswindows_sigrelse):
13285         * nt.c (mswindows_sigpause):
13286         * nt.c (mswindows_raise):
13287         * nt.c (timer_proc):
13288         * ntproc.c:
13289         * ntproc.c (find_child_console):
13290         * ntproc.c (sys_kill):
13291         * print.c:
13292         * print.c (std_handle_out_external):
13293         * process-nt.c (find_child_console):
13294         * process-nt.c (send_signal_the_95_way):
13295         * process-nt.c (ensure_console_window_exists):
13296         * process-nt.c (nt_create_process):
13297         * syssignal.h:
13298         rename msw_ to mswindows_ for consistency with general convention.
13299
13300         * emacs.c:
13301         * dumper.c:
13302         include nt.h, not syswindows.h.
13303
13304         * nt.c (mswindows_fstat):
13305         * nt.c (mswindows_stat):
13306         prefix mswindows_ instead of attempting to directly override the
13307         library functions.  fix declarations.
13308
13309         * nt.h:
13310         include syswindows.h.  move some sysdep.h stuff here.
13311
13312         * ntheap.h:
13313         include syswindows.h, not <windows.h>.
13314
13315         * ntplay.c:
13316         clean up headers.
13317
13318         * sysdep.c:
13319         clean up headers.
13320
13321         * sysdep.c (sys_fstat):
13322         * sysdep.c (sys_stat):
13323         call mswindows versions when appropriate.
13324
13325         * sysdep.h:
13326         move mswin decls to nt.h.
13327
13328         * syswindows.h:
13329         add long comment describing appropriate use of the various windows
13330         headers.
13331
13332 2000-06-11  Ben Wing  <ben@xemacs.org>
13333
13334         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13335
13336 2000-06-10  Ben Wing  <ben@xemacs.org>
13337
13338         * Makefile.in.in (release):
13339         Correction to make sure xemacs.exe always dumped when correct.
13340
13341         * alloca.c:
13342         * balloon_help.c:
13343         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13344
13345         * buffer.c (set_buffer_internal):
13346         [[[[2]]]]: Remove HAVE_FEP code.
13347
13348         * buffer.c (init_initial_directory):
13349         [3].
13350
13351         * bytecode.c:
13352         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13353         individual files.
13354
13355         * callproc.c:
13356         * callproc.c (call_process_cleanup):
13357         * callproc.c (Fold_call_process_internal):
13358         * callproc.c (child_setup):
13359         * callproc.c (getenv_internal):
13360         * callproc.c (init_callproc):
13361         * callproc.c (vars_of_callproc):
13362         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13363         __CYGWIN32__ -> CYGWIN.
13364         DOS_NT -> WIN32_NATIVE.
13365         Remove MSDOS support/references, converting to WIN32_NATIVE
13366           where correct.
13367         __MINGW32__ -> MINGW.
13368         Fix windows.h includes.
13369         Remove bogus HAVE_NTGUI.
13370
13371         * config.h.in:
13372         [2].
13373
13374         * console-msw.c:
13375         mswindows_message_outputted added for use in allowing startup
13376         errors on the console to be seen.
13377
13378         * console-msw.c (msw_ensure_console_allocated):
13379         * console-msw.c (msw_output_console_string):
13380         * console-msw.c (DHEADER):
13381         * console-msw.c (DOPAQUE_DATA):
13382         * console-msw.c (DEVENT):
13383         * console-msw.c (DCONS):
13384         * console-msw.c (DCONSCDR):
13385         * console-msw.c (DSTRING):
13386         * console-msw.c (DVECTOR):
13387         * console-msw.c (DSYMBOL):
13388         * console-msw.c (DSYMNAME):
13389         Fix warnings.
13390
13391         * console-stream.c (stream_init_console):
13392         Fix text/binary problems.
13393
13394         * device-msw.c:
13395         * device-msw.c (mswindows_finish_init_device):
13396         * device-msw.c (mswindows_delete_device):
13397         [1].
13398
13399         * device.c (handle_asynch_device_change):
13400         [3].
13401
13402         * dgif_lib.c:
13403         * dgif_lib.c (DGifOpenFileName):
13404         * dgif_lib.c (DGifOpenFileHandle):
13405         * dgif_lib.c (DGifGetLine):
13406         * dgif_lib.c (DGifGetPixel):
13407         Added config.h/lisp.h, fix up includes.
13408         [1].
13409
13410         * dired-msw.c:
13411         [4].
13412
13413         * dired.c:
13414         * dired.c (file_name_completion):
13415         * dired.c (Ffile_attributes):
13416         * dired.c (syms_of_dired):
13417         [1].
13418
13419         * dumper.c:
13420         * dumper.c (pdump_file_unmap):
13421         * dumper.c (pdump_load):
13422         [1].
13423
13424         * editfns.c:
13425         * editfns.c (Ftemp_directory):
13426         * editfns.c (user_login_name):
13427         * editfns.c (Fuser_real_login_name):
13428         * editfns.c (get_home_directory):
13429         [1].
13430
13431         * elhash.c (finish_marking_weak_hash_tables):
13432         [[[[5]]]]: Fix GCC warnings.
13433
13434         * emacs.c:
13435         * emacs.c (mswindows_handle_hardware_exceptions):
13436         * emacs.c (make_arg_list_1):
13437         * emacs.c (main_1):
13438         * emacs.c (Fkill_emacs):
13439         * emacs.c (Fdump_emacs):
13440         [1].
13441         Fix problems with nested crashes, add long comment.
13442
13443         * event-Xt.c (init_event_Xt_late):
13444         [1].
13445
13446         * event-msw.c:
13447         * event-msw.c (mswindows_dde_callback):
13448         * event-msw.c (mswindows_handle_sticky_modifiers):
13449         * event-msw.c (mswindows_wnd_proc):
13450         [1].
13451         [5].
13452
13453         * events.c (character_to_event):
13454         [1].
13455
13456         * fileio.c:
13457         * fileio.c (Ffile_name_directory):
13458         * fileio.c (Ffile_name_nondirectory):
13459         * fileio.c (directory_file_name):
13460         * fileio.c (Fexpand_file_name):
13461         * fileio.c (Fsubstitute_in_file_name):
13462         * fileio.c (Ffile_name_absolute_p):
13463         * fileio.c (check_executable):
13464         * fileio.c (Ffile_readable_p):
13465         * fileio.c (Ffile_accessible_directory_p):
13466         * fileio.c (Ffile_modes):
13467         * fileio.c (Funix_sync):
13468         * fileio.c (vars_of_fileio):
13469         [1]. [4].
13470
13471         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13472
13473         Expand getdefdir defn.
13474         Fix bogus rename() comment.
13475
13476         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13477         to use standard XEmacs include files, e.g. sysfile.h, rather
13478         than system-specific includes.
13479
13480         * fns.c:
13481         * fns.c (Fsubseq):
13482         [5]. [6].
13483
13484         * frame.c (vars_of_frame):
13485         [1].
13486
13487         * getloadavg.c:
13488         * getloadavg.c (getloadavg):
13489         [1]. [6].
13490         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13491         (We don't use it elsewhere in the code; just add a comment.)
13492
13493         * gif_io.c:
13494         [6].
13495         Add config.h.
13496
13497         * glyphs-msw.c:
13498         * glyphs-msw.c (mswindows_resource_instantiate):
13499         [1].
13500
13501         * glyphs-x.c (x_native_layout_instantiate):
13502         [5].
13503
13504         * gui-msw.c (Fmswindows_shell_execute):
13505         [1].
13506
13507         * insdel.c:
13508         [4].
13509
13510         * lisp.h:
13511         [4]. [5].
13512
13513         * lread.c (locate_file_in_directory_mapper):
13514         [1].
13515
13516         * lstream.c:
13517         [4].
13518
13519         * mem-limits.h:
13520         * mem-limits.h (get_lim_data):
13521         [1].
13522
13523         * menubar-msw.c:
13524         [4].
13525
13526         * ndir.h:
13527         [1].
13528
13529         * nt.c:
13530         * nt.c (getwd):
13531         * nt.c (closedir):
13532         * nt.c (rva_to_section):
13533         * nt.c (mswindows_executable_type):
13534         [1]. [6].
13535         Fix closedir() defn.
13536
13537         * nt.h:
13538         [[[[8]]]]: *_OK defs moved to sysfile.h.
13539
13540         * ntproc.c:
13541         [6]. [7].
13542
13543         * objects-x.c:
13544         [4].
13545
13546         * print.c:
13547         * print.c (std_handle_out_external):
13548         [1]. [4].
13549
13550         * process-nt.c:
13551         * process-nt.c (nt_create_process):
13552         [6].
13553         try to fix process quoting somewhat.
13554
13555         * process-unix.c (unix_create_process):
13556         [1].
13557
13558         * process.c:
13559         * process.c (vars_of_process):
13560         Add Vnull_device.
13561
13562         * process.h:
13563         [1].
13564
13565         * realpath.c:
13566         * realpath.c (xrealpath):
13567         [1].
13568
13569         * redisplay-tty.c (init_tty_for_redisplay):
13570         [3].
13571
13572         * redisplay.c:
13573         [4]. [6].
13574
13575         * scrollbar-msw.c:
13576         [4].
13577
13578         * sheap.c:
13579         * sheap.c (more_static_core):
13580         * sheap.c (report_sheap_usage):
13581         [5]. [6].
13582
13583         * signal.c:
13584         * signal.c (alarm_signal):
13585         [1]. [6].
13586
13587         * sound.c:
13588         [6].
13589
13590         * strftime.c:
13591         * strftime.c (zone_name):
13592         [1]. [5].
13593
13594         * symsinit.h (init_sunpro):
13595         [1].
13596
13597         * syscommctrl.h:
13598         commctrl.h not in Cygwin b20.1.
13599
13600         * sysdep.c:
13601         * sysdep.c (endif):
13602         * sysdep.c (sys_subshell):
13603         * sysdep.c (init_baud_rate):
13604         * sysdep.c (emacs_get_tty):
13605         * sysdep.c (emacs_set_tty):
13606         * sysdep.c (tty_init_sys_modes_on_device):
13607         * sysdep.c (init_system_name):
13608         * sysdep.c (sys_open):
13609         * sysdep.c (interruptible_open):
13610         * sysdep.c (sys_fopen):
13611         * sysdep.c (sys_mkdir):
13612         * sysdep.c (sys_rename):
13613         * sysdep.c (get_process_times_1):
13614         [1]. [6].
13615
13616         * sysdep.h:
13617         [1].
13618
13619         * sysdir.h:
13620         * sysdir.h (DIRENTRY_NONEMPTY):
13621         [1]. [6].
13622
13623         * sysdll.c (dll_init):
13624         * sysdll.h:
13625         [1].
13626
13627         * sysfile.h:
13628         [1]. [6]. [8].
13629         added text/binary defs.
13630
13631         * sysfloat.h:
13632         [1].
13633
13634         * sysproc.h:
13635         * sysproc.h (EDESTADDRREQ):
13636         * sysproc.h (poll_fds_for_input):
13637         [1]. [6].
13638
13639         * syspwd.h:
13640         [6].
13641
13642         * syssignal.h:
13643         [1].
13644
13645         * systime.h:
13646         [1]. [6].
13647
13648         * systty.h:
13649         [1].
13650
13651         * syswindows.h:
13652         [1].
13653         Always define WIN32_LEAN_AND_MEAN.
13654
13655         * unexcw.c (unexec):
13656         [5].
13657
13658         * unexec.c:
13659         * unexec.c (copy_text_and_data):
13660         * unexec.c (adjust_lnnoptrs):
13661         [1].
13662
13663         * unexnt.c:
13664         * unexnt.c (_start):
13665         [1].
13666
13667 2000-06-07  Ben Wing  <ben@xemacs.org>
13668
13669         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13670         was used only as a model.  We've long since extracted any useful
13671         logic or code out of this. (I just did an exhaustive search.)
13672
13673         * s\msdos.h: Removed.
13674
13675         * s\windows95.h: Removed.
13676
13677 2000-06-10  Ben Wing  <ben@xemacs.org>
13678
13679         * s\cygwin32.h:
13680         [1]. [5].
13681         Don't use extern with fun defs.
13682
13683         * s\mingw32.h:
13684         [1]. [7].
13685         Remove nt\inc include.
13686         Remove getdisk, getdefdir. (The former is unused, the latter
13687         expanded in fileio.h.)
13688
13689         * s\windowsnt.h:
13690         * s\windowsnt.h (WIN32_NATIVE):
13691         * s\windowsnt.h (HAVE_STRCASECMP):
13692         [1]. [7].
13693         Add long comment about preprocessor changes.
13694         Remove getdisk, getdefdir. (The former is unused, the latter
13695         expanded in fileio.h.)
13696
13697 2000-06-10  Ben Wing  <ben@xemacs.org>
13698
13699         * m\arm.h:
13700         * m\delta.h:
13701         * m\intel386.h:
13702         * m\sequent.h:
13703         * m\template.h:
13704         * m\windowsnt.h:
13705         [1].
13706         Remove bogus/unused NO_SOCK_SIGIO.
13707
13708 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13709
13710         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13711         not an Emchar.
13712
13713 2000-06-04  Mike Sperber <mike@xemacs.org>
13714
13715         * casetab.c (set_case_table): For `set-standard-case-table',
13716         actually deposit the new case tables where the rest of XEmacs can
13717         see them.
13718
13719 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13720
13721         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13722
13723 2000-06-05  Ben Wing  <ben@xemacs.org>
13724
13725         * callproc.c (child_setup): Don't do close_load_descs() under
13726         MS Windows.  Put in a comment explaining why.
13727
13728 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13729
13730         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13731         Toolkit shell" which breaks `kill-compilation' on Windows NT
13732         native, retaining STDERR handling improvements.
13733
13734 2000-06-01  Andreas Jaeger  <aj@suse.de>
13735
13736         * s/s390.h: Support for S390, based on a patch by Martin
13737         Schwidefsky <schwidefsky@de.ibm.com>.
13738
13739 2000-05-30  Andy Piper  <andy@xemacs.org>
13740
13741         * window.c (allocate_window):
13742         (make_dummy_parent):
13743         (Fset_window_configuration): use new hashtable type.
13744
13745         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13746         (struct image_instantiator_methods):
13747         (struct Lisp_Image_Instance): make instance geometry signed.
13748
13749         * glyphs.c (instantiate_image_instantiator):
13750         (image_instance_query_geometry):
13751         (image_instance_layout):
13752         (image_instance_layout):
13753         (query_string_geometry):
13754         (text_query_geometry):
13755         (image_instantiate):
13756         (image_instantiate):
13757         (cache_subwindow_instance_in_frame_maybe):
13758         (subwindow_query_geometry): make instance geometry signed.
13759
13760         * glyphs-widget.c (widget_query_geometry):
13761         (widget_layout):
13762         (button_query_geometry):
13763         (tree_view_query_geometry):
13764         (tab_control_query_geometry):
13765         (layout_query_geometry):
13766         (layout_layout):
13767         (native_layout_layout): make instance geometry signed.
13768
13769 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13770
13771         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13772         constant.
13773
13774         * general.c (syms_of_general): Add Qfull_assoc symbol.
13775
13776         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13777         correctly.
13778         (decode_weak_list_type): Decode full-assoc type.
13779         (encode_weak_list_type): Encode full-assoc type.
13780         (Fmake_weak_list): Update doc string.
13781
13782 2000-05-30  Andy Piper  <andy@xemacs.org>
13783
13784         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13785
13786         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13787         (decode_hash_table_weakness): ditto.
13788         (Fhash_table_weakness): ditto.
13789         (Fhash_table_type): ditto.
13790         (finish_marking_weak_hash_tables): ditto.
13791         (hash_table_weakness_validate): ditto.
13792         (syms_of_elhash): ditto.
13793
13794 2000-05-28  Martin Buchholz <martin@xemacs.org>
13795
13796         * XEmacs 21.2.34 is released.
13797
13798 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13799
13800         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13801         start cache.
13802         (updating_line_start_cache): Gone.
13803         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13804         generic code to force a minimum of 1 line laid out in the
13805         CMOTION_DISP case.
13806
13807 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13808
13809         * glyphs.c (instantiate_image_instantiator): Check for initialized
13810         height & width no longer special cases IMAGE_NOTHING.
13811         (nothing_instantiate): Set height and width of instance.
13812
13813 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13814
13815         * unexelf.c (unexec): Search for ".data" section.
13816         Initialize new_data2_offset from old_data_index.
13817         Remove redundant check for ElfW.
13818
13819 2000-05-23  Andy Piper  <andy@xemacs.org>
13820
13821         * glyphs.c (get_image_instantiator_governing_domain): allow more
13822         specific domains as the governing domain rather than expecting an
13823         exact match. This fixes problems with layouts.
13824
13825 2000-05-22  Andy Piper  <andy@xemacs.org>
13826
13827         * redisplay-output.c (compare_runes): check for non-images
13828
13829         * glyphs.c (set_glyph_dirty_p): ditto.
13830         (update_glyph_cachel_data): ditto.
13831
13832         * glyphs-widget.c (layout_post_instantiate): ditto.
13833         (layout_post_instantiate): ditto.
13834
13835         * event-msw.c (mswindows_wnd_proc): warning removal.
13836
13837 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13838
13839         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13840
13841         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13842
13843         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13844
13845         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13846         (mswindows_executable_type): mingw32 now has enough headers for
13847         this to work.
13848
13849 2000-05-20  Andy Piper  <andy@xemacs.org>
13850
13851         * console-msw.c (mswindows_output_last_error): ; -> ,
13852
13853 2000-05-12  Andy Piper  <andy@xemacs.org>
13854
13855         * console-msw.c (FROB): compare ints with ints.
13856
13857 2000-05-11  Andy Piper  <andy@xemacs.org>
13858
13859         * glyphs-x.c (x_finalize_image_instance): make minimal build
13860         happy.
13861
13862 2000-05-20  Ben Wing  <ben@xemacs.org>
13863
13864         * event-Xt.c:
13865         * event-Xt.c (vars_of_event_Xt):
13866         move modifier-keys-are-sticky to event-stream.c.
13867
13868         * event-msw.c:
13869         * event-msw.c (mswindows_enqueue_mouse_button_event):
13870         * event-msw.c (key_needs_default_processing_p):
13871         * event-msw.c (XEMSW_LCONTROL):
13872         * event-msw.c (mswindows_handle_sticky_modifiers):
13873         * event-msw.c (FROB):
13874         * event-msw.c (clear_sticky_modifiers):
13875         * event-msw.c (output_modifier_keyboard_state):
13876         * event-msw.c (output_alt_keyboard_state):
13877         * event-msw.c (mswindows_wnd_proc):
13878         * event-msw.c (mswindows_modifier_state):
13879         * event-msw.c (emacs_mswindows_handle_magic_event):
13880         implement sticky modifiers.
13881
13882         * event-stream.c:
13883         * event-stream.c (vars_of_event_stream):
13884         move modifier-keys-are-sticky here.
13885
13886         * lisp.h:
13887         add CHECK_FUNCTION.
13888
13889         * rangetab.c:
13890         implement map-range-table.
13891
13892
13893 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13894
13895         * redisplay-tty.c (reset_tty_modes):
13896         (tty_redisplay_shutdown): Adjust argument type to
13897         tty_frame_output_end.
13898
13899 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13900
13901         * eval.c (Fbacktrace): Don't output a line with only right
13902         parenthesis.
13903
13904 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13905
13906         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13907         (Fpq_reset_poll): Ditto.
13908
13909 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13910
13911         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13912
13913 2000-05-16  Ben Wing  <ben@xemacs.org>
13914
13915         * buffer.c:
13916         * buffer.c (dfc_convert_to/from_internal_format):
13917         * buffer.c (reinit_vars_of_buffer):
13918         Fix conversion functions to allow reentrancy.
13919
13920         * console-msw.c:
13921         * console-msw.c (mswindows_output_last_error):
13922         New fun, generally useful -- output a human-readable
13923         version of GetLastError() on the console.
13924
13925         * console-msw.h:
13926         * console-msw.h (struct mswindows_frame):
13927         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13928
13929         * console-stream.c (stream_output_begin):
13930         * console-stream.c (stream_output_end):
13931         * console-stream.c (stream_output_vertical_divider):
13932         * console-stream.c (stream_clear_region):
13933         * console-stream.c (stream_flash):
13934         * console-stream.c (console_type_create_stream):
13935         Delete blank stream methods, not needed.
13936
13937         * console.h (struct console_methods):
13938         Split begin/end methods into window and frame.
13939
13940         * event-msw.c:
13941         * event-msw.c (mswindows_handle_paint):
13942         * event-msw.c (output_alt_keyboard_state):
13943         * event-msw.c (mswindows_wnd_proc):
13944         * event-msw.c (vars_of_event_mswindows):
13945         Comment about problems with ignored-expose.
13946         Define mswindows-debug-events; not really implemented.
13947
13948         * frame-msw.c (mswindows_init_frame_1):
13949         random cleanups.
13950
13951         * glyphs-msw.c:
13952         * glyphs-msw.c (begin_defer_window_pos):
13953         * glyphs-msw.c (mswindows_unmap_subwindow):
13954         * glyphs-msw.c (mswindows_map_subwindow):
13955         * glyphs-msw.c (mswindows_resize_subwindow):
13956         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13957
13958         * glyphs.c (make_image_instance_1):
13959         Fix crash.
13960
13961         * gutter.c (Fredisplay_gutter_area):
13962         Use new begin/end methods.
13963
13964         * lisp.h (Dynarr_new2):
13965         New creation fun.
13966
13967         * redisplay-msw.c:
13968         * redisplay-msw.c (mswindows_frame_output_begin):
13969         * redisplay-msw.c (mswindows_frame_output_end):
13970         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13971         New begin/end methods -- handle DeferWindowPos.
13972
13973         * redisplay-output.c (redisplay_move_cursor):
13974         * redisplay-output.c (redraw_cursor_in_window):
13975         * redisplay-output.c (redisplay_update_line):
13976         * redisplay-output.c (redisplay_output_window):
13977         New begin/end methods.
13978
13979         * redisplay-tty.c:
13980         * redisplay-tty.c (tty_frame_output_begin):
13981         * redisplay-tty.c (tty_frame_output_end):
13982         * redisplay-tty.c (console_type_create_redisplay_tty):
13983         New begin/end methods.
13984
13985         * redisplay-x.c:
13986         * redisplay-x.c (x_window_output_begin):
13987         * redisplay-x.c (x_window_output_end):
13988         * redisplay-x.c (console_type_create_redisplay_x):
13989         New begin/end methods.
13990
13991         * redisplay.c (redisplay_frame):
13992         * redisplay.c (Fredisplay_echo_area):
13993         New begin/end methods.
13994         use MAYBE_DEVMETH for clear_frame; it may not exist.
13995
13996         * window.h (WINDOW_XFRAME):
13997         WINDOW_XFOO macros -- get locale and decode struct pointer.
13998
13999
14000 2000-05-12  Ben Wing  <ben@xemacs.org>
14001
14002         * emacs.c:
14003         * emacs.c (ensure_no_quitting_from_now_on):
14004         * emacs.c (fatal_error_signal):
14005         * emacs.c (mswindows_handle_hardware_exceptions):
14006         * emacs.c (main):
14007         * emacs.c (Fkill_emacs):
14008         * emacs.c (shut_down_emacs):
14009         * emacs.c (assert_failed):
14010         various improvements in fatal error handling.
14011
14012         * eval.c:
14013         move preparing_for_armageddon to emacs.c.
14014
14015         * lisp.h:
14016         declare fatal_error_in_progress.
14017
14018         * print.c:
14019         * print.c (std_handle_out_external):
14020         * print.c (std_handle_out_va):
14021         * print.c (stderr_out):
14022         * print.c (stdout_out):
14023         use console under mswin when no standard output.
14024         don't do code conversion during fatal error.
14025
14026         * scrollbar.c (Fscrollbar_page_up):
14027         * scrollbar.c (Fscrollbar_page_down):
14028         fix missing else.  reindent.
14029
14030 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14031
14032         Emergency fix.
14033
14034         * glyphs.h (GLYPH_CACHEL_DESCENT):
14035         (GLYPH_CACHEL_DESCENT):
14036         (GLYPH_CACHEL_DESCENT):
14037         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14038         used in case these are inline functions.
14039         Use more absurd values to error check.
14040
14041         include window.h for error check functions.
14042
14043 2000-05-11  Ben Wing  <ben@xemacs.org>
14044
14045         * cmdloop.c (Freally_early_error_handler):
14046         Display message box under windows; otherwise, message will disappear
14047         before it can be viewed.
14048
14049         * console-msw.c:
14050         * console-msw.c (Fmswindows_message_box):
14051         * console-msw.c (FROB):
14052         * console-msw.c (syms_of_console_mswindows):
14053         Define new fun `mswindows-message-box'.
14054         #### I will merge this into `popup-dialog-box'; just give me
14055         a bit of time.
14056
14057         * general.c:
14058         * general.c (syms_of_general):
14059         Some new symbols used in `mswindows-message-box'.
14060
14061         * glyphs.c:
14062         * glyphs.c (Fset_image_instance_property):
14063         put warning in this fun.
14064
14065         * glyphs.h:
14066         * glyphs.h (GLYPH_CACHEL_WIDTH):
14067         * glyphs.h (GLYPH_CACHEL_ASCENT):
14068         * glyphs.h (GLYPH_CACHEL):
14069         * glyphs.h (GLYPH_CACHEL_GLYPH):
14070         define error-checking versions to try to catch a bug i've seen --
14071         redisplay gets in an infinite loop because the glyph width of the
14072         continuation glyph is 65535.
14073
14074         * lisp.h:
14075         Extern message-box stuff.
14076
14077         * window.c (allocate_window):
14078         * window.c (make_dummy_parent):
14079         * window.c (Fset_window_configuration):
14080         Use EQUAL not EQ for subwindow caches to make them work a bit
14081         better. (Something is still very broken.)
14082
14083
14084 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14085
14086         * glyphs.c (image_instantiate): Suppress gcc warnings.
14087         (Fmake_image_instance): Fix doc string.
14088         * specifier.c (Fmake_specifier): Ditto.
14089
14090 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14091
14092         * paths.h.in (PATH_LOCK): Removed.
14093         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14094         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14095
14096 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14097
14098         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14099         Document (featurep '(and xemacs 21.02)).
14100
14101 2000-05-09  Ben Wing  <ben@xemacs.org>
14102
14103         * buffer.c (complex_vars_of_buffer):
14104         update modeline-format doc.
14105
14106         * device.h:
14107         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14108
14109         * emacs.c:
14110         timeline of all released versions of Emacs, for use in creating
14111         authorship comments and in synching up.
14112
14113         * glyphs-widget.c (image_instantiator_buttons):
14114         * glyphs-widget.c (image_instantiator_edit_fields):
14115         * glyphs-widget.c (image_instantiator_combo_box):
14116         * glyphs-widget.c (image_instantiator_scrollbar):
14117         * glyphs-widget.c (image_instantiator_progress_guage):
14118         * glyphs-widget.c (image_instantiator_tree_view):
14119         * glyphs-widget.c (image_instantiator_tab_control):
14120         * glyphs-widget.c (image_instantiator_labels):
14121         * glyphs-widget.c (image_instantiator_layout):
14122         * glyphs-widget.c (image_instantiator_native_layout):
14123         rename decode_domain method to governing_domain.
14124
14125         * glyphs.c:
14126         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14127         * glyphs.c (add_entry_to_device_ii_format_list):
14128         make sure we don't put an entry more than once into the list.
14129         * glyphs.c (check_instance_cache_mapper):
14130         *************************************************************
14131         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14132         HAVE BEEN GETTING.
14133         *************************************************************
14134         * glyphs.c (get_image_instantiator_governing_domain):
14135         clean up, expand on new concept of governing domain.
14136         * glyphs.c (instantiate_image_instantiator):
14137         * glyphs.c (allocate_image_instance):
14138         use governing_domain instead of cache_domain in naming.
14139         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14140         * glyphs.c (make_image_instance_1):
14141         * glyphs.c (Fmake_image_instance):
14142         allow for any domain (not just device), and process the
14143         governing domain correctly.  very big doc fix.
14144         * glyphs.c (Fimage_instance_domain):
14145         new primitive, to retrieve the governing domain of an image instance.
14146         * glyphs.c (image_instantiate):
14147         use new governing_domain stuff.  this fixes a crash you could get
14148         by instantiating certain widget glyphs in frame locales. (should
14149         signal an error instead of crashing.)
14150         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14151         * glyphs.c (Fglyphp): clean up doc.
14152         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14153         * glyphs.c (syms_of_glyphs):
14154         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14155         * glyphs.c (image_instantiator_format_create): add some comments about
14156         bogus code.
14157         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14158         for current-display-table. (Apparently Hrjove implemented in 1998 a
14159         design I wrote up in 1996, but didn't update the doc string.)
14160
14161         * glyphs.h: clean up a doc string.
14162         * glyphs.h (governing_domain):
14163         * glyphs.h (struct image_instantiator_methods):
14164         changes for governing_domain stuff.
14165
14166         * gutter.c:
14167         * gutter.c (Fgutter_specifier_p):
14168         * gutter.c (Fgutter_size_specifier_p):
14169         * gutter.c (Fgutter_visible_specifier_p):
14170         * objects.c:
14171         * objects.c (Fcolor_specifier_p):
14172         * objects.c (Ffont_specifier_p):
14173         * objects.c (Fface_boolean_specifier_p):
14174         doc strings moved to make-*-specifier.
14175
14176         * redisplay.c (add_disp_table_entry_runes_1):
14177         * redisplay.c (generate_fstring_runes):
14178         * redisplay.c (screen):
14179         add random comments and doc strings.
14180
14181         * specifier.c:
14182         * specifier.c (Fmake_specifier):
14183         major overhaul of this doc string.
14184
14185         * specifier.c (Fvalid_specifier_domain_p):
14186         comment about the bogosity of image instances being domains.
14187         * specifier.c (decode_domain):
14188         now non-static, used in glyphs.c.
14189         * specifier.c (specifier_instance):
14190         comment about the bogosity of image instances being domains.
14191         * specifier.c (Fgeneric_specifier_p):
14192         move doc string to make-generic-specifier.
14193         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14194         rebackslashify.
14195
14196         * specifier.h:
14197         * specifier.h (DOMAIN_FRAME):
14198         * specifier.h (DOMAIN_LIVE_P):
14199         * specifier.h (DOMAIN_XDEVICE):
14200         rebackslashify.
14201         add comments about problems with these macros.
14202         prototype for decode_domain.
14203
14204         * toolbar.c:
14205         * toolbar.c (Ftoolbar_specifier_p):
14206         move doc string to `make-toolbar-specifier'.
14207
14208         * window.c (window_unmap_subwindows_cache_mapper):
14209         *************************************************************
14210         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14211         HAVE BEEN GETTING.
14212         *************************************************************
14213
14214 2000-05-09  Andy Piper  <andy@xemacs.org>
14215
14216         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14217
14218         * window.c (Fset_window_configuration): reset the frame subwindow
14219         cache and re-initialize the window subwindow caches.
14220
14221         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14222
14223 2000-05-09  Ben Wing  <ben@xemacs.org>
14224
14225         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14226         DWORD.
14227
14228 2000-04-26  Mike Woolley  <mike@bulsara.com>
14229
14230         * ntheap.c: Changed recreate_heap to limit the amount reserved
14231         for the heap to that which is actually available. Also now
14232         displays a message box (with some dignostics) in the event that
14233         it still can't start.
14234
14235 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14236
14237         * callproc.c (Fold_call_process_internal): GCPRO path
14238
14239 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14240
14241         Patch by Bill Perry.
14242
14243         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14244         back data instead of #ifdef.
14245         (Fscrollbar_page_down): ditto.
14246
14247 2000-05-07  Ben Wing  <ben@xemacs.org>
14248
14249         * buffer.h:
14250         Kludge for defining Qmswindows_tstr.
14251
14252         * nt.c:
14253         * nt.c (open_input_file):
14254         * nt.c (open_output_file):
14255         * nt.c (rva_to_section):
14256         * nt.c (mswindows_executable_type):
14257         Move all memory-mapped-file routines here (some were in unexnt.c,
14258         which is bad because they are used by process-nt.c, and unexnt
14259         won't be around when portable dumping).  Synched the above routines
14260         with FSF 20.6.
14261
14262         * nt.h:
14263         Removed ifdef'd out bogus code.
14264         Fixed some prototypes.
14265
14266         * nt.h (file_data):
14267         * nt.h (OFFSET_TO_RVA):
14268         * nt.h (RVA_TO_OFFSET):
14269         * nt.h (RVA_TO_PTR):
14270         Moved the memory-mapped-file structures, macros and prototypes
14271         here, to parallel nt.c.  ntheap.h should really be removed
14272         entirely, and it's a non-portable-dumper specific file.
14273
14274         * ntheap.h (round_to_next):
14275         Moved the memory-mapped-file structures, macros and prototypes
14276         to nt.h.
14277
14278         * ntproc.c (compare_env):
14279         Moved rva_to_section and mswindows_executable_type to nt.c.
14280         Moved compare_env to process-nt.c.
14281         ntproc.c will die, one day.
14282
14283         * ntproc.c (sys_spawnve):
14284         Account for win32_ -> mswindows_.
14285
14286         * process-nt.c:
14287         * process-nt.c (struct nt_process_data):
14288         * process-nt.c (ensure_console_window_exists):
14289         * process-nt.c (compare_env):
14290         * process-nt.c (nt_create_process):
14291         * process-nt.c (nt_kill_process_by_pid):
14292         * process-nt.c (syms_of_process_nt):
14293         * process-nt.c (vars_of_process_nt):
14294         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14295         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14296         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14297         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14298         Move compare_env here from ntproc.c.
14299
14300         * process.c (Fprocess_send_region):
14301         Takes an optional fourth argument, BUFFER, which should fix some
14302         problems with call-process.
14303
14304         * syscommctrl.h:
14305         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14306
14307         * syswindows.h:
14308         Move ICC_BAR_CLASSES to syscommctrl.h.
14309         Add preliminary macros for MSWindows/Mule.  More to come.
14310
14311         * unexnt.c:
14312         * unexnt.c (unexec):
14313         open_output_file moved to nt.c.
14314
14315
14316 2000-05-05  Andy Piper  <andy@xemacs.org>
14317
14318         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14319         instance from the frame cache also since GC may catch up too late
14320         to make frame deletion sane.
14321
14322 2000-05-04  Andy Piper  <andy@xemacs.org>
14323
14324         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14325         (x_finalize_image_instance): ungcpro on deletion.
14326
14327         * glyphs.c (image_instantiator_format_create): give pointers a
14328         query geometry method so that the geometry is at least set.
14329
14330         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14331         initialize layouts if using widgets.
14332
14333 2000-05-03  Andy Piper  <andy@xemacs.org>
14334
14335         * nt.c: remove bogus reference to sysmmsystem.h
14336
14337         * gui-x.c (popup_selection_callback): fix no selection abort.
14338
14339 2000-05-02  Andy Piper  <andy@xemacs.org>
14340
14341         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14342         (mswindows_widget_instantiate): ditto.
14343
14344         * glyphs-widget.c (initialize_widget_image_instance): initialize
14345         children correctly.
14346         (widget_instantiate): cope with children and items in the same
14347         instance.
14348
14349         * glyphs.c (mark_image_instance): cope with children as a first
14350         class member.
14351         (image_instance_equal): ditto.
14352         (image_instance_hash): ditto.
14353         (image_instance_changed): ditto.
14354
14355 2000-04-30  Andy Piper  <andy@xemacs.org>
14356
14357         * glyphs.c (subwindow_query_geometry): new function. Return some
14358         defaults.
14359         (subwindow_instantiate): don't assign dimensions if none have been
14360         given.
14361         (image_instantiator_format_create): add subwindow_query_geometry.
14362         (print_image_instance): cope with layouts as widgets.
14363
14364 2000-04-29  Andy Piper  <andy@xemacs.org>
14365
14366         * frame.c (delete_frame_internal): call
14367         free_frame_subwindow_instance_cache so that all subwindows are
14368         finalized before their parent.
14369         (mark_frame): remove subwindow_cachels.
14370         (Fmake_frame): remove subwindow_cachel manipulation.
14371         (allocate_frame_core): subwindow_instance_cache is a weak list.
14372         (delete_frame_internal): set subwindow_instance_cache to nil.
14373
14374         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14375         finalization safe.
14376         (mswindows_finalize_image_instance): use the device
14377         not the domain as the domain may have died already.
14378
14379         * glyphs-x.c (x_finalize_image_instance): ditto.
14380         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14381         HEIGHT.
14382
14383         * redisplay-output.c (redisplay_unmap_subwindows): update for
14384         subwindow instance cache as a weak list.
14385         (redisplay_unmap_subwindows_maybe): ditto.
14386         (redisplay_unmap_subwindows_except_us): ditto.
14387
14388         * glyphs.c (unmap_subwindow): error checking will check the domain
14389         so don't deal with it here. Don't use cachels anymore.
14390         (map_subwindow): ditto.
14391         (update_subwindow_cachel_data): remove old accessor names.
14392         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14393         (Fresize_subwindow): don't update cachel.
14394         (mark_subwindow_cachels):
14395         (update_subwindow_cachel_data):
14396         (add_subwindow_cachel):
14397         (get_subwindow_cachel_index):
14398         (update_subwindow_cachel):
14399         (reset_subwindow_cachels):
14400         (mark_subwindow_cachels_as_not_updated): deleted.
14401         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14402         subwindow instance to the frame cache.
14403         (find_matching_subwindow): update for subwindow instance cache as
14404         a weak list.
14405         (update_widget_instances): ditto.
14406         (image_instance_type_to_mask):inlined.
14407         (free_frame_subwindow_instance_cache): new function. finalize all
14408         subwindows that are instantiated.
14409
14410         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14411         of cachel information.
14412         (IMAGE_INSTANCE_DISPLAY_X):
14413         (IMAGE_INSTANCE_DISPLAY_Y):
14414         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14415         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14416         (XIMAGE_INSTANCE_DISPLAY_X):
14417         (XIMAGE_INSTANCE_DISPLAY_Y):
14418         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14419         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14420         remove subwindow_cachel structure and function references.
14421         (image_instance_type_to_mask): inline from glyphs.c
14422
14423         * redisplay.c (redisplay_frame): remove subwindow_cachel
14424         references.
14425
14426         * frame.h (struct frame): remove subwindow_cachels.
14427         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14428
14429         * frameslots.h: add subwindow_instance_cache.
14430
14431         * window.c (replace_window): check subwindow cache of replacement.
14432         (window_unmap_subwindows_cache_mapper):
14433         (window_unmap_subwindows): new functions. Unmap all subwindows
14434         cached on this window.
14435         (mark_window_as_deleted): unmap all subwindows.
14436
14437 2000-04-27  Andy Piper  <andy@xemacs.org>
14438
14439         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14440
14441         * glyphs-widget.c (widget_layout): return something.
14442         (layout_layout): return something. Fail if not initialized.
14443         (layout_query_geometry): ditto.
14444         (image_instantiator_native_layout): new function. Initialized the
14445         native layout type.
14446         (widget_instantiate): don't do layout stuff here.
14447
14448         * glyphs.c (instantiate_image_instantiator): reorded calling or
14449         instantiate and post_instantiate with layout in between.
14450         (image_instance_layout): be more selective about deciding whether
14451         the layout has been done or not.
14452
14453         * glyphs.h (struct image_instantiator_methods): return a value
14454         from layout_method.
14455
14456 2000-04-26  Andy Piper  <andy@xemacs.org>
14457
14458         * glyphs.c (allocate_image_instance): make initial width and
14459         height unspecified. Set initialized to 0.
14460
14461         * syscommctrl.h new file. Encapsulates commctrl.h.
14462
14463         * syswindows.h new file. Encapsulates windows.h.
14464
14465         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14466         * nt.c: ditto.
14467         * console-msw.h: ditto.
14468
14469         * redisplay-tty.c (tty_output_display_block): remove layout references.
14470
14471         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14472         window handle rather than just the frame.
14473
14474         * glyphs.c (mark_image_instance): remove layout references.
14475         (print_image_instance): ditto.
14476         (image_instance_equal): ditto.
14477         (image_instance_hash): ditto.
14478         (decode_image_instance_type): ditto.
14479         (encode_image_instance_type): ditto.
14480         (image_instantiate): ditto.
14481         (allocate_glyph): ditto.
14482         (Fimage_instance_height): ditto.
14483         (Fimage_instance_width): ditto.
14484         (update_subwindow): ditto.
14485
14486         * redisplay-x.c (x_output_display_block): recode for layouts as
14487         widgets.
14488
14489         * redisplay-output.c (redisplay_output_layout): recode for layouts
14490         as widgets.
14491         (compare_runes): remove layout references.
14492
14493         * redisplay-msw.c (mswindows_output_display_block): recode for
14494         layouts as widgets.
14495
14496         * glyphs-widget.c (image_instantiator_layout): remove
14497         layout_possible_dest_types.
14498         (layout_possible_dest_types): deleted.
14499
14500         * glyphs.h (image_instance_type): remove layout references.
14501         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14502         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14503         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14504
14505 2000-04-25  Andy Piper  <andy@xemacs.org>
14506
14507         * glyphs-widget.c (image_instantiator_buttons):
14508         (image_instantiator_edit_fields):
14509         (image_instantiator_combo_box):
14510         (image_instantiator_scrollbar):
14511         (image_instantiator_progress_guage):
14512         (image_instantiator_tree_view):
14513         (image_instantiator_tab_control):
14514         (image_instantiator_labels):
14515         (image_instantiator_layout): call default post_instantiate method.
14516         (widget_post_instantiate): new function. Simply lays out the
14517         widgets.
14518
14519         * glyphs.h (struct image_instantiator_methods): add
14520         post_instantiate method.
14521
14522         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14523         method calls.
14524
14525 2000-04-23  Andy Piper  <andy@xemacs.org>
14526
14527         * glyphs.h (struct image_instantiator_methods): add
14528         decode_domain_method.
14529         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14530         derived from the domain.
14531         (IMAGE_INSTANCE_FRAME): new accessor.
14532         (XIMAGE_INSTANCE_FRAME): ditto.
14533
14534         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14535         instead of _SUBWINDOW_FRAME.
14536         (finalize_image_instance): ditto.
14537         (Fimage_instance_foreground): ditto.
14538         (Fimage_instance_background): ditto.
14539         (image_instantiate): ditto.
14540         (update_subwindow_cachel): ditto.
14541         (update_subwindow): ditto.
14542         (unmap_subwindow): ditto.
14543         (map_subwindow): ditto
14544         (subwindow_instantiate): ditto.
14545         * glyphs-msw.c (mswindows_update_widget): ditto.
14546         (mswindows_progress_gauge_instantiate): ditto.
14547         (mswindows_tab_control_update): ditto.
14548         * glyphs-x.c (x_update_widget): ditto.
14549         (x_widget_instantiate): ditto.
14550         (x_tab_control_instantiate): ditto.
14551         (x_tab_control_update): ditto.
14552         * event-msw.c (mswindows_wnd_proc): ditto
14553
14554         * glyphs-widget.c (image_instantiator_layout): use
14555         subwindow_decode_domain.
14556         (image_instantiator_buttons): ditto.
14557         (image_instantiator_edit_fields): ditto.
14558         (image_instantiator_combo_box): ditto.
14559         (image_instantiator_scrollbar): ditto.
14560         (image_instantiator_progress_guage): ditto.
14561         (image_instantiator_tree_view): ditto.
14562         (image_instantiator_tab_control): ditto.
14563         (image_instantiator_labels): ditto.
14564         (image_instantiator_layout): ditto.
14565
14566         * glyphs.c: add instance error checking to many functions.
14567         (instantiate_image_instantiator): decode device from cache_domain.
14568         (image_instantiate): partially rewrite by using
14569         decode_image_instantiator_domain to determine what domain the
14570         instance needs to be cached in.
14571         (decode_image_instantiator_domain): new function. Determine what
14572         domain the image needs to be cached in.
14573         (check_window_subwindow_cache): new error checking function.
14574         (check_instance_cache_mapper): ditto.
14575         (check_image_instance_structure): ditto.
14576         (subwindow_decode_domain): new function. Encodes a window as a
14577         subwindow's cache domain.
14578         (image_instantiator_format_create): use it for text and
14579         subwindows.
14580
14581 2000-04-21  Andy Piper  <andy@xemacs.org>
14582
14583         * glyphs.c (image_instance_device): new function.
14584         (image_instance_frame): new function.
14585         (image_instance_window): new function.
14586         (image_instance_live_p): new function.
14587
14588         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14589         cache to nil.
14590
14591         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14592         (IMAGE_INSTANCE_DOMAIN): new accessor.
14593         (XIMAGE_INSTANCE_DOMAIN): ditto.
14594
14595         * glyphs-x.c (x_finalize_image_instance): device->domain.
14596
14597         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14598         (mswindows_finalize_image_instance): ditto.
14599
14600         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14601         (gif_instantiate): ditto.
14602         (png_instantiate): ditto.
14603         (tiff_instantiate): ditto.
14604
14605         * glyphs.c (instantiate_image_instantiator): use domain rather
14606         than device.
14607         (mark_image_instance): device -> domain.
14608         (print_image_instance): ditto.
14609         (finalize_image_instance): ditto.
14610         (image_instance_equal): ditto.
14611         (allocate_image_instance): ditto.
14612         (Fcolorize_image_instance): ditto.
14613         (query_string_geometry): ditto.
14614         (image_instantiate): ditto
14615         (query_string_font): ditto.
14616         (image_instantiate): ditto.
14617         (update_subwindow): ditto.
14618         (unmap_subwindow): ditto.
14619         (map_subwindow): ditto.
14620         (subwindow_instantiate): ditto.
14621
14622         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14623         (DOMAIN_FRAME): ditto.
14624         (DOMAIN_WINDOW): ditto.
14625         (DOMAIN_LIVE_P): ditto.
14626         (XDOMAIN_DEVICE): ditto.
14627         (XDOMAIN_FRAME): ditto.
14628         (XDOMAIN_WINDOW): ditto.
14629
14630         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14631         a valid specifier domain.
14632
14633 2000-04-19  Andy Piper  <andy@xemacs.org>
14634
14635         * glyphs-widget.c (syms_of_glyphs_widget): remove
14636         widget-callback-current-channel.
14637         (vars_of_glyphs_widget): ditto.
14638         * glyphs.h: ditto
14639
14640         * gui.c (get_gui_callback): revert to previous behaviour.
14641
14642 2000-04-18  Andy Piper  <andy@xemacs.org>
14643
14644         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14645         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14646         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14647
14648         * glyphs.c (image_instance_equal): add margin_width.
14649         (image_instance_hash): ditto.
14650
14651         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14652         (layout_query_geometry): ditto.
14653         (layout_layout): ditto.
14654         (syms_of_glyphs_widget): add margin-width.
14655         (image_instantiator_layout): allow margin-width.
14656
14657         * glyphs.c (update_widget_instances): make a normal function.
14658         (syms_of_glyphs): remove Qupdate_widget_instances.
14659         * glyphs.h: ditto.
14660
14661         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14662         so that we don't corrupt ideas about the last event or
14663         command. Remove widget-callback-current-channel fiddling.
14664         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14665
14666 2000-05-01  Martin Buchholz <martin@xemacs.org>
14667
14668         * XEmacs 21.2.33 is released.
14669
14670 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14671
14672         * make-src-depend: Allow dots in header file name.
14673
14674 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14675
14676         * mule-charset.h (struct charset_lookup): Add
14677         next_allocated_1_byte_leading_byte and
14678         next_allocated_2_byte_leading_byte.
14679         * mule-charset.c: Move above two variables so that those values
14680         will be dumped.
14681
14682 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14683
14684         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14685         when string length is zero.
14686         (find_charsets_in_emchar_string): Ditto.
14687
14688 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14689
14690         * lisp.h: extern Qdialog and Qmenubar.
14691
14692         * gui-x.c: added events.h.
14693                 also fixed typo which made the file uncompilable.
14694
14695         * general.c: Added Qmenubar and Qdialog
14696
14697 2000-04-28  Ben Wing  <ben@xemacs.org>
14698
14699         * frame-msw.c (mswindows_init_frame_1):
14700         * frame-msw.c (mswindows_mark_frame):
14701         * event-msw.c (mswindows_enqueue_dispatch_event):
14702         * console-msw.h:
14703         * console-msw.h (struct mswindows_frame):
14704         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14705         there are now three hash tables for callbacks.
14706         mswindows_enqueue_dispatch_event is no longer static.
14707
14708         * dialog-x.c (maybe_run_dbox_text_callback):
14709         * dialog-x.c (dbox_descriptor_to_widget_value):
14710         switch to new cons3 form for callbacks.
14711
14712         * glyphs-msw.c (mswindows_register_gui_item):
14713         * glyphs-msw.c (mswindows_widget_instantiate):
14714         * glyphs-msw.c (add_tree_item):
14715         * glyphs-msw.c (add_tab_item):
14716         new image instance parameter, so it can be passed to callback-ex.
14717         respect :callback-ex as well as :callback.
14718
14719         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14720         add :callback-ex.
14721
14722         * glyphs.c (print_image_instance):
14723         prettify, e.g. now prints widget type.
14724
14725         * gui-x.h:
14726         certain funs have new image instance parameter.
14727
14728         * gui.c:
14729         * gui.c (get_gui_callback):
14730         * gui.c (gui_item_add_keyval_pair):
14731         * gui.c (gui_item_init):
14732         * gui.c (gui_add_item_keywords_to_plist):
14733         * gui.c (mark_gui_item):
14734         * gui.c (gui_item_hash):
14735         * gui.c (gui_item_equal):
14736         * gui.c (copy_gui_item):
14737         * gui.c (syms_of_gui):
14738         recognize callback-ex in a number of places.
14739         also, fix the annoying "can't get out of yes-no dialog" bug.
14740
14741         * gui.h:
14742         * gui.h (struct Lisp_Gui_Item):
14743         recognize callback-ex in a number of places.
14744
14745         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14746         new parameter in button_item_to_widget_value.
14747
14748         * glyphs-x.c (x_update_widget):
14749         * glyphs-x.c (x_button_instantiate):
14750         * glyphs-x.c (x_button_update):
14751         * glyphs-x.c (x_progress_gauge_instantiate):
14752         * glyphs-x.c (x_edit_field_instantiate):
14753         * glyphs-x.c (x_combo_box_instantiate):
14754         * glyphs-x.c (x_tab_control_instantiate):
14755         * glyphs-x.c (x_label_instantiate):
14756         new image instance parameter in various places.
14757
14758         * event-Xt.c:
14759         * event-Xt.c (enqueue_Xt_dispatch_event):
14760         this fun gets exported.
14761
14762         * gui-msw.c:
14763         * gui-msw.c (mswindows_handle_gui_wm_command):
14764         handle both :callback and :callback-ex, and generate our own
14765         event because it's one of the callback-ex arguments.
14766
14767         * gui-x.c:
14768         * gui-x.c (popup_selection_callback):
14769         handle both :callback and :callback-ex, and generate our own
14770         event because it's one of the callback-ex arguments.
14771         * gui-x.c (button_item_to_widget_value):
14772         * gui-x.c (gui_items_to_widget_values_1):
14773         * gui-x.c (gui_item_children_to_widget_values):
14774         * gui-x.c (gui_items_to_widget_values):
14775         new image instance parameter in various places.
14776
14777         * fns.c (Freplace_list):
14778         fix small typo in doc string.
14779
14780         * lisp.h:
14781         declare enqueue_Xt_dispatch_event.
14782
14783 2000-04-28  Ben Wing  <ben@xemacs.org>
14784
14785         * buffer.c:
14786         * buffer.c (Frecord_buffer):
14787         * buffer.c (syms_of_buffer):
14788         delete record-buffer-hook.
14789
14790         * fns.c:
14791         * fns.c (Freplace_list):
14792         * fns.c (syms_of_fns):
14793         new primitive replace-list.
14794
14795         * frameslots.h:
14796         slot for old buffer-alist.
14797
14798         * lisp.h:
14799         exfun replace-list.
14800
14801         * redisplay.c:
14802         * redisplay.c (redisplay_frame):
14803         * redisplay.c (syms_of_redisplay):
14804         * redisplay.c (vars_of_redisplay):
14805         new hook buffer-list-changed-hook.
14806         call it.
14807
14808 2000-04-27  Ben Wing  <ben@xemacs.org>
14809
14810         * extents.h: extern in_modeline_generation.
14811
14812         * redisplay.c (generate_formatted_string_db): set
14813         in_modeline_generation.
14814
14815         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14816         flags if in modeline generation.  otherwise frame-modified-tick
14817         is ticked far too often.
14818         Declare in_modeline_generation.
14819
14820 2000-04-26  Ben Wing  <ben@xemacs.org>
14821
14822         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14823         option.
14824         (vars_of_emacs): add quick-build as an error-checking option.
14825         A bit kludgy, but there doesn't seem much point in creating
14826         a real var for this.
14827
14828         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14829
14830 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14831
14832         * redisplay.h (struct display_line): Add a new variable,
14833         line_continuation.
14834
14835         * redisplay.c (create_text_block): Set dl->line_continuation if
14836         the line continues.
14837         (create_string_text_block): Ditto.
14838         (regenerate_window_incrementally): Use line_continuation instead
14839         of searching continuation glyph.
14840         (add_margin_runes): Call add_glyph_rune.
14841         (add_glyph_rune): Handle margin glyph.
14842
14843 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14844
14845         * filelock.c (fill_in_lock_file_name):
14846         ANSIfy.
14847         Check for IS_ANY_SEP instead of '/'.
14848         (lock_file_1):
14849         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14850         Never check errno without first seeing that system call failed.
14851         (unlock_file): Add GCPRO.
14852         (Flock_buffer): Fix docstring.
14853         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14854
14855 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14856
14857         * sysdep.c (get_pty_max_bytes):
14858         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14859         strings longer than 252 bytes.
14860
14861         * md5.c: Unconditionally include ANSI header <limits.h>
14862
14863         * glyphs-x.c (convert_EImage_to_XImage):
14864         * lisp-union.h (union Lisp_Object):
14865         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14866
14867 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14868
14869         * filelock.c (current_lock_owner): Remove unused variable o, p.
14870
14871 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14872
14873         * callint.c: Remove multiply defined symbol Qlet
14874         (syms_of_callint): ditto.
14875
14876 2000-04-14  Andy Piper  <andy@xemacs.org>
14877
14878         * general.c (syms_of_general): add last-command, this-command, let
14879         and funcall.
14880
14881         * lisp.h: declare various symbols.
14882
14883         * glyphs.h: declare Qwidget_callback_current_channel;
14884
14885         * glyphs-widget.c (syms_of_glyphs_widget): add
14886         Qgui_callback_current_channel.
14887         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14888
14889         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14890         widget-callback-current-channel when invoking the interactive
14891         arg. Also bind last-command and next-command when invoking the
14892         widget updates.
14893         * gui-x.c (popup_selection_callback): ditto.
14894
14895         * gui.c (get_gui_callback): massage args so that we are always
14896         calling eval. This allows us to add our own variable bindings
14897         outside.
14898
14899         * glyphs-x.c (x_button_instantiate): use
14900         gui_items_to_widget_values since this is GC safe.
14901         (x_progress_gauge_instantiate): ditto.
14902         (x_edit_field_instantiate): ditto.
14903         (x_label_instantiate): ditto.
14904
14905         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14906         (emacs_Xt_event_widget_focus_out): new function
14907         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14908         focus.
14909         (emacs_Xt_event_add_widget_actions): new function. add focus
14910         functions as actions.
14911         (init_event_Xt_late): use it.
14912
14913 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14914
14915         * event-stream.c (Fdispatch_event): Doc fix.
14916
14917 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14918
14919         * postgresql.c: Remove all references to PQsetenv*.
14920
14921         * postgresql.h: Remove references to PGsetenvHandler object.
14922         * lrecord.h (lrecord_type): Ditto.
14923
14924 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14925
14926         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14927         real_heigh and real_width members, and accessor macros for these.
14928
14929         * glyphs-msw.c (init_image_instance_geometry): New function.
14930         (init_image_instance_from_dibitmap): Use it.
14931         (mswindows_resource_instantiate): Use it.
14932         (init_image_instance_from_xbm_inline): Use it.
14933         (mswindows_initialize_image_instance_mask): Use real bitmap
14934         geometry.
14935         (mswindows_create_resized_bitmap): Ditto.
14936         (mswindows_create_resized_mask): Ditto.
14937
14938         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14939         and bitmap to their surface size.
14940
14941 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14942
14943         * process-unix.c (unix_send_process): Guard against process MIA
14944         after Faccept_process_output.
14945
14946 2000-04-11  Ben Wing  <ben@xemacs.org>
14947
14948         * eval.c (unbind_to_hairy): fix brokenness introduced by
14949         nanosecond speed improvements.
14950
14951 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14952
14953         * sunplay.c (init_device): To play sounds correctly, the device
14954         apparently needs to be initialized at least once by XEmacs.  Make
14955         it so.
14956
14957 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14958
14959         * redisplay.c (add_margin_runes): Add text image glyph
14960           handling.
14961
14962 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14963
14964         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14965         gcc is newer than 2.5.
14966
14967 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14968
14969         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14970
14971         * fns.c (size_bit_vector):
14972         * alloc.c (size_vector):
14973         (make_vector_internal):
14974         (make_bit_vector_internal):
14975         (sweep_bit_vectors_1):
14976         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14977
14978 2000-04-06  Andy Piper  <andy@xemacs.org>
14979
14980         * gmalloc.c (malloc): undo previous change.
14981         (malloc): ditto.
14982         (free): ditto.
14983         (realloc): ditto.
14984
14985 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14986
14987         * line-number.c (buffer_line_number): Revert to former version.
14988
14989 2000-04-06  Andy Piper  <andy@xemacs.org>
14990
14991         * gmalloc.c (malloc): add error checking.
14992         (malloc): ditto.
14993         (free): ditto.
14994         (realloc): ditto.
14995
14996         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14997         button_item_to_widget_value arg.
14998
14999         * glyphs-x.c (x_button_instantiate): add extra
15000         button_item_to_widget_value arg.
15001         (x_progress_gauge_instantiate): ditto.
15002         (x_edit_field_instantiate): ditto.
15003         (x_label_instantiate): ditto.
15004
15005         * gui-x.c (gui_items_to_widget_values_1): add extra
15006         button_item_to_widget_value arg.
15007         (button_item_to_widget_value): add extra menu_item_p arg.
15008
15009         * gui-x.h: change signature of button_item_to_widget_value.
15010
15011         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15012         button_item_to_widget_value arg.
15013
15014 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15015
15016         * buffer.h (struct buffer): auto_save_modified should be long.
15017
15018 2000-04-05  Andy Piper  <andy@xemacs.org>
15019
15020         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15021         type.
15022         (button_query_geometry): give a little more room so that athena
15023         buttons fit.
15024
15025 2000-04-05  Andy Piper  <andy@xemacs.org>
15026
15027         * faces.c (complex_vars_of_faces): The widget face should inherit
15028         the font of the gui-element face.
15029
15030 2000-04-04  Andy Piper  <andy@xemacs.org>
15031
15032         * glyphs-x.c (x_button_update): new function. unconditionally
15033         update a button's state when the instance is dirty.
15034         (image_instantiator_format_create_glyphs_x): add x_button_update.
15035         (x_widget_instantiate): remove old resize cruft.
15036
15037 2000-04-02  Andy Piper  <andy@xemacs.org>
15038
15039         * frame.c (change_frame_size_1): The introduction of gutters means
15040         that we need to allow 0 as a potential frame dimension.
15041
15042 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15043
15044         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15045         image glyph if allow_cursor.
15046         (add_hscroll_rune): Don't allow cursor to border glyph.
15047         (create_text_block): Ditto.
15048
15049         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15050         text not in buffer.
15051         (redisplay_output_layout): Call ensure_face_cachel_complete for
15052         text image glyph.
15053
15054
15055 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15056
15057         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15058
15059         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15060         not in buffer
15061
15062         * redisplay-tty.c (tty_output_display_block): Delete the routine
15063         for text image glyph
15064         * redisplay-x.c (x_output_display_block): ditto
15065         * redisplay-msw.c (mswindows_output_display_block): ditto
15066
15067 2000-02-02  Mike Alexander  <mta@arbortext.com>
15068
15069         Note: Some of these were committed by accident as part of other
15070         patches.
15071
15072         * regex.c (regex_compile): Avoid compiler warnings.
15073
15074         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15075
15076         * nt.h: Declare term_ntproc correctly.
15077
15078         * nt.c: Remove incorrect declaration of get_home_directory which
15079         is declared correctly in lisp.h.
15080
15081         * keymap.c (get_keyelt): Avoid compiler warnings.
15082         (raw_lookup_key_mapper): Avoid compiler warnings.
15083
15084         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15085
15086         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15087
15088         * filemode.c (mode_string): Avoid compiler warnings.
15089
15090         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15091         avoid warning.
15092
15093         * events-mod.h: Undef some things that winuser.h defines differently.
15094
15095         * data.c (Faset): Avoid compiler warnings.
15096
15097         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15098
15099 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15100
15101         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15102         Fall through to simple beep on error.
15103         Replace "extern" by real header file.
15104
15105         * linuxplay.c: Use nativesound.h
15106         (play_sound_data): Return error code. Be less verbose on error.
15107
15108         * sunplay.c: Use nativesound.h
15109         (play_sound_data): Return error code. Be less verbose on error.
15110
15111         * ntplay.c: Use nativesound.h
15112         (play_sound_data): Return fake error code
15113
15114         * sgiplay.c: Use nativesound.h
15115         (play_sound_data): Return error code
15116
15117         * hpplay.c: Use nativesound.h, partially implement
15118         new error code. Break compilation until finished.
15119         (play_sound_data): error code.
15120
15121         * nativesound.h (play_sound_file):
15122           (play_sound_data): Prototype in new header.
15123
15124 2000-03-31  Andy Piper  <andy@xemacs.org>
15125
15126         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15127         for toggle and radio buttons.
15128         (image_instantiator_buttons): use it.
15129
15130 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15131
15132         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15133         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15134         found. Scrollbar event probably belonged to some old config.
15135
15136 2000-03-31  Andy Piper  <andy@xemacs.org>
15137
15138         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15139         than 1.
15140         (initialize_widget_image_instance): default layout to
15141         LAYOUT_HORIZONTAL rather than 0.
15142         (widget_instantiate): reverse the item list at the end rather than
15143         every iteration.
15144         (layout_layout): re-code for the border text at the front of the
15145         item list rather than at the end.
15146         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15147         provided by the user.
15148         (widget_query_geometry): comment.
15149
15150 2000-03-30  Andy Piper  <andy@xemacs.org>
15151
15152         * glyphs-widget.c (image_instantiator_layout): allow standard
15153         widget keywords in layouts.
15154
15155         * gutter.c (output_gutter): cope with nil gutter contents.
15156
15157         * frame.c (Fset_frame_properties): add gutter docs.
15158
15159 2000-03-29  Andy Piper  <andy@xemacs.org>
15160
15161         * toolbar-msw.c (TBSTYLE_FLAT): add.
15162         (mswindows_output_toolbar): minor fiddling.
15163
15164 2000-03-29  Andy Piper  <andy@xemacs.org>
15165
15166         * gutter.c (output_gutter): force gutter size recalculation if
15167         what we are trying to display won't fit.
15168         (update_gutter_geometry): new function. A per-gutter version of
15169         update_frame_gutter_geometry.
15170         (update_frame_gutter_geometry): use it.
15171         (redraw_exposed_gutter): add extra debugging output.
15172
15173 2000-03-28  Mike Alexander  <mta@arbortext.com>
15174
15175         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15176         (pdump_file_unmap): Implement it on Windows
15177         (pdump_file_get): Save alocated handles for pdump_file_unmap
15178
15179 2000-03-28  Andy Piper  <andy@xemacs.org>
15180
15181         * gui.c (get_gui_callback): treat Quit specially.
15182
15183 2000-03-27  Andy Piper  <andy@xemacs.org>
15184
15185         * glyphs.c (image_instantiate): be careful to check in the same
15186         way we assigned.
15187
15188 2000-03-27  Didier Verna  <didier@xemacs.org>
15189
15190         * config.h.in: define the proper SMART_INCLUDE macro.
15191         handle renaming of `foo_h_path' to `foo_h_file'.
15192
15193         * database.c: ditto.
15194
15195         * emacs.c: ditto.
15196
15197         * linuxplay.c: ditto.
15198
15199         * terminfo.c: ditto.
15200
15201         * tooltalk.h: ditto.
15202
15203 2000-03-27  Andy Piper  <andy@xemacs.org>
15204
15205         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15206         gets updated whenever the face might have changed.
15207
15208 2000-03-26  Mike Alexander  <mta@arbortext.com>
15209
15210         * dumper.c (pdump_resource_free): Fix the comment.
15211
15212 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15213
15214         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15215
15216 2000-03-22  Mike Alexander  <mta@arbortext.com>
15217
15218         * dumper.c: Include Windows headers on Windows
15219         (pdump_resource_free): Add a body to the function
15220         (pdump_load): exe_name -> exe_path and add some comments.
15221
15222 2000-03-25  Mike Alexander  <mta@arbortext.com>
15223
15224         * gui.c (copy_gui_item_tree): Return a value in all cases
15225
15226 2000-03-21  Didier Verna  <didier@xemacs.org>
15227
15228         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15229         lwlib/config.h.in.
15230         (SMART_INCLUDE): new macro.
15231         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15232         the proper location.
15233
15234         * postgresql.c: use it.
15235
15236         * inline.c: ditto.
15237
15238 2000-03-24  Andy Piper  <andy@xemacs.org>
15239
15240         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15241         do this.
15242
15243 2000-03-24  Andy Piper  <andy@xemacs.org>
15244
15245         * redisplay-output.c (compare_runes): use image_instance_changed
15246         to detect changes. Do not depend on glyphs_changed, only depend on
15247         dirtiness.
15248          (redisplay_output_layout): add debug messages.
15249         (compare_runes): ditto.
15250
15251         * glyphs.h: declare new functions.
15252         (struct Lisp_Image_Instance): remove percent and associated
15253         accessors.
15254
15255         * gui.h: declare new copying functions.
15256
15257         * gui.c (copy_gui_item_tree): new function.
15258         (copy_gui_item): new function.
15259         (gui_item_id_hash): revert to standard hash.
15260         (gui_item_hash): ditto.
15261         (gui_item_hash_internal): deleted.
15262         (mark_gui_item): mark value.
15263         (gui_item_add_keyval_pair): add value.
15264         (gui_item_init): ditto.
15265         (gui_add_item_keywords_to_plist): ditto.
15266         (gui_item_equal): ditto.
15267         (syms_of_gui): add Q_value.
15268
15269         * glyphs-x.c (x_progress_gauge_update): use pending items and
15270         value for setting the state.
15271         (x_update_widget): don't set items from pending here.
15272
15273         * glyphs-widget.c (update_widget): update items here.
15274         (progress_gauge_set_property): use items for storing value. Put
15275         new value in pending items.
15276
15277         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15278         items for new value. Convert percent -> value.
15279         (mswindows_tab_control_update): don't update items here.
15280
15281         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15282         (update_subwindow): ditto.
15283         (image_instance_changed): new function. Compare hash values and
15284         past and present widget items.
15285         (image_instantiate): We more careful about where we instantiate
15286         things.
15287         (image_instantiate): add error checking.
15288
15289         * gutter.c (syms_of_gutter): use -hook.
15290
15291 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15292
15293         * console-tty.c (Fset_console_tty_input_coding_system): Use
15294         Qkeyboard.
15295         (Fset_console_tty_output_coding_system): Use Qterminal.
15296         (tty_init_console): Use Qkeyboard and Qterminal.
15297
15298 2000-03-21  Ben Wing  <ben@xemacs.org>
15299
15300         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15301         From Mike Alexander <mta@arbortext.com>.
15302
15303 2000-03-21  Ben Wing  <ben@xemacs.org>
15304
15305         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15306         process brokenness.  Proper implementation to come.
15307         * callproc.c:
15308         Rename call-process-internal to old-call-process-internal.
15309         New impl. in process.el.
15310
15311 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15312
15313         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15314
15315 2000-03-20  Andy Piper  <andy@xemacs.org>
15316
15317         * glyphs.c (full_list_hash): make hashes of the same elements in
15318         different orders return different values.
15319
15320 2000-03-20  Martin Buchholz <martin@xemacs.org>
15321
15322         * XEmacs 21.2.32 is released.
15323
15324 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15325
15326         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15327         (DFC_MALLOC_USE_CONVERTED_DATA):
15328         Add aliasing-safe casts to allow use with char* or unsigned char*
15329         lvalues.
15330
15331         * eldap.c (Fldap_open):
15332         (Fldap_search_basic):
15333         (Fldap_add):
15334         (Fldap_modify):
15335         Make C++-compilable.
15336         Make sure GCPRO'ed variables are initialized.
15337         Use temp variables to avoid repeated calls to Flength.
15338
15339 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15340
15341         * sysfile.h:
15342         Make sure PATH_MAX is always defined.
15343         Include limits.h for PATH_MAX.
15344         Deprecate use of MAXPATHLEN.
15345
15346 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15347
15348         * emacs.c: Add reinit_vars_of_fileio.
15349         * symsinit.h: Add reinit_vars_of_fileio.
15350         * fileio.c (reinit_vars_of_fileio): New.
15351         * fileio.c (Fmake_temp_name):
15352         Initialize temp_name random number from microseconds to make
15353         collisions even less likely.  Initialize always at process startup
15354         time.  (make-temp-name) used to return the same file name twice in
15355         a row when PDUMP.
15356         Random stylistic fiddling.
15357         Comment fixes.
15358
15359 2000-03-20  Andy Piper  <andy@xemacs.org>
15360
15361         * glyphs.c (image_instantiate): allow text glyphs to be
15362         instantiated in the minibuffer window.
15363
15364 2000-03-19  Andy Piper  <andy@xemacs.org>
15365
15366         * glyphs.c (image_instance_hash): be careful about which items we
15367         hash on.
15368
15369         * glyphs-widget.c (tab_control_set_property): record into pending
15370         items rather than the actual items.
15371
15372         * glyphs-x.c (x_update_widget): use pending items to update with.
15373
15374         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15375         to update with.
15376
15377         * glyphs.c (mark_image_instance): mark pending items.
15378
15379         * window.c (Fset_window_configuration): record the buffer.
15380         (Fselect_window): totally revert previous change which breaks many
15381         things.
15382
15383 2000-03-18  Andy Piper  <andy@xemacs.org>
15384
15385         * glyphs-msw.c (mswindows_tab_control_update): force selected
15386         item.
15387
15388         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15389         window domain cache, otherwise we get inconsistencies at
15390         startup. There is something fishy at startup which can lead to the
15391         minibuffer being the selected window when the gutter content is
15392         instantiated.
15393
15394         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15395         gcpros.
15396         (parse_gui_item_tree_children): ditto.
15397         (parse_gui_item_tree_item): ditto.
15398
15399         * glyphs.c (Fupdate_widget_instances): return something.
15400
15401 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15402
15403         * window.c (Fselect_window): Undo 2000-03-17 change.
15404
15405 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15406
15407         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15408         against v7.0 libraries.  Insta-coredump city until the postgres
15409         folks fix it.
15410
15411 2000-03-17  Andy Piper  <andy@xemacs.org>
15412
15413         * faces.c (complex_vars_of_faces): don't give the widget face an
15414         inherited background pixmap.
15415
15416         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15417         selected item.
15418
15419         * event-stream.c (Fdispatch_non_command_events): return something.
15420
15421         * gutter.c (output_gutter): use widget face.
15422         (clear_gutter): ditto.
15423
15424         * NEWS: adjust again.
15425
15426         * window.c (Fselect_window): make sure this runs to completion to
15427         avoid oddities with Fset_window_configuration.
15428         (Fcurrent_window_configuration): in general do not save the
15429         minibuffer as the selected window.
15430
15431         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15432
15433 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15434
15435         * emacs.c (Frunning_temacs_p): Revert previous patch.
15436         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15437
15438 2000-03-16  Andy Piper  <andy@xemacs.org>
15439
15440         * glyphs-x.c (x_tab_control_update): if no widget values then
15441         return.
15442
15443         * NEWS: update for new features.
15444
15445         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15446         synthetic event to the native system.
15447         (reinit_vars_of_event_Xt): set force_event_pending to
15448         emacs_Xt_force_event_pending.
15449
15450         * events.h (struct event_stream): add force_event_pending.
15451
15452         * specifier.c (recompute_one_cached_specifier_in_window): add
15453         comment.
15454
15455         * redisplay.c (redisplay_frame): don't call
15456         update_frame_subwindows. Reset subwindow cachels when
15457         subwindows_changed, removing this was an optimization too far.
15458
15459         * redisplay-output.c (compare_runes): reorganize so that we catch
15460         glyph changes when we want them. Set optimize_output when this
15461         would help layouts.
15462         (redisplay_output_layout): remove frame_really_changed, use
15463         optimize_output instead.
15464
15465         * redisplay-msw.c (mswindows_output_display_block): reset
15466         optimize_output after outputting a glyph.
15467         * redisplay-x.c (x_output_display_block): ditto.
15468         * redisplay-tty.c (tty_output_display_block): ditto.
15469
15470         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15471         functions.
15472         (gutter_specs_changed): do specific gutter positions.
15473         (top_gutter_specs_changed): new function. Only update the
15474         specified gutter specs.
15475         (bottom_gutter_specs_changed): ditto.
15476         (left_gutter_specs_changed): ditto.
15477         (right_gutter_specs_changed): ditto.
15478
15479         * gui.c (gui_item_hash_internal): new function, does a real hash.
15480         (gui_item_id_hash): use it.
15481         (gui_item_hash): hash the eval'ed gui_item.
15482
15483         * gui-x.c (popup_selection_callback): send an eval event to call
15484         Fupdate_widget_instances.
15485
15486         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15487         to call Fupdate_widget_instances.
15488
15489         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15490         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15491
15492         * glyphs.c: (update_frame_subwindows): deleted.
15493         (Fupdate_widget_instances): new function for updating the dirty
15494         state of widgets that might have changed.
15495         (syms_of_glyphs): add Qupdate_widget_instances.
15496         (full_list_hash): hash a list completely.
15497         (image_instance_hash): use it for items and properties.
15498
15499         * frame-msw.c (mswindows_size_frame_internal): remove unused
15500         variable.
15501
15502         * faces.h (struct face_cachel): fix comment.
15503
15504         * event-stream.c (Fdispatch_non_command_events): new
15505         function. Process non-command events, forcing an event cycle
15506         beforehand.
15507         (syms_of_event_stream): declare.
15508         (event_stream_force_event_pending): new function. Force an event
15509         on the native event queue so that an event cycle will occur next
15510         time we check.
15511
15512         * event-msw.c:
15513         (struct ntpipe_shove_stream):
15514         (mswindows_enqueue_dispatch_event):
15515         (mswindows_dequeue_dispatch_event):
15516         (mswindows_cancel_dispatch_event):
15517         (mswindows_pump_outstanding_events):
15518         (mswindows_drain_windows_queue):
15519         (mswindows_handle_paint):
15520         (mswindows_wnd_proc):
15521         (mswindows_key_to_emacs_keysym):
15522         (get_process_input_waitable):
15523         (emacs_mswindows_delete_stream_pair): re-indent file.
15524         (mswindows_need_event): do not process further fds if the windows
15525         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15526         fixes the 100% cpu problem.
15527         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15528
15529 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15530
15531         * alloc.h: New.
15532         * dumper.h: New.
15533         * dumper.c: New.
15534
15535         * emacs.c: Moved dump file searching to dumper.c.
15536         (Frunning_temacs_p): Fixed.
15537
15538         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15539         last_lrecord_type_index_assigned.
15540
15541 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15542
15543         * symsinit.h: Added reinit parameter to init_console_stream
15544         declaration.
15545
15546         * lisp.h: Added file parameter to pdump_load declaration.
15547
15548         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15549         support.  Added dump file searching.
15550
15551         * config.h.in: Added EMACS_PROGNAME.
15552
15553         * console-stream.c (init_console_stream): Fix reinitialisation
15554         when running from temacs.
15555
15556         * alloc.c (pdump): Add id support.
15557         (pdump_load): Add file parameter and signature/id support.
15558
15559         * Makefile.in.in: Add full pdump support.
15560
15561 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15562
15563         * postgresql.c: Update documentation to reflect latest code
15564         status.
15565         (print_result): Show tuple counts in printed representation when
15566         appropriate.
15567         (Fpq_put_nbytes): MULE-ize.
15568         (Fpq_get_line_async): Ditto.
15569
15570 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15571
15572         * postgresql.c (Fpq_lo_import): Fix return value.
15573         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15574
15575 2000-03-13  Ben Wing  <ben@xemacs.org>
15576
15577         * alloc.c (pdump_load):
15578         Fix compile warning under mswin.
15579
15580 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15581
15582         * postgresql.c: Mule-ization, bug fixes.
15583         Use PG_CODING to encapsulate coding system name changes.
15584         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15585         (pg-coding-system): Create.
15586
15587         (Fpq_conn_defaults): Mule-ize.
15588         (Fpq_connectdb): Mule-ize & bug fix.
15589         (Fpq_connect_start): Mule-ize.
15590         (Fpq_set_client_encoding): Mule-ize.
15591         (Fpq_finish): Document `DEAD' connection status.
15592         (Fpq_clear): Ditto.
15593         (Fpq_pgconn): Mule-ize.
15594         (Fpq_exec): Mule-ize & bug fix.
15595         (Fpq_send_query): Ditto.
15596         (Fpq_get_result): Ditto.
15597         (Fpq_res_status): Mule-ize.
15598         (Fpq_result_error_message): Mule-ize.
15599         (Fpq_ntuples): fix comments.
15600         (Fpq_fname): Mule-ize.
15601         (Fpq_fnumber): Mule-ize.
15602         (Fpq_ftype): fix comments.
15603         (Fpq_get_value): Mule-ize.
15604         (Fpq_cmd_status): Ditto.
15605         (Fpq_cmd_tuples): Ditto.
15606         (Fpq_oid_value): Ditto.
15607         (Fpq_notifies): Ditto.
15608         (Fpq_lo_import): Ditto.
15609         (Fpq_lo_export): Ditto.
15610         (Fpq_get_line): Ditto.
15611         (Fpq_put_line): Mule-ize and bug fix.
15612         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15613
15614 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15615
15616         * postgresql.c (vars_of_postgresql): Mule-ize.
15617         (Fpq_conn_defaults): Ditto.
15618
15619 2000-03-12  Ben Wing  <ben@xemacs.org>
15620
15621         * alloc.c (Fmake_byte_code):
15622         * alloc.c (debug_string_purity_print):
15623         * alloc.c (pdump_backtrace):
15624         * alloc.c (pdump_get_indirect_count):
15625         * alloc.c (pdump_register_sub):
15626         * alloc.c (pdump_register_object):
15627         * alloc.c (pdump_register_struct):
15628         * alloc.c (pdump_dump_data):
15629         * alloc.c (pdump_reloc_one):
15630         Minor cleanups.
15631
15632         * console-msw.c:
15633         * console-msw.c (GetConsoleHwnd):
15634         * console-msw.c (msw_hide_console):
15635         * console-msw.c (msw_show_console):
15636         * console-msw.c (msw_ensure_console_buffered):
15637         * console-msw.c (msw_output_console_string):
15638         * console-msw.c (console_type_create_mswindows):
15639
15640         a) Added functions to manipulate the console window for use with
15641         shell support.
15642
15643         b) Added support for writing text to the console, which is now
15644         used under Windows when xemacs is not being run non-interactively,
15645         to write text that would otherwise be destined for stdout because
15646         under these circumstances, text written to stdout tends to
15647         disappear and not be seen.
15648
15649         * console-msw.h:
15650         * event-Xt.c:
15651         * event-Xt.c (x_event_to_emacs_event):
15652         * event-Xt.c (describe_event_window):
15653         * events-mod.h (XEMACS_MOD_CONTROL):
15654         * events.c:
15655         * events.c (Fmake_event):
15656         * events.c (character_to_event):
15657         * events.c (event_to_character):
15658         * events.c (format_event_object):
15659         * events.c (Fevent_modifiers):
15660         * events.h:
15661         * events.h (struct key_data):
15662         * events.h (struct button_data):
15663         * events.h (struct misc_user_data):
15664         * frame-x.c (Fcde_start_drag_internal):
15665         * frame-x.c (Foffix_start_drag_internal):
15666         * gpmevent.c (Freceive_gpm_event):
15667         * keymap.c:
15668         * keymap.c (bucky_sym_to_bucky_bit):
15669         * keymap.c (control_meta_superify):
15670         * keymap.c (make_key_description):
15671         * keymap.c (keymap_lookup_directly):
15672         * keymap.c (create_bucky_submap):
15673         * keymap.c (keymap_store):
15674         * keymap.c (define_key_check_and_coerce_keysym):
15675         * keymap.c (define_key_parser):
15676         * keymap.c (define_key_alternate_name):
15677         * keymap.c (Fdefine_key):
15678         * keymap.c (raw_lookup_key_mapper):
15679         * keymap.c (struct map_keymap_unsorted_closure):
15680         * keymap.c (map_keymap_unsorted_mapper):
15681         * keymap.c (map_keymap_sort_predicate):
15682         * keymap.c (map_keymap_sorted):
15683         * keymap.c (accessible_keymaps_mapper_1):
15684         * keymap.c (where_is_recursive_mapper):
15685         * keymap.c (describe_map_mapper):
15686         * keymap.c (describe_map_sort_predicate):
15687         * keymap.c (describe_map):
15688         * keymap.c (complex_vars_of_keymap):
15689         And a number of other files, the key modifier preprocessor
15690         constants that xemacs uses have names that conflict with constants
15691         defined under MS Windows for other purposes, so they were renamed
15692         to begin with the prefix XEMACS_. The variables that hold such
15693         modifiers were changed to consistently be of type int to fix
15694         various compile warnings.
15695
15696         * console.c (complex_vars_of_console):
15697         * device.c:
15698         * device-msw.c:
15699         * device-msw.c (mswindows_finish_init_device):
15700         * device-msw.c (msw_get_workspace_coords):
15701         * device-msw.c (mswindows_device_system_metrics):
15702         and various other files, added support for a new
15703         device property called offset-workspace which returns the position
15704         of the upper left corner of the workspace area and goes along with
15705         the existing size-workspace property.
15706
15707         * dialog-msw.c:
15708         * dialog-msw.c (push_bufbyte_string_as_unicode):
15709         * dialog-msw.c (mswindows_popup_dialog_box):
15710         Added support for XEmacs-style accelerator specifications in
15711         button text.  Note: I didn't add support for this under X Windows,
15712         and somebody needs to do this.
15713
15714         * dialog.c:
15715         * dialog.c (Fpopup_dialog_box):
15716         Documented the support for accelerators that was just mentioned.
15717
15718         editfns.c (get_home_directory): Changed behavior under Windows
15719         when HOME not defined; former behavior was irretrievably broken.
15720
15721         * emacs.c:
15722         * emacs.c (main_1):
15723         * emacs.c (main):
15724         * minibuf.c (clear_echo_area_internal):
15725         * minibuf.c (echo_area_append):
15726         * print.c:
15727         * print.c (std_handle_out_external):
15728         * print.c (std_handle_out_va):
15729         * print.c (fatal):
15730         * print.c (write_string_to_stdio_stream):
15731         * print.c (output_string):
15732         * print.c (debug_print):
15733         * print.c (debug_backtrace):
15734         * print.c (debug_short_backtrace):
15735         Cleaned up the code that prints text to stdout so that this can be
15736         changed to output into a console window instead under MS Windows,
15737         as described above.
15738
15739         * eval.c:
15740         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15741         * eval.c (internal_catch):
15742         * eval.c (unwind_to_catch):
15743         * eval.c (throw_or_bomb_out):
15744         * eval.c (condition_case_1):
15745         * eval.c (signal_1):
15746         * eval.c (check_error_state_sanity):
15747         * eval.c (call_with_suspended_errors_1):
15748         * eval.c (call_with_suspended_errors):
15749         * eval.c (reinit_vars_of_eval):
15750         Added code to catch throw loops and check for a pesky bug that may
15751         be gone now.
15752
15753         * event-msw.c:
15754         * event-msw.c (key_needs_default_processing_p):
15755         * event-msw.c (mswindows_wnd_proc):
15756         * event-msw.c (mswindows_modifier_state):
15757         * event-msw.c (emacs_mswindows_quit_p):
15758         * event-msw.c (vars_of_event_mswindows):
15759         a) Added support for using the alt key to select menu items as is
15760         standard under MS Windows.  This is controlled using the variable
15761         menu-accelerator-enabled, just like under X Windows.  There is an
15762         option on the options menu to turn this support on.  I really
15763         think that it should be on by default under Windows, but I'm not
15764         going to make this change yet.
15765
15766         b)  Added support for dynamic display size changes under Windows.
15767
15768         * event-stream.c:
15769         * event-stream.c (maybe_echo_keys):
15770         * event-stream.c (Fnext_event):
15771         * event-stream.c (command_builder_find_leaf):
15772         * event-stream.c (lookup_command_event):
15773         * event-stream.c (execute_command_event):
15774         * event-stream.c (pre_command_hook):
15775         * event-stream.c (post_command_hook):
15776         * event-stream.c (syms_of_event_stream):
15777         * event-stream.c (vars_of_event_stream):
15778         * event-stream.c (complex_vars_of_event_stream):
15779         * events.h (struct command_builder):
15780
15781         a) Tried to clean up a little bit the horribly written x-specific
15782         accelerator code that crept into this file.  I moved this code
15783         into menubar-x.c where it belongs. I also needed to move the
15784         command builder structure into the file events.h because it is
15785         accessed directly by this accelerator code.  What I didn't do, but
15786         which should be done at some point, is to properly abstract this
15787         code using device methods instead of the kludgy way that it
15788         currently hooks into the event code.
15789
15790         b) Added the lisp variables this-command-properties and
15791         last-command- properties, which should be used to synchronize two
15792         adjacent commands in preference to playing games with the variable
15793         this-command, which is typically what happens.
15794
15795         c) Added some slightly nasty code to hook into the lisp support
15796         for shifted- motion-key selection.  This is actually necessary for
15797         somewhat complicated reasons, which are described in
15798         simple.el. (NB: I think the proper thing would be to have the code
15799         that calls the pre and post command hooks also call out to generic
15800         lisp functions in simple.el, where all built-in stuff could be
15801         added.  I will think about this more.)
15802
15803         * event-unixoid.c (poll_fds_for_input):
15804         * lread.c (readchar):
15805         * redisplay-tty.c (tty_clear_frame):
15806         * redisplay-x.c (x_get_gc):
15807         * signal.c (interrupt_signal):
15808         And a whole bunch of other files: fixed up places that printed
15809         directly to stderr to instead call the function stderr_out so that
15810         the changes I made under Windows work correctly.
15811
15812         * filemode.c (mode_string):
15813         Warning fixes.
15814
15815         * frame-msw.c:
15816         * frame-msw.c (mswindows_size_frame_internal):
15817         Fixed the computation of frame size and position to keep the frame
15818         within the workspace area, rather than within the physical
15819         dimensions of the screen, so that the frame doesn't overlap window
15820         manager decorations, such as the start menu and toolbar, typically
15821         at the bottom of the screen.
15822
15823         * frame.c (vars_of_frame):
15824         Changed the default frame title format under MS Windows to consist
15825         of buffername-XEmacs, which is standard under MS Windows.  I think
15826         it might be a good idea to change this everywhere because I think
15827         it is superior to the current frame title format, but this is the
15828         kind of change that is likely to cause some people to get annoyed,
15829         so I'm not making it.
15830
15831         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15832
15833         * gui-msw.c (mswindows_handle_gui_wm_command):
15834         Fixed compile warnings.
15835
15836         * gui-x.c:
15837         * gui-x.c (strdup_and_add_accel):
15838         * gui-x.c (button_item_to_widget_value):
15839         * gui-x.h:
15840         Added code to automatically put an accelerator onto the beginning
15841         of menu items that don't have one as is now the standard, and is
15842         described more later.  Also fixed things so that the menu item
15843         name can be an evaluated expression, again a new standard.
15844
15845         * gui.c:
15846         * gui.c (gui_item_add_keyval_pair):
15847         * gui.c (make_gui_item_from_keywords_internal):
15848         * gui.c (gui_add_item_keywords_to_plist):
15849         * gui.c (gui_item_accelerator):
15850         * gui.c (gui_name_accelerator):
15851         * gui.c (gui_item_included_p):
15852         * gui.c (gui_item_display_flush_left):
15853         * gui.c (gui_item_display_flush_right):
15854         * gui.c (parse_gui_item_tree_item):
15855         * gui.c (parse_gui_item_tree_children):
15856         * gui.c (parse_gui_item_tree_list):
15857         Mule-ized.  Cleanup.  GCPRO addition.
15858
15859         * line-number.c (buffer_line_number):
15860         * lisp.h:
15861         * lisp.h (EMACS_INT_MAX):
15862         Added the manifest constant EMACS_INT_MIN corresponding to the
15863         existing constant EMACS_INT_MAX.  This is partially to fix compile
15864         warnings under Windows, and partly for cleanliness.
15865
15866         * menubar-msw.c:
15867         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15868         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15869         * menubar-msw.c (displayable_menu_item):
15870         * menubar-msw.c (populate_menu_add_item):
15871         * menubar-msw.c (populate_or_checksum_helper):
15872         * menubar-msw.c (populate_menu):
15873         * menubar-msw.c (update_frame_menubar_maybe):
15874         * menubar-msw.c (prune_menubar):
15875         * menubar-msw.c (msw_char_is_accelerator):
15876         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15877         * menubar-msw.c (mswindows_handle_wm_command):
15878         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15879         * menubar-msw.c (mswindows_handle_wm_initmenu):
15880         * menubar-msw.c (mswindows_update_frame_menubars):
15881         * menubar-msw.c (mswindows_free_frame_menubars):
15882         * menubar-msw.c (mswindows_popup_menu):
15883         Fixed a bug in handling accelerators where an extra character
15884         would be displayed in the menu item.  Also generalized the
15885         function displayable_menu_item because it is now used by the
15886         dialog box code as well.  And finally, added code in the functions
15887         that create the menubar to extract a list of accelerators for the
15888         top level menubar, which is used in the event code to determine
15889         whether a particular alt-key combination should be used to invoke
15890         a menu item, or should be passed through to access the standard
15891         XEmacs keymap binding for this key combination.
15892
15893         Much needed GCPROing.
15894
15895         * menubar-x.c:
15896         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15897         * menubar-x.c (menu_item_descriptor_to_widget_value):
15898         * menubar-x.c (restore_in_menu_callback):
15899         * menubar-x.c (x_popup_menu):
15900         * menubar-x.c (menu_move_up):
15901         * menubar-x.c (menu_move_down):
15902         * menubar-x.c (menu_move_left):
15903         * menubar-x.c (menu_move_right):
15904         * menubar-x.c (menu_select_item):
15905         * menubar-x.c (command_builder_operate_menu_accelerator):
15906         * menubar-x.c (menu_accelerator_junk_on_error):
15907         * menubar-x.c (command_builder_find_menu_accelerator):
15908         * menubar-x.c (Faccelerate_menu):
15909         * menubar.h:
15910         Moved a whole bunch of code here that was previously in
15911         event-stream.c as described above.  There is also code connected
15912         to the new standard of adding an accelerator to the beginning of
15913         menu items that don't have one as described above and below.
15914
15915         * menubar.c:
15916         * menubar.c (menu_parse_submenu_keywords):
15917         * menubar.c (Fmenu_find_real_submenu):
15918         * menubar.c (Fnormalize_menu_item_name):
15919         * menubar.c (syms_of_menubar):
15920         * menubar.c (vars_of_menubar):
15921         * menubar.c (complex_vars_of_menubar):
15922
15923         a) Cleaned up a bunch of documentation and improved it.
15924
15925         b) XEmacs now automatically adds an accelerator onto the beginning
15926         of any menu items that don't have one.  I did this because there
15927         will inevitably be some menu items on the main menubar that don't
15928         have accelerators on them because the package that adds that
15929         particular menu item hasn't yet been fixed up to have accelerators
15930         in them and it looked rather strange to have some items with and
15931         some items without accelerators, especially since even in items
15932         without accelerators, you can, at least under windows, still
15933         access the item through an accelerator corresponding to the first
15934         character in the item's name.  If people don't like this behavior,
15935         I can add a variable to turn it off optionally, but I'm not sure
15936         this is a good idea because we really do need to have accelerators
15937         on all of the menu items, and if a package doesn't like the
15938         accelerators being put on the first character, then it should put
15939         the accelerators where they belong.
15940
15941         c) I made a behavior change, which is that the descriptor that
15942         specifies the text of the menu item, which formerly was just a
15943         string, can now also be an evaluated expression.  This makes this
15944         descriptor parallel with all of the others, which could also be
15945         evaluated expressions.  This also obviates the need for the
15946         keyword :label, which was previously listed in the documentation
15947         as unimplemented, and which was for the same purpose.
15948
15949         d) GCPROing.
15950
15951         * ntproc.c:
15952         * ntproc.c (new_child):
15953         * ntproc.c (sys_spawnve):
15954         * ntproc.c (find_child_console):
15955         * ntproc.c (sys_kill):
15956         Fixed compile warnings.  By the way, this file should really go
15957         away entirely, and this will happen as soon as Kirill makes his
15958         final round of process cleanups, which affect the function
15959         call-process.
15960
15961         * process-nt.c:
15962         * process-nt.c (struct nt_process_data):
15963         * process-nt.c (find_process_from_pid):
15964         * process-nt.c (send_signal_the_nt_way):
15965         * process-nt.c (enable_child_signals):
15966         * process-nt.c (find_child_console):
15967         * process-nt.c (send_signal_the_95_way):
15968         * process-nt.c (nt_finalize_process_data):
15969         * process-nt.c (ensure_console_window_exists):
15970         * process-nt.c (nt_create_process):
15971         * process-nt.c (nt_kill_child_process):
15972         * process-nt.c (nt_kill_process_by_pid):
15973         * process-nt.c (nt_open_network_stream):
15974         * process-nt.c (vars_of_process_nt):
15975         Copied over code from Emacs 20.5 to correctly send signals to sub-
15976         processes under Windows 95.  Also added code to automatically
15977         create and hide console window when a sub-process is created under
15978         Windows 95, which obviates the need for the separate runemacs.exe
15979         executable, and finally implemented some variables that were
15980         implemented in Emacs 20.5, but previously not in XEmacs.  These
15981         include mswindows- start-process-share-console and
15982         mswindows-start-process-inherit-error-mode. (Both of these only
15983         apply to Windows 95.)
15984
15985         * regex.c (regex_compile): Fixed a compile warning.
15986
15987         * select-msw.c:
15988         * select-msw.c (mswindows_own_selection):
15989         * select-msw.c (mswindows_get_foreign_selection):
15990         * select-msw.c (mswindows_disown_selection):
15991         * select-msw.c (console_type_create_select_mswindows):
15992         * select-msw.c (syms_of_select_mswindows):
15993         Cleaned up the file and implemented the device method
15994         selection_exists_p, which had accidentally been left out.  Also
15995         removed four lisp functions that were remnants from before the
15996         time when the selection code was properly device abstracted.
15997         These functions are no longer needed because there are generic
15998         equivalents, and because they were added recently and don't exist
15999         in FSF Emacs, I don't think there's any problem with just deleting
16000         them.
16001
16002         * sysdep.c:
16003         * sysdep.c (sys_subshell):
16004         Fixed a compile warning, although in this case there's probably
16005         something wrong with this code, and it ought to be looked into
16006         more thoroughly by somebody who understands it.
16007
16008         * window.c:
16009         * window.c (Fwindow_text_area_height):
16010         * window.c (Fwindow_width):
16011         * window.c (Fwindow_full_width):
16012         * window.c (Fwindow_pixel_width):
16013         * window.c (debug_print_window):
16014         * window.c (syms_of_window):
16015         Added functions window-text-area-height and window-full-width,
16016         which are functions for returning various width and height
16017         characteristics of a window. (One of these functions is necessary
16018         for making the file dialog box work correctly, and the other one
16019         was added for completeness.)  Also added a table to the
16020         documentation for window-height which describes the entire scheme
16021         for accessing width and height characteristics of a window.
16022
16023 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16024
16025         * nt.c (fstat): Added a comment for another problem with
16026         non-encapsulated [f]stat(), reported by Adrian Aichner
16027         <aichner@ecf.teradyne.com>.
16028
16029 2000-03-11  Andy Piper  <andy@xemacs.org>
16030
16031         * window.c (make_dummy_parent): initialize subwindow instance
16032         cache.
16033         (Fset_window_configuration): zero extent_modiff.
16034
16035 2000-03-10  Andy Piper  <andy@xemacs.org>
16036
16037         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16038         more changes can be triggered.
16039         (Fredisplay_frame): ditto.
16040         (Fredraw_device): ditto.
16041         (Fredisplay_device): ditto.
16042         (redisplay_frame): make non-static.
16043         (redisplay_frame): call update_frame_gutter_geometry outside of
16044         display proper.
16045
16046         * gutter.h: declare update_frame_gutter_geometry.
16047
16048         * redisplay.h: declare redisplay_frame.
16049
16050         * gutter.c (update_frame_gutter_geometry): move geometry changes
16051         in update_frame_gutters here. Geometry changes can only occur
16052         outside of redisplay.
16053         (update_frame_gutters): remove geometry change code.
16054         (Fredisplay_gutter_area): make sure that we are in display when we
16055         update and that we have flushed any size changes.
16056
16057 2000-03-11  Andy Piper  <andy@xemacs.org>
16058
16059         * alloc.c (pdump_dump_data): remove i & count shadows.
16060
16061 2000-02-27  Mike Alexander  <mta@arbortext.com>
16062
16063         * sysdep.h: Declare pdump_read_file
16064
16065         * sysdep.c (pdump_read_file): New function
16066
16067         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16068         dump data
16069
16070 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16071
16072         * lrecord.h: add `lrecord_type_pgsetenv'.
16073
16074 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16075
16076         * symsinit.h: declare (vars|syms)_of* functions.
16077         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16078
16079 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16080
16081         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16082
16083         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16084         GCCs.
16085
16086         * emacs.c (main_1): Call postgres initialization code.
16087
16088         * postgresql.h: New file.  PostgreSQL RDBMS support.
16089         * postgresql.c: New file.
16090
16091 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16092
16093         * redisplay-output.c (redisplay_output_display_block): Disable
16094         redundant code.
16095
16096 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16097
16098         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16099         (Fcanna_henkan_next): Ditto.
16100         (Fcanna_bunsetu_henkou): Ditto.
16101         (Fcanna_henkan_kakutei): Ditto.
16102         (Fcanna_henkan_end): Ditto.
16103         (Fcanna_henkan_quit): Ditto.
16104         (Fcanna_henkan_next): Set retun value correctly.
16105         (c2mu): Use unsigned char instead of signed char.
16106
16107 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16108
16109         * emacs.c (main_1): Always call syms_of_gui.
16110         * inline.c: include gui.h
16111
16112 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16113
16114         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16115         converted to Lisp_Object.
16116         (Qtop_bottom): New variable.
16117         (syms_of_redisplay): Initialize it.
16118         * redisplay.h (Vvisible_bell): Ditto.
16119         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16120         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16121         only flash top and bottom.
16122
16123 2000-03-08  Andy Piper  <andy@xemacs.org>
16124
16125         * buffer.c (Frename_buffer): record new buffer name the right way.
16126
16127 2000-03-08  Andy Piper  <andy@xemacs.org>
16128
16129         * glyphs.c (update_subwindow): increase hash depth so that widget
16130         items get picked up properly.
16131
16132         * redisplay-output.c (compare_runes): increase hash depth so that
16133         widget items get picked up properly.
16134
16135 2000-03-08  Andy Piper  <andy@xemacs.org>
16136
16137         * gutter.c (output_gutter): add some debug.
16138
16139         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16140         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16141         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16142
16143         * redisplay-output.c (compare_runes): use display_hash to
16144         determine if glyphs really are not the same.
16145
16146         * glyphs.c (update_subwindow): check display_hash to see if
16147         anything really needs to be updated. If not then do
16148         nothing. Record the display_hash after updating.
16149         (image_instance_equal): compare the image_instance face also.
16150
16151 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16152
16153         * redisplay.h: Fix comment style.
16154
16155 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16156
16157         * consle-msw.h (struct mswindows_frame):
16158         Added new member paint_pending to indicate whether a WM_PAINT
16159         magic event has been queued for this frame.
16160
16161         * event-msw.c (mswindows_drain_windows_queue):
16162         Don't queue a WM_PAINT magic event if one is already queued.
16163         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16164
16165         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16166
16167 2000-03-07  Didier Verna  <didier@xemacs.org>
16168
16169         * dired.c: #include `regex.h' after `sysfile.h'.
16170
16171 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16172
16173         * sound.c (init_nas_sound): Fix compiler warning.
16174
16175         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16176         (FREE_STRUCT_P):
16177         (MARK_STRUCT_AS_FREE):
16178         (MARK_STRUCT_AS_NOT_FREE):
16179         Make `gcc -fstrict-aliasing' work properly.
16180
16181 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16182
16183         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16184         (mswindows_delete_device): Call CoUnnitialize().
16185
16186         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16187
16188 2000-02-25    <CraigL@DyCon.com>
16189
16190         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16191         <errno.h>.
16192
16193         * sysdep.c: This extern declaration for environ prevents MinGW
16194         from finding the variable in CRTDLL.DLL.
16195
16196         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16197         windows headers.
16198         (SHGFI_EXETYPE): ..
16199         (WM_MOUSEWHEEL): ..
16200         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16201         definitions.
16202         (MMRESULT): Removed, now defined in cygwin's windows headers.
16203         (TIMECAPS): ..
16204         (uid_t,gid_t,pid_t,ssize_t): ..
16205         (_timeb): Removed, MinGW defines both _timeb and timeb.
16206         (HAVE_H_ERRNO): Added.
16207         (HAVE_TZNAME): Added, configure is not detecting this.
16208
16209 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16210
16211         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16212         * syntax.c (syntax_match): Use it.
16213
16214         * cmds.c: Import auto-fill-chars from FSF Emacs.
16215         (Vauto_fill_chars): New variables.
16216         (internal_self_insert): Check Vauto_fill_chars.
16217         (vars_of_cmds):
16218         Declare auto-fill-chars as a Lisp variable and initialize it.
16219
16220 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16221
16222         * fileio.c (Fmake_symbolic_link):
16223         (Ffile_symlink_p):
16224         Run handlers even if local machine doesn't have symlinks.
16225
16226 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16227
16228         * event-msw.c (mswindows_drain_windows_queue):
16229         Don't generate paint magic events for non-XEmacs frames.
16230
16231 2000-03-05  Andy Piper  <andy@xemacs.org>
16232
16233         * redisplay.c (redisplay_frame): generate_displayable_area and
16234         friends assumes that we are not in GC, we therefore have to make
16235         sure that this doesn't happen.
16236
16237         * gutter.c (calculate_gutter_size): generate_displayable_area
16238         assumes that we are not in GC, we therefore have to make sure that
16239         this doesn't happen.
16240
16241 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16242
16243         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16244
16245 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16246
16247         * redisplay.c (regenerate_window): Make sure we set a sane value
16248         for end_pos even if we jump out of the loop.
16249         (regenerate_window): Answer Ben's question :-).
16250         (start_end_of_last_line): Add may_error argument.
16251         (start_of_last_line):
16252         (end_of_last_line): Pass may_error = 0.
16253         (end_of_last_line_may_error): New function.
16254         (pixel_to_glyph_translation): Use it, so we don't crash in
16255         event_to_glyph.
16256
16257 2000-03-04  Andy Piper  <andy@xemacs.org>
16258
16259         * window.h (struct window): add gutter_extent_modiff.
16260
16261         * window.c (allocate_window): zero out gutter_extent_modiff.
16262
16263         * redisplay.h: declare sync_display_line_structs.
16264
16265         * redisplay.c (add_glyph_rune): add a better comment.
16266
16267         * redisplay-output.c (sync_display_line_structs): made non-static.
16268         (compare_runes): remove unneccesary glyph cachel access.
16269
16270         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16271
16272         * gutter.c (output_gutter): don't output the gutter if extent
16273         changes only involve extents in buffers. use 4 sets of display
16274         lines.
16275         (gutter_extent_signal_changed_region_maybe): new function. Mark
16276         extents in gutters as changed.
16277         (update_frame_gutters): use 4 sets of display lines.
16278         (reset_gutter_display_lines): ditto.
16279         (free_frame_gutters): ditto.
16280         (redraw_exposed_gutter): force output of gutters.
16281
16282         * frame.h (struct frame): add 4 sets of gutter display lines.
16283
16284         * extents.c: (extent_changed_for_redisplay): signal changes to
16285         extents in strings in the gutter as well as extents in buffers.
16286
16287 2000-03-02  Andy Piper  <andy@xemacs.org>
16288
16289         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16290
16291         * frame.c (Fmake_frame): make sure the gutters get initialized
16292         after the frame is visible.
16293         (set_frame_selected_window): re-arrange compilation macros a
16294         little.
16295         (change_frame_size_1): mark gutters changed.
16296
16297         * device.c (Fset_device_class): mark gutters changed.
16298
16299 2000-03-01  Andy Piper  <andy@xemacs.org>
16300
16301         * window.c (window_top_frame_gutter_height): deleted.
16302         (window_bottom_frame_gutter_height): ditto.
16303         (window_left_frame_gutter_height): ditto.
16304         (window_right_frame_gutter_height): ditto.
16305         (window_top_gutter_height): don't use them.
16306         (window_bottom_gutter_height): ditto.
16307         (window_left_gutter_width): ditto.
16308         (window_right_gutter_width): ditto.
16309         (Fsplit_window): ditto.
16310         (Fwindow_pixel_edges): don't use border dimensions here.
16311
16312         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16313         (update_scrollbar_instance): ditto.
16314
16315         * redisplay.c (generate_modeline): don't take gutters into account.
16316         (generate_modeline): ditto.
16317         (redisplay_frame): small gutter display optimization.
16318
16319         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16320
16321         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16322         gutters into account.
16323
16324         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16325         for window position and type.
16326
16327         * gutter.c (get_gutter_coords): fix for frame gutters.
16328         (update_frame_gutters): update frame geometry if the gutters have
16329         changed.
16330         (init_frame_gutters): record current gutter geometries.
16331
16332         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16333         var.
16334         (mswindows_widget_instantiate): ditto.
16335
16336         * frame.h (struct frame): add current_gutter_bounds.
16337
16338         * frame.c (change_frame_size_1): position window and minibuffer
16339         appropriately taking into account the frame gutters.
16340
16341         * frame-x.c: (x_initialize_frame_size): take into account the
16342         frame gutters.
16343
16344 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16345
16346         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16347
16348 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16349
16350         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16351
16352 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16353
16354         * file-coding.c (reset_decoding_stream): Clear previous
16355         detection state when autodetect.
16356
16357 2000-02-29  Didier Verna  <didier@xemacs.org>
16358
16359         * extents.c (set_extent_glyph_1): don't require extents to be
16360         attached.
16361
16362 2000-02-27  Andy Piper  <andy@xemacs.org>
16363
16364         * gutter.c (Fset_default_gutter_position): don't default left and
16365         right gutter visibility to t.
16366         (Fset_default_gutter_position): run
16367         default-gutter-position-changed-hook.
16368         (syms_of_gutter): add default-gutter-position-changed-hook.
16369
16370 2000-02-26  Andy Piper  <andy@xemacs.org>
16371
16372         * specifier.c (Fmake_specifier): add gutter references.
16373
16374         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16375
16376         * lisp.h: declare Fvalid_plist_p.
16377
16378         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16379         as changed.
16380         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16381         well as its visibility so that it gets reconstructed.
16382         (construct_window_gutter_spec): new function. Construct a string
16383         to be displayed in the gutter from a plist of strings. Take care
16384         to only use elements that are declared as visible.
16385         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16386         WINDOW_GUTTER.
16387         (gutter_validate): allow plists of strings in the specifier.
16388         (gutter_specs_changed): construct the real_gutter from the gutter
16389         specs using construct_window_gutter_spec.
16390         (gutter_visible_validate): gutter-visible is a new specifier type.
16391         (Fgutter_visible_specifier_p): new function for the new specifier.
16392         (syms_of_gutter): declare gutter-visible and
16393         Fgutter_visible_specifier_p.
16394         (specifier_type_create_gutter): intitalize new gutter-visible
16395         specifier.
16396         (reinit_specifier_type_create_gutter): ditto.
16397         (specifier_vars_of_gutter): use new specifier type for gutter
16398         visibility.
16399         (init_frame_gutters): construct real_gutter correctly.
16400         (Fgutter_specifier_p): beef up documentation.
16401         (Fgutter_size_specifier_p): ditto.
16402
16403         * winslots.h: add real_gutter slots.
16404
16405 2000-02-25  Andy Piper  <andy@xemacs.org>
16406
16407         * device-msw.c: Be kind to older cygwin versions. From Raymond
16408         Toy <toy@rtp.ericsson.se>.
16409
16410         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16411         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16412
16413 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16414
16415         * elhash.c (MARK_OBJ): Practice macro hygiene.
16416
16417 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16418
16419         * miscplay.c: s/__inline__/inline/g;
16420         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16421         (get_device_compdc): INLINE ==> static inline
16422         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16423         find -name '*.h' | \
16424         xargs global-replace \
16425         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16426
16427 2000-02-25  Andy Piper  <andy@xemacs.org>
16428
16429         * window.c (window_top_frame_gutter_height): new function.
16430         (window_top_window_gutter_height): ditto.
16431         (window_top_gutter_height): use them.
16432         (window_bottom_frame_gutter_height): new function.
16433         (window_bottom_window_gutter_height): ditto.
16434         (window_bottom_gutter_height): use them.
16435         (window_left_window_gutter_width): new function.
16436         (window_left_frame_gutter_width): ditto.
16437         (window_left_gutter_width): use them.
16438         (window_right_window_gutter_width): new function.
16439         (window_right_frame_gutter_width): ditto.
16440         (window_right_gutter_width): use them.
16441         (window_pixel_height): new function. calulate window pixel height
16442         with frame gutter involvement.
16443         (Fsplit_window): calculate new sizes taking frame gutters into
16444         account.
16445         (window_char_height_to_pixel_height): don't include frame gutters.
16446         (window_char_height): use window_pixel_height.
16447         (window_pixheight): rename from window_pixel_height.
16448         (change_window_height): use it.
16449         (window_pixel_height_to_char_height): don't include frame gutters.
16450         (window_char_width_to_pixel_width): ditto.
16451
16452 2000-02-25  Andy Piper  <andy@xemacs.org>
16453
16454         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16455         if it is.
16456
16457 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16458
16459         * alloc.c (staticpro):
16460         (staticpro_nodump):
16461         (dumpstruct):
16462         (dumpopaque):
16463         (pdump_wire):
16464         (pdump_wire_list):
16465         (compact_string_chars):
16466         (pdump_dump_wired):
16467         Convert:  if (foo) abort();  ==>  assert (! foo);
16468
16469         * eldap.c (Fldap_search_basic):
16470         (Fldap_add):
16471         (Fldap_modify):
16472         (Fldap_delete):
16473         Fix compiler warnings, and possible crashes if (random) return
16474         value were to be used.
16475
16476 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16477
16478         * device-msw.c: Workaround ResetDC failure.
16479
16480         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16481         applying a devmode.
16482
16483         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16484         (mswindows_text_width): Do not start printer page.
16485
16486         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16487
16488         * glyphs-msw.c: Added image methods to msprinter console and
16489         msprinter-specific image instantiation.
16490
16491 2000-02-20  Mike Alexander  <mta@arbortext.com>
16492
16493         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16494         to avoid crashes when selection-sets-clipboard is on
16495         (mswindows_own_selection): ditto
16496
16497 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16498
16499         * glyphs-msw.c:
16500         * redisplay-msw.c (get_frame_dc):
16501         (get_frame_compdc):
16502         * console-msw.h:
16503         * device-msw.c (mswindows_init_device):
16504         (mswindows_delete_device):
16505         (msprinter_init_device):
16506         (msprinter_delete_device):
16507         * frame-msw.c (mswindows_init_frame_1):
16508         (mswindows_delete_frame):
16509         (msprinter_init_frame_3):
16510         (msprinter_delete_frame): Move compatible DC to device object from
16511         frame object, for both mswindows and msprinter. Only one at a time
16512         is needed, it is a real waste to have one per frame!
16513
16514 2000-02-23  Andy Piper  <andy@xemacs.org>
16515
16516         * glyphs.c: add dynamic width and height elements.
16517         (image_instance_equal): ditto.
16518
16519         * glyphs-widget.c (widget_query_geometry): calculate width and
16520         height dynamically if required.
16521         (initialize_widget_image_instance): initialize dynamic dimensions.
16522         (widget_instantiate): pick-up dynamic dimensions.
16523
16524         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16525         dynamic determination. Add appropriate macros.
16526
16527         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16528         dimensions safe.
16529         (WINDOW_GUTTER_SIZE): ditto.
16530         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16531
16532         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16533         inline.
16534         (get_frame_dc): ditto.
16535
16536         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16537         here.
16538
16539 2000-02-23  Martin Buchholz <martin@xemacs.org>
16540
16541         * XEmacs 21.2.31 is released.
16542
16543 2000-02-22  Ben Wing <ben@xemacs.org>
16544
16545         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16546
16547 2000-02-22  Andy Piper  <andy@xemacs.org>
16548
16549         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16550
16551 2000-02-21  Mike Sperber <mike@xemacs.org>
16552
16553         * .dbxrc:
16554         * .gdbinit:
16555         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16556         variables.
16557
16558 2000-02-21  Mike Sperber <mike@xemacs.org>
16559
16560         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16561
16562 2000-02-21  Martin Buchholz <martin@xemacs.org>
16563
16564         * XEmacs 21.2.30 is released.
16565
16566 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16567
16568         Performance hacking.
16569         * *.c (syms_of_*):
16570         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16571         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16572         * emacs.c (main_1):
16573         * lisp.h (DEFUN):
16574         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16575         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16576         * symeval.h (DEFVAR_SYMVAL_FWD):
16577         * symbols.c (guts_of_unbound_marker):
16578         Make all c_readonly objects also lisp_readonly and marked for life.
16579         * lrecord.h (struct lrecord_implementation):
16580         Document flags better.
16581         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16582         * lrecord.h (DECLARE_LRECORD):
16583         * lrecord.h (XSETRECORD):
16584         * lrecord.h (RECORDP):
16585         * lrecord.h (RECORD_TYPEP):
16586         * lrecord.h (RECORD_MARKER): New.
16587         * lrecord.h (error_check_*):
16588         * lrecord.h (CONCHECK_NONRECORD):
16589         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16590         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16591         * lrecord.h (set_lheader_implementation):
16592         * lrecord.h (enum lrecord_type): New.
16593         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16594         * alloc.c (disksave_object_finalization_1):
16595         * alloc.c (mark_object):
16596         * alloc.c (lrecord_type_index):
16597         * alloc.c (tick_lcrecord_stats):
16598         * alloc.c (Fgarbage_collect):
16599         * alloc.c (init_alloc_once_early):
16600         * alloc.c (pdump_load):
16601         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16602         * alloc.c (lrecord_type_index): Delete.
16603         Make lisp object type indexes be constant.
16604           Makes (byte-compile) 5% faster.
16605         Put all marker functions into their own array.
16606           Makes (garbage-collect) 5% faster.
16607         Optimize SYMBOL_VALUE_MAGIC_P.
16608           Makes (byte-compile) 2-3% faster.
16609         * config.h.in (gc_checking_assert): New.
16610         * alloc.c: Use gc_checking_assert().
16611         * .dbxrc: Make compatible with new object type implementation.
16612         * .gdbinit: Make compatible with new object type implementation.
16613         * alloc.c: Delete all symbols defined only for debugging, such as
16614         Lisp_Type_Vector and lrecord_charset.
16615
16616 2000-02-21  Andy Piper  <andy@xemacs.org>
16617
16618         * gui-msw.c (Fmswindows_shell_execute): fix file location
16619         problems.
16620
16621         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16622         unshowing so that set_window_buffer doesn't undo
16623         kill_buffer_hook's hard work.
16624
16625         * glyphs-widget.c (tab_control_query_geometry): don't count the
16626         first item when calculating geometry.
16627
16628         * glyphs.c (map_subwindow): remove redundant code.
16629         (update_frame_subwindows): be more circumspect about when to
16630         update subwindows.
16631
16632         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16633         when items haven't changed. Update faces if faces have changed as
16634         well as just the widget face.
16635         (x_tab_control_update): Update faces if faces have changed as well
16636         as just the widget face.
16637
16638 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16639
16640         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16641         registration.
16642         (build_syscolor_string): Use mswindows_color_to_string to try to
16643         get a named color.
16644         (mswindows_device_system_metrics): Reverse the foreground and
16645         background colors so that they match the documentation.
16646
16647         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16648         they match the default Windows palette.
16649         (mswindows_color_to_string): New function.
16650
16651 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16652
16653         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16654
16655 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16656
16657         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16658         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16659
16660         * symbols.c (init_symbols_once_early): Removed obsolete
16661         DATA_SEG_BITS related kludge.
16662         (defvar_magic): Ditto.
16663
16664         * malloc.c: Removed obsolete DATA_SEG_BITS
16665         * ralloc.c: Ditto.
16666         * mem-limits.h: Ditto.
16667
16668         * Makefile.in.in: Removed obsolete HAVE_SHM
16669         * emacs.c: Ditto.
16670
16671 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16672
16673         *  device-msw.c (mswindows_delete_device): Free DDE string
16674         handles.
16675
16676 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16677
16678         * keymap.c (get_keyelt):
16679         * unexnt.c (unexec):
16680         * vm-limit.c (memory_warnings):
16681         * ntheap.c (recreate_heap):
16682         * ntheap.h (UNINIT_PTR):
16683         * select-msw.c (Fmswindows_get_clipboard):
16684         (Fmswindows_set_clipboard):
16685         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16686         * objects-msw.c:
16687         * menubar-msw.c (displayable_menu_item):
16688         * glyphs-msw.c:
16689         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16690         * sysdep.c (sys_subshell):
16691         * process-nt.c (nt_create_process):
16692         * nt.c (normalize_filename):
16693         (dostounix_filename):
16694         (unixtodos_filename):
16695         * ntproc.c (win32_executable_type):
16696         * ntplay.c (play_sound_data_1):
16697         (play_sound_file):
16698         * editfns.c (get_home_directory):
16699         * event-msw.c (struct winsock_stream):
16700         (mswindows_dde_callback):
16701         * device-msw.c (msprinter_init_device):
16702         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16703
16704         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16705         mswindows_clear_toolbar were swapped!
16706
16707         * objects-msw.c:(colormap_t):
16708         (fontmap_t):
16709         * emacs.c (struct standard_args): Fixed const jumble.
16710
16711         * glyphs-widget.c (update_widget): Fixed comparison notation.
16712
16713         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16714
16715         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16716         __declspec(noreturn) syntax.
16717
16718 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16719
16720         * eldap.c (Fldap_open):
16721         (Fldap_search_basic):
16722         (Fldap_add):
16723         (Fldap_modify):
16724         Use new coding system conversion macros.
16725
16726 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16727
16728         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16729
16730 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16731
16732         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16733         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16734
16735         * eldap.c (Qadd, Qreplace): New constant symbols
16736         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16737         interruptions by XEmacs signals
16738         Remove unnecessary calls to slow_down_interrupts and
16739         speed_up_interrupts
16740         (Fldap_search_basic): Renamed from Fldap_search_internal
16741         Added new optional parameter VERBOSE that triggers the
16742         display of progress messages
16743         Remove unnecessary calls to slow_down_interrupts and
16744         speed_up_interrupts
16745         LDAP result code analysis rewritten
16746         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16747         (syms_of_eldap): Define the new symbols and functions
16748
16749
16750 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16751
16752         * realpath.c: Determine PATH_MAX maximally portably.
16753
16754         * insdel.c (bytecount_to_charcount): Optimize.
16755         The function used to be optimized for entirely ASCII sequences.
16756         Now it is optimized for successive characters from the same
16757         charset.  This also wins big for _mostly_ ASCII sequences.
16758
16759         * fileio.c (Ffile_truename): convert return from realpath() using
16760         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16761         - Rewrite GCPROing slightly.
16762
16763         * sysdep.c (sys_open): Do filename conversion, like all other
16764         sys_* functions.  Fixes bug:
16765         (let ((file-name-coding-system 'iso-8859-2))
16766            (write-region x y latin2-name))
16767         ==> writes filename using internal encoding.
16768
16769 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16770
16771         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16772         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16773         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16774         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16775         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16776         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16777         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16778         (CONST_IF_NOT_DEBUG): Delete.
16779         * alloc.c (this_one_is_unmarkable): Delete.
16780         (mark_object): Don't check for this_one_is_unmarkable. Use the
16781         c_readonly flag instead.
16782         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16783
16784 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16785
16786         * event-msw.c (mswindows_drain_windows_queue):
16787         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16788         away redundant repaint events.
16789
16790 2000-02-17  Andy Piper  <andy@xemacs.org>
16791
16792         * redisplay.h: declare mark_redisplay_structs.
16793
16794         * redisplay.c (redisplay_window):
16795         (redisplay_frame): don't check subwindows_state_changed.
16796         (mark_redisplay): mark gutters here.
16797
16798         * glyphs.c: (instantiate_image_instantiator): always layout if we
16799         haven't done so already.
16800         (allocate_image_instance): don't mark as dirty.
16801         (update_subwindow): bind inhibit_quit.
16802
16803         * gutter.c (mark_gutters): new function.
16804
16805         * glyphs-x.c (x_update_widget): Always resize to get round a
16806         widget bug.
16807
16808         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16809         breaking absolutely everything.
16810
16811         * gutter.h: declare mark_gutters.
16812
16813 2000-02-16  Martin Buchholz <martin@xemacs.org>
16814
16815         * XEmacs 21.2.29 is released.
16816
16817 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16818
16819         * fns.c (size_bit_vector): Fix computation of the size.
16820
16821 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16822
16823         * *.[ch]: Change CONST to const globally.
16824         find -name '*.[ch]' | \
16825         xargs global-replace \
16826         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16827         - Remove vestigial references to CONST_IS_LOSING
16828
16829 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16830
16831         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16832         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16833         events instead of dispatching them directly.
16834         (mswindows_handle_paint): New function to do repainting.
16835         (mswindows_wnd_proc):
16836         (emacs_mswindows_handle_magic_event): Call above function.
16837
16838 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16839
16840         * objects-msw.c (mswindows_create_font_variant): Return the new
16841         font handle.
16842         (initialize_font_instance): Get font metrics from the underlined
16843         variant of the font to cope with the case where the underlined
16844         font has a bigger descent.
16845
16846 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16847
16848         * gui.c (gui_item_accelerator): Return the first underlined
16849         character in item name.
16850
16851 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16852
16853         * lisp.h: Added Qprinter.
16854
16855         * general.c (syms_of_general): Initialized it.
16856
16857         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16858         (get_frame_dc):
16859         (get_frame_compdc): Made inline.
16860
16861         * console.h (struct console_methods): Added eject_page method.
16862
16863         * frame.h: Added FRAME_DISPLAY_P and friends.
16864         Aligned backslahes in many macros in more readable fashion.
16865         Added page_number to struct frame, and an accessor macro
16866         for it.
16867
16868         * defice.h: Added DEVICE_DISPLAY_P and friends.
16869
16870         * device.c (Fdevice_printer_p): Used these.
16871
16872         * frame.c (allocate_frame_core): Initialize page number.
16873         (Fprint_job_page_number):
16874         (Fprint_job_eject_page): Implemented.
16875
16876         * frame-msw.c (msprinter_eject_page): Added method.
16877         (msprinter_start_page): Added.
16878
16879         * window.c (Fwindow_truncated_p): Fixed docstring.
16880         (Fwindow_last_line_visible_height): Implemented.
16881
16882 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16883
16884         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16885
16886 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16887
16888         * syntax.c (scan_words): Always advance at least one character.
16889
16890 2000-02-13  Andy Piper  <andy@xemacs.org>
16891
16892         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16893         to make sure the glyph is in the cachels.
16894
16895         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16896         global image instance flag.
16897         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16898         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16899
16900         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16901         (Fset_image_instance_property): mark layout as changed.
16902         (invalidate_glyph_geometry_maybe): mark layout as changed.
16903         (glyph_width): use new NEEDS_LAYOUT macro.
16904         (glyph_ascent): ditto.
16905         (glyph_descent): ditto.
16906         (glyph_height): ditto.
16907         (image_instance_layout): mark layout as clean after laying out.
16908         (update_subwindow): don't mark layout as clean here.
16909
16910         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16911         should no longer be needed.
16912
16913         * glyphs-x.c (x_update_widget): sanitize asserts.
16914         (x_finalize_image_instance): sanitize assignment to widgets.
16915
16916         * glyphs-widget.c (widget_instantiate): don't need to clear the
16917         layout flag here.
16918
16919 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16920
16921         * sysdep.c (getcwd): Use standard prototype.
16922         * sysdep.h (getcwd): Use standard prototype.
16923
16924         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16925         (sequence, start, end).
16926         Remove redundant type checking.
16927         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16928         view of `caller-protects') to avoid a crash where the real fix was
16929         found elsewhere.
16930
16931 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16932
16933         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16934
16935         * s/sol2.h: Remove feature macro initialization.
16936
16937         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16938         (vector_hash): New.  Code from internal_hash.
16939         * lrecord.h:
16940         Fix up allocation subsystem comments.
16941
16942         * config.h.in: Add __EXTENSIONS__ for Solaris.
16943
16944         * systime.h (EMACS_GETTIMEOFDAY): New.
16945         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16946         Remove Solaris-specific code.
16947         Use void* for the (ignored) second arg for gettimeofday().
16948
16949         * elhash.c (hash_table_hash): Implement it, finally.
16950         * elhash.c:  Use hashcode_t.
16951
16952         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16953         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16954
16955         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16956         * fns.c (size_bit_vector):
16957         * alloc.c (size_vector):
16958         (make_vector_internal):
16959         (make_bit_vector_internal):
16960         (sweep_bit_vectors_1):
16961         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16962
16963 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16964
16965         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16966         Include strings.h to avoid warnings for bzero and strcasecmp.
16967
16968 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16969
16970         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16971         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16972
16973         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16974         sequence.
16975
16976 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16977
16978         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16979         use a value field instead.
16980         (symbol_value_forward_forward): Use value field.
16981         (DEFVAR_SYMVAL_FWD): Use value field.
16982         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16983         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16984         (DEFVAR_CONST_INT): Ditto.
16985         (DEFVAR_BOOL): Ditto.
16986         (DEFVAR_CONST_BOOL): Ditto.
16987         (DEFVAR_INT_MAGIC): Ditto.
16988         (DEFVAR_BOOL_MAGIC): Ditto.
16989
16990         * symbols.c (guts_of_unbound_marker): Use value field.
16991         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16992         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16993
16994         * lisp.h: Declare dumpopaque and noninteractive1.
16995
16996         * alloc.c (dumpopaque): Added.
16997         (pdump_dump_opaquevec): Added.
16998         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16999         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17000         noninteractive.
17001
17002 2000-02-10  Andy Piper  <andy@xemacs.org>
17003
17004         * glyphs.c (image_instance_layout): if the size changes, mark it
17005         as such.
17006
17007         * redisplay-output.c (redisplay_output_layout): Update the
17008         subwindow here.
17009         (redisplay_output_subwindow): ditto.
17010
17011         * glyphs.c (update_subwindow): make sure we reset flags for
17012         layouts as well as everything else.
17013
17014         * glyphs-widget.c (layout_layout): don't need to set the instances
17015         dimensions here.
17016
17017 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17018
17019         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17020         not HAVE_DLOPEN, which is a lower-level thing.
17021
17022         * .cvsignore: Ignore gmon.out
17023
17024 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17025
17026         * .cvsignore: Ignore portable dumper xemacs.dmp file
17027
17028 2000-02-09  Andy Piper  <andy@xemacs.org>
17029
17030         * redisplay-output.c (redisplay_output_layout): be more clever
17031         about when we output based on the changed flags.
17032
17033         * glyphs.h (struct image_instantiator_methods): add update_method.
17034         (struct Lisp_Image_Instance): add changed flags. Declare new
17035         macros for manipulating them.
17036
17037         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17038         (image_instance_parent_glyph): find an image_instance's parent
17039         glyph or image_instance.
17040         (image_instance_layout): mark the size as changed.
17041         (set_image_instance_dirty_p): new function. mark an image
17042         instance, plus all of its parents, as dirty.
17043         (Fset_image_instance_property): use it.
17044         (Fglyph_animated_timeout_handler): use it.
17045         (update_subwindow): call update_widget and device methods for
17046         update_subwindow. Mark all changed flags as clean.
17047         (Fresize_subwindow): mark size as changed.
17048
17049         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17050         failures.
17051         (x_update_subwindow): only resize subwindows here.
17052         (x_update_widget): new function. Update all changed properties of
17053         a widget.
17054         (x_resize_subwindow): deleted.
17055         (x_widget_set_property): deleted.
17056         (x_progress_gauge_set_property): deleted.
17057         (x_progress_gauge_update): new function. Implement recorded
17058         changes.
17059         (x_tab_control_update): ditto.
17060         (x_tab_control_set_property): deleted.
17061         (console_type_create_glyphs_x): declare new functions.
17062         (image_instantiator_format_create_glyphs_x): ditto.
17063
17064         * glyphs-widget.c (widget_set_property): mark text changed.
17065         (update_widget): new function. Update properties of a widget.
17066         (widget_instantiate): for layouts make sure we set their
17067         children's parent correctly.
17068         (tab_control_set_property): new function. Record changes that will
17069         take place under redisplay's control.
17070         (progress_gauge_set_property): ditto.
17071         (image_instantiator_progress_guage): declare new functions.
17072         (image_instantiator_tab_control): ditto.
17073
17074         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17075         now.
17076         (mswindows_update_widget): new function. Update all properties on
17077         a widget that have changed.
17078         (mswindows_button_update): new function. Update a button's set
17079         state.
17080         (mswindows_tab_control_update): new function. Update the items in
17081         a tab.
17082         (mswindows_tab_control_set_property): deleted.
17083         (mswindows_progress_gauge_update): new function. Update the
17084         progress gauge's progress.
17085         (mswindows_widget_set_property): deleted. This is all done
17086         asynchronously now.
17087         (mswindows_progress_gauge_set_property): ditto.
17088         (console_type_create_glyphs_mswindows): declare new methods.
17089         (image_instantiator_format_create_glyphs_mswindows): ditto.
17090
17091         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17092         (msprinter_set_frame_properties): ditto.
17093
17094         * console.h (struct console_methods): Add update_widget_method.
17095
17096 2000-02-09  Andy Piper  <andy@xemacs.org>
17097
17098         * gui-msw.c (Fmswindows_shell_execute): Make
17099         mswindows-shell-execute industrial strength.
17100
17101 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17102
17103         * lrecord.h: Make macro argument `props' match member function `plist'.
17104         * fns.c (Fget):
17105         * fns.c (Fput):
17106         * fns.c (Fremprop):
17107         * fns.c (Fobject_plist):
17108         * alloc.c:
17109         * symbols.c:
17110         Object property list frobbing cleanup.
17111         - Allow any lisp object (compared with `eq'), not just symbols, as
17112           keys in object plists.
17113         - Move symbol plist frobbing into symbols.c, where it belongs.
17114         - Move string plist frobbing into alloc.c, where it belongs.
17115         - Everything's an lrecord now, so no need to test for symbolp, etc.
17116         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17117
17118         * extents.c: Reorder code to remove declarations.
17119
17120         * frame.h (store_in_alist): Remove useless declaration.
17121
17122 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17123
17124         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17125         * config.h.in: Add HAVE_XCONVERTCASE.
17126
17127 2000-02-07  Andy Piper  <andy@xemacs.org>
17128
17129         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17130         it breaks many things.
17131
17132 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17133
17134         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17135         actually can start a common comment type.
17136         * src/syntax.h (SYNTAX_END_P): ditto for end.
17137
17138 2000-02-07  Martin Buchholz <martin@xemacs.org>
17139
17140         * XEmacs 21.2.28 is released.
17141
17142 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17143
17144         * event-Xt.c (x_keysym_to_character): New.
17145         (maybe_define_x_key_as_self_inserting_character): New.
17146         (x_has_keysym): New.
17147         Auto-define all keys on the keyboard as self-insert-key.
17148
17149 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17150
17151         * menubar.c (vars_of_menubar): A small code simplification.
17152
17153         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17154
17155         * ExternalShell.c:
17156         * ExternalClient.c:
17157         * EmacsShell-sub.c:
17158         * EmacsManager.c:
17159         * EmacsFrame.c:
17160         Use consistent style for specifying X resources.
17161
17162         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17163         This makes (dontusethis-set-symbol-value-handler) actually usable.
17164
17165         * lrecord.h (lrecord_decription_type):
17166         * alloc.c (pdump_register_sub):
17167         (pdump_dump_data):
17168         (pdump_reloc_one):
17169         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17170         Comply with XEmacs coding style.
17171         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17172         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17173
17174         * keymap.c (Faccessible_keymaps):
17175         Make (accessible-keymaps map "\C-h") do the Right Thing.
17176         Make (accessible-keymaps map []) do the Right Thing.
17177         Make (accessible-keymaps map "") do the Right Thing.
17178         (check_keymap_definition_loop): New function.
17179         (keymap_store_internal): Keep luser from shooting self in foot,
17180           via (define-key ctl-x-4-map "p" global-map).
17181         Remove fullness slot from struct Lisp_Keymap, since hash tables
17182         are now reliable.
17183         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17184
17185 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17186
17187         * redisplay.c (init_redisplay): Fix small memory leak.
17188         * elhash.h:
17189         * elhash.c (pdump_reorganize_hash_table):
17190         Rename from reorganize_hash_table. Change prototype.
17191         Reuse the original memory for hentries.  Save 100k.
17192         * alloc.c (PDUMP_READ): new macro.
17193         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17194         * alloc.c: No need to #ifndef before #undef.
17195
17196         * print.c: Allow debug_print() to print readably by modifying
17197         debug_print_readably.  Use consistent variable names.
17198
17199         * .dbxrc: Try to get things to work even if stopped in a function
17200         without source available by explicitly specifying source files.
17201 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17202
17203         * unexnt.c (_start): Removed bogus code which caused loading heap
17204         from differrent executable file.
17205         Removed bogus assignment to _fmode, which caused inconsistencies.
17206
17207 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17208
17209         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17210         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17211         Do not preliminary `#define signal sigset'.
17212
17213         * systime.h: Do not prototype environ on windows nt and cygwin,
17214         this conflicts with system header.
17215
17216         * syssignal.h: Use correct define for WINDOWSNT
17217
17218         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17219         with system header.
17220
17221         * sysdep.c (near start of file): Fixed commentary and rearranged
17222         ifdefs in readable order.
17223         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17224         (start_of_text):
17225         (end_of_text):
17226         (end_of_data): Do not compile in if using PDUMP.
17227
17228         * symsinit.h: Prototyped vars_of_nt().
17229
17230         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17231         (find_child_console): Use it.
17232         (sys_kill): Use it.
17233
17234         * ntheap.h: Do not extern os_subtype.
17235
17236         * ntheap.c (cache_system_info): Do not cache unneeded:
17237         nt_major_version, nt_minor_version and os_subtype.
17238         (recreate_heap): Do not compile in when PDUMPing.
17239
17240         * nt.c (geteuid and friends): Use the new varibale
17241         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17242         (init_user_info): Removed the above mentioned hackery.
17243         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17244         stat has been fixed in the C runtime.
17245         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17246
17247         * file-coding.c (struct file_coding_dump): Do not define
17248         ucs_to_mule_table in the struct if not MULE.
17249         (struct struct lrecord_description fcd_description_1): Do not dump
17250         the above.
17251
17252         * emacs.c (main_1): Call vars_of_nt().
17253         (right before Fdump_emacs_data): Don't need lastfile if using both
17254         portabe dumper and system malloc.
17255
17256         * alloc.c (Fmemory_limit): Conditionalized out.
17257         (pdump): Use OPEN_BINARY for the portable dump file.
17258         (pdump_load): Ditto.
17259
17260 2000-02-02  Mike Alexander  <mta@arbortext.com>
17261
17262         * nt.c (convert_time): Set tm_isdst before calling mktime and
17263         avoid calling it at all if the compiler supports 64 bit integers.
17264         Also initialize utc_base_ft before using it.
17265
17266 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17267
17268         * frame.c (change_frame_size_1): Take f->internal_border_width
17269         into consideration when calculating the width of the frame.
17270
17271 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17272
17273         * window.c (frame_min_height):
17274         (frame_size_valid_p):
17275         (frame_pixsize_valid_p): Added.
17276         (check_frame_size): Generalized.
17277
17278         * window.h: Prototyped the above.
17279
17280         * lisp.h:
17281         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17282         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17283         Deleted Vwin32_* and Vbinary_process_* unused variables.
17284
17285         * device-msw.c (msprinter_init_device): Do not get printer font
17286         list; Added DEVMODE functions.
17287
17288         * frame-msw.c: Added lots of printer code.
17289
17290         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17291         general.c.
17292
17293         * console-msw.h: Added more msprinter device private slots.
17294
17295 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17296
17297         * event-msw.c (key_needs_default_processing_p): Added.
17298         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17299
17300 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17301
17302         * glyphs.c (image_instance_layout): Mark image instance as clean
17303         after layout.
17304         (glyph_dirty_p): Removed redundant function.
17305         (invalidate_glyph_geometry_maybe): Added.
17306         (update_glyph_cachel_data): Call it.
17307
17308         * glyphs.h: Prototyped it.
17309
17310         * redisplay.c (add_glyph_rune): Call it.
17311         (redisplay_window): Reset glyphs cachels when frame faces have
17312         changed, thus forcing recomputation of built-in border glyphs.
17313
17314 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17315
17316         * Makefile.in.in: Make portable dumper and purify play well together.
17317         Add imperfect, but better than nothing, support for pdump.
17318         Remove xemacs.dmp when temacs is re-generated.
17319         Don't ignore errors when dumping xemacs.
17320
17321         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17322
17323 2000-01-28  Andy Piper  <andy@xemacs.org>
17324
17325         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17326         (setup_normal_frame): ditto.
17327         (setup_frame_without_minibuffer): ditto.
17328         (setup_minibuffer_frame): ditto.
17329         (delete_frame_internal): ditto.
17330         (Fmake_frame_invisible): ditto.
17331         (Ficonify_frame): ditto.
17332
17333         * window.h: change Fset_window_buffer signature.
17334
17335         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17336         (Fset_window_buffer): allow recording of buffer if the window is
17337         the selected window.
17338         (window_loop): Use new Fset_window signature.
17339
17340 2000-01-23  Daniel Pittman  <daniel@danann.net>
17341
17342         * config.h.in: Added template for `HAVE_ATHENA_3D'
17343
17344 2000-01-29  Andy Piper  <andy@xemacs.org>
17345
17346         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17347
17348         * gutter.c (output_gutter): Don't output if the window isn't live.
17349
17350 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17351
17352         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17353         of 01/12/00: Moved SetFocus back here where it belongs.
17354
17355 2000-01-23  Andy Piper  <andy@xemacs.org>
17356
17357         * s/cygwin32.h: declare printer things.
17358
17359 2000-01-26  Andy Piper  <andy@xemacs.org>
17360
17361         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17362         Alexander.
17363
17364 2000-01-24  Andy Piper  <andy@xemacs.org>
17365
17366         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17367         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17368
17369         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17370
17371         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17372
17373         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17374
17375         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17376         (mswindows_output_display_block): Avoid local shadows.
17377
17378         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17379         (mswindows_enqueue_mouse_button_event): ditto.
17380         (mswindows_handle_gui_wm_command): remove declaration.
17381
17382         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17383         warnings.
17384
17385         * console-msw.h: Avoid shadows.
17386         (mswindows_get_toolbar_button_text):
17387         (emacs_mswindows_create_stream_pair):
17388         (emacs_mswindows_delete_stream_pair):
17389         (mswindows_handle_toolbar_wm_command): declare.
17390
17391         * device-msw.c (build_syscolor_string): Avoid shadows.
17392
17393 2000-01-23  Andy Piper  <andy@xemacs.org>
17394
17395         * glyphs-widget.c (widget_instantiate): reverse the items for
17396         layouts so that children are in the expected order.
17397
17398 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17399
17400         * ralloc.c: safe_bcopy ==> memmove
17401         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17402         * s/msdos.h: Remove BCOPY macros.
17403         * insdel.c (gap_right): Remove BCOPY conditional code.
17404         * insdel.c (gap_left): Remove BCOPY conditional code.
17405         XEmacs demands a working ANSI C compiler - hence memmove.
17406
17407         * regex.c (regex_compile): Remove accidental use of trigraphs.
17408
17409 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17410
17411         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17412         event timestamp.
17413
17414 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17415
17416         * event-msw.c (mswindows_drain_windows_queue): Added the
17417         parameter.
17418         (mswindows_need_event): Commented the call to
17419         mswindows_drain_windows_queue().
17420         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17421         only.
17422
17423         * console-msw.h: Moved a few function prototypes here from
17424         event-msw.c.
17425
17426         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17427         parameter from unsigned short to unsigned long.
17428         (Fmswindows_shell_execute): Added return value.
17429
17430 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17431
17432         * sysdep.c (init_system_name):
17433           process-unix.c (unix_canonicalized_host_name):
17434         Don't call freeaddrinfo() if getaddrinfo() fails.
17435
17436         * process-unix.c (unix_open_unix_network_stream):
17437         Moved the code to get a port # into address loop.
17438
17439 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17440
17441         * buffer.c (reinit_vars_of_buffer):
17442         The right place to initialize conversion_in_dynarr and
17443         conversion_out_dynarr.
17444
17445         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17446
17447         * process-unix.c (unix_canonicalize_host_name): Muleize.
17448         (unix_open_network_stream): Muleize.
17449
17450         * buffer.h: Fix up prototypes for ralloc.c functions.
17451
17452 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17453         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17454         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17455                 instead of gethostbyname()
17456         * process-unix.c: In unix_canonicalize_host_name() and
17457                 unix_open_network_stream(), add code to use getaddrinfo()
17458                 instead of gethostbyname().
17459
17460 2000-01-27  Daniel Pittman <daniel@danann.net>
17461
17462         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17463         libs when built with flat Athena.
17464
17465 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17466
17467         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17468         Use coding standards for function prototypes.
17469
17470 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17471
17472         * dialog-msw.c (push_lisp_string_as_unicode):
17473         * doc.c (unparesseuxify_doc_string):
17474         * dired.c (Fuser_name_completion_1):
17475         * dired.c (Fuser_name_all_completions):
17476         * dired.c (free_user_cache):
17477         * dired.c (user_name_completion):
17478         * console-x.c (get_display_arg_connection):
17479         * minibuf.c (clear_echo_area_internal):
17480         * minibuf.c (echo_area_append):
17481         * eldap.c (Fldap_open):
17482         * eldap.c (Fldap_search_internal):
17483         * frame-x.c (x_set_frame_text_value):
17484         * frame-x.c (x_set_frame_properties):
17485         * frame-x.c (x_create_widgets):
17486         * redisplay-tty.c (term_get_fkeys_1):
17487         * objects-x.c (x_parse_nearest_color):
17488         * objects-x.c (x_valid_color_name_p):
17489         * objects-x.c (x_initialize_font_instance):
17490         * objects-x.c (x_list_fonts):
17491         * objects-x.c (x_find_charset_font):
17492         * tooltalk.c (Fadd_tooltalk_message_arg):
17493         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17494         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17495         * process-unix.c (unix_create_process):
17496         * ntproc.c (sys_spawnve):
17497         * sound.c (Fplay_sound_file):
17498         * sound.c (Fplay_sound):
17499         * buffer.c (init_initial_directory):
17500         * buffer.c (init_buffer):
17501         * editfns.c (init_editfns):
17502         * editfns.c (Ftemp_directory):
17503         * editfns.c (Fuser_full_name):
17504         * editfns.c (uncache_home_directory):
17505         * editfns.c (get_home_directory):
17506         * editfns.c (Fuser_home_directory):
17507         * editfns.c (Fformat_time_string):
17508         * editfns.c (Fcurrent_time_string):
17509         * gui-x.c (button_item_to_widget_value):
17510         * database.c (Fopen_database):
17511         * event-Xt.c (x_to_emacs_keysym):
17512         * event-Xt.c (x_event_to_emacs_event):
17513         * event-Xt.c (describe_event_window):
17514         * event-msw.c (mswindows_wnd_proc):
17515         * glyphs-eimage.c (jpeg_instantiate):
17516         * glyphs-eimage.c (gif_instantiate):
17517         * glyphs-eimage.c (png_instantiate):
17518         * glyphs-eimage.c (tiff_instantiate):
17519         * glyphs-x.c (xbm_instantiate_1):
17520         * glyphs-x.c (x_xbm_instantiate):
17521         * glyphs-x.c (x_xface_instantiate):
17522         * glyphs-x.c (autodetect_instantiate):
17523         * glyphs-x.c (cursor_font_instantiate):
17524         * glyphs-x.c (x_widget_instantiate):
17525         * glyphs-x.c (x_widget_set_property):
17526         * glyphs-x.c (x_widget_property):
17527         * glyphs-x.c (BUILD_GLYPH_INST):
17528         * print.c (write_string_to_stdio_stream):
17529         * print.c (output_string):
17530         * print.c (Falternate_debugging_output):
17531         * print.c (Fexternal_debugging_output):
17532         * glyphs-msw.c (extract_xpm_color_names):
17533         * glyphs-msw.c (mswindows_xpm_instantiate):
17534         * glyphs-msw.c (bmp_instantiate):
17535         * glyphs-msw.c (resource_name_to_resource):
17536         * glyphs-msw.c (mswindows_resource_instantiate):
17537         * glyphs-msw.c (xbm_instantiate_1):
17538         * glyphs-msw.c (mswindows_xbm_instantiate):
17539         * glyphs-msw.c (mswindows_xface_instantiate):
17540         * glyphs-msw.c (mswindows_widget_instantiate):
17541         * glyphs-msw.c (add_tree_item):
17542         * glyphs-msw.c (add_tab_item):
17543         * glyphs-msw.c (mswindows_combo_box_instantiate):
17544         * glyphs-msw.c (mswindows_widget_property):
17545         * glyphs-msw.c (mswindows_combo_box_property):
17546         * glyphs-msw.c (mswindows_widget_set_property):
17547         * console.c (stuff_buffered_input):
17548         * objects-msw.c (mswindows_initialize_color_instance):
17549         * objects-msw.c (mswindows_valid_color_name_p):
17550         * objects-msw.c (mswindows_list_fonts):
17551         * objects-msw.c (mswindows_font_instance_truename):
17552         * bytecode.c (optimize_compiled_function):
17553         * select-x.c (symbol_to_x_atom):
17554         * select-x.c (x_atom_to_symbol):
17555         * select-x.c (hack_motif_clipboard_selection):
17556         * select-x.c (selection_data_to_lisp_data):
17557         * select-x.c (lisp_data_to_selection_data):
17558         * select-x.c (Fx_get_cutbuffer_internal):
17559         * select-x.c (Fx_store_cutbuffer_internal):
17560         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17561         * buffer.h (TO_INTERNAL_FORMAT): New function.
17562         * emacs.c (make_arg_list_1):
17563         * emacs.c (make_argc_argv):
17564         * emacs.c (main_1):
17565         * emacs.c (Fdump_emacs):
17566         * emacs.c (split_string_by_emchar_1):
17567         * file-coding.h:
17568         * lisp.h:
17569         * lstream.h:
17570         * symsinit.h:
17571         * device-x.c (x_init_device):
17572         * device-x.c (Fx_valid_keysym_name_p):
17573         * device-x.c (Fx_get_font_path):
17574         * device-x.c (Fx_set_font_path):
17575         * glyphs.c (bitmap_to_lisp_data):
17576         * glyphs.c (pixmap_to_lisp_data):
17577         * alloc.c (make_ext_string): Use coding system arguments.  Update
17578         all callers.
17579         * alloc.c (build_string):
17580         * callproc.c (child_setup):
17581         * callproc.c (init_callproc):
17582         * fileio.c (lisp_strerror):
17583         * fileio.c (directory_file_name):
17584         * fileio.c (Fexpand_file_name):
17585         * fileio.c (Ffile_truename):
17586         * fileio.c (Fsysnetunam):
17587         * fileio.c (Fdo_auto_save):
17588         * sysdep.c (sys_readdir):
17589         * tests.c: New file.  Allow adding C tests.
17590         Replace GET_* macros with a more comprehensible and flexible
17591         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17592         Modify all calls.
17593         Any coding system can be used to do format conversion.
17594         Eliminate enum external_data_format.
17595         Eliminate convert_to_external_format.
17596         Eliminate convert_to_internal_format.
17597         Make sure file-name, keyboard, terminal, and ctext are always
17598         defined as coding systems or aliases.  Make
17599         file-name-coding-system, terminal-coding-system, and
17600         keyboard-coding-system magical variables that are equivalent to
17601         defining the corresponding coding system aliases.
17602
17603         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17604         * file-coding.c (Fcoding_system_alias_p): New function.
17605         * file-coding.c (Fcoding_system_aliasee): New function.
17606         * file-coding.c (append_suffix_to_symbol): New function.
17607         * file-coding.c (dangling_coding_system_alias_p): New function.
17608         * file-coding.c (Ffind_coding_system):
17609         * file-coding.c (Fcopy_coding_system):
17610         * file-coding.c (encode_coding_no_conversion):
17611         * file-coding.c (syms_of_file_coding):
17612         * file-coding.c (vars_of_file_coding):
17613         Rewrite coding system alias code.
17614         Allow nested aliases, like symbolic links.
17615         Allow redefinition of coding system aliases.
17616         Prevent existence of dangling coding system aliases.
17617
17618         * dired.c (Fuser_name_completion_1):
17619         * dired.c (Fuser_name_all_completions):
17620         A crash would happen if user did QUIT in the middle of building
17621         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17622
17623         * lisp.h:
17624         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17625
17626         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17627         an unsigned char *.  Update all callers.
17628
17629 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17630
17631         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17632
17633 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17634
17635         * elhash.c (hentry_description): Use more portable definition.
17636         (resize_hash_table): Initialize new hentries using
17637         xnew_array_and_zero, thereby simplifying the code.
17638
17639         * mule-charset.c (make_charset): Make sure entire object is
17640         initialized, to avoid Purify warnings.
17641
17642         * alloc.c (resize_string): Fix unlikely crash with big strings.
17643
17644 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17645
17646         * realpath.c (xrealpath):
17647         Don't call getwd().
17648
17649 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17650
17651         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17652
17653 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17654
17655         * unexelfsgi.c (unexec): Change the way we decide which segment
17656         should be extended.
17657
17658         Assumption that .bss section should be outside the PT_LOADable
17659         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17660         it's present) is inside the 'data' segment. This would fail the
17661         test which was used to find a segment to grow and cover new
17662         heap. Instead of this assumption, I created another one - on IRIX
17663         the segment to grow should start below .bss and it's address
17664         should extent above the end of .bss. Once this segment is
17665         identified, it's grown to accommodate the new heap and new
17666         zero-length .bss section is added at the end of .data2.
17667
17668 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17669
17670         * eval.c (Feval): Wrong number of arguments should use original
17671         function, not the indirect_function version of it.
17672
17673 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17674
17675         * glyphs-x.c (x_button_instantiate): Don't add image if
17676         it is not a pixmap.
17677         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17678         is relative.
17679
17680 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17681
17682         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17683         declaration.
17684         (DEFVAR_INT_MAGIC): Ditto.
17685         (DEFVAR_BOOL_MAGIC): Ditto.
17686         * glyphs.h: Reindent backslash.
17687
17688 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17689
17690         * glyphs-widget.c (layout_query_geometry):
17691         (layout_layout): Use correct types for gheight, gwidth.
17692
17693 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17694
17695         * EmacsManager.c (QueryGeometry): Purified.
17696
17697 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17698
17699         * alloc.c (make_float): Make sure entire object is initialized, to
17700         avoid Purify warnings.
17701         (pdump_register_sub): Remove useless assignment.
17702         (pdump): Use xmalloc, not malloc.
17703         (pdump_load): Use xmalloc, not malloc.
17704
17705 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17706
17707         * callproc.c:
17708         * dired-msw.c:
17709         * fileio.c:
17710         * process-nt.c:
17711         * redisplay-msw.c:
17712         * sysdep.c: Removed redundant #include <windows.h>
17713
17714 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17715
17716         * frame.c (delete_frame_internal): Do not delete device when its
17717         implementation so declares.
17718         (delete_frame_internal): Set device selected frame to nil when
17719         last frame goes away.
17720
17721         * device-msw.c (msprinter_device_system_metrics): Implemented.
17722         (mswindows_device_system_metrics): Added 'device-dpi property.
17723
17724         * device.c: (Fdevice_printer_p): Added.
17725         Added 'offset-workspace device metric.
17726
17727         * console.h (device_metrics): Declared DM_offset_workspace.
17728
17729 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17730
17731         * fileio.c (Ffile_truename): Remove pointless and confusing
17732         initialization of elen.
17733
17734         * glyphs-widget.c: Compiler warning fixes.
17735
17736 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17737
17738         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17739         instead of a Lisp_Object as argument to make it consistent with
17740         the other LIVE_P macros.
17741         (CHECK_LIVE_PROCESS): New macro.
17742
17743         * process.c: Declare Qprocess_live_p.
17744         (Fprocess_live_p): New function.
17745         (create_process): Use PROCESS_LIVE_P.
17746         (read_process_output): Ditto.
17747         (set_process_filter): Ditto.
17748         (Fdelete_process): Ditto.
17749         (kill_buffer_processes): Ditto
17750         (process_send_signal): Use CHECK_LIVE_PROCESS.
17751         (Fprocess_input_coding_system): Check whether process is still
17752         alive (fix PR#1061).
17753         (Fprocess_output_coding_system): Ditto.
17754         (Fprocess_coding_system): Ditto.
17755         (Fset_process_input_coding_system): Ditto.
17756         (Fset_process_output_coding_system): Ditto.
17757
17758 2000-01-23  Andy Piper  <andy@xemacs.org>
17759
17760         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17761         layout and widget.
17762
17763         * glyphs.c (mark_image_instance): take into account changed
17764         image_instance format.
17765         (image_instance_equal): ditto.
17766         (image_instance_hash): ditto.
17767
17768         * glyphs-widget.c (widget_instantiate): Incorporate layout
17769         instantiation here. Delay layout of the layout until later.
17770         (layout_instantiate): deleted.
17771         (layout_query_geometry): new function. get the geometry of a
17772         layout.
17773         (layout_layout): layout a layout dynamically.
17774         (image_instantiator_widget): New function - splitting up
17775         image_instantiator_format_create_glyphs_widget for netwinder
17776         compilation.
17777         (image_instantiator_buttons):
17778         (image_instantiator_edit_fields):
17779         (image_instantiator_combo_box):
17780         (image_instantiator_scrollbar):
17781         (image_instantiator_progress_guage):
17782         (image_instantiator_tree_view):
17783         (image_instantiator_tab_control):
17784         (image_instantiator_labels):
17785         (image_instantiator_layout): ditto.
17786         (image_instantiator_format_create_glyphs_widget): Call preceding
17787         functions.
17788
17789 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17790
17791         * process.c (Fset_process_coding_system):
17792         * device-x.c (Fx_keysym_hash_table):
17793         Docstring fixes.
17794
17795         * lstream.c (Lstream_write): Return documented value, not 0.
17796
17797         * fileio.c (directory_file_name):
17798         (Fsubstitute_in_file_name):
17799         (Fsubstitute_insert_file_contents_internal):
17800         (Fwrite_region_internal):
17801         * emacs.c:
17802         * sysdep.c:
17803         * getloadavg.c:
17804         * systty.h:
17805         Remove vestigial APOLLO-conditional code.
17806
17807 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17808
17809         * getpagesize.h: Add guard macros.
17810         * libsst.h: Add guard macros.
17811         * libst.h: Add guard macros.
17812         * line-number.h: Add guard macros.
17813         * ndir.h: Add guard macros.
17814         * sysfloat.h: Add guard macros.
17815         * sysfile.h: Add guard macros.
17816         * sysproc.h: Add guard macros.
17817         * syswait.h: Add guard macros.
17818         * xintrinsic.h: Add guard macros.
17819         * xintrinsicp.h: Add guard macros.
17820         * xmmanager.h: Add guard macros.
17821         * xmmanagerp.h: Add guard macros.
17822         * xmprimitive.h: Add guard macros.
17823         * xmu.h: Add guard macros.
17824         * gpmevent.h: Add copyright statement. Add guard macros.
17825         * miscplay.h: Add guard macros.
17826         * *.h: Use consistent C-standards-approved guard macro names.
17827
17828         * opaque.c (make_opaque): Switch parameter order.
17829         * opaque.h (make_opaque): Switch parameter order.
17830         Update all callers.
17831         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17832
17833         * config.h.in (type_checking_assert): Added.
17834         (bufpos_checking_assert): Added.
17835
17836 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17837
17838         * alloc.c: Harmless pdump changes.
17839         - Use countof().
17840         - spell alignment correctly.
17841         * sysdep.c: Use countof()
17842
17843 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17844
17845         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17846         initially_selected_for_input() console method, default to 0.
17847         (semi_canonicalize_console_connection): Try to delegate to
17848         canonicalize_console_connection if no such console method.
17849         (canonicalize_console_connection): Vice versa.
17850         (print_console): Do not print nil connection.
17851
17852         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17853         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17854         (XDEVIMPF_FRAMELESS_OK): Added.
17855         (CONSOLE_INHERITS_METHOD): Added.
17856
17857         * console-msw.c (mswindows_canonicalize_console_connection):
17858         Added.
17859         (mswindows_canonicalize_device_connection): Added.
17860
17861         * console-msw.h (struct msprinter_device): Added this struct and
17862         accessor macros.
17863         (mswindows_device): Made fontlist a lisp object.
17864
17865         * device.c (semi_canonicalize_device_connection):  Try to delegate
17866         to canonicalize_device_connection if no such console method.
17867         (canonicalize_device_connection): Vice versa.
17868         (print_device): Do not print nil connection.
17869
17870         * device-msw.c (mswindows_init_device): Call InitCommonControls
17871         when have widgets.
17872         (mswindows_delete_device): Removed fontlist deallocation.
17873         (mswindows_mark_device): Added.
17874
17875         * events.c (event_equal): Added abort() at unreached code.
17876         (event_hash): Ditto.
17877
17878         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17879         fallback tags of Windows devices.
17880
17881         * general.c (syms_of_general): Initialized Qmsprinter.
17882
17883         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17884         of fallback tags of Windows devices.
17885
17886         * lisp.h: Declared Qmsprinter.
17887
17888         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17889         of strings.
17890         (mswindows_list_fonts): Ditto.
17891         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17892         that it can be used by both mswindows and msprinter devices.
17893         (initialize_font_instance): Added.
17894         (mswindows_initialize_font_instance): Use it.
17895         (msprinter_initialize_font_instance): Added.
17896
17897         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17898         and implementation flags check.
17899         (redisplay_without_hooks): Changed the call to the above.
17900         (Fredraw_device): Ditto.
17901         (Fredisplay_device): Ditto.
17902
17903         * redisplay-msw.c (get_frame_dc): Implemented.
17904         (get_frame_compdc): Implemented.
17905         (many functions): Use the two functions above to get device
17906         contexts, ether for a window or a printer.
17907
17908 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17909
17910         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17911         initialization here.
17912         (init_symbols_once_early): Call it.
17913         * emacs.c (main_1): Call it.
17914         * symsinit.h: Declare it.
17915
17916 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17917
17918         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17919         Lisp_Object.
17920         (pdump_backtrace): Ditto.
17921         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17922         (pdump_get_entry): Abort if trying to register a null pointer.
17923         (pdump_dump_data): Cleanup types when relocating.
17924         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17925         (pdump_dump_rtables): Remove bad casts.
17926         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17927         Lisp_Object instead of a EMACS_INT for the hashtable
17928         reorganization.
17929
17930 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17931
17932         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17933
17934         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17935
17936         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17937
17938         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17939
17940 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17941
17942         * faces.h (FACE_STRIKETHRU_P): Added.
17943
17944         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17945         of font variants.
17946
17947         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17948         (mswindows_set_dc_font): New function, aware of font variants,
17949         separated from mswindows_update_dc.
17950
17951         * objects-msw.h (struct mswindows_font_instance_data): Added
17952         definition.
17953
17954         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17955         cached fonts and the data structure.
17956         (mswindows_initialize_font_instance): Added creation of font data
17957         structure.
17958         (mswindows_print_font_instance): Print at least something.
17959         (mswindows_create_font_variant): Implemented.
17960         (mswindows_get_hfont): Implemented.
17961
17962 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17963
17964         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17965         prototyping problem with msvc.
17966
17967         * emacs.c (main_1): added syms_of_gui_mswindows() call
17968
17969         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17970         syms_of_gui_mswindows() function
17971
17972         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17973
17974 2000-01-18  Martin Buchholz <martin@xemacs.org>
17975
17976         * XEmacs 21.2.27 is released.
17977
17978 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17979
17980         * glyphs-eimage.c (struct tiff_error_struct):
17981         (tiff_error_func):
17982         (tiff_warning_func):
17983         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17984
17985         * unexmips.c:
17986         * unexhp9k3.c:
17987         * unexfreebsd.c:
17988         * unexec.c: Remove vestigial Lucid C code.
17989         * unexalpha.c:
17990         * unexaix.c:
17991         * termcap.c:
17992         * libsst.c: Ansify.
17993         Remove declarations of errno and strerror().
17994
17995         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17996
17997         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17998
17999 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18000
18001         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18002         Optimize.
18003
18004 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18005
18006         * md5.c:
18007         * file-coding.c:
18008         * file-coding.h:
18009         Change enum eol_type to eol_type_t.
18010
18011 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18012
18013         * gui.c (get_gui_callback): Check cons before accessing car.
18014
18015 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18016
18017         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18018         (XSETSPECIFIER_TYPE): Ditto.
18019
18020 2000-01-17  Didier Verna  <didier@xemacs.org>
18021
18022         * redisplay.c (generate_fstring_runes): compute string size in
18023         characters, not bytes.
18024
18025 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18026
18027         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18028
18029 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18030
18031         * print.c (print_error_message): Call print_prepare().
18032
18033 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18034
18035         * .dbxrc: Renamed from dbxrc.
18036
18037         * events.c (event_to_character):
18038         Use `assert (foo)' instead of `if (!foo) abort()'
18039
18040         * .gdbinit (xtype): Add documentation.
18041         * .gdbinit (check-temacs): New function.
18042         * .gdbinit (check-xemacs): New function.
18043         * dbxrc (check-xemacs): New function.
18044         * dbxrc (check-xemacs): New function.
18045
18046 2000-01-14  Andy Piper  <andy@xemacs.org>
18047
18048         * glyphs-widget.c (widget_query_geometry): Make sure that we
18049         calculate default dimensions correctly.
18050
18051 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18052
18053         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18054
18055         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18056         pdump_wire'd variable.
18057
18058         * emacs.c: (main_1): Conditionalized calls to
18059         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18060
18061 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18062
18063         * window.c (Fset_window_configuration):
18064         * sysdep.c (_start):
18065         * input-method-motif.c (res):
18066         * event-Xt.c (Xt_process_to_emacs_event):
18067         Simple compiler warning fixes.
18068
18069         * bytecode.c (funcall_compiled_function): Use the original
18070         function symbol on the backtrace list in preference to the
18071         compiled_function object in error messages.
18072
18073 2000-01-13  Andy Piper  <andy@xemacs.org>
18074
18075         * glyphs-x.c (update_widget_face): Make sure we update the widget
18076         background as well as foreground.
18077
18078 2000-01-13  Andy Piper  <andy@xemacs.org>
18079
18080         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18081         fields to subwindow.
18082         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18083         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18084         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18085         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18086
18087         * glyphs-widget.c (check_valid_tab_orientation): new function.
18088         (initialize_widget_image_instance): zero orientation and
18089         justification.
18090         (widget_instantiate): pick up orientation.
18091         (tab_control_query_geometry): return appropriate values for
18092         vertical tabs.
18093
18094         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18095         appropriate creation flags for left, right and bottom tabs.
18096
18097         * s/cygwin32.h: add tab definitions.
18098
18099 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18100
18101         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18102         frame upon hiding a subwindow.
18103         (mswindows_button_instantiate): Changed the push button style to
18104         BS_PUSHBUTTON.
18105         (mswindows_button_instantiate): Removed button BS_NOTIFY
18106         style.
18107         (mswindows_button_instantiate): Removed redundant check for
18108         a disabled gui item.
18109         (mswindows_button_instantiate): Made use of WS_TABSTOP
18110         consistent: "operable" controls (edit, button, tree, scroll) have
18111         this style, "display-only" ones (static, progress gauge) do
18112         not. This style is currently ignored by XEmacs though. Also,
18113         removed the WS_EX_CONTROLPARENT style - it is not for children,
18114         it is for their parents!
18115         (mswindows_edit_field_instantiate): Ditto.
18116         (mswindows_progress_gauge_instantiate): Ditto.
18117         (mswindows_tree_view_instantiate): Ditto.
18118         (mswindows_tab_control_instantiate): Ditto.
18119         (mswindows_scrollbar_instantiate): Ditto.
18120         (mswindows_combo_box_instantiate): Ditto.
18121         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18122         style to the "clip" window.
18123         (mswindows_button_instantiate): Removed compilation warning by
18124         equally typing terms of the ?: operator.
18125
18126 2000-01-12  Didier Verna  <didier@xemacs.org>
18127
18128         * redisplay.c (generate_fstring_runes): new parameter holding the
18129         last modeline-format extent.
18130         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18131         extent, fill the glyph block with it.
18132         (generate_fstring_runes): handle these parameters.
18133         (generate_formatted_string_db): ditto.
18134
18135         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18136         glyphs'extents in the modeline.
18137
18138 1999-01-11  Mike Woolley  <mike@bulsara.com>
18139
18140         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18141         256Mb, as a workaround for the non-starting problem many people
18142         have experienced.
18143
18144 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18145
18146         * console-tty.c (Fset_console_tty_output_coding_system):
18147         Force redrawing tty frame.
18148
18149 2000-01-10  Didier Verna  <didier@xemacs.org>
18150
18151         * redisplay.c (generate_fstring_runes): fix size computation bug.
18152
18153 2000-01-09  William M. Perry <wmperry@aventail.com>
18154
18155         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18156
18157 2000-01-09  Andy Piper  <andy@xemacs.org>
18158
18159         * glyphs-msw.c: index -> i to avoid shadows.
18160         (xbm_create_bitmap_from_data): make static.
18161         (check_valid_string_or_int): deleted.
18162         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18163
18164         * glyphs-x.c (x_update_subwindow): remove unused args.
18165
18166         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18167         back pointer - this is done in allocate_image_instance.
18168         (query_string_font): return Qnil to make the compiler happy.
18169         (unmap_subwindow): set to ~0 to make the compiler happy.
18170         (glyph_query_geometry): comment out until used.
18171         (glyph_layout): ditto.
18172
18173 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18174
18175         * insdel.c (signal_after_change): Remove extraneous unbind_to().