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 (print_concord_object): Use readable form even if
4         `print-readably' is nil.
5
6 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * concord.c (print_concord_object): Don't display location of
9         data-source when `print-readably' is nil.
10
11 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
14         the default location of data-source.
15         (complex_vars_of_concord): Use Vchise_system_db_directory to
16         assign genre `character' and `feature'.
17
18         * chartab.h (Vchise_system_db_directory): New extern when
19         HAVE_CONCORD is defined.
20
21 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
24         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
25         (Qfeature): Ditto.
26         (Fconcord_object_genre): New function.
27         (syms_of_concord):
28         - Add new builtin symbols `character' and `feature' when
29           HAVE_LIBCHISE is defined.
30         - Add Add new builtin function `concord-object-genre'.  
31         (complex_vars_of_concord): New function; assign genres `character'
32         and `feature' when HAVE_LIBCHISE is defined.
33
34 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * emacs.c (main_1): Call `complex_vars_of_concord' when
37         HAVE_CONCORD is defined.
38
39         * symsinit.h (complex_vars_of_concord): New prototype.
40
41 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * chartab.c (allocate_character): Add `static'.
44
45 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * chartab.c (allocate_character): New function.
48         (Fdefine_char): Use allocate_character().
49
50 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
53         (Ōkawara).
54
55 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * chartab.c (save_uint8_byte_table): Fixed problem when a property
58         is unloaded.
59         (save_uint16_byte_table): Likewise.
60
61 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * chartab.c (Fchar_feature_property): New function when LIBCHISE
64         is enabled.
65         (Fput_char_feature_property): Likewise.
66         (syms_of_chartab): Add new builtin functions
67         `char-feature-property' and `put-char-feature-property' when
68         LIBCHISE is enabled.
69
70 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
71
72         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
73         '=>iso-ir.
74         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
75
76 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
79         (make_charset): Add new argument `iso_ir'.
80         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
81         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
82         XEmacs CHISE.
83         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
84         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
85         XEmacs CHISE.
86         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
87         function `make_charset'.
88
89         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
90         (struct Lisp_Charset): Add new member `iso_ir'.
91         (CHARSET_ISO_IR): New macro.
92
93 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
96         code-point by GL charset.
97
98 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * concord.c (concord_id_validate): New function.
101         (structure_type_create_concord): Use `concord_id_validate' instead
102         of `concord_name_validate' to accept integer and character as =id.
103
104 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
105
106         * concord.c (func_for_each_object): Fix bug about GC-protection.
107
108 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * concord.c (Fconcord_object_put): Check argument FEATURE is a
111         symbol.
112
113 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * text-coding.c (struct decoding_stream): Add new member
116         `bom_flag' in XEmacs CHISE.
117         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
118         in XEmacs CHISE.
119
120 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * mule-charset.c: Move definition of `=jis-x0208@1978' to
123         lisp/mule/mule-conf.el.
124
125 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
126
127         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
128         (make_charset): Add new argument `partial'.
129         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
130         (Fmake_reverse_direction_charset): Modify for `make_charset'.
131         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
132         CHISE.
133         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
134         `=jis-x0208' as a partial coded-charset.
135
136 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * text-coding.c (decode_add_er_char): Fix problem when a character
139         represented by an entity-reference is not defined.
140
141 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
144         Qrep_*.
145
146 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
149         (Kasagi).
150
151 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
154         is a relation feature.
155
156 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * chartab.c (syms_of_chartab): Define
159         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
160
161         * chartab.h (Q_denotational): New extern when UTF2000 or
162         HAVE_CONCORD is defined.
163         (Q_denotational_from): Likewise.
164         (Q_subsumptive): Likewise.
165         (Q_subsumptive_from): Likewise.
166
167 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * concord.c (concord_object_put): New function.
170         (Fconcord_object_put): Use `concord_object_put'.
171
172 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * concord.c (Fconcord_define_object): New function.
175         (syms_of_concord): Add new builtin function
176         `concord-define-object'.
177
178 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
181         (Kamo).
182
183 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * concord.c: Add EXFUN for Fconcord_object_get.
186         (Vconcord_genre_object_hash_table): New variable.
187         (concord_genre_cache_get_object): New function.
188         (concord_genre_cache_put_object): New function.
189         (Fconcord_make_object): Use object cache; put object-ID into `=id'
190         feature.
191         (Fconcord_object_put): Call `concord_index_sync' after
192         `concord_index_strid_put_obj'.
193         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
194
195 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * concord.c (Fconcord_decode_object): Do GCPRO for
198         Fconcord_make_object.
199         (func_for_each_object): Likewise; do GCPRO for
200         for_each_object_closure->function.
201         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
202         for_each_object_closure->function, for_each_object_closure->genre,
203         for_each_object_closure->ds and for_each_object_closure->ret.
204         (concord_object_validate): Do GCPRO for Fconcord_make_object.
205
206 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * concord.c: Add EXFUNs for Fconcord_decode_object and
209         Fconcord_object_put.
210         (Fconcord_make_object): Change order of arguments.
211         (Fconcord_decode_object): Modify for Fconcord_make_object.
212         (func_for_each_object): Likewise.
213         (concord_object_validate): Likewise.
214         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
215
216 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
219
220 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * concord.c (Fconcord_decode_object): Try to use readable print
223         form as a key of Concord-index.
224         (Fconcord_object_get): Try to use readable print form as an ID of
225         Concord-object.
226         (Fconcord_object_put): Try to use readable print form as an ID of
227         Concord-object and a feature value.
228         (Fconcord_object_spec): Try to use readable print form as an ID of
229         Concord-object.
230
231 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * concord.c (print_concord_object): Support readable form.
234
235 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * emacs.c (main_1): Call `structure_type_create_concord' when
238         HAVE_CONCORD is defined.
239
240         * symsinit.h (structure_type_create_concord): New prototype.
241
242         * concord.c (Qconcord_object): New variable.
243         (Qgenre): Likewise.
244         (Q_id): Likewise.
245         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
246         for directory.
247         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
248         char*> for genre-name.
249         (Fconcord_feature_list): Likewise.
250         (Fconcord_make_object): Likewise.
251         (Fconcord_decode_object): Likewise; use <char*> instead of
252         <unsigned char*> for feature_name and strid.
253         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
254         c_obj and feature_name.
255         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
256         char*> for c_value.
257         (struct closure_for_object_spec): Use <char*> instead of <unsigned
258         char*> for member `object_id'.
259         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
260         char*> for feature-name.
261         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
262         for c_obj.
263         (func_for_each_object): Cast to avoid warnings.
264         (Fconcord_foreach_object_in_feature): Use <char*> instead of
265         <unsigned char*> for genre_name and feature_name.
266         (concord_name_validate): New function.
267         (concord_object_validate): Likewise.
268         (concord_object_instantiate): Likewise.
269         (syms_of_concord): Add new builtin symbols `concord-object',
270         `genre' and `=id'.
271         (structure_type_create_concord): New function.
272
273 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * concord.c (Vconcord_ds_hash_table): New variable.
276         (Vconcord_genre_hash_table): New variable.
277         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
278         (Fconcord_ds_directory): New function.
279         (Fconcord_assign_genre): New function.
280         (Fconcord_genre_directory): New function.
281         (Fconcord_genre_ds): New function.
282         (Fconcord_feature_list): Allow to omit `ds'.
283         (Fconcord_make_object): Likewise.
284         (Fconcord_decode_object): Likewise.
285         (Fconcord_foreach_object_in_feature): Likewise.
286         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
287         Fconcord_assign_genre, Fconcord_genre_directory and
288         Fconcord_genre_ds.
289         (vars_of_concord): Setup Vconcord_ds_hash_table and
290         Vconcord_genre_hash_table.
291
292 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * concord.c (struct closure_for_each_object): Add new member
295         `ret'.
296         (func_for_each_object): Setup the return value to
297         `for_each_object_closure->ret'.
298         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
299         returns the value instead of Qt.
300
301 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
302
303         * concord.c: New file.
304
305 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
308         `lrecord_type_concord_object'.
309
310 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * symsinit.h (syms_of_concord): New prototype.
313         (vars_of_concord): New prototype.
314
315         * emacs.c (main_1): Setup symbols and variable about concord if
316         HAVE_CONCORD is defined.
317
318         * config.h.in (HAVE_CONCORD): New macro.
319
320 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * chartab.c (Fput_char_attribute): For each character relation
323         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
324
325 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * chartab.c (Fput_char_attribute): Use
328         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
329         calling `put_char_composition'.
330
331 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * chartab.c (Q_halfwidth_of): New variable.
334         (put_char_composition): Return `<-halfwidth' instead of
335         `=decomposition' for compatibility mapping to single character
336         tagged `narrow'.
337         (Fput_char_attribute): Convert char-specs in value of
338         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
339         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
340         for `<-halfwidth'.
341         (syms_of_chartab): Add new symbol `<-halfwidth'.
342
343 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * chartab.c (put_char_composition): Return
346         `<-formed@{isolated|initial|medial|final}' for compatibility
347         mapping to single character tagged
348         `{isolated|initial|medial|final}'.
349
350 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
351
352         * chartab.c (Q_compat_of): Deleted.
353         (put_char_composition): Return `<-FOO' for compatibility mapping
354         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
355         of `symbol_name (XSYMBOL(...))'.
356         (Fput_char_attribute): Convert char-specs in value of
357         `{<-|->}font[^*]*' to characters and put reverse links.
358         (Fsave_char_attribute_table): Don't refer Q_compat_of.
359         (syms_of_chartab): Delete builtin symbol `<-compat'.
360
361 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * chartab.c (Q_circled_of): New variable.
364         (put_char_composition): Return `<-circled' instead of
365         `=decomposition' for compatibility mapping to single character
366         tagged `circle'.
367         (Fput_char_attribute): Convert char-specs in value of
368         `{<-|->}circled[^*]*' to characters and put reverse links.
369         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
370         for `<-circled'.
371         (syms_of_chartab): Add new symbol `<-circled'.
372
373 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (Qto_decomposition_at_circled): New variable.
376         (put_char_composition): Return `=>decomposition@circled' instead
377         of `=decomposition' for compatibility decomposition mapping tagged
378         `circle'.
379         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
380
381 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * chartab.c (Q_subscript_of): New variable.
384         (put_char_composition): Return `<-subscript' instead of
385         `=decomposition' for compatibility mapping to single character
386         tagged `sub'.
387         (Fput_char_attribute): Convert char-specs in value of
388         `{<-|->}subscript[^*]*' to characters and put reverse links.
389         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
390         for `<-subscript'.
391         (syms_of_chartab): Add new symbol `<-subscript'.
392
393 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
394
395         * chartab.c (Q_superscript_of): New variable.
396         (put_char_composition): Return `<-superscript' instead of
397         `=decomposition' for compatibility mapping to single character
398         tagged `super'.
399         (Fput_char_attribute): Convert char-specs in value of
400         `{<-|->}superscript[^*]*' to characters and put reverse links.
401         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
402         for `<-superscript'.
403         (syms_of_chartab): Add new symbol `<-superscript'.
404
405 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
406
407         * chartab.c (Qto_decomposition_at_compat): Deleted.
408         (Qto_decomposition_at_superscript): New variable.
409         (put_char_composition): Use `=>decomposition@superscript' instead
410         of `=decomposition' for compatibility decomposition mapping tagged
411         `super'.
412         (Fput_char_attribute): Fix condition about `put_char_composition'.
413         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
414         add news symbol `=>decomposition@superscript'.
415
416 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
417
418         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
419         for compatibility decomposition mapping tagged FOO.
420         (Fput_char_attribute): Modify for `put_char_composition'.
421
422 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * chartab.c (Qto_decomposition_at_compat): New variable.
425         (Q_compat_of): Renamed from `Q_compatibility_of'.
426         (put_char_composition): Rename `Q_compatibility_of' to
427         `Q_compat_of'; return `=>decomposition@compat' for compatibility
428         decomposition mapping.
429         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
430         `Q_compat_of'.
431         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
432         `<-compatibility' to `<-compat'.
433
434 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
435
436         * chartab.c (Q_compatibility_of): New variable.
437         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
438         object is proved to be a cons cell; return `<-compatibility' if
439         the first element of argument `value' is `compat'.
440         (Fput_char_attribute): Eliminate the first value if
441         `put_char_composition' returns `<-compatibility'.
442         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
443         for `<-compatibility'.
444         (syms_of_chartab): Add new symbol `<-compatibility'.
445
446 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
447
448         * chartab.c (Q_canonical): New variable.
449         (put_char_composition): Return a feature name: return
450         `->canonical' if argument `value' specifies single character.
451         (Fput_char_attribute): Use `put_char_composition' to determine
452         feature name for `=decomposition' or `->denotational'.
453         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
454         for `->canonical'.
455         (syms_of_chartab): Add new symbol `->canonical'.
456
457 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
458
459         * chartab.c (Qmap_decomposition): New variable.
460         (Fput_char_attribute): Convert `->decomposition' to
461         `=decomposition'.
462         (syms_of_chartab): Add new symbol `=decomposition'.
463
464 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * chartab.c (Fget_range_char_table): Fix serious problem when
467         `range' is nil.
468
469 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * chartab.c (char_table_get_db): Use `read_from_c_string'.
472
473 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * lread.c (read_from_c_string): New function.
476
477         * lisp.h (read_from_c_string): New prototype.
478
479 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * chartab.c (Fput_char_attribute): Convert char-specs in value of
482         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
483         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
484         for `{<-|->}Oracle-Bones[^*]*'.
485
486 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
487
488         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
489         (Kizu).
490
491 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
492
493         * text-coding.c (Qccs_priority_list): New variable in XEmacs
494         CHISE.
495         (Fmake_coding_system): Support new property `ccs-priority-list' in
496         XEmacs CHISE.
497         (Fcoding_system_property): Likewise.
498         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
499         Vdefault_coded_charset_priority_list in XEmacs CHISE.
500         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
501         XEmacs CHISE.
502         (complex_vars_of_file_coding): Define new coding-system-property
503         `ccs-priority-list' in XEmacs CHISE.
504
505         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
506
507 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
510         changed to normal function.
511         (encode_char_2): Likewise.
512
513         * mule-charset.c (decoding_table_put_char): Copied from
514         char-ucs.h; changed to normal function.
515         (encode_char_2): Likewise.
516
517 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
520         New extern.
521         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
522         (encode_char_2_search_children): New inline function.
523         (encode_char_2): Refer
524         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
525         and use `encode_char_2_search_children'.
526
527 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
528
529         * mule-charset.c
530         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
531         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
532         (vars_of_mule_charset): Add new variable
533         `display-coded-charset-priority-use-inheritance' and
534         `display-coded-charset-priority-use-hierarchy-order'.
535
536 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
537
538         * char-ucs.h (Q_subsumptive): New extern.
539         (Q_denotational): Likewise.
540         (encode_char_2): Search children specified by `->subsumptive' and
541         `->denotational'.
542
543 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * mule-charset.c (complex_vars_of_mule_charset): Modify the
546         X-registry of `ucs-bmp'.
547
548 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * chartab.c (char-variants): Refer `->subsumptive',
551         `->denotational' and `->identical' as same as `->ucs-unified'.
552
553 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * chartab.c (Fput_char_attribute): Convert char-specs in value of
556         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
557         links.
558
559 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * text-coding.c: Add EXFUN for `Fregexp_quote'.
562         (decode_add_er_char): Fix problem about infinite loop when a CCS
563         specified in `coded-charset-entity-reference-alist' is not
564         existed.
565
566 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * mule-charset.c (syms_of_mule_charset): Rename
569         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
570
571 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * fns.c (simplify_char_spec): Don't allocate new character-object
574         if specified char_spec does not have any CCS-features.
575
576         * chartab.h: Add EXFUN for Fdefine_char.
577
578         * chartab.c: Delete EXFUN for Fdefine_char.
579
580 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * fns.c (simplify_char_spec): Use Fdefine_char instead of
583         Ffind_char for char-spec.
584
585 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
586
587         * lisp-disunion.h (XCHARVAL): Fix condition about
588         SIZEOF_EMACS_INT.
589
590 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
591
592         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
593         <int> for `code'.
594         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
595         point; use <Emchar> instead of <int> for character-id.
596
597 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
600         (make_char): Likewise.
601         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
602         environment.
603         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
604         instead of <int> as the type of return value; use <Lisp_Object>
605         instead of <Emchar> as the type of argument.
606         (XCHARVAL[macro version]): Cast the result into <Emchar>.
607
608         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
609         syntaxcode> instead of <int>.
610
611 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * chartab.c (put_char_composition): Use DECODE_CHAR to get
614         character corresponding with UCS code point.
615         (Fput_char_attribute): Likewise.
616
617         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
618         character in the UCS decoding-table if the char-id is not equal to
619         the UCS code point.
620
621 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
624         for aliases; write `description'; write
625         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
626         not 0.
627
628 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * chartab.c (Fsave_char_attribute_table): Don't use
631         `save_charset_properties'.
632
633         * mule-charset.c (Fsave_charset_properties): Renamed from
634         `save_charset_properties' and changed to Lisp function again;
635         write property `type' as `CCS'; write properties `final-byte' and
636         `mother' if they exists.
637         (syms_of_mule_charset): Revive builtin function
638         `save-charset-properties' when HAVE_LIBCHISE is defined.
639
640 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
641
642         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
643         instead of Vexec_directory.
644         (char_attribute_system_db_file): Likewise.
645
646 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * chartab.c (Fsave_char_attribute_table): Use
649         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
650         defined.
651
652         * mule-charset.c (save_charset_properties): Renamed from
653         `Fsave_charset_properties'; changed to non-Lisp function.
654         (syms_of_mule_charset): Abolish builtin function
655         `save-charset-properties'.
656
657 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * mule-charset.c (Fsave_charset_properties): New function when
660         HAVE_LIBCHISE is defined.
661         (syms_of_mule_charset): Add new builtin function
662         `save-charset-properties' when HAVE_LIBCHISE is defined.
663
664 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * chartab.c (Fput_char_attribute): Convert char-specs in value of
667         `{<-|->}ancient[^*]*' to characters and put reverse links.
668         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
669         for `{<-|->}ancient[^*]*'.
670
671 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * chartab.c (Fput_char_attribute): Convert char-specs in value of
674         `{<-|->}original[^*]*' to characters and put reverse links.
675         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
676         for `{<-|->}original[^*]*'.
677
678 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
681
682 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * mule-charset.c (Qsystem_char_id): New variable.
685
686         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
687         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
688
689 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * chartab.c (Fput_char_attribute): When processing a reference of
692         a character, put into the end of the reversed reference of each
693         target character.
694
695 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
696
697         * chartab.c (Q_same): Deleted.
698         (Q_same_of): Deleted.
699         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
700         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
701         for `{<-|->}same'.
702         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
703
704 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * chartab.c (Q_vulgar): Deleted.
707         (Q_vulgar_of): Deleted.
708         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
709         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
710         for `{<-|->}vulgar'.
711         (syms_of_chartab): Don't define `{<-|->}vulgar'.
712
713 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * chartab.c (Fput_char_attribute): Convert char-specs in value of
716         `{<-|->}wrong[^*]*' to characters and put reverse links.
717         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
718         for `{<-|->}wrong[^*]*'.
719
720 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * chartab.c (Q_vulgar): New variable.
723         (Q_vulgar_of): New variable.
724         (Fput_char_attribute): Convert char-specs in value of
725         `{->|<-}vulgar' to characters and put reverse links.
726         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
727         for `{->|<-}vulgar'.
728         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
729
730 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * text-coding.c (decode_add_er_char): Must to quote prefix string
733         as regexp.
734
735 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
736
737         * mule-charset.c (put_char_ccs_code_point): Store characters of
738         =ucs whose code_points >= 0xF0000.
739
740 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
741
742         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
743         CHISE.
744         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
745         CHISE.
746         (complex_vars_of_mule_charset): Add new coded-charset
747         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
748         builtin characters over 0xEFFFF.
749
750         * chartab.c (syms_of_chartab): Don't define symbol
751         `system-char-id' in every case.
752
753         * char-ucs.h (Qsystem_char_id): New extern variable.
754         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
755
756 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * text-coding.c (char_encode_utf8): Try to use entity-references
759         for U-000F0000 ...  U-0010FFFF.
760
761 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * text-coding.c (ER_BUF_SIZE): New macro.
764         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
765         `er_buf'.
766         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
767         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
768
769 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * chartab.c (find_char_feature_in_family): New function.
772         (Fchar_feature): Use `find_char_feature_in_family' with
773         `->identical', `<-subsumptive' and `<-denotational'.
774
775 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
776
777         * text-coding.c (char_encode_as_entity_reference): Allow prefix
778         within 8 characters; fix infinite loop.
779
780 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * chartab.c (Q_same): New variable.
783         (Q_same_of): New variable.
784         (Fput_char_attribute): Convert char-specs in value of
785         `{->|<-}same' to characters and put reverse links.
786         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
787         for `{->|<-}same'.
788         (syms_of_chartab): Add new symbols `{->|<-}same'.
789
790 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * chartab.c (Q_component): New variable.
793         (Q_component_of): Likewise.
794         (Fput_char_attribute): Convert char-specs in value of
795         `{->|<-}ideographic-component-forms' to characters and put reverse
796         links.
797         (syms_of_chartab): Add new symbols
798         `{->|<-}ideographic-component-forms'.
799
800 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
801
802         * chartab.c (Q_identical): New variable.
803         (Q_identical_from): New variable.
804         (Fchar_feature): Regard `->identical' as a feature to find
805         ancestors.
806         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
807         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
808         for `{->|<-}identical'.
809         (syms_of_chartab): Add new symbols `{->|<-}identical'.
810
811 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
812
813         * char-ucs.h (encode_char_2): New inline function.
814         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
815
816 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * chartab.c (Fput_char_attribute): Convert char-specs to
819         characters in value of `ideographic-structure'.
820         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
821         for `{<-|->}simplified(@...)'.
822         (Fdefine_char): Try to use predefined character's id.
823
824 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
825
826         * fns.c (simplify_char_spec): Try to convert builtin chars to
827         defined chars.
828
829 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * chartab.c (Fput_char_attribute): Convert char-specs in value of
832         `<-simplified[^*]*' to characters and put reverse links.
833
834 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * chartab.c (Q_subsumptive): Renamed from Q_unified.
837         (Q_subsumptive_from): Renamed from Q_unified_from.
838         (Fchar_feature): Use `Q_subsumptive_from' instead of
839         `Q_unified_from'.
840         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
841         `Q_unified'.
842         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
843         `<-unified' to `<-subsumptive'.
844
845 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
846
847         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
848         inheritance itself; fix typo; stop recursive search if cyclic
849         inheritance is found.
850
851 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
852
853         * chartab.c (Q_denotational): New variable.
854         (Q_denotational_from): New variable.
855         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
856         (put_char_attribute): New function.
857         (Fput_char_attribute): Use `put_char_attribute'; regard
858         `->denotational' and `<-denotational' as same as `->unified' and
859         `<-unified'.
860         (syms_of_chartab): Add new symbols `->denotational' and
861         `<-denotational'.
862
863 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
864
865         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
866         `Fget_char_attribute'.
867         (Fchar_variants): Likewise.
868         (get_char_table): Likewise.
869         (Fchar_feature): New function.
870         (put_char_composition): Use `Fchar_feature' instead of
871         `Fget_char_attribute'.
872         (Fput_char_attribute): Likewise; don't put the target character
873         into its `->unified' value.
874         (syms_of_chartab): Add new builtin function `char-feature'.
875
876 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
877
878         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
879         `Fget_char_attribute'.
880         (char_encode_utf8): Likewise.
881
882         * chartab.h: Add an EXFUN for `Fchar_feature'.
883
884 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
885
886         * chartab.c (Vnext_defined_char_id): New variable.
887         (Fput_char_attribute): Accept characters in `->unified'.
888         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
889         new characters which are not related with builtin char-id ranges.
890         (vars_of_chartab): Add new variable `next-defined-char-id'.
891
892 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
893
894         * chartab.c (Q_unified): New variable.
895         (Q_unified_from): New variable.
896         (Fput_char_attribute): Add code for `->unified'.
897         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
898         XEmacs CHISE.
899
900 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * mule-charset.c (decode_ccs_conversion): New function.
903         (decode_defined_char): Use `decode_ccs_conversion'.
904         (decode_builtin_char): Likewise.
905
906 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * char-ucs.h: Change some charset-ids of private coded-charsets.
909
910 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
911
912         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
913         (char_encode_as_entity_reference): Likewise.
914         (decode_coding_big5): Modify for `decode_defined_char' and
915         `DECODE_CHAR'.
916         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
917         avoid compiler warning.
918         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
919
920         * mule-charset.c (decode_defined_char): Add new argument
921         `without_inheritance'.
922         (Fdecode_char): Add new optional argument `without_inheritance'.
923         (Fdecode_builtin_char): Modify for `Fdecode_char'.
924
925         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
926         (simplify_char_spec): Likewise.
927
928         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
929         setting.
930
931         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
932         (map_char_table): Likewise.
933         (Fdefine_char): Use `Fdecode_char' without inheritance.
934         (Ffind_char): Modify for `Fdecode_char'.
935
936         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
937
938         * char-ucs.h (decode_defined_char): Add new argument
939         `without_inheritance'.
940         (DECODE_CHAR): Likewise.
941         (MAKE_CHAR): Modify for `DECODE_CHAR'.
942
943 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
944
945         * chartab.c (Vchise_system_db_directory): New variable.
946         (vars_of_chartab): Add new variable `chise-system-db-directory'.
947
948 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * chartab.c: EXFUN `Fmount_char_attribute_table'.
951         (print_chartab_range): Don't define when `UTF2000' is defined.
952         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
953         `CHISE_DS_open'.
954
955 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
958         and optional argument `rehash' is specified, call
959         `open_chise_data_source_maybe' before
960         `chise_ds_foreach_char_feature_name' is called.
961
962 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
963
964         * chartab.c (char_attribute_list_reset_map_func): New function
965         when HAVE_LIBCHISE is defined.
966         (Fchar_attribute_list): Add new optional argument `rehash' when
967         HAVE_LIBCHISE is defined.
968         (open_chise_data_source_maybe): Use "chise-db" instead of
969         "char-db".
970         (char_attribute_system_db_file): Likewise.
971         (Fload_char_attribute_table): Use
972         `chise_feature_foreach_char_with_value' instead of
973         `chise_char_feature_value_iterate'.
974
975 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * chartab.c (Vchise_db_directory): New variable.
978         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
979
980 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
981
982         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
983         instead of HAVE_CHISE to specify using with libchise.
984
985         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
986
987         * chartab.h: Don't use HAVE_CHISE_CLIENT.
988
989         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
990         defined or HAVE_LIBCHISE_LIBCHISE is defined.
991         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
992         is defined.
993         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
994         HAVE_CHISE to specify using with libchise.
995         (syms_of_chartab): Don't define symbol `system-char-id' when
996         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
997
998 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
999
1000         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1001         specify CHISE DB support.
1002         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1003         of `char_attribute_system_db_file' to check feature DB file.
1004
1005         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1006         HAVE_CHISE_CLIENT to specify CHISE DB support.
1007
1008         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1009         specify CHISE DB support.
1010         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1011         not defined.
1012         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1013         instead of `char_attribute_system_db_file' to check feature DB
1014         file.
1015
1016 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1017
1018         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1019         `HAVE_CHISE_CLIENT'.
1020
1021 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1022
1023         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1024         (Fsave_charset_mapping_table): Don't use
1025         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1026
1027         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1028         (HAVE_LIBCHISE): New macro.
1029
1030         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1031
1032         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1033         (Fsave_char_attribute_table): Don't use
1034         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1035
1036 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1037
1038         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1039         defined.
1040         (save_uint16_byte_table): Likewise.
1041         (save_byte_table): Likewise.
1042         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1043         instead of `chise_char_load_feature_value'.
1044         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1045
1046 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * chartab.h (struct Lisp_Char_Table): Delete member
1049         `feature_table' if CHISE is defined.
1050
1051         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1052         (Fcopy_char_table): Likewise.
1053         (char_table_open_db_maybe): Likewise.
1054         (char_table_close_db_maybe): Likewise.
1055         (char_table_get_db): Likewise.
1056         (Fmount_char_attribute_table): Likewise.
1057         (Fload_char_attribute_table): Likewise.
1058
1059 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * mule-charset.c (load_char_decoding_entry_maybe): Use
1062         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1063         `chise_ccs_decode'.
1064
1065 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1068         instead of `chise_open_data_source'.
1069         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1070         `chise_ds_close'.
1071
1072 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1073
1074         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1075         instead of `chise_ds_open_feature_table'.
1076         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1077
1078 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1079
1080         * mule-charset.c (Fsave_charset_mapping_table): Use
1081         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1082         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1083         `chise_ccs_sync' instead of `chise_ccst_close'.
1084         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1085
1086         * chartab.c (open_chise_data_source_maybe): Modify for
1087         `chise_open_data_source'.
1088         (char_table_open_db_maybe): Modify for
1089         `chise_ds_open_feature_table'.
1090
1091 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1092
1093         * mule-charset.c (load_char_decoding_entry_maybe): Use
1094         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1095         `chise_ccst_close'.
1096
1097 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1098
1099         * mule-charset.c (Fsave_charset_mapping_table): Use
1100         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1101         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1102         `chise_dt_put_char' and `chise_dt_close'.
1103         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1104         `chise_ccs_decode' and `chise_ccst_close' instead of
1105         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1106         `chise_dt_close'.
1107
1108         * chartab.c (char_table_get_db): Use
1109         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1110         (load_char_attribute_table_map_func): Modify for
1111         `chise_char_feature_value_iterate'.
1112         (Fload_char_attribute_table): Use
1113         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1114
1115 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1118
1119 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1120
1121         * chartab.c (put_char_table): Modify for inherited coded-charsets
1122         in XEmacs CHISE.
1123
1124 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1125
1126         * chartab.c (Fput_char_table_map_function): Fixed.
1127         (word_boundary_p): Don't check charset in XEmacs CHISE.
1128
1129 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1130
1131         * mule-charset.c (Fsave_charset_mapping_table): Use
1132         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1133         instead of `chise_open_decoding_table'; refer
1134         `default_chise_data_source'; use `chise_dt_close' instead of
1135         `chise_close_decoding_table'.
1136         (load_char_decoding_entry_maybe): Likewise.
1137
1138         * chartab.c (default_chise_data_source): New variable when `CHISE'
1139         is defined.
1140         (Fcopy_char_table): `ct->ds' is deleted.
1141         (open_chise_data_source_maybe): New function.
1142         (Fclose_char_data_source): New function.
1143         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1144         use `chise_ds_open_feature_table' instead of
1145         `chise_open_feature_table'.
1146         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1147         `chise_close_feature_table'; `cit->ds' is deleted.
1148         (syms_of_chartab): Add new builtin function
1149         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1150
1151         * chartab.h (default_chise_data_source): New extern variable.
1152         (open_chise_data_source_maybe): New prototype.
1153         (struct Lisp_Char_Table): Delete `ds'.
1154
1155 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1158         `CHISE' is defined.
1159
1160 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1161
1162         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1163         not defined; add code for non-libchise setting.
1164         (char_table_close_db_maybe): Likewise.
1165         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1166         defined.
1167         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1168         even if `CHISE' is not defined.
1169         (Freset_char_attribute_table): Likewise.
1170         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1171         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1172         `char_table_get_db'.
1173         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1174         `char_table_close_db_maybe' even if `CHISE' is not defined.
1175
1176 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1177
1178         * chartab.c (char_table_open_db_maybe): New function.
1179         (char_table_close_db_maybe): New function.
1180         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1181         (Freset_char_attribute_table): Likewise.
1182         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1183         `char_table_close_db_maybe'.
1184         (Fload_char_attribute_table): Likewise.
1185
1186 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1187
1188         * chartab.c: Don't include <chise.h> because it is included in
1189         chartab.h.
1190         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1191         defined.
1192         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1193         `CHISE' is defined.
1194         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1195         `CHISE' is defined.
1196         (Fclose_char_attribute_table): Close `ct->feature_table' and
1197         `ct->ds' when `CHISE' is defined.
1198         (Freset_char_attribute_table): Likewise.
1199         (load_char_attribute_maybe): Use `cit->ds' and
1200         `cit->feature_table' when `CHISE' is defined.
1201         (Fload_char_attribute_table): Likewise.
1202
1203         * chartab.h: Include <chise.h> when `CHISE' is defined.
1204         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1205         when `CHISE' is defined.
1206
1207 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1208
1209         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1210         is defined.
1211         (char_table_description): Likewise.
1212         (Fmake_char_table): Likewise.
1213         (Fcopy_char_table): Likewise.
1214         (Fmount_char_attribute_table): Likewise.
1215         (Fclose_char_attribute_table): Likewise.
1216         (Freset_char_attribute_table): Likewise.
1217         (load_char_attribute_maybe): Likewise.
1218         (Fload_char_attribute_table): Likewise.
1219
1220         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1221         defined.
1222
1223 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1224
1225         * chartab.c (load_char_attribute_table_map_func): New function
1226         when CHISE is defined.
1227         (Qload_char_attribute_table_map_function): Don't define when CHISE
1228         is defined.
1229         (Fload_char_attribute_table_map_function): Likewise.
1230         (Fload_char_attribute_table): Use libchise when `CHISE' is
1231         defined.
1232         (syms_of_chartab): Don't define
1233         `load-char-attribute-table-map-function' when CHISE is defined.
1234
1235 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * chartab.c: Include <chise.h> when `CHISE' is defined.
1238         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1239
1240 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * mule-charset.c (charset_code_point): Fix problem when searching
1243         in mother CCS fails with `defined_only' mode.
1244
1245 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1246
1247         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1248         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1249         (put_char_composition): Likewise.
1250         (Fput_char_attribute): Likewise.
1251         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1252
1253 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1254
1255         * chartab.c (Q_ucs): Deleted.
1256         (Fput_char_attribute): Don't refer `->ucs'.
1257         (Fdefine_char): Likewise.
1258         (Ffind_char): Likewise.
1259         (syms_of_chartab): Delete `->ucs'.
1260
1261 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1262
1263         * mule-charset.c (Qmap_cns11643_2): Renamed from
1264         `Qchinese_cns11643_2'.
1265         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1266         `chinese-cns11643-2'.
1267         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1268         `=cns11643-2'.
1269
1270 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1271
1272         * mule-charset.c (Qmap_cns11643_1): Renamed from
1273         `Qchinese_cns11643_1'.
1274         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1275         `chinese-cns11643-1'.
1276         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1277         `=cns11643-1'.
1278
1279 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1280
1281         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1282         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1283         `chinese-gb12345'.
1284         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1285         `=gb12345'.
1286
1287 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1288
1289         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1290         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1291         `chinese-gb2312'.
1292         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1293         `=gb2312'.
1294
1295 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1296
1297         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1298         (syms_of_mule_charset): Add new symbol `=big5' instead of
1299         `chinese-big5'.
1300         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1301
1302 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1303
1304         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1305         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1306         `korean-ksc5601'.
1307         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1308         `=ks-x1001'.
1309
1310 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1311
1312         * mule-charset.c (Qmap_jis_x0212): Renamed from
1313         `Qjapanese_jisx0212'.
1314         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1315         `japanese-jisx0212'.
1316         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1317         `=jis-x0212'.
1318
1319 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1320
1321         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1322         `Qjapanese_jisx0208'.
1323         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1324         of `japanese-jisx0208'.
1325         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1326         `=jis-x0208-1983'.
1327
1328 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1331         `Qjapanese_jisx0208_1978'.
1332         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1333         of `japanese-jisx0208-1978'.
1334         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1335         `=jis-x0208-1978'.
1336
1337 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1338
1339         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1340         only for XEmacs CHISE.
1341
1342 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1343
1344         * char-ucs.h: Compact non-ISO-IR charset-ids.
1345         (LEADING_BYTE_UCS): Changed to -177.
1346         (LEADING_BYTE_CONTROL_1): Changed to -77.
1347         (LEADING_BYTE_UCS_BMP): Changed to -176.
1348         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1349
1350 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * mule-charset.c (Qiso_ir): New variable.
1353         (Fmake_charset): Recognise new property `iso-ir'.
1354         (syms_of_mule_charset): Add new symbol `iso-ir'.
1355
1356 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1357
1358         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1359         n to -n; charset-id of non ISO-IR sets are changed to positive
1360         numbers.
1361
1362 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1363
1364         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1365         for &MCS-XXXXXXXX; values.
1366
1367 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1368
1369         * mule.c (Vxemacs_chise_version): Renamed from
1370         `Vutf_2000_version'.
1371         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1372         `utf-2000-version' as an alias for `xemacs-chise-version'.
1373
1374 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1375
1376         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1377         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1378         defined.
1379
1380         * config.h.in (CHISE): New macro.
1381
1382 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1383
1384         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1385         of `ucs'.
1386         (Qmap_ucs): New variable.
1387         (syms_of_mule_charset): Add new symbol `=ucs'.
1388         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1389
1390         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1391         (simplify_char_spec): Likewise.
1392
1393         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1394
1395         * char-ucs.h (Qmap_ucs): New extern variable.
1396
1397 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1400         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1401         don't define it when UTF2000 is not defined.
1402         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1403         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1404         when UTF2000 is not defined.
1405         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1406         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1407
1408 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1409
1410         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1411
1412         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1413         (Qucs_gb): Deleted.
1414         (syms_of_mule_charset): Delete `ucs-gb'.
1415         (complex_vars_of_mule_charset): Likewise.
1416
1417 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1418
1419         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1420
1421         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1422         (Qucs_cns): Deleted.
1423         (syms_of_mule_charset): Delete `ucs-cns'.
1424         (complex_vars_of_mule_charset): Likewise.
1425
1426 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1427
1428         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1429
1430         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1431         (Qucs_jis): Deleted.
1432         (syms_of_mule_charset): Delete `ucs-jis'.
1433         (complex_vars_of_mule_charset): Likewise.
1434
1435 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1436
1437         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1438
1439         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1440         (Qucs_ks): Deleted.
1441         (syms_of_mule_charset): Delete `ucs-ks'.
1442         (complex_vars_of_mule_charset): Likewise.
1443
1444 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1447         (Qideograph_daikanwa_2): Deleted.
1448         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1449         (complex_vars_of_mule_charset): Likewise.
1450
1451         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1452         (LEADING_BYTE_DAIKANWA_1): Deleted.
1453         (LEADING_BYTE_DAIKANWA_2): Deleted.
1454         (MIN_CHAR_DAIKANWA): Deleted.
1455         (MAX_CHAR_DAIKANWA): Deleted.
1456
1457 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1458
1459         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1460         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1461         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1462
1463         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1464         (Vcharset_ideograph_daikanwa): Deleted.
1465         (Qideograph_hanziku_{1..12}): Deleted.
1466         (Qideograph_daikanwa): Deleted.
1467         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1468         Vcharset_ideograph_daikanwa.
1469         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1470         `ideograph-hanziku-{1..12}'.
1471         (complex_vars_of_mule_charset): Likewise.
1472
1473 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1474
1475         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1476
1477         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1478         (Qideograph_gt_pj_{1..11}): Deleted.
1479         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1480         (complex_vars_of_mule_charset): Likewise.
1481
1482 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1483
1484         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1485         (Vcharset_ideograph_gt): Deleted.
1486         (Qucs_big5): Deleted.
1487         (Qideograph_gt): Deleted.
1488         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1489         `ideograph-gt'.
1490         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1491         and `ideograph-gt'.
1492
1493         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1494         (LEADING_BYTE_GT): Deleted.
1495         (MIN_CHAR_GT): Deleted.
1496         (MAX_CHAR_GT): Deleted.
1497
1498 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1499
1500         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1501
1502 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1503
1504         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1505         (save_uint16_byte_table): Likewise.
1506         (save_byte_table): Likewise; convert values by it.
1507         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1508         for `ideographic-structure'.
1509         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1510         as the filter for `ideographic-structure'.
1511
1512 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1513
1514         * chartab.c (put_char_composition): New function.
1515         (Fput_char_attribute): Use `put_char_composition'; use
1516         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1517
1518         * fns.c (simplify_char_spec): New function.
1519         (char_ref_simplify_spec): New function.
1520         (Fchar_refs_simplify_char_specs): New function.
1521         (syms_of_fns): Add new builtin function
1522         `char-refs-simplify-char-specs'.
1523
1524 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1525
1526         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1527         (Qideograph_cbeta): Deleted.
1528         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1529         (complex_vars_of_mule_charset): Likewise.
1530
1531         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1532         (MIN_CHAR_CBETA): Comment out.
1533         (MAX_CHAR_CBETA): Likewise.
1534
1535 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1536
1537         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1538         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1539         CHISE client feature.
1540
1541 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1542
1543         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1544
1545 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1546
1547         * mule-charset.c (charset_lookup_description_1): Use
1548         `NUM_LEADING_BYTES' in UTF-2000.
1549
1550 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1551
1552         * char-ucs.h (GC_CHARSETP): Deleted.
1553
1554 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1555
1556         * char-ucs.h (MAX_CHAR_GT): Updated.
1557
1558 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1559
1560         * text-coding.c: Sync with XEmacs 21.4.10.
1561
1562 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1563
1564         * mule-charset.c (Vcharset_china3_jef): Deleted.
1565         (Qchina3_jef): Deleted.
1566         (syms_of_mule_charset): Don't define `china3-jef'.
1567         (complex_vars_of_mule_charset): Likewise.
1568
1569         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1570         (MIN_CHAR_CHINA3_JEF): Comment out.
1571         (MAX_CHAR_CHINA3_JEF): Comment out.
1572
1573 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1574
1575         * mule-charset.c (Vcharset_ucs_gb): New variable.
1576         (Qucs_gb): New variable.
1577         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1578         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1579
1580         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1581
1582 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1583
1584         * mule-charset.c (charset_code_point): if a coded-charset has a
1585         final-byte, don't inherit the builtin range of the mother CCS.
1586
1587 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1588
1589         * mule-charset.c (charset_code_point): Fix problem about
1590         inheritance.
1591
1592 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1593
1594         * mule-charset.c (decode_builtin_char): Reorganized.
1595
1596 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1597
1598         * text-coding.c (char_encode_as_entity_reference): Modify for
1599         `charset_code_point'.
1600         (char_encode_shift_jis): Likewise.
1601         (char_encode_big5): Likewise.
1602         (char_encode_utf8): Likewise.
1603         (char_encode_iso2022): Likewise.
1604
1605         * mule-charset.c (charset_code_point): Add new argument
1606         `defined_only'.
1607         (Fencode_char): Add new optional argument `defined_only'.
1608
1609         * chartab.c (put_char_table): Modify for `charset_code_point'.
1610
1611         * char-ucs.h (charset_code_point): Add new argument
1612         `defined_only'.
1613         (encode_char_1): Modify for `charset_code_point'.
1614
1615 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1618         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1619
1620 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1621
1622         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1623         (Qjis_x0208): Likewise.
1624         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1625         XCHARSET_FINAL(charset).
1626         (charset_code_point): Modify condition for final-byte based
1627         builtin-chars.
1628         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1629         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1630         in UTF-2000; specify `=jis-x0208' as the mother of
1631         `japanese-jisx0208-1978', `japanese-jisx0208' and
1632         `japanese-jisx0208-1990' in UTF-2000.
1633
1634 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1635
1636         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1637
1638 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1639
1640         * text-coding.c (decode_coding_utf16): Support UTF-16.
1641         (char_encode_utf16): Fixed.
1642
1643 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1644
1645         * text-coding.c (Qutf16): New variable in MULE.
1646         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1647         (Fcoding_system_type): Add `utf-16' in MULE.
1648         (struct detection_state): Add a structure for utf16 in MULE.
1649         (detect_coding_type): Setup st->utf16.mask in MULE.
1650         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1651         MULE.
1652         (reset_encoding_stream): Use `char_encode_utf16' and
1653         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1654         (detect_coding_utf16): New function [incomplete].
1655         (decode_coding_utf16): New function [support only UCS-2].
1656         (char_encode_utf16): New function.
1657         (char_finish_utf16): New function.
1658         (syms_of_file_coding): Add new symbol `utf-16'; setup
1659         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1660
1661         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1662         UTF-2000.
1663         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1664         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1665
1666 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1667
1668         * chartab.c (put_char_table): When a charset is specified as a
1669         range in UTF-2000, don't support builtin characters.
1670
1671 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1672
1673         * mule-charset.c (decode_defined_char): Don't refer external
1674         database if Qunbound or Qnil are found.
1675         (Fsave_charset_mapping_table): Don't define it if
1676         HAVE_CHISE_CLIENT is not defined.
1677         (Freset_charset_mapping_table): New function.
1678         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1679         found in external database.
1680         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1681         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1682         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1683
1684 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1685
1686         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1687         not.
1688
1689 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1690
1691         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1692         Q_lowercase, Q_uppercase in UTF-2000.
1693
1694         * chartab.c (get_char_table): Add special code for the standard
1695         case table to use character attribute `->downcase' and
1696         `->uppercase' for case operations in UTF-2000.
1697
1698         * casetab.c (Qflippedcase): New variable in UTF-2000.
1699         (Q_lowercase): Likewise.
1700         (Q_uppercase): Likewise.
1701         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1702         and `->uppercase' in UTF-2000.
1703         (complex_vars_of_casetab): Assign attribute name `downcase' to
1704         downcase and CANON table of Vstandard_case_table in UTF-2000;
1705         assign attribute name `flippedcase' to upcase and EQV table of
1706         Vstandard_case_table in UTF-2000.
1707
1708 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1709
1710         * text-coding.c (decode_add_er_char): Support isolated-chars.
1711         (char_encode_as_entity_reference): Likewise.
1712
1713 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1714
1715         * emacs.c (Vutf_2000_lisp_directory): New variable.
1716         (Vconfigure_utf_2000_lisp_directory): Likewise.
1717         (complex_vars_of_emacs): Add new variable
1718         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1719
1720 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1721
1722         * char-ucs.h (DECODE_CHAR): Delete special code for
1723         `chinese-big5-1' and `chinese-big5-2'.
1724
1725         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1726         (Qbig5_2): Likewise.
1727         (decode_defined_char): Support CONVERSION_BIG5_1 and
1728         CONVERSION_BIG5_2.
1729         (decode_builtin_char): Likewise.
1730         (charset_code_point): Likewise.
1731         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1732         'conversion in UTF-2000.
1733         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1734         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1735         `chinese-big5-2' as children of `chinese-big5'.
1736
1737         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1738         (CONVERSION_BIG5_2): New macro.
1739
1740 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1741
1742         * text-coding.c (char_encode_big5): Support entity-reference.
1743
1744 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1745
1746         * text-coding.c (char_encode_as_entity_reference): New function.
1747         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1748
1749 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1750
1751         * text-coding.c (decode_coding_big5): Support entity-reference
1752         decoding feature.
1753
1754 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1755
1756         * text-coding.c (allocate_coding_system): Initialize initial
1757         charsets for CODESYS_UTF8.
1758         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1759         charset-g2 for CODESYS_UTF8.
1760         (decode_coding_utf8): Use charset-g0.
1761         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1762         to force variants to map to UCS.
1763
1764 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1765
1766         * text-coding.c (Qutf_8_mcs): New variable.
1767         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1768         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1769         instead of `utf-8' in UTF-2000.
1770
1771 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1772
1773         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1774         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1775         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1776         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1777         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1778         CONVERSION_96x96x96x96 are introduced.
1779         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1780         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1781         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1782
1783         * char-ucs.h (CONVERSION_94): New macro.
1784         (CONVERSION_96): New macro.
1785         (CONVERSION_94x94): New macro.
1786         (CONVERSION_96x96): New macro.
1787         (CONVERSION_94x94x94): New macro.
1788         (CONVERSION_96x96x96): New macro.
1789         (CONVERSION_94x94x94x60): New macro.
1790         (CONVERSION_94x94x94x94): New macro.
1791         (CONVERSION_96x96x96x96): New macro.
1792
1793 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1794
1795         * chartab.c (Vcharacter_variant_table): Deleted.
1796         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1797         of `Vcharacter_variant_table'.
1798         (Fput_char_attribute): Likewise.
1799         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1800         (complex_vars_of_chartab): Likewise.
1801
1802 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1803
1804         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1805
1806         * fns.c (Qideographic_structure): New variable.
1807         (Qkeyword_char): New variable.
1808         (ids_format_unit): New function.
1809         (Fideographic_structure_to_ids): New function.
1810         (syms_of_fns): Add new symbols `ideographic-structure' and
1811         `:char'; add new builtin function `ideographic-structure-to-ids'.
1812
1813         * data.c (Fchar_ref_p): New function.
1814         (syms_of_data): Add new builtin function `char-ref-p'.
1815
1816         * chartab.h: Add an EXFUN for `Ffind_char'.
1817
1818 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1819
1820         * text-coding.c (Vcharacter_composition_table): Deleted.
1821         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1822         in every UTF-2000.
1823
1824         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1825         UTF-2000.
1826         (Vcharacter_composition_table): Deleted.
1827         (Fget_composite_char): Use the implementation for external-DB
1828         support in every UTF-2000.
1829         (Fput_char_attribute): Likewise.
1830         (char_attribute_system_db_file): Don't define if external-DB
1831         feature is not available.
1832         (Fsave_char_attribute_table): Likewise.
1833         (Fmount_char_attribute_table): Likewise.
1834         (Fclose_char_attribute_table): Likewise.
1835         (Freset_char_attribute_table): Likewise.
1836         (Fload_char_attribute_table): Likewise.
1837         (syms_of_chartab): Don't define `save-char-attribute-table',
1838         `mount-char-attribute-table', `reset-char-attribute-table',
1839         `close-char-attribute-table' and `load-char-attribute-table' if
1840         external-DB feature is not available.
1841         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1842
1843 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1844
1845         * text-coding.c (Qcomposition): Add extern if external-DB feature
1846         is supported.
1847         (Vcharacter_composition_table): Don't add extern if external-DB
1848         feature is supported.
1849         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1850         character composition rule if external-DB feature is supported.
1851
1852         * chartab.c (Vcharacter_composition_table): Don't define if
1853         external-DB feature is supported.
1854         (Qcomposition): New variable.
1855         (Fget_composite_char): New implementation for external-DB support.
1856         (Fput_char_attribute): Use `composition' property of each
1857         character instead of `Vcharacter_composition_table' to store
1858         character-composition rules if external-DB feature is supported.
1859         (syms_of_chartab): Add new symbol `composition'.
1860         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1861         external-DB feature is supported.
1862
1863 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1864
1865         * chartab.c (Vchar_db_stingy_mode): New variable.
1866         (load_char_attribute_maybe): Close database if
1867         Vchar_db_stingy_mode is not NIL.
1868         (Fload_char_attribute_table_map_function): Use
1869         `get_char_id_table_0' instead of `get_char_id_table'.
1870         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1871
1872         * chartab.h (get_char_id_table_0): New inline function.
1873         (get_char_id_table): Use `get_char_id_table_0'.
1874
1875 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1876
1877         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1878         and `COMPOSE_ADD_CHAR'.
1879         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1880
1881 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1882
1883         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1884         instead of `DECODE_ADD_UCS_CHAR'.
1885         (COMPOSE_ADD_CHAR): Likewise.
1886
1887 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1888
1889         * text-coding.c (decode_flush_er_chars): New inline function.
1890         (decode_add_er_char): New function.
1891         (decode_coding_utf8): Use `decode_flush_er_chars' and
1892         `decode_add_er_char'.
1893
1894 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1895
1896         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1897         done before `decode_output_utf8_partial_char'.
1898
1899         * mule-charset.c (complex_vars_of_mule_charset): Specify
1900         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1901         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1902
1903 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * mule-charset.c (decode_defined_char): New function; search
1906         mother.
1907         (decode_builtin_char): Don't search mother if
1908         XCHARSET_MAX_CODE(charset) == 0.
1909         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1910         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1911         (Fdecode_char): Use `decode_defined_char' instead of
1912         `DECODE_DEFINED_CHAR'.
1913         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1914         mother of `Vcharset_ucs_jis'.
1915
1916         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1917         instead of `DECODE_DEFINED_CHAR'.
1918
1919         * char-ucs.h (decode_defined_char): Renamed from
1920         `DECODE_DEFINED_CHAR'; changed to normal function.
1921         (DECODE_CHAR): Use `decode_defined_char' instead of
1922         `DECODE_DEFINED_CHAR'.
1923
1924         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1925
1926 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1929
1930         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1931         variable.
1932         (Quse_entity_reference): New variable.
1933         (Qd): New variable.
1934         (Qx): New variable.
1935         (QX): New variable.
1936         (coding_system_description): Add description for
1937         `ccs_priority_list'.
1938         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1939         (allocate_coding_system): Initialize `ccs_priority_list' in
1940         UTF-2000.
1941         (Fmake_coding_system): Add description about
1942         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1943         (codesys).
1944         (Fcoding_system_property): Accept `disable-composition' and
1945         `use-entity-reference' in UTF-2000.
1946         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1947         in UTF-2000.
1948         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1949         (decode_coding_utf8): Decode entity-reference if
1950         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1951         (char_encode_utf8): Encode non-Unicode characters as
1952         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1953         (str->codesys).
1954         (syms_of_file_coding): Add new symbols `use-entity-reference',
1955         `d', `x', `X'.
1956         (vars_of_file_coding): Add new variable
1957         `coded-charset-entity-reference-alist'.
1958         (complex_vars_of_file_coding): Declare `disable-composition' and
1959         `use-entity-reference' to be coding-system-properties in UTF-2000.
1960
1961         * file-coding.h (struct Lisp_Coding_System): Add new member
1962         `use_entity_reference' and `ccs_priority_list'.
1963         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1964         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1965         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1966
1967 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1968
1969         * chartab.c (save_uint8_byte_table): Don't clear the table.
1970         (save_uint16_byte_table): Likewise.
1971         (save_byte_table): Likewise.
1972         (Fmount_char_attribute_table): New function.
1973         (syms_of_chartab): Add new builtin function
1974         `mount-char-attribute-table'.
1975
1976 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1977
1978         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1979         "w+" mode.
1980         (load_char_decoding_entry_maybe): Open database as read-only mode.
1981
1982         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1983         open database as "w+" mode.
1984         (load_char_attribute_maybe): Open database as read-only mode.
1985         (Fload_char_attribute_table): Likewise.
1986
1987 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1988
1989         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1990         (char_table_description): Delete member `db_file'.
1991         (Fmake_char_table): Don't refer `ct->db_file'.
1992         (Fcopy_char_table): Likewise.
1993         (Fsave_char_attribute_table): Likewise.
1994         (Fclose_char_attribute_table): Likewise.
1995         (Freset_char_attribute_table): Likewise.
1996         (load_char_attribute_maybe): Likewise.
1997         (Fload_char_attribute_table): Likewise.
1998
1999         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2000
2001 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2002
2003         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2004         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2005         `ct->db' is living.
2006         (load_char_attribute_maybe): Likewise.
2007         (Fload_char_attribute_table): Likewise.
2008
2009 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2010
2011         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2012         `ct->db_file' unconditionally.
2013
2014 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2015
2016         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2017         UTF-2000.
2018         (char_table_description): Add description for `db_file' and `db'
2019         in UTF-2000.
2020         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2021         UTF-2000.
2022         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2023         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2024         (Fclose_char_attribute_table): New function.
2025         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2026         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2027         and `cit->db'.
2028         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2029         (syms_of_chartab): Add new builtin function
2030         `Fclose_char_attribute_table'.
2031
2032 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2033
2034         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2035         `db' in UTF-2000.
2036         (load_char_attribute_maybe): Change interface.
2037         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2038
2039 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2040
2041         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2042
2043 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2044
2045         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2046         instead of `DECODE_CHAR' for mother; don't use special code for
2047         chinese-big5 to use code space of chinese-big5-1 and
2048         chinese-big5-2.
2049         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2050         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2051
2052         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2053         (MAX_CHAR_BIG5_CDP): Revival.
2054
2055 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2056
2057         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2058         the XLFD registry-encoding name of `chinese-big5'.
2059
2060 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2061
2062         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2063         (Qchinese_big5_cdp): Deleted.
2064         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2065         (complex_vars_of_mule_charset): Delete coded-charset
2066         `chinese-big5-cdp'.
2067
2068         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2069         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2070         `CHARSET_ID_OFFSET - n' for private CCS.
2071         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2072         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2073         of `MIN_LEADING_BYTE'.
2074         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2075         `(CHARSET_ID_OFFSET - 97)'.
2076         (MIN_CHAR_BIG5_CDP): Deleted.
2077         (MAX_CHAR_BIG5_CDP): Deleted.
2078
2079 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2080
2081         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2082
2083 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2084
2085         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2086         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2087         chartab.c].
2088
2089         * chartab.c (Vutf_2000_version): Moved to mule.c.
2090         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2091
2092 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2093
2094         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2095         when HAVE_CHISE_CLIENT is not defined.
2096
2097         * mule.c (vars_of_mule): Provide feature `chise' when
2098         HAVE_CHISE_CLIENT is defined.
2099
2100 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2101
2102         * config.h.in (UTF2000): Add comment.
2103         (HAVE_CHISE_CLIENT): New macro.
2104
2105 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2106
2107         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2108         CONSP.
2109         (Fput_char_attribute): Likewise.
2110         (char_attribute_system_db_file): Encode file-name of attribute.
2111         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2112         the initial value.
2113
2114 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2115
2116         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2117         (Fsave_charset_mapping_table): Use
2118         `char_attribute_system_db_file'.
2119         (load_char_decoding_entry_maybe): Likewise.
2120
2121         * chartab.h (Qsystem_char_id): New external variable.
2122         (char_attribute_system_db_file): New prototype.
2123
2124         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2125         (char_attribute_system_db_file): New function.
2126         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2127         (Freset_char_attribute_table): Likewise.
2128         (load_char_attribute_maybe): Likewise.
2129         (Fload_char_attribute_table): Likewise.
2130         (syms_of_chartab): Add new symbol `system-char-id'.
2131
2132 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2133
2134         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2135         `XCHARSET_GRAPHIC(ccs)'.
2136
2137 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2138
2139         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2140
2141 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2142
2143         * chartab.c (Q_ucs_variants): New variable.
2144         (syms_of_chartab): Add new symbol `->ucs-variants'.
2145         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2146         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2147         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2148
2149         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2150
2151         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2152         `HAVE_DATABASE' is defined.
2153         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2154         `HAVE_DATABASE' is defined.
2155
2156 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2157
2158         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2159         attribute-table.
2160         (Freset_char_attribute_table): New function.
2161         (syms_of_chartab): Add new builtin function
2162         `reset-char-attribute-table'.
2163
2164 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2165
2166         * chartab.c (load_char_attribute_maybe): Don't make directories.
2167
2168 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2169
2170         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2171
2172         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2173         for decoding-table.
2174
2175 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2176
2177         * mule-charset.c (Fsave_charset_mapping_table): Use
2178         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2179
2180         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2181         instead of `XCHARSET_CHARS'.
2182
2183 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2184
2185         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2186         (XCHARSET_BYTE_SIZE): Likewise.
2187
2188         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2189         mule-charset.c].
2190         (XCHARSET_BYTE_SIZE): Likewise.
2191
2192 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2193
2194         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2195         data-directory to store database.
2196         (Fsave_char_attribute_table): Likewise.
2197         (load_char_attribute_maybe): Likewise.
2198         (Fload_char_attribute_table): Likewise.
2199
2200 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2201
2202         * mule-charset.c (Fsave_charset_mapping_table): New function.
2203         (syms_of_mule_charset): Add new builtin function
2204         `save-charset-mapping-table'.
2205
2206 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2207
2208         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2209         (get_ccs_octet_table): New inline function.
2210         (put_ccs_octet_table): Likewise.
2211         (decoding_table_put_char): Use `get_ccs_octet_table' and
2212         `put_ccs_octet_table'.
2213         (decoding_table_remove_char): Use `decoding_table_put_char'.
2214         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2215
2216         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2217         into encoding_table.
2218         (make_charset): Use Qunbound instead Qnil as initial value of
2219         decoding_table.
2220
2221 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2222
2223         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2224         element is Qunloaded.
2225         (map_over_uint16_byte_table): Likewise.
2226         (map_over_byte_table): Likewise.
2227         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2228         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2229         database support, load encoding-table of the specified
2230         coded-charset if it is not loaded yet.
2231         (save_uint8_byte_table): New function of UTF-2000 with external
2232         database support.
2233         (save_uint16_byte_table): Likewise.
2234         (save_byte_table): Likewise.
2235         (Fput_char_attribute): Don't store value into external database
2236         even if the external database feature is supported in UTF-2000;
2237         set `attribute' as name of char-table if the external database
2238         feature is supported.
2239         (Fsave_char_attribute_table): New function in UTF-2000.
2240         (syms_of_chartab): Add new builtin function
2241         `save-char-attribute-table' in UTF-2000.
2242
2243 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2244
2245         * chartab.c (char_attribute_table_to_put): New variable in
2246         UTF-2000.
2247         (Qput_char_table_map_function): Likewise.
2248         (value_to_put): Likewise.
2249         (Fput_char_table_map_function): New function in UTF-2000.
2250         (put_char_table): Use `Fmap_char_attribute' for
2251         CHARTAB_RANGE_CHARSET in UTF-2000.
2252         (Fput_char_attribute): Store symbol instead of string in
2253         `XCHAR_TABLE_NAME (table)'.
2254         (load_char_attribute_maybe): Likewise.
2255         (syms_of_chartab): Add new symbol/function
2256         `put-char-table-map-function'.
2257
2258 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2259
2260         * database.h: Add new EXFUN for `Fmap_database'.
2261
2262         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2263         (syms_of_database): Likewise.
2264
2265         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2266         UTF-2000.
2267         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2268         (XCHAR_TABLE_UNLOADED): Likewise.
2269
2270         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2271         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2272         HAVE_DATABASE is defined.
2273         (char_attribute_table_to_load): New variable of UTF-2000 with
2274         external database support.
2275         (Qload_char_attribute_table_map_function): Likewise.
2276         (Fload_char_attribute_table_map_function): New function of
2277         UTF-2000 with external database support.
2278         (Fload_char_attribute_table): New function of UTF-2000.
2279         (Fmap_char_attribute): Call Fload_char_attribute_table if
2280         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2281         (syms_of_chartab): Add new symbol and function
2282         `load-char-attribute-table-map-function' in UTF-2000 with external
2283         database support; add new function `load-char-attribute-table' in
2284         UTF-2000.
2285
2286 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2287
2288         * chartab.h (load_char_attribute_maybe): New prototype for
2289         UTF-2000 with DATABASE support.
2290         (get_char_id_table): Use `load_char_attribute_maybe' if
2291         HAVE_DATABASE is defined.
2292
2293         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2294         with DATABASE support.
2295
2296 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2297
2298         * chartab.c (Fput_char_attribute): Use S-expression as key of
2299         external database.
2300
2301         * chartab.h (get_char_id_table): Use S-expression as key of
2302         external database.
2303
2304 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2305
2306         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2307         if an element is not loaded, load the corresponding attributes
2308         from an external database.
2309         (map_over_uint16_byte_table): Likewise.
2310         (map_over_byte_table): Likewise.
2311         (map_char_table): Modify for `map_over_uint8_byte_table',
2312         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2313         element is not loaded, load the corresponding attributes from an
2314         external database.
2315         (Fput_char_attribute): Change initial values to Qunloaded.
2316
2317         * chartab.h (get_char_id_table): If a character attribute is not
2318         loaded and the attribute value is not found in an external
2319         database, store Qunbound as the attribute value.
2320
2321 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2322
2323         * chartab.c (BT_UINT8_unloaded): New macro.
2324         (UINT8_VALUE_P): Accept Qunloaded.
2325         (UINT8_ENCODE): Likewise.
2326         (UINT8_DECODE): Likewise.
2327         (BT_UINT16_unloaded): New macro.
2328         (UINT16_VALUE_P): Accept Qunloaded.
2329         (UINT16_ENCODE): Likewise.
2330         (UINT16_DECODE): Likewise.
2331         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2332         BT_UINT16_unloaded.
2333         (mark_char_table): Mark `ct->name' in UTF-2000.
2334         (char_table_description): Add `name' in UTF-2000.
2335         (Fmake_char_table): Initialize `ct->name'.
2336         (Fcopy_char_table): Copy `ct->name'.
2337         (Fput_char_attribute): Store value into an external database if
2338         HAVE_DATABASE is defined.
2339
2340         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2341         UTF-2000.
2342         (CHAR_TABLE_NAME): New macro in UTF-2000.
2343         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2344         (get_char_id_table): Try to read an external database if Qunloaded
2345         is stored in a table.
2346
2347         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2348         Qunloaded.
2349
2350 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2351
2352         * database.h: Add EXFUN definitions for Fopen_database,
2353         Fput_database, Fget_database and Fclose_database.
2354
2355         * data.c (Qunloaded): New variable in UTF-2000.
2356
2357         * lisp.h (Qunloaded): New variable in UTF-2000.
2358
2359 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2360
2361         * mule-charset.c (put_char_ccs_code_point): Modify for
2362         `decoding_table_remove_char' and `decoding_table_put_char'.
2363         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2364
2365         * char-ucs.h (decoding_table_remove_char): Change arguments to
2366         hide decoding_table vector.
2367         (decoding_table_put_char): Likewise.
2368
2369 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2370
2371         * mule-charset.c (decoding_table_remove_char): Moved to
2372         char-ucs.h.
2373         (decoding_table_put_char): Likewise.
2374
2375         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2376         from mule-charset.c].
2377         (decoding_table_remove_char): New inline function [moved from
2378         mule-charset.c].
2379         (decoding_table_put_char): Likewise.
2380
2381 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2382
2383         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2384         extension.
2385
2386 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2387
2388         * mule-charset.c (decode_builtin_char): Support mother charsets.
2389
2390 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2391
2392         * mule-charset.c (Q94x94x60): New variable.
2393         (charset_code_point): Support conversion `94x94x60'.
2394         (Fmake_charset): Likewise.
2395         (syms_of_mule_charset): Add new symbol `94x94x60'.
2396
2397         * char-ucs.h (CONVERSION_94x94x60): New macro.
2398
2399 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2400
2401         * mule-charset.c (charset_code_point): Unify code about
2402         `code-offset'.
2403
2404 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2405
2406         * mule-charset.c (charset_code_point): Merge code about builtin
2407         characters into code about mother charsets; don't use
2408         `range_charset_code_point'.
2409         (range_charset_code_point): Deleted.
2410
2411 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2412
2413         * mule-charset.c (Qcode_offset): New variable.
2414         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2415         `max-code'; accept new property `code-offset'.
2416         (syms_of_mule_charset): Add new symbol `code-offset'.
2417
2418 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2419
2420         * mule-charset.c (range_charset_code_point): Fixed.
2421
2422 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2423
2424         * mule-charset.c (decode_builtin_char): Change semantics of
2425         code-offset of coded-charset.
2426         (charset_code_point): Likewise.
2427         (range_charset_code_point): Likewise.
2428         (complex_vars_of_mule_charset): Modify for the change.
2429
2430 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2431
2432         * mule-charset.c (Fencode_char): Reverse arguments.
2433
2434         * mule-charset.c (charset_code_point): Fixed.
2435
2436 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * mule-charset.c (Vcharset_mojikyo): Deleted.
2439         (Vcharset_mojikyo_2022_1): Deleted.
2440         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2441         (Qmin_code): New variable in UTF-2000.
2442         (Qmax_code): Likewise.
2443         (Qmother): Likewise.
2444         (Qconversion): Likewise.
2445         (Q94x60): Likewise.
2446         (Qmojikyo): Deleted.
2447         (Qmojikyo_2022_1): Deleted.
2448         (Qmojikyo_pj_{1..22}): Deleted.
2449         (mark_charset): Mark `cs->mother'.
2450         (charset_description): Add description for `mother'.
2451         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2452         new arguments `mother' and `conversion'; use
2453         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2454         (charset_code_point): Moved from char-ucs.h; support `mother'
2455         charset feature.
2456         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2457         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2458         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2459         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2460         allow 2 as the value of `graphic' in UTF-2000; add new properties
2461         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2462         require `final' in UTF-2000; modify for `make_charset'.
2463         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2464         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2465         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2466         (Fencode_char): New function.
2467         (syms_of_mule_charset): Add new builtin function `encode-char' in
2468         UTF-2000; add new symbols `min-code', `max-code', `mother',
2469         `conversion' and `94x60'; delete symbols `mojikyo',
2470         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2471         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2472         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2473         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2474
2475         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2476         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2477
2478         * char-ucs.h (Vcharset_mojikyo): Deleted.
2479         (Vcharset_mojikyo_2022_1): Deleted.
2480         (LEADING_BYTE_MOJIKYO): Deleted.
2481         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2482         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2483         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2484         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2485         add new member `mother'; add new member `conversion'.
2486         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2487         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2488         (CHARSET_MOTHER): New macro.
2489         (CHARSET_CONVERSION): New macro.
2490         (CONVERSION_IDENTICAL): New macro.
2491         (CONVERSION_94x60): New macro.
2492         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2493         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2494         (XCHARSET_MOTHER): New macro.
2495         (XCHARSET_CONVERSION): New macro.
2496         (MIN_CHAR_MOJIKYO): Deleted.
2497         (MAX_CHAR_MOJIKYO): Deleted.
2498         (DECODE_MOJIKYO_2022): Deleted.
2499         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2500         (charset_code_point): Changed to non-inline function.
2501         (encode_char_1): Use `charset_code_point'.
2502         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2503
2504 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2505
2506         * lread.c (read_compiled_function): Fix prototype.
2507         (read_vector): Likewise.
2508
2509 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2510
2511         * lrecord.h (struct lrecord_header): Delete `older'.
2512         (set_lheader_implementation): Delete code for `older'.
2513         (set_lheader_older_implementation): Deleted.
2514         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2515         (OLDER_RECORD_P): Deleted.
2516         (OLDER_RECORD_HEADER_P): Deleted.
2517         (alloc_older_lcrecord): Deleted.
2518         (alloc_older_lcrecord_type): Deleted.
2519
2520         * alloc.c (all_older_lcrecords): Deleted.
2521         (alloc_older_lcrecord): Deleted.
2522         (disksave_object_finalization_1): Delete code for older objects.
2523         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2524         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2525
2526 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2527
2528         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2529         instead of `make_older_vector'.
2530         (put_char_ccs_code_point): Likewise.
2531         (mark_charset): Mark `cs->decoding_table'.
2532         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2533
2534         * lisp.h (make_older_vector): Deleted.
2535         (make_vector_newer): Deleted.
2536
2537         * config.h.in (HAVE_GGC): Deleted.
2538
2539         * alloc.c (make_older_vector): Deleted.
2540         (make_vector_newer_1): Deleted.
2541         (make_vector_newer): Deleted.
2542
2543 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2546         (Qideograph_daikanwa_2): New variable.
2547         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2548         (complex_vars_of_mule_charset): Add new coded-charset
2549         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2550         `LEADING_BYTE_DAIKANWA'.
2551
2552         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2553         (LEADING_BYTE_DAIKANWA_1): New macro.
2554         (LEADING_BYTE_DAIKANWA_2): New macro.
2555         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2556
2557 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2558
2559         * mule-charset.c (complex_vars_of_mule_charset): Change
2560         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2561         the second revised version.
2562
2563 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2564
2565         * mule-charset.c (Vcharset_ucs_smp): New variable.
2566         (Vcharset_ucs_sip): New variable.
2567         (Qucs_smp): New variable.
2568         (Qucs_sip): New variable.
2569         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2570         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2571         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2572         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2573         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2574         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2575
2576         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2577         (LEADING_BYTE_UCS_SIP): New macro.
2578         (MIN_CHAR_SMP): New macro.
2579         (MAX_CHAR_SMP): New macro.
2580         (MIN_CHAR_SIP): New macro.
2581         (MAX_CHAR_SIP): New macro.
2582
2583 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2584
2585         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2586         utf-2000.
2587
2588 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2591         value; don't store value into `encoding_table' of `Lisp_Charset'.
2592         (mark_charset): `encoding_table' was deleted.
2593         (charset_description): Likewise.
2594         (make_charset): Likewise.
2595         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2596         `put_char_ccs_code_point'.
2597
2598         * chartab.h (Fput_char_attribute): New EXFUN.
2599
2600         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2601         is unified with normal symbol space.
2602         (Fget_char_attribute): Likewise.
2603         (Fput_char_attribute): Likewise; behavior of
2604         `put_char_ccs_code_point' is changed.
2605
2606         * char-ucs.h: Include "elhash.h".
2607         (Vchar_attribute_hash_table): New external variable.
2608         (struct Lisp_Charset): Delete `encoding_table'.
2609         (CHARSET_ENCODING_TABLE): New implementation; refer
2610         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2611         `Lisp_Charset'.
2612
2613 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2616         (cs) == 0.
2617
2618 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2619
2620         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2621         `chinese-big5'.
2622
2623 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2624
2625         * chartab.c (uint8_byte_table_description): New constant.
2626         (uint8-byte-table): Use `uint8_byte_table_description'.
2627         (uint16_byte_table_description): New constant.
2628         (uint16-byte-table): Use `uint16_byte_table_description'.
2629
2630 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2631
2632         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2633         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2634
2635 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2636
2637         * mule-charset.c (Vcharset_ucs_ks): New variable.
2638         (Qucs_ks): New variable.
2639         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2640         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2641
2642         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2643
2644 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2647         (Fdecode_char): Likewise.
2648
2649         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2650         chartab.h.
2651         (Fdefine_char): Modify for Fdecode_char.
2652         (Ffind_char): Likewise.
2653
2654         * mule-charset.c (Fdecode_char): Add new optional argument
2655         `defined-only'.
2656         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2657
2658 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2659
2660         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2661         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2662         (allocate_coding_system): Initialize initial-charsets of
2663         CODESYS_BIG5 in XEmacs UTF-2000.
2664         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2665         CODESYS_BIG5 in XEmacs UTF-2000.
2666         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2667         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2668
2669         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2670         variables.
2671         (Qideograph_hanziku_{1 .. 12}): Likewise.
2672         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2673         .. 12}'.
2674         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2675         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2676         `ideograph-hanziku-{1 .. 12}'.
2677
2678         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2679         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2680         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2681         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2682         (DECODE_DEFINED_CHAR): New inline function.
2683         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2684
2685 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2686
2687         * mule-charset.c (Vcharset_china3_jef): Renamed from
2688         `Vcharset_japanese_jef_china3'.
2689         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2690         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2691         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2692         (syms_of_mule_charset): Rename `china3-jef' from
2693         `japanese-jef-china3'.
2694         (complex_vars_of_mule_charset): Likewise; rename
2695         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2696
2697         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2698         `LEADING_BYTE_JEF_CHINA3'.
2699         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2700         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2701
2702 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2703
2704         * mule-charset.c (encode_builtin_char_1): Comment out special code
2705         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2706
2707         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2708         (MAX_CHAR_MOJIKYO_0): Comment out.
2709         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2710         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2711         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2712         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2713
2714 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2715
2716         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2717         (Qideograph_cbeta): New variable.
2718         (encode_builtin_char_1): Comment out special code for
2719         coded-charset `mojikyo' and `japanese-jef-china3'.
2720         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2721         (complex_vars_of_mule_charset): Add new coded-charset
2722         `ideograph-cbeta'.
2723
2724         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2725         (MIN_CHAR_CBETA): New macro.
2726         (MAX_CHAR_CBETA): New macro.
2727
2728 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2729
2730         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2731         (LEADING_BYTE_JEF_CHINA3): New macro.
2732         (MIN_CHAR_JEF_CHINA3): New macro.
2733         (MAX_CHAR_JEF_CHINA3): Likewise.
2734         (DECODE_CHAR): Fixed.
2735
2736 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2737
2738         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2739         (Qjapanese_jef_china3): New variable.
2740         (encode_builtin_char_1): Support `japanese-jef-china3'.
2741         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2742         (complex_vars_of_mule_charset): Add new coded-charset
2743         `japanese-jef-china3'.
2744
2745 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2746
2747         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2748         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2749         94^4, 96^3, 96^4, 128^n and 256^n set.
2750         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2751         (map_char_table): Likewise.
2752
2753 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2754
2755         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2756         UTF-2000.
2757
2758 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2759
2760         * chartab.h (get_char_id_table): New inline function.
2761
2762         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2763         function.
2764
2765 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2766
2767         * chartab.h (decode_char_table_range): New prototype in XEmacs
2768         UTF-2000.
2769         (put_char_id_table): New inline function in XEmacs UTF-2000.
2770
2771         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2772         function.
2773         (decode_char_table_range): Delete static declaration in XEmacs
2774         UTF-2000.
2775
2776 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2777
2778         * chartab.c (put_char_id_table): Use `put_char_table'.
2779
2780 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2781
2782         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2783         (map_over_uint16_byte_table): Likewise.
2784         (map_over_byte_table): Likewise.
2785         (map_char_table): Modify for `map_over_uint8_byte_table',
2786         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2787         UTF-2000.
2788
2789 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2790
2791         * chartab.c (struct map_char_table_for_charset_arg): New
2792         structure.
2793         (map_char_table_for_charset_fun): New function.
2794         (map_char_table): Use `map_char_table' for encoding_table of
2795         `range->charset'.
2796
2797 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2798
2799         * chartab.c (map_char_table): Check a character is found in
2800         range->charset instead of non default value is defined in
2801         char-table when range is CHARTAB_RANGE_ROW.
2802
2803 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2804
2805         * chartab.c (map_char_id_table): Deleted.
2806         (Fmap_char_attribute): Use `map_char_table' instead of
2807         `map_char_id_table'.
2808
2809 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2810
2811         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2812         UTF-2000.
2813         (update_syntax_table): Deleted in XEmacs UTF-2000.
2814
2815         * syntax.c (find_defun_start): Use `syntax_table' instead of
2816         `mirror_syntax_table' in XEmacs UTF-2000.
2817         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2818         UTF-2000.
2819         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2820         XEmacs UTF-2000.
2821         (Fmatching_paren): Likewise.
2822         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2823         in XEmacs UTF-2000.
2824         (find_start_of_comment): Likewise.
2825         (find_end_of_comment): Likewise.
2826         (Fforward_comment): Likewise.
2827         (scan_lists): Likewise.
2828         (char_quoted): Likewise.
2829         (Fbackward_prefix_chars): Likewise.
2830         (scan_sexps_forward): Likewise.
2831         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2832         (update_syntax_table): Likewise.
2833
2834         * search.c (skip_chars): Use `syntax_table' instead of
2835         `mirror_syntax_table' in XEmacs UTF-2000.
2836         (wordify): Likewise.
2837         (Freplace_match): Likewise.
2838
2839         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2840         `mirror_syntax_table' in XEmacs UTF-2000.
2841         (WORDCHAR_P_UNSAFE): Likewise.
2842         (re_match_2_internal): Likewise.
2843
2844         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2845         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2846
2847         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2848         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2849
2850         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2851         XEmacs UTF-2000.
2852
2853         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2854         UTF-2000.
2855         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2856         (char_table_description): Delete `mirror_table' in XEmacs
2857         UTF-2000.
2858         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2859         UTF-2000.
2860         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2861         (Fcopy_char_table): Likewise.
2862         (put_char_table): Don't call `update_syntax_table' in XEmacs
2863         UTF-2000.
2864
2865         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2866         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2867         (casify_region_internal): Likewise.
2868
2869         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2870
2871         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2872         `mirror_syntax_table' in XEmacs UTF-2000.
2873
2874         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2875         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2876         (Fexpand_abbrev): Likewise.
2877
2878 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2879
2880         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2881
2882 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2883
2884         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2885         (map_over_uint16_byte_table): Likewise.
2886         (map_over_byte_table): Likewise.
2887         (get_char_id_table): Refer `cit->default_value'.
2888         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2889         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2890         of character-id ranges.
2891         (mark_char_table): Mark `ct->default_value'.
2892         (char_table_description): Add `default_value'.
2893         (fill_char_table): Use `default_value'.
2894         (decode_char_table_range): Decode `nil' as
2895         `CHARTAB_RANGE_DEFAULT'.
2896         (get_char_id_table): Refer `cit->default_value'.
2897         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2898         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2899         temporary hack; check value of char-table is bound or not.
2900         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2901
2902         * chartab.h (struct Lisp_Char_Table): Add new member
2903         `default_value' in XEmacs UTF-2000.
2904         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2905         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2906         UTF-2000.
2907
2908 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2909
2910         * chartab.h (Lisp_Char_ID_Table): Deleted.
2911
2912         * chartab.c (char_table_description): Fix typo.
2913         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2914         `Lisp_Char_ID_Table'.
2915
2916 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2917
2918         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2919         `CHAR_ID_TABLE_P'.
2920
2921         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2922         `CHAR_ID_TABLE_P'.
2923
2924         * chartab.h (XCHAR_ID_TABLE): Deleted.
2925         (XSETCHAR_ID_TABLE): Deleted.
2926         (CHAR_ID_TABLE_P): Deleted.
2927
2928         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2929         `CHAR_ID_TABLE_P'.
2930         (Fget_composite_char): Likewise.
2931         (put_char_table): Likewise.
2932         (add_char_attribute_alist_mapper): Fixed.
2933         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2934         `CHAR_ID_TABLE_P'.
2935         (Fget_char_attribute): Likewise.
2936         (Fget_char_attribute): Likewise.
2937         (Fmap_char_attribute): Likewise.
2938
2939         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2940         `CHAR_ID_TABLE_P'.
2941         (encode_char_1): Likewise.
2942
2943 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2944
2945         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2946         `XCHAR_ID_TABLE'.
2947
2948         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2949         instead of `XCHAR_ID_TABLE'.
2950         (remove_char_ccs): Likewise.
2951
2952         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2953         `XCHAR_ID_TABLE'.
2954         (Fget_composite_char): Likewise.
2955         (Fchar_variants): Likewise.
2956         (put_char_table): Likewise.
2957         (add_char_attribute_alist_mapper): Likewise.
2958         (Fchar_attribute_alist): Likewise.
2959         (Fget_char_attribute): Likewise.
2960         (Fput_char_attribute): Likewise.
2961         (Fmap_char_attribute): Likewise.
2962         (Fmap_char_attribute): Likewise.
2963
2964         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2965         `XCHAR_ID_TABLE'.
2966         (encode_char_1): Likewise.
2967
2968 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2969
2970         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2971         `Lisp_Char_ID_Table'.
2972         (mark_char_id_table): Deleted.
2973         (print_char_id_table): Likewise.
2974         (char_id_table_equal): Likewise.
2975         (char_id_table_hash): Likewise.
2976         (char_id_table_description): Likewise.
2977         (char_id_table): Likewise.
2978         (make_char_id_table): Use `Fmake_char_table' and
2979         `fill_char_table'.
2980         (get_char_id_table): Use `Lisp_Char_Table' instead of
2981         `Lisp_Char_ID_Table'.
2982         (put_char_id_table): Likewise.
2983         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2984         `XCHAR_ID_TABLE'.
2985         (Fremove_char_attribute): Likewise.
2986         (syms_of_chartab): Don't define type `char-id-table'.
2987
2988         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2989         (char_id_table): Likewise.
2990         (GC_CHAR_ID_TABLE_P): Likewise.
2991         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2992         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2993         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2994         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2995         (get_char_id_table): Use `Lisp_Char_Table' instead of
2996         `Lisp_Char_ID_Table'.
2997         (put_char_id_table_0): Likewise.
2998         (put_char_id_table): Likewise.
2999
3000 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3001
3002         * chartab.h: Lisp_Byte_Table related codes are moved from
3003         chartab.h.
3004
3005         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3006
3007 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3008
3009         * chartab.h: Don't include "chartab.h".
3010         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3011         (Lisp_Char_ID_Table): Likewise.
3012         (char_id_table): Likewise.
3013         (XCHAR_ID_TABLE): Likewise.
3014         (XSETCHAR_ID_TABLE): Likewise.
3015         (CHAR_ID_TABLE_P): Likewise.
3016         (GC_CHAR_ID_TABLE_P): Likewise.
3017         (get_char_id_table): Likewise.
3018
3019         * char-ucs.h: Include "chartab.h".
3020         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3021         (Lisp_Char_ID_Table): Likewise.
3022         (char_id_table): Likewise.
3023         (XCHAR_ID_TABLE): Likewise.
3024         (XSETCHAR_ID_TABLE): Likewise.
3025         (CHAR_ID_TABLE_P): Likewise.
3026         (GC_CHAR_ID_TABLE_P): Likewise.
3027         (get_char_id_table): Likewise.
3028
3029 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3030
3031         * chartab.c (copy_uint8_byte_table): New function.
3032         (copy_uint16_byte_table): New function.
3033         (copy_byte_table): New function.
3034         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3035         characters to call.
3036         (map_over_uint16_byte_table): Likewise.
3037         (map_over_byte_table): Likewise.
3038         (get_byte_table): Move prototype to chartab.h.
3039         (put_byte_table): Likewise.
3040         (put_char_id_table_0): Moved to chartab.h.
3041         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3042         (char_table_entry_equal): Likewise.
3043         (char_table_entry_hash): Likewise.
3044         (char_table_entry_description): Likewise.
3045         (char_table_entry): Likewise.
3046         (make_char_table_entry): Likewise.
3047         (copy_char_table_entry): Likewise.
3048         (get_non_ascii_char_table_value): Likewise.
3049         (map_over_charset_ascii): Likewise.
3050         (map_over_charset_control_1): Likewise.
3051         (map_over_charset_row): Likewise.
3052         (map_over_other_charset): Likewise.
3053         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3054         (print_char_table): Likewise.
3055         (char_table_equal): Likewise.
3056         (char_table_hash): Likewise.
3057         (char_table_description): Likewise.
3058         (fill_char_table): Likewise.
3059         (Fcopy_char_table): Likewise.
3060         (get_char_table): Likewise.
3061         (Fget_range_char_table): Likewise.
3062         (put_char_table): Likewise.
3063         (map_char_table): Likewise.
3064         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3065         UTF-2000.
3066
3067 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3068
3069         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3070         `Vauto_fill_chars' in XEmacs UTF-2000.
3071
3072         * chartab.h (get_byte_table): New prototype [moved from
3073         chartab.c].
3074         (put_byte_table): Likewise [moved from chartab.c].
3075         (put_char_id_table_0): New inline function [moved from chartab.c].
3076         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3077         (Lisp_Char_Table_Entry): Likewise.
3078         (char_table_entry): Likewise.
3079         (XCHAR_TABLE_ENTRY): Likewise.
3080         (XSETCHAR_TABLE_ENTRY): Likewise.
3081         (CHAR_TABLE_ENTRYP): Likewise.
3082         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3083         (NUM_ASCII_CHARS): Likewise.
3084         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3085         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3086
3087 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3088
3089         * chartab.c (get_char_id_table): Change interface.
3090         (put_char_id_table_0): New function.
3091         (put_char_id_table): Change interface; new implementation.
3092         (Fget_composite_char): Modify for interface change of
3093         `get_char_id_table'.
3094         (Fchar_variants): Likewise.
3095         (add_char_attribute_alist_mapper): Likewise.
3096         (Fchar_attribute_alist): Likewise.
3097         (Fget_char_attribute): Likewise.
3098         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3099         as same as character as the first argument like `put-char-table';
3100         modify for interface change of `put_char_id_table'.
3101         (Fremove_char_attribute): Modify for interface change of
3102         `put_char_id_table'.
3103
3104 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3105
3106         * text-coding.c: Sync up with XEmacs 21.2.41.
3107         (COMPOSE_ADD_CHAR): Modify for interface change of
3108         `get_char_id_table'.
3109
3110         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3111         change of `put_char_id_table'.
3112         (remove_char_ccs): Likewise.
3113
3114         * chartab.h (put_char_id_table): Change interface.
3115
3116         * char-ucs.h (get_char_id_table): Change interface.
3117         (charset_code_point): Modify for interface change of
3118         `get_char_id_table'.
3119         (encode_char_1): Likewise.
3120
3121 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3122
3123         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3124         argument `ccs'.
3125         (map_over_uint16_byte_table): Likewise.
3126         (map_over_byte_table): Likewise.
3127         (map_char_id_table): Add new argument `range' like
3128         `map_char_table'.
3129         (Fmap_char_attribute): Add new argument `range' like
3130         `Fmap_char_table'.
3131
3132 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3133
3134         * chartab.c (map_over_uint8_byte_table): Change interface of
3135         mapping function to use struct chartab_range instead of Emchar.
3136         (map_over_uint16_byte_table): Likewise.
3137         (map_over_byte_table): Likewise.
3138         (map_char_id_table): Likewise.
3139         (struct slow_map_char_id_table_arg): Deleted.
3140         (slow_map_char_id_table_fun): Deleted.
3141         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3142         function `slow_map_char_table_fun' instead of struct
3143         `slow_map_char_id_table_arg' and function
3144         `slow_map_char_id_table_fun'.
3145
3146 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3147
3148         * mule-charset.c: Move char-it-table related codes to chartab.c.
3149         (Vutf_2000_version): Moved to chartab.c.
3150         (Fdefine_char): Likewise.
3151         (Ffind_char): Likewise.
3152         (syms_of_mule_charset): Move types `uint8-byte-table',
3153         `uint16-byte-table', `byte-table' and `char-id-table' to
3154         chartab.c; move functions `char_attribute_list,
3155         `find_char_attribute_table, `char_attribute_alist,
3156         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3157         `map_char_attribute, `define_char, `find_char, `char_variants and
3158         `get_composite_char to chartab.c; move symbols `=>ucs',
3159         `->decomposition', `compat', `isolated', `initial', `medial',
3160         `final', `vertical', `noBreak', `fraction', `super', `sub',
3161         `circle', `square', `wide', `narrow', `small' and `font' to
3162         chartab.c.
3163         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3164         setting codes for `Vcharacter_composition_table' and
3165         `Vcharacter_variant_table' to chartab.c.
3166         (complex_vars_of_mule_charset): Move setting code for
3167         `Vchar_attribute_hash_table' to chartab.c.
3168
3169         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3170         (make_char_id_table): New prototype.
3171         (put_char_id_table): Likewise.
3172         (Fget_char_attribute): Likewise.
3173
3174         * chartab.c: Move char-id-table related code from mule-charset.c.
3175         (Vutf_2000_version): Moved from mule-charset.c.
3176
3177         * char-ucs.h (Qucs): New external variable.
3178         (put_char_ccs_code_point): New prototype.
3179         (remove_char_ccs): Likewise.
3180
3181 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3182
3183         * mule-charset.c (Vcharset_ucs_jis): New variable.
3184         (Qucs_jis): Likewise.
3185         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3186         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3187
3188         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3189
3190 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * mule-charset.c (map_over_uint8_byte_table): New function.
3193         (map_over_uint16_byte_table): Likewise.
3194         (map_over_byte_table): Likewise.
3195         (map_char_id_table): Likewise.
3196         (slow_map_char_id_table_fun): Likewise.
3197         (Fmap_char_attribute): Likewise.
3198         (syms_of_mule_charset): Add new function `map-char-attribute'.
3199
3200 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3201
3202         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3203         (syms_of_mule_charset): Add new function `find-char'.
3204
3205 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3206
3207         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3208         XEmacs UTF-2000.
3209         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3210         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3211         XEmacs UTF-2000.
3212         (complex_vars_of_mule_charset): Add new coded-charset
3213         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3214         `ideograph-gt-pj-*'.
3215
3216         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3217
3218 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3219
3220         * mule-charset.c (encode_builtin_char_1): Purge codes about
3221         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3222         {MIN|MAX}_CHAR_HEBREW.
3223         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3224         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3225
3226         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3227         (MAX_CHAR_GREEK): Purged.
3228         (MIN_CHAR_CYRILLIC): Purged.
3229         (MAX_CHAR_CYRILLIC): Purged.
3230         (MIN_CHAR_HEBREW): Commented out.
3231         (MAX_CHAR_HEBREW): Likewise.
3232
3233 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3234
3235         * mule-charset.c (Qto_ucs): New variable.
3236         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3237         (Fdefine_char): Likewise.
3238         (syms_of_mule_charset): Add new symbol `=>ucs'.
3239
3240 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3241
3242         * mule-charset.c (Fdecode_char): Fixed.
3243
3244 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3247         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3248         "tcvn5712-1".
3249
3250 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3251
3252         * mule-charset.c (Vcharset_ucs_big5): New variable.
3253         (Qucs_big5): Likewise.
3254         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3255         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3256
3257         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3258
3259 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3260
3261         * mule-charset.c (decode_builtin_char): Check Big5 code range
3262         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3263
3264 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3265
3266         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3267         (Qchinese_gb12345): Likewise.
3268         (Fdecode_builtin_char): Fixed.
3269         (syms_of_mule_charset): Add `chinese-gb12345'.
3270         (complex_vars_of_mule_charset): Add coded-charset
3271         `chinese-gb12345'.
3272
3273         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3274         (LEADING_BYTE_CHINESE_GB12345): New macro.
3275
3276 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3277
3278         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3279         and `latin-viscii-upper' for `latin-viscii'.
3280
3281 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3282
3283         * mule-charset.c (Fdecode_builtin_char): Comment out
3284         regularization code for ISO-IR GR representation.
3285
3286 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3287
3288         * mule-charset.c (decode_builtin_char): New function; renamed from
3289         `make_builtin_char'; return -1 instead of signal.
3290         (Fdecode_builtin_char): Use `decode_builtin_char'.
3291
3292         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3293         `make_builtin_char'.
3294         (DECODE_CHAR): Use `decode_builtin_char' instead of
3295         `make_builtin_char'; use mapping table of `chinese-big5' for
3296         `chinese-big5-{1,2}'.
3297
3298 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3299
3300         * text-coding.c (char_encode_big5): New function.
3301         (char_finish_big5): Likewise.
3302         (reset_encoding_stream): Use `char_encode_big5' and
3303         `char_finish_big5' for CODESYS_BIG5.
3304         (mule_encode): Don't use `encode_coding_big5'.
3305         (encode_coding_big5): Deleted.
3306
3307 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3308
3309         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3310         0x81- in XEmacs UTF-2000.
3311         (detect_coding_big5): Likewise.
3312
3313 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3314
3315         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3316         generate character-id if the CCS property does not have
3317         corresponding predefined character.
3318         (make_builtin_char): Return -1 if corresponding predefined
3319         character is not found.
3320         (Fdecode_char): Return nil if corresponding character is not
3321         found.
3322         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3323         don't map to builtin ucs space.
3324
3325 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3326
3327         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3328         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3329
3330 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3331
3332         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3333         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3334         (Qideograph_gt): Likewise.
3335         (Qideograph_gt_pj_{1..11}): Likewise.
3336         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3337         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3338         `ideograph-gt-pj-11'.
3339         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3340         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3341         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3342
3343         * char-ucs.h (LEADING_BYTE_GT): New macro.
3344         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3345         (MIN_CHAR_GT): Likewise.
3346         (MAX_CHAR_GT): Likewise.
3347
3348 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3351         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3352
3353         * doprnt.c (unsigned_int_converters): Add `c'.
3354         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3355
3356         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3357         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3358         `MIN_CHAR_MOJIKYO'.
3359         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3360         (MAX_CHAR_MOJIKYO_0): New macro.
3361         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3362
3363 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3364
3365         * mule-charset.c (Fdefine_char): Delete cemented out code.
3366         (encode_builtin_char_1): Modify for new allocation of builtin
3367         Mojikyo characters.
3368
3369         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3370
3371 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3372
3373         * mule-charset.c (Vcharset_ucs_cns): New variable.
3374         (Qucs_cns): New variable.
3375         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3376         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3377
3378 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3379
3380         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3381
3382 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3383
3384         * search.c (search_buffer): Make `charset_base_code' as
3385         character-id >> 6 to eliminate the corresponding last byte in
3386         UTF-8 representation [I'm not sure it is right thing].
3387         (boyer_moore): Likewise.
3388
3389 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3390
3391         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3392         representation in MULE.
3393
3394 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3395
3396         * text-coding.c (Fmake_coding_system): Use
3397         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3398         `EXTERNAL_PROPERTY_LIST_LOOP'.
3399
3400 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3401
3402         * text-coding.c (decode_output_utf8_partial_char): New function.
3403         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3404
3405 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3406
3407         * text-coding.c (decode_coding_utf8): Output original byte
3408         sequence if it is broken; change order of conditions.
3409
3410         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3411         of conditions.
3412
3413         * mb-multibyte.h (BYTE_ASCII_P):
3414         Use bit ops for char-signedness safety.
3415         (BYTE_C0_P): Use bit ops for char-signedness safety.
3416         (BYTE_C1_P): Use bit ops for char-signedness safety.
3417
3418         * character.h: (XCHAR_OR_CHAR_INT):
3419         Always use inline function.
3420         Remove redundant type checking assert() - XINT will abort quite
3421         nicely.
3422
3423 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3424
3425         * text-coding.c: (Fencode_shift_jis_char):
3426         (Fencode_big5_char):
3427         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3428         Replace 0 with '\0' when working with bytes.
3429         Replace initial "(" with "\(" in docstrings.
3430
3431         (Fmake_coding_system):
3432         When type is ccl and value is vector, register it with a proper
3433         symbol.  And checks whether the given ccl program is valid.
3434         (mule_decode): When calling ccl_driver, if src indicates
3435         NULL pointer, set an empty string instead.
3436         (mule_encode): Likewise.
3437
3438         (detect_eol_type):
3439         (detect_coding_sjis):
3440         (decode_coding_sjis):
3441         (detect_coding_big5):
3442         (decode_coding_big5):
3443         (detect_coding_ucs4):
3444         (decode_coding_ucs4):
3445         (detect_coding_utf8):
3446         (decode_coding_utf8):
3447         (detect_coding_iso2022):
3448         (decode_coding_iso2022):
3449         (decode_coding_no_conversion):
3450         (mule_decode):
3451         Make all detecting and decoding functions take an Extbyte * arg.
3452         (text_encode_generic):
3453         (encode_coding_big5):
3454         (encode_coding_no_conversion):
3455         (mule_encode):
3456         Make all encoding functions take a Bufbyte * arg.
3457         Use size_t instead of unsigned int for memory sizes.
3458         Only cast to unsigned char whenever dereferencing Extbyte *.
3459
3460         (struct lrecord_description fcd_description_1): Use countof.
3461         (complex_vars_of_file_coding):
3462         Use countof instead of sizeof.
3463         Use CHECK_NATNUM instead of CHECK_INT.
3464
3465 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3466
3467         * mule-charset.c (Fget_char_attribute): Add new optional argument
3468         `default-value'.
3469         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3470         (remove_char_ccs): Likewise.
3471
3472 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3473
3474         * text-coding.c (char_encode_shift_jis): New implementation in
3475         UTF-2000.
3476         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3477         ...)'.
3478
3479         * mule-charset.c (Vcharset_chinese_big5): New variable in
3480         UTF-2000.
3481         (Qchinese_big5): New variable in UTF-2000.
3482         (BIG5_SAME_ROW): New macro in UTF-2000.
3483         (make_builtin_char): Use builtin characters of
3484         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3485         characters of `Vcharset_chinese_big5'.
3486         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3487         (complex_vars_of_mule_charset): Add new coded-charset
3488         `chinese-big5' in UTF-2000.
3489
3490         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3491         (Vcharset_chinese_big5): New external variable declaration.
3492         (Vcharset_japanese_jisx0208_1990): Likewise.
3493
3494 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3495
3496         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3497         function.
3498         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3499
3500 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3501
3502         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3503         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3504         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3505         `mojikyo-pj-*'.
3506
3507 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3508
3509         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3510
3511 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3512
3513         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3514         to 0.17.
3515
3516 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3517
3518         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3519         for `CHARSET_BY_ATTRIBUTES'.
3520         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3521         `CHARSET_BY_ATTRIBUTES'.
3522
3523         * text-coding.c (struct decoding_stream): Rename member `CH' to
3524         `CPOS'.
3525         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3526         (decode_coding_sjis): Likewise.
3527         (decode_coding_big5): Likewise.
3528         (decode_coding_ucs4): Likewise.
3529         (decode_coding_utf8): Likewise.
3530         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3531         `CHARSET_BY_ATTRIBUTES'.
3532         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3533         `str->counter'; decode 3, 4 bytes sets.
3534         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3535         sets.
3536         (decode_coding_no_conversion): Use `str->cpos' instead of
3537         `str->ch'.
3538
3539         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3540         (Qmojikyo_2022_1): New variable.
3541         (make_charset): Don't use `CHARSET_TYPE_*'.
3542         (range_charset_code_point): Support coded-charset
3543         `mojikyo-2022-1'.
3544         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3545         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3546         `CHARSET_BY_ATTRIBUTES'.
3547         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3548         `CHARSET_BY_ATTRIBUTES'.
3549         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3550         (complex_vars_of_mule_charset): Add new coded-charset
3551         `mojikyo-2022-1'.
3552
3553         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3554         interface; changed to inline function.
3555
3556         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3557         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3558         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3559         (CHARSET_TYPE_94): Deleted.
3560         (CHARSET_TYPE_94X94): Deleted.
3561         (CHARSET_TYPE_96): Deleted.
3562         (CHARSET_TYPE_96X96): Deleted.
3563         (CHARSET_TYPE_128): Deleted.
3564         (CHARSET_TYPE_128X128): Deleted.
3565         (CHARSET_TYPE_256): Deleted.
3566         (CHARSET_TYPE_256X256): Deleted.
3567         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3568         to inline function.
3569         (DECODE_MOJIKYO_2022): New inline function.
3570         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3571         `Vcharset_mojikyo_2022_1'.
3572
3573 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3574
3575         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3576         instead of `EQ'.
3577         (put_byte_table): Likewise.
3578         (char_id_table_equal): Use `get_byte_table' [new implementation].
3579
3580 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3581
3582         * mule-charset.c: Include <limits.h> in UTF-2000.
3583         (BT_UINT8_MIN): New macro in UTF-2000.
3584         (BT_UINT8_MAX): New macro in UTF-2000.
3585         (BT_UINT8_t): New macro in UTF-2000.
3586         (BT_UINT8_nil): New macro in UTF-2000.
3587         (BT_UINT8_unbound): New macro in UTF-2000.
3588         (INT_UINT8_P): New inline function in UTF-2000.
3589         (UINT8_VALUE_P): New inline function in UTF-2000.
3590         (UINT8_ENCODE): New inline function in UTF-2000.
3591         (UINT8_DECODE): New inline function in UTF-2000.
3592         (mark_uint8_byte_table): New function in UTF-2000.
3593         (print_uint8_byte_table): New function in UTF-2000.
3594         (uint8_byte_table_equal): New function in UTF-2000.
3595         (uint8_byte_table_hash): New function in UTF-2000.
3596         (make_uint8_byte_table): New function in UTF-2000.
3597         (uint8_byte_table_same_value_p): New function in UTF-2000.
3598         (BT_UINT16_MIN): New macro in UTF-2000.
3599         (BT_UINT16_MAX): New macro in UTF-2000.
3600         (BT_UINT16_t): New macro in UTF-2000.
3601         (BT_UINT16_nil): New macro in UTF-2000.
3602         (BT_UINT16_unbound): New macro in UTF-2000.
3603         (INT_UINT16_P): New inline function in UTF-2000.
3604         (UINT16_VALUE_P): New inline function in UTF-2000.
3605         (UINT16_ENCODE): New inline function in UTF-2000.
3606         (UINT16_DECODE): New inline function in UTF-2000.
3607         (UINT8_TO_UINT16): New inline function in UTF-2000.
3608         (mark_uint16_byte_table): New function in UTF-2000.
3609         (print_uint16_byte_table): New function in UTF-2000.
3610         (uint16_byte_table_equal): New function in UTF-2000.
3611         (uint16_byte_table_hash): New function in UTF-2000.
3612         (make_uint16_byte_table): New function in UTF-2000.
3613         (uint16_byte_table_same_value_p): New function in UTF-2000.
3614         (print_byte_table): New function in UTF-2000.
3615         (byte-table): Use `print_byte_table' as printer.
3616         (make_byte_table): Delete second argument `older'.
3617         (byte_table_same_value_p): New function in UTF-2000.
3618         (copy_byte_table): Deleted.
3619         (get_byte_table): New function in UTF-2000.
3620         (put_byte_table): New function in UTF-2000.
3621         (print_char_id_table): New function in UTF-2000.
3622         (char-id-table): Use `print_char_id_table' as printer.
3623         (make_char_id_table): Delete second argument `older'.
3624         (get_char_id_table): Use `get_byte_table [new implementation].
3625         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3626         implementation].
3627         (Ffind_char_attribute_table): New function in UTF-2000.
3628         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3629         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3630         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3631         (syms_of_mule_charset): Add new function
3632         `find-char-attribute-table' in UTF-2000.
3633
3634         * lrecord.h (enum lrecord_type): Add
3635         `lrecord_type_uint16_byte_table' and
3636         `lrecord_type_uint8_byte_table'.
3637
3638         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3639         (Lisp_Uint8_Byte_Table): New type.
3640         (XUINT8_BYTE_TABLE): New macro.
3641         (XSETUINT8_BYTE_TABLE): New macro.
3642         (UINT8_BYTE_TABLE_P): New macro.
3643         (GC_UINT8_BYTE_TABLE_P): New macro.
3644         (struct Lisp_Uint16_Byte_Table): New structure.
3645         (Lisp_Uint16_Byte_Table): New type.
3646         (XUINT16_BYTE_TABLE): New macro.
3647         (XSETUINT16_BYTE_TABLE): New macro.
3648         (UINT16_BYTE_TABLE_P): New macro.
3649         (GC_UINT16_BYTE_TABLE_P): New macro.
3650
3651 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3652
3653         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3654         (Vcharacter_ideographic_strokes_table): Deleted.
3655         (Vcharacter_total_strokes_table): Deleted.
3656         (Vcharacter_morohashi_daikanwa_table): Deleted.
3657         (Vcharacter_decomposition_table): Deleted.
3658         (Qname): Deleted because it is duplicated.
3659         (Qideographic_radical): Deleted.
3660         (Qideographic_strokes): Deleted.
3661         (Qtotal_strokes): Deleted.
3662         (Qmorohashi_daikanwa): Deleted.
3663         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3664         `ideographic-radical', `ideographic-strokes', `total-strokes',
3665         `morohashi-daikanwa' and `->decomposition'.
3666         (Fget_char_attribute): Likewise.
3667         (Fput_char_attribute): Likewise; use `make-vector' instead of
3668         `make_older_vector' for `->decomposition' value.
3669         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3670         `ideograph-daikanwa'.
3671         (syms_of_mule_charset): Delete builtin symbols `name',
3672         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3673         `morohashi-daikanwa'.
3674         (vars_of_mule_charset): Don't setup
3675         `Vcharacter_ideographic_radical_table',
3676         `Vcharacter_ideographic_strokes_table',
3677         `Vcharacter_total_strokes_table',
3678         `Vcharacter_morohashi_daikanwa_table' and
3679         `Vcharacter_decomposition_table'.
3680
3681 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3682
3683         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3684         `make_older_vector', `make_vector_newer_1' and
3685         `make_vector_newer'.
3686
3687         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3688         `make_older_vector' and `make_vector_newer'.
3689
3690         * config.h.in (HAVE_GGC): New macro.
3691
3692 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3693
3694         * mule-charset.c (struct char_attribute_list_closure): New
3695         structure in UTF-2000.
3696         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3697         (Fchar_attribute_list): Likewise.
3698         (Fset_charset_mapping_table): Use `make_vector_newer'.
3699         (Fdecode_builtin_char): New function in UTF-2000.
3700         (syms_of_mule_charset): Add new function `char-attribute-list' and
3701         `decode-builtin-char' in UTF-2000.
3702
3703         * lisp.h (make_vector_newer): New prototype.
3704
3705         * alloc.c (make_vector_newer_1): New function.
3706         (make_vector_newer): New function.
3707
3708 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3709
3710         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3711         50100)'.
3712
3713 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3714
3715         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3716         (Vcharacter_attribute_table): Deleted.
3717         (Vcharacter_name_table): Deleted.
3718         (put_char_attribute): Deleted.
3719         (remove_char_attribute): Deleted.
3720         (struct char_attribute_alist_closure): New structure.
3721         (add_char_attribute_alist_mapper): New function.
3722         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3723         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3724         (Fget_char_attribute): Likewise.
3725         (Fput_char_attribute): Likewise.
3726         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3727         of `remove_char_attribute'.
3728         (Fdefine_char): Return character.
3729         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3730         and `Vcharacter_name_table'.
3731         (complex_vars_of_mule_charset): Likewise
3732         `Vchar_attribute_hash_table'.
3733
3734 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3735
3736         * character.h (CHARC_CHARSET): New macro.
3737         (CHARC_CHARSET_ID): New macro.
3738         (CHARC_CODE_POINT): New macro.
3739         (CHARC_COLUMNS): New macro.
3740         (CHARC_TO_CHAR): New inline function.
3741         (CHARC_EQ): New inline function.
3742         (CHARC_ASCII_EQ): New inline function.
3743         (CHARC_IS_SPACE): New inline function.
3744         (ASCII_TO_CHARC): New inline function.
3745
3746         * char-ucs.h (encode_char_2): Deleted.
3747         (ENCODE_CHAR): Use `encode_char_1' again.
3748         (breakup_char_1): Likewise.
3749         (CHAR_TO_CHARC): New inline function.
3750
3751         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3752
3753 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3754
3755         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3756         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3757         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3758         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3759         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3760         `CHARC_IS_SPACE'.
3761         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3762
3763         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3764         `CHARC_CODE_POINT'.
3765         (x_output_display_block): Use `CHARC_CHARSET' and
3766         `CHARC_ASCII_EQ'.
3767
3768         * redisplay-tty.c (tty_output_display_block): Use
3769         `CHARC_ASCII_EQ'.
3770         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3771
3772         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3773
3774         * insdel.c (find_charsets_in_charc_string): Use
3775         `CHARC_CHARSET_ID'.
3776         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3777         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3778         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3779         (convert_charc_string_into_malloced_string): Likewise.
3780
3781 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3782
3783         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3784         instead of <Emchar_dynarr *> for buf; use
3785         `convert_bufbyte_string_into_charc_dynarr' instead of
3786         `convert_bufbyte_string_into_emchar_dynarr'; use
3787         `find_charsets_in_charc_string' instead of
3788         `find_charsets_in_emchar_string'.
3789
3790         * redisplay.h:
3791         - Include "character.h".
3792         (struct rune): New member `cglyph'; delete member `chr'.
3793
3794         * redisplay.c (redisplay_text_width_charc_string): New function;
3795         delete `redisplay_text_width_emchar_string'.
3796         (rtw_charc_dynarr): New variable; renamed from
3797         `rtw_emchar_dynarr'.
3798         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3799         `rtw_emchar_dynarr'; use
3800         `convert_bufbyte_string_into_charc_dynarr' instead of
3801         `convert_bufbyte_string_into_emchar_dynarr'; use
3802         `redisplay_text_width_charc_string' instead of
3803         `redisplay_text_width_emchar_string'.
3804         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3805         instead of `rtw_emchar_dynarr'; use
3806         `convert_bufbyte_string_into_charc_dynarr' instead of
3807         `convert_bufbyte_string_into_emchar_dynarr'.
3808         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3809         `redisplay_text_width_charc_string' instead of
3810         `redisplay_text_width_emchar_string'.
3811         (create_text_block): Modify for <struct rune> change.
3812         (generate_formatted_string_db): Likewise.
3813         (create_string_text_block): Likewise.
3814         (pixel_to_glyph_translation): Likewise.
3815
3816         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3817         instead of <const Emchar *>.
3818         (x_text_width): Likewise.
3819         (x_output_display_block): Use <Charc_dynarr *> instead
3820         <Emchar_dynarr *>; modify for <structure rune> change.
3821         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3822         *>.
3823
3824         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3825         <const Emchar *>; use `charc_string_displayed_columns' instead of
3826         `emchar_string_displayed_columns'.
3827         (tty_output_display_block): Use <Charc_dynarr *> instead of
3828         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3829         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3830         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3831         `tty_output_emchar_dynarr_dynarr'.
3832         (tty_output_charc_dynarr): New function; delete
3833         `tty_output_charc_dynarr'.
3834
3835         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3836         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3837         <Emchar_dynarr *> for buf; use
3838         `convert_bufbyte_string_into_charc_dynarr' instead of
3839         `convert_bufbyte_string_into_emchar_dynarr'.
3840
3841         * frame.c (title_string_charc_dynarr): New variable; renamed from
3842         `title_string_emchar_dynarr'.
3843         (generate_title_string): Use `title_string_charc_dynarr' instead
3844         of `title_string_emchar_dynarr'; use
3845         `convert_charc_string_into_malloced_string' instead of
3846         `convert_emchar_string_into_malloced_string'.
3847         (init_frame): Use `title_string_charc_dynarr' instead of
3848         `title_string_emchar_dynarr'.
3849
3850         * console.h:
3851         - Include "character.h".
3852         (struct console_methods): Use <const Charc *> instead of <const
3853         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3854         <Emchar_dynarr *> in output_string_method.
3855
3856         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3857         <Emchar_dynarr *>.
3858
3859         * console-stream.c (stream_text_width): Use <const Charc *>
3860         instead of <const Emchar *>.
3861
3862         * character.h (Charc_dynarr): New type.
3863
3864         * char-ucs.h (structure Charc): New structure; define new type
3865         `Charc'.
3866
3867         * char-lb.h (DECODE_CHAR): New inline function.
3868         (encode_char_1): New inline function.
3869         (ENCODE_CHAR): New macro.
3870         (structure Charc): New structure; define new type `Charc'.
3871
3872         * char-1byte.h (Vcharset_control_1): New macro.
3873         (Vcharset_latin_iso8859_1): New macro.
3874         (DECODE_CHAR): New inline function.
3875         (encode_char_1): New inline function.
3876         (ENCODE_CHAR): New macro.
3877         (structure Charc): New structure; define new type `Charc'.
3878
3879         * insdel.c (find_charsets_in_charc_string): New function; delete
3880         `find_charsets_in_emchar_string'.
3881         (charc_string_displayed_columns): New function; delete
3882         `emchar_string_displayed_columns'.
3883         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3884         `convert_bufbyte_string_into_emchar_dynarr'.
3885         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3886         `convert_charc_string_into_bufbyte_dynarr'.
3887         (convert_charc_string_into_malloced_string): New function; delete
3888         `convert_charc_string_into_malloced_string'.
3889
3890         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3891         `find_charsets_in_emchar_string'.
3892         (charc_string_displayed_columns): New prototype; delete
3893         `emchar_string_displayed_columns'.
3894         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3895         `convert_charc_string_into_bufbyte_dynarr'.
3896         (convert_charc_string_into_malloced_string): New prototype; delete
3897         `convert_charc_string_into_malloced_string'.
3898
3899 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3900
3901         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3902
3903 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3904
3905         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3906
3907         * char-ucs.h: Use <short> for <Charset_ID>.
3908
3909         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3910         <Charset_ID>.
3911
3912 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3913
3914         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3915         to 0.16.
3916
3917 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3918
3919         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3920         variable.
3921         (Qmorohashi_daikanwa): New variable.
3922         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3923         for `morohashi-daikanwa' attribute.
3924         (Fget_char_attribute): Likewise.
3925         (Fput_char_attribute): Likewise.
3926         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3927         has the same value of `ideograph-daikanwa'.
3928         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3929         (vars_of_mule_charset): Setup
3930         `Vcharacter_morohashi_daikanwa_table'.
3931
3932 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3933
3934         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3935         attributes.
3936         (add_charset_to_list_mapper): Add `key' instead of
3937         `XCHARSET_NAME (value)' to return aliases.
3938
3939 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3940
3941         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3942         variable.
3943         (Vcharacter_ideographic_strokes_table): New variable.
3944         (Qideographic_radical): New variable.
3945         (Qideographic_strokes): New variable.
3946         (Fchar_attribute_alist): Use
3947         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3948         attribute; use `Vcharacter_ideographic_strokes_table' for
3949         `ideographic-strokes' attribute.
3950         (Fget_char_attribute): Likewise.
3951         (Fput_char_attribute): Likewise.
3952         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3953         `ideographic-strokes'.
3954         (vars_of_mule_charset): Setup
3955         `Vcharacter_ideographic_radical_table' and
3956         `Vcharacter_ideographic_strokes_table'.
3957
3958 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3959
3960         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3961         (Qtotal_strokes): New variable.
3962         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3963         `total-strokes' attribute.
3964         (Fget_char_attribute): Likewise.
3965         (Fput_char_attribute): Likewise.
3966         (syms_of_mule_charset): Add new symbol `total-strokes'.
3967         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3968
3969 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3970
3971         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3972         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3973         are found.
3974         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3975         `->decomposition' attribute.
3976         (Fput_char_attribute): Likewise.
3977         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3978
3979 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3980
3981         * mule-charset.c (decoding_table_check_elements): New function.
3982         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3983
3984 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3985
3986         * mule-charset.c (Fset_charset_mapping_table): Use
3987         `put_char_ccs_code_point'.
3988
3989 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3990
3991         * mule-charset.c (decoding_table_put_char): New inline function.
3992         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3993
3994 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3995
3996         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3997         (XCHARSET_BYTE_SIZE): New macro.
3998         (decoding_table_remove_char): New inline function.
3999         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4000         `decoding_table_remove_char'.
4001         (remove_char_ccs): Use `decoding_table_remove_char'.
4002         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4003
4004 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4005
4006         * mule-charset.c (Vcharacter_name_table): New variable.
4007         (Qname): New variable.
4008         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4009         attribute.
4010         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4011         `Vcharacter_name_table' for `name' attribute.
4012         (Fremove_char_attribute): Use function `remove_char_ccs'.
4013         (put_char_ccs_code_point): New function.
4014         (remove_char_ccs): New function.
4015         (syms_of_mule_charset): Add new symbol `name'.
4016         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4017
4018 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4019
4020         * mule-charset.c (make_byte_table): Add new argument `older'.
4021         (make_char_id_table): Likewise.
4022         (copy_char_id_table): Comment out because it is not used.
4023         (put_char_id_table): Modify for `make_byte_table'.
4024         (Fput_char_attribute): Make encoding_table as older object;
4025         inherit older bit of `Vcharacter_composition_table'.
4026         (mark_charset): Don't mark `cs->encoding_table'.
4027         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4028         normal object; make `Vcharacter_composition_table' as an older
4029         object; delete staticpro for `Vcharacter_composition_table'; make
4030         `Vcharacter_variant_table' as a normal object.
4031
4032         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4033         (mark_object): Don't check older object in UTF-2000.
4034
4035         * lrecord.h (struct lrecord_header): Add new member `older' in
4036         UTF-2000.
4037         (set_lheader_implementation): Setup `SLI_header->older' in
4038         UTF-2000.
4039         (set_lheader_older_implementation): New macro in UTF-2000.
4040         (OLDER_RECORD_P): New macro in UTF-2000.
4041         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4042         (alloc_older_lcrecord): New prototype in UTF-2000.
4043         (alloc_older_lcrecord_type): New macro in UTF-2000.
4044
4045 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4046
4047         * mule-charset.c (byte_table_description): Use
4048         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4049         (char_id_table_description): Delete bogus `, 1'.
4050         (Fget_char_attribute): Refer encoding_table of each coded-charset
4051         to get value of coded-charset attribute of a character.
4052         (Fput_char_attribute): Use `make_older_vector' instead of
4053         `make_vector'; use encoding_table of each coded-charset to store
4054         value of coded-charset attribute of a character.
4055         (Fremove_char_attribute): Use encoding_table of each coded-charset
4056         to store value of coded-charset attribute of a character.
4057         (mark_charset): Mark `cs->encoding_table'; don't mark
4058         `cs->decoding_table'.
4059         (charset_description): Add description of new member
4060         `encoding_table'.
4061         (make_charset): Initialize `encoding_table'.
4062
4063         * char-ucs.h (struct Lisp_Charset): Add new member
4064         `encoding_table'.
4065         (CHARSET_ENCODING_TABLE): New macro.
4066         (XCHARSET_ENCODING_TABLE): New macro.
4067         (charset_code_point): New implementation.
4068         (encode_char_1): Likewise.
4069
4070         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4071         (disksave_object_finalization_1): Call finalizers of
4072         `all_older_lcrecords' in UTF-2000.
4073         (make_older_vector): New function in UTF-2000.
4074         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4075         UTF-2000.
4076
4077         * lisp.h (make_older_vector): New prototype in UTF-2000.
4078
4079 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4080
4081         * lrecord.h (enum lrecord_type): Rename
4082         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4083
4084         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4085         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4086         `get_char_code_table'.
4087
4088         * mule-charset.c (mark_char_id_table): Renamed from
4089         `mark_char_code_table'.
4090         (char_id_table_equal): Renamed from `char_code_table_equal'.
4091         (char_id_table_hash): Renamed from `char_code_table_hash'.
4092         (make_char_id_table): Renamed from `make_char_code_table'.
4093         (copy_char_id_table): Renamed from `copy_char_code_table'.
4094         (get_char_id_table): Renamed from `get_char_code_table'.
4095         (put_char_id_table): Renamed from `put_char_code_table'.
4096         (to_char_id): Renamed from `to_char_code'.
4097
4098         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4099         `Lisp_Char_Code_Table'.
4100         (char_id_table): Renamed from `char_code_table'.
4101         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4102         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4103         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4104         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4105         (get_char_id_table): Renamed from `get_char_code_table'.
4106
4107 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4108
4109         * lrecord.h (enum lrecord_type): Rename
4110         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4111
4112         * mule-charset.c (mark_byte_table): Renamed from
4113         `mark_char_byte_table'.
4114         (byte_table_equal): Renamed from `char_byte_table_equal'.
4115         (byte_table_hash): Renamed from `byte_table_hash'.
4116         (make_byte_table): Renamed from `make_byte_table'.
4117         (copy_byte_table): Renamed from `copy_char_byte_table'.
4118
4119         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4120         `Lisp_Char_Byte_Table'.
4121         (byte_table): Renamed from `char_byte_table'.
4122         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4123         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4124         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4125         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4126
4127 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4128
4129         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4130         (dfc_convert_to_internal_format): Likewise.
4131         
4132         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4133         * text-coding.c (Fcoding_system_alias_p): New function.
4134         * text-coding.c (Fcoding_system_aliasee): New function.
4135         * text-coding.c (append_suffix_to_symbol): New function.
4136         * text-coding.c (dangling_coding_system_alias_p): New function.
4137         * text-coding.c (Ffind_coding_system):
4138         * text-coding.c (Fcopy_coding_system):
4139         * text-coding.c (encode_coding_no_conversion):
4140         * text-coding.c (syms_of_file_coding):
4141         * text-coding.c (vars_of_file_coding):
4142         Rewrite coding system alias code.
4143         Allow nested aliases, like symbolic links.
4144         Allow redefinition of coding system aliases.
4145         Prevent existence of dangling coding system aliases.
4146         Eliminate convert_to_external_format.
4147         Eliminate convert_to_internal_format.
4148         
4149         * text-coding.c: Change enum eol_type to eol_type_t.
4150
4151 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4152
4153         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4154         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4155
4156         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4157         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4158
4159 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4160
4161         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4162         `ideograph-daikanwa'.
4163
4164         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4165         (Vcharset_ucs_bmp): Likewise.
4166         (Vcharset_mojikyo): Add new extern variable definition.
4167         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4168         (Vcharset_latin_iso8859_3): Likewise.
4169         (Vcharset_latin_iso8859_4): Likewise.
4170         (Vcharset_latin_iso8859_9): Likewise.
4171         (Vcharset_latin_viscii_lower): Likewise.
4172         (Vcharset_latin_viscii_upper): Likewise.
4173         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4174         `mojikyo' code-point is used to decode.
4175         (encode_char_2): New function [to convert `mojikyo' code-point to
4176         Mojikyo font encoding].
4177         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4178         (breakup_char_1): Likewise.
4179         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4180
4181 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4182
4183         * text-coding.c (Fmake_coding_system): Add document about
4184         `disable-composition' property.
4185
4186 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4187
4188         * text-coding.c (Qdisable_composition): New variable; delete
4189         `Qcomposite'.
4190         (Fmake_coding_system): Add new property `disable-composite';
4191         delete property `composite'.
4192         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4193         instead of `!CODING_SYSTEM_COMPOSITE'.
4194         (syms_of_file_coding): Add new symbol `disable-composition';
4195         delete symbol `composite'.
4196
4197         * file-coding.h (struct Lisp_Coding_System): Add
4198         `disable_composition'; delete `enable_composition'.
4199         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4200         `CODING_SYSTEM_COMPOSITE'.
4201         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4202         `XCODING_SYSTEM_COMPOSITE'.
4203
4204 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4205
4206         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4207         to 0.15.
4208
4209 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4210
4211         * text-coding.c (Qcomposite): New variable.
4212         (Fmake_coding_system): Add new property `composite'.
4213         (struct decoding_stream): Add `combined_char_count',
4214         `combined_chars' and `combining_table' in UTF-2000.
4215         (COMPOSE_FLUSH_CHARS): New macro.
4216         (COMPOSE_ADD_CHAR): New macro.
4217         (reset_decoding_stream): Reset `str->combined_char_count' and
4218         `str->combining_table' in UTF-2000.
4219         (decode_coding_iso2022): Modify for character-decomposition.
4220         (syms_of_file_coding): Add new symbol `composite'.
4221
4222 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4223
4224         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4225         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4226         of `Vcharacter_composition_table' if `->decomposition' property
4227         has only 1 element.
4228         (Qlatin_tcvn5712): New variable.
4229         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4230         (complex_vars_of_mule_charset): Add new coded-charset
4231         `latin-tcvn5712'.
4232
4233         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4234
4235 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4236
4237         * file-coding.h (struct Lisp_Coding_System): Add
4238         `enable_composition'.
4239         (CODING_SYSTEM_COMPOSITE): New macro.
4240         (XCODING_SYSTEM_COMPOSITE): New macro.
4241
4242 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4243
4244         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4245
4246 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4247
4248         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4249         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4250
4251 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4252
4253         * mule-charset.c (Vcharset_mojikyo): New variable.
4254         (Fdefine_char): Don't use coded-charset which does not have
4255         non-builtin character range to allocate character-id.
4256         (Qmojikyo): New variable.
4257         (syms_of_mule_charset): Add new symbol `mojikyo'.
4258         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4259
4260         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4261         (LEADING_BYTE_MOJIKYO): New macro.
4262         (MIN_CHAR_MOJIKYO): New macro.
4263         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4264         (MAX_CHAR_MOJIKYO): New macro.
4265
4266 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4267
4268         * mule-charset.c (remove_char_attribute): Fixed.
4269
4270 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4271
4272         * mule-charset.c (remove_char_attribute): New function.
4273         (Fremove_char_attribute): New function.
4274         (encode_builtin_char_1): Comment out builtin-support for
4275         greek-iso8859-7 and cyrillic-iso8859-5.
4276         (Fdecode_char): Check `code' is an integer.
4277         (syms_of_mule_charset): Add `remove-char-attribute'.
4278         (MIN_CHAR_GREEK): Deleted.
4279         (MAX_CHAR_GREEK): Likewise.
4280         (MIN_CHAR_CYRILLIC): Likewise.
4281         (MAX_CHAR_CYRILLIC): Likewise.
4282         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4283         MAX_CHAR_GREEK for `greek-iso8859-7'.
4284
4285         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4286         (MAX_CHAR_GREEK): Likewise.
4287         (MIN_CHAR_CYRILLIC): Likewise.
4288         (MAX_CHAR_CYRILLIC): Likewise.
4289
4290 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4291
4292         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4293         format is used without `ucs' property.
4294         (Fdecode_char): Fix problem with GR representation.
4295         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4296         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4297
4298 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4299
4300         * mule-charset.c (make_builtin_char): New function.
4301         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4302         (Fset_charset_mapping_table): Modify for new representation of
4303         code-point.
4304         (Fdecode_char): New function.
4305         (syms_of_mule_charset): Add new builtin function `decode-char' in
4306         UTF-2000.
4307
4308         * char-ucs.h (make_builtin_char): New prototype.
4309         (DECODE_CHAR): New inline function.
4310         (MAKE_CHAR): Use `DECODE_CHAR'.
4311
4312 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4313
4314         * text-coding.c (parse_charset_conversion_specs): Use
4315         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4316         `XCHARSET_TYPE'.
4317         (iso2022_designate): Likewise.
4318
4319         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4320         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4321
4322         * mule-charset.c (Vcharset_ucs): New variable.
4323         (print_charset): Change design; use `CHARSET_CHARS' and
4324         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4325         (make_charset): Change signature to specify `chars' and
4326         `dimension' instead of `type'.
4327         (range_charset_code_point): Modify for 256^n-set.
4328         (encode_builtin_char_1): Encode as `ucs' in default.
4329         (Fmake_charset): Modify for `make_charset'.
4330         (Fmake_reverse_direction_charset): Likewise.
4331         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4332         UTF-2000.
4333         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4334         for `make_charset'.
4335
4336         * char-ucs.h (Vcharset_ucs): New variable.
4337         (LEADING_BYTE_UCS): New macro.
4338         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4339         and `chars' to `unsigned short' from `unsigned int'.
4340         (CHARSET_TYPE): Deleted.
4341         (XCHARSET_TYPE): Deleted.
4342
4343 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4344
4345         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4346
4347         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4348         (ENCODE_CHAR): New macro.
4349
4350 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4351
4352         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4353         to 0.14 (Kawachi-Katakami).
4354
4355 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4356
4357         * text-coding.c (char_encode_shift_jis): Modify for
4358         `charset_code_point'.
4359         (char_encode_iso2022): Likewise.
4360
4361         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4362         (integer) instead of list of <Lisp_Object>s (integers) as the
4363         format of code-point of a coded-charset.
4364         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4365         (encode_builtin_char_1): New function; delete
4366         `split_builtin_char'.
4367         (charset_code_point): Return <int> instead of <Lisp_Object>.
4368         (Fsplit_char): Don't use `SPLIT_CHAR'.
4369
4370         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4371         prototype for `split_builtin_char'.
4372         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4373         (charset_code_point): Likewise.
4374         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4375         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4376
4377 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4378
4379         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4380         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4381
4382 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4383
4384         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4385
4386         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4387         (MAX_CHAR_OBS_94x94): Deleted.
4388
4389 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4390
4391         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4392
4393         * char-ucs.h (MAX_CHAR_BMP): New macro.
4394
4395 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4396
4397         * text-coding.c: Sync with r21-2-24.
4398
4399 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4400
4401         * file-coding.c: Modify for UTF-2000.
4402
4403 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4404
4405         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4406         to 0.13 (Takaida).
4407
4408 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4409
4410         * mule-charset.c (split_builtin_char): Delete builtin support for
4411         `katakana-jisx0201'.
4412         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4413         BMP area in builtin representation.
4414
4415         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4416         `Vcharset_katakana_jisx0201'.
4417
4418 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4419
4420         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4421         (Qisolated): New variable.
4422         (Qinitial): New variable.
4423         (Qmedial): New variable.
4424         (Qfinal): New variable.
4425         (Qvertical): New variable.
4426         (Qsmall): New variable.
4427         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4428         `Qvertical' and `Qsmall'.
4429         (Qmojikyo_pj_[1 .. 21]): New variable.
4430         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4431         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4432         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4433         .. 21]'.
4434
4435 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4436
4437         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4438         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4439         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4440
4441 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4442
4443         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4444         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4445         BMP.
4446         (Qjapanese_jisx0208_1990): New variable.
4447         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4448         (complex_vars_of_mule_charset): Add new coded-charset
4449         `japanese-jisx0208-1990'.
4450
4451         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4452         (MIN_CHAR_JIS_X0208_1990): New macro.
4453         (MAX_CHAR_JIS_X0208_1990): New macro.
4454
4455 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4456
4457         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4458         coded-charset is not found.
4459
4460 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4461
4462         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4463         (Fdefine_char): Use `Fmake_char'.
4464
4465 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4466
4467         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4468         (Vcharset_hiragana_jisx0208): Deleted.
4469         (Vcharset_katakana_jisx0208): Deleted.
4470         (Qideograph_daikanwa): New variable.
4471         (Qhiragana_jisx0208): Deleted.
4472         (Qkatakana_jisx0208): Deleted.
4473         (split_builtin_char): Split `ideograph-daikanwa'.
4474         (Fsplit_char): New implementation for UTF-2000.
4475         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4476         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4477         (complex_vars_of_mule_charset): Add new coded-charset
4478         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4479         `katakana-jisx0208'.
4480
4481         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4482         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4483         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4484         (MIN_CHAR_DAIKANWA): New macro.
4485         (MAX_CHAR_DAIKANWA): New macro.
4486
4487 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4488
4489         * data.c (Fstring_to_number): Don't recognize floating point if
4490         base is not 10.
4491
4492 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4493
4494         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4495
4496 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4497
4498         * mule-charset.c (Qsquare): New variable.
4499         (to_char_code): Add `Qsquare'.
4500         (syms_of_mule_charset): Add new symbol `square'.
4501
4502 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4503
4504         * mule-charset.c (Qcircle): New variable.
4505         (to_char_code): Add `Qcircle'.
4506         (syms_of_mule_charset): Add new symbol `circle'.
4507
4508 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4509
4510         * mule-charset.c (Qfont): New variable.
4511         (to_char_code): Add `Qfont'.
4512         (syms_of_mule_charset): Add new symbol `font'.
4513
4514 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4515
4516         * mule-charset.c (Qsub): New variable.
4517         (to_char_code): Add `Qsub'.
4518         (syms_of_mule_charset): Add new symbol `sub'.
4519
4520 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4521
4522         * mule-charset.c (Fput_char_attribute): Convert each element of
4523         VALUE to GL position if ATTRIBUTE is a GR-set,
4524
4525 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4526
4527         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4528         coded-charset is a GR-set.
4529
4530 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4531
4532         * mule-charset.c (Fput_char_attribute): Check each element of
4533         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4534
4535 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4536
4537         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4538         UTF-2000.
4539         (Qethiopic_ucs): New variable in UTF-2000.
4540         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4541         (complex_vars_of_mule_charset): Add new coded-charset
4542         `ethiopic-ucs' in UTF-2000.
4543
4544         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4545         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4546         9)'.
4547         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4548         10)'.
4549         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4550
4551 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4552
4553         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4554         `ascii'.
4555
4556 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4557
4558         * mule-charset.c (Vcharacter_variant_table): New variable.
4559         (Q_ucs): New variable.
4560         (Fchar_variants): New function.
4561         (Fput_char_attribute): Register `->ucs' value to
4562         `Vcharacter_variant_table'.
4563         (syms_of_mule_charset): Add new function `char-variants' and new
4564         symbol `->ucs'.
4565         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4566
4567 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4568
4569         * mule-charset.c (get_char_code_table): Allow negative character
4570         code.
4571         (put_char_code_table): Likewise.
4572         (Vcharacter_composition_table): New variable.
4573         (Q_decomposition): New variable.
4574         (Qwide): New variable.
4575         (Qnarrow): New variable.
4576         (Qcompat): New variable.
4577         (QnoBreak): New variable.
4578         (Qsuper): New variable.
4579         (Qfraction): New variable.
4580         (to_char_code): New function.
4581         (Fget_composite_char): New function.
4582         (Fput_char_attribute): Register `->decomposition' value to
4583         `Vcharacter_composition_table'.
4584         (syms_of_mule_charset): Add new function `get-composite-char', new
4585         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4586         `super' and `fraction'.
4587         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4588
4589 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4590
4591         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4592         character; copy the return value.
4593
4594 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4595
4596         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4597
4598         * mule-charset.c (range_charset_code_point): Must use make_int.
4599         (split_builtin_char): New function.
4600
4601 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4602
4603         * mule-charset.c (char_byte_table): Change name from
4604         "char-code-table" to "char-byte-table".
4605         (mark_char_code_table): New function.
4606         (char_code_table_equal): New function.
4607         (char_code_table_hash): New function.
4608         (char_code_table_description): New constant.
4609         (char_code_table): New type.
4610         (make_char_code_table): New function.
4611         (copy_char_code_table): New function.
4612         (get_char_code_table): Modify for `char_code_table' type.
4613         (put_char_code_table): Likewise.
4614         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4615         (Kashiwara).
4616
4617         * char-ucs.h (char_code_table): New type.
4618         (XCHAR_CODE_TABLE): New macro.
4619         (XSETCHAR_CODE_TABLE): New macro.
4620         (CHAR_CODE_TABLE_P): New macro.
4621         (GC_CHAR_CODE_TABLE_P): New macro.
4622         (struct Lisp_Char_Code_Table): New structure.
4623
4624 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4625
4626         * mule-charset.c (Fmake_charset): Setup byte_offset for
4627         {94|96}^n-set.
4628
4629 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4630
4631         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4632         character.
4633
4634 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4635
4636         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4637         is found.
4638
4639 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4640
4641         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4642         charset, it is regarded as a charset.
4643         (put_char_attribute): New function in UTF-2000.
4644         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4645         charset, mapping-table of the charset is modified.
4646         (Fdefine_char): New function in UTF-2000.
4647         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4648         `Fput_char_attribute'.
4649         (syms_of_mule_charset): Add new function `define-char' and new
4650         symbol `ucs' in UTF-2000.
4651         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4652
4653 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4654
4655         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4656         non-UTF-2000 configuration.
4657
4658 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4659
4660         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4661         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4662
4663         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4664         deleted.
4665         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4666         (Fset_charset_mapping_table): Likewise.
4667
4668         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4669         (CHARSET_ENCODING_TABLE): Delete.
4670         (XCHARSET_ENCODING_TABLE): Delete.
4671         (charset_code_point): New interface.
4672
4673 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4674
4675         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4676         instead of `charset_get_byte1' and `charset_get_byte2'.
4677
4678         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4679         (charset_get_byte2): Deleted.
4680
4681 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4682
4683         * char-ucs.h (SPLIT_CHAR): New inline function.
4684         (breakup_char_1): Use `SPLIT_CHAR'.
4685
4686         * mule-charset.c (range_charset_code_point): New function.
4687         (charset_code_point): New function.
4688
4689         * char-ucs.h (range_charset_code_point): New interface.
4690         (breakup_char_1): Use `range_charset_code_point'.
4691
4692 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4693
4694         * mule-charset.c (Fmake_charset): Delete unused local variable
4695         `code_offset'.
4696
4697         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4698         (breakup_char_1): Find a charset and code-point in
4699         `Vcharacter_attribute_table'.
4700
4701 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4702
4703         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4704         to 0.10 (Yao).
4705
4706 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4707
4708         * mule-charset.c (Vcharacter_attribute_table): New variable.
4709         (Fchar_attribute_alist): New function.
4710         (Fget_char_attribute): New function.
4711         (Fput_char_attribute): New function.
4712         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4713         too.
4714         (syms_of_mule_charset): Add new function `char-attribute-alist',
4715         `get-char-attribute' and `put-char-attribute'.
4716         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4717
4718 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4719
4720         * mule-charset.c (Fmake_charset): Just use
4721         `get_unallocated_leading_byte'.
4722
4723         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4724         sets; don't use final-byte based number for private sets.
4725
4726 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4727
4728         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4729         integer.
4730
4731 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4732
4733         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4734         to 0.9.
4735
4736 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4737
4738         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4739         of `CHAR_LEADING_BYTE' in UTF-2000.
4740
4741         * insdel.c (find_charsets_in_bufbyte_string): Use
4742         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4743         (find_charsets_in_emchar_string): Likewise.
4744
4745         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4746         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4747
4748         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4749         (CHAR_CHARSET_ID): New macro.
4750
4751 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4752
4753         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4754         charset-id - MIN_LEADING_BYTE.
4755         (put_char_table): Likewise.
4756
4757 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4758
4759         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4760         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4761         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4762         (CHARSET_ID_OFFSET): New macro.
4763         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4764         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4765         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4766         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4767         4).
4768         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4769         5).
4770         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4771         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4772         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4773         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4774         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4775
4776 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4777
4778         * mule-charset.c (next_allocated_leading_byte): New variable in
4779         UTF-2000.
4780         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4781         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4782         (get_unallocated_leading_byte): Simply use
4783         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4784         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4785         UTF-2000.
4786
4787         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4788         (MAX_LEADING_BYTE_PRIVATE): New macro.
4789         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4790         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4791
4792 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4793
4794         * mule-charset.c (Fmake_charset): Allocate final-byte based
4795         charset-id for 94-set, 96-set and 94x94-set.
4796
4797 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4798
4799         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4800         ambiguous `else'.
4801         (Fmake_charset): Likewise.
4802         (complex_vars_of_mule_charset): Modify the font registry of
4803         `ucs-bmp' not to match `Ethiopic-Unicode'.
4804
4805 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4806
4807         * mule-charset.c (complex_vars_of_mule_charset): Add font
4808         registory of `ucs-bmp'.
4809
4810 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4811
4812         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4813         coded-charsets in `default-coded-charset-priority-list' when
4814         breaking up a character.
4815
4816         * mule-charset.c (Vcharset_latin_viscii): New variable.
4817         (Qlatin_viscii): New variable.
4818         (make_charset): Don't use `decoding_table'.
4819         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4820         byte_offset.
4821         (Fset_charset_mapping_table): New implementation.
4822         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4823         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4824         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4825         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4826         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4827         charset `latin_viscii'.
4828
4829         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4830         (CHARSET_TYPE_94X94): Change to 1 from 2.
4831         (CHARSET_TYPE_96): Change to 2 from 1.
4832         (CHARSET_TYPE_128): New macro.
4833         (CHARSET_TYPE_128X128): Change to 5 from 4.
4834         (CHARSET_TYPE_256): New macro.
4835         (CHARSET_TYPE_256X256): Change to 7 from 5.
4836         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4837
4838 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4839
4840         * text-coding.c (char_encode_shift_jis): Refer
4841         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4842         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4843
4844         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4845         (char_byte_table_equal): New function in UTF-2000.
4846         (char_byte_table_hash): New function in UTF-2000.
4847         (char_byte_table_description): New constant in UTF-2000.
4848         (char_byte_table): New type in UTF-2000.
4849         (make_char_byte_table): New function in UTF-2000.
4850         (copy_char_byte_table): New function in UTF-2000.
4851         (make_char_code_table): New macro in UTF-2000.
4852         (get_char_code_table): New function in UTF-2000.
4853         (put_char_code_table): New function in UTF-2000.
4854         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4855         (charset_description): Add setting in UTF-2000.
4856         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4857         `CHARSET_TO_BYTE1_TABLE(cs)'.
4858         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4859         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4860         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4861         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4862         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4863         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4864         `CHARSET_TO_BYTE2_TABLE(cs)'.
4865
4866         * char-ucs.h (char_byte_table): New type.
4867         (XCHAR_BYTE_TABLE): New macro.
4868         (XSETCHAR_BYTE_TABLE): New macro.
4869         (CHAR_BYTE_TABLE_P): New macro.
4870         (GC_CHAR_BYTE_TABLE_P): New macro.
4871         (struct Lisp_Char_Byte_Table): New structure.
4872         (get_char_code_table): New interface.
4873         (Emchar_to_byte_table): Deleted.
4874         (get_byte_from_character_table): Deleted.
4875         (struct Lisp_Charset): Add `encoding_table'; delete
4876         `to_byte1_table' and `to_byte2_table'.
4877         (CHARSET_ENCODING_TABLE): New macro.
4878         (CHARSET_TO_BYTE1_TABLE): Deleted.
4879         (CHARSET_TO_BYTE2_TABLE): Deleted.
4880         (XCHARSET_ENCODING_TABLE): New macro.
4881         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4882         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4883
4884 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4885
4886         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4887         `vietnamese-viscii-*'.
4888
4889 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4890
4891         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4892         (Qvietnamese_viscii_upper): New variable.
4893         (Fdefine_charset_alias): New function.
4894         (syms_of_mule_charset): Add new function `define-charset-alias'.
4895         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4896         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4897         `latin-viscii-*'.
4898
4899 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4900
4901         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4902         (MAX_CHAR_OBS_94x94): New macro.
4903         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4904         for 94x94 sets.
4905
4906         * mule-charset.c (put_byte_from_character_table): Change unit size
4907         from 128 to 256.
4908         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4909         not defined.
4910         (Fmake_reverse_direction_charset): Modify dummy argument of
4911         `make_charset' for non-UTF-2000 environment.
4912
4913 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4914
4915         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4916
4917         * mule-charset.c (destroy_byte_from_character_table): New macro.
4918         (latin_jisx0201_to_ucs): Deleted.
4919         (latin_iso8859_2_to_ucs): Deleted.
4920         (latin_iso8859_3_to_ucs): Deleted.
4921         (latin_iso8859_4_to_ucs): Deleted.
4922         (latin_iso8859_9_to_ucs): Deleted.
4923         (latin_viscii_lower_to_ucs): Deleted.
4924         (latin_viscii_upper_to_ucs): Deleted.
4925         (mark_charset): Mark `cs->decoding_table'.
4926         (Fcharset_mapping_table): Fix DOC-string.
4927         (Fset_charset_mapping_table): New function.
4928         (syms_of_mule_charset): Add nwe function
4929         `set-charset-mapping-table'.
4930         (complex_vars_of_mule_charset): Don't setup and use
4931         `latin_*_to_ucs'.
4932
4933 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4934
4935         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4936         charset.
4937
4938 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4939
4940         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4941         (Vcharset_katakana_jisx0208): New variable.
4942         (Qhiragana_jisx0208): New variable.
4943         (Qkatakana_jisx0208): New variable.
4944         (make_charset): Add new argument `byte_offset'.
4945         (charset_get_byte1): Modify for new coded-charset definition; use
4946         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4947         `XCHARSET_BYTE_OFFSET'.
4948         (Fmake_charset): Modify for `make_charset'.
4949         (Fmake_reverse_direction_charset): Likewise.
4950         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4951         `katakana-jisx0208'.
4952         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4953         `.'  in font registry of charset `katakana-jisx0201',
4954         `latin-jisx0201', `vietnamese-viscii-lower' and
4955         `vietnamese-viscii-upper'; modify DOC-string of charset
4956         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4957         registry of charset `japanese-jisx0208' not to use font for JIS
4958         X0208:1990; add new charset `hiragana-jisx0208' and
4959         `katakana-jisx0208'.
4960
4961         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4962         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4963         (struct Lisp_Charset): Add `byte_offset'.
4964         (CHARSET_BYTE_OFFSET): New macro.
4965         (XCHARSET_UCS_MIN): New macro.
4966         (XCHARSET_UCS_MAX): New macro.
4967         (XCHARSET_CODE_OFFSET): New macro.
4968         (XCHARSET_BYTE_OFFSET): New macro.
4969         (MIN_CHAR_HIRAGANA): New macro.
4970         (MAX_CHAR_HIRAGANA): New macro.
4971         (MIN_CHAR_KATAKANA): New macro.
4972         (MAX_CHAR_KATAKANA): New macro.
4973         (MAKE_CHAR): Modify for new coded-charset definition; use
4974         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4975         `XCHARSET_BYTE_OFFSET'.
4976
4977 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4978
4979         * mule-charset.c (CHAR96): Deleted.
4980         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4981         <Lisp_Object>.
4982         (latin_iso8859_2_to_ucs): Likewise.
4983         (latin_iso8859_3_to_ucs): Likewise.
4984         (latin_iso8859_4_to_ucs): Likewise.
4985         (latin_iso8859_9_to_ucs): Likewise.
4986         (latin_viscii_lower_to_ucs): Likewise.
4987         (latin_viscii_upper_to_ucs): Likewise.
4988         (latin_tcvn5712_to_ucs): Commented out.
4989         (make_charset): Change type of argument `decoding_table' from
4990         <Emchar*> to <Lisp_Object> [vector of characters].
4991         (Fmake_charset): Modify for `make_charset'.
4992         (Fmake_reverse_direction_charset): Likewise.
4993         (Fcharset_mapping_table): New function in UTF-2000.
4994         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4995         UTF-2000.
4996         (complex_vars_of_mule_charset): Modify for type change of
4997         `*_to_ucs'; modify for `make_charset'.
4998
4999         * char-ucs.h (struct Lisp_Charset): Change type of
5000         `decoding_table' from <Emchar*> to <Lisp_Object>.
5001         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5002
5003 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5004
5005         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5006         error with non-UTF-2000-Mule.
5007
5008 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5009
5010         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5011         in lisp again].
5012         (Vcharset_chinese_cns11643_4): Likewise.
5013         (Vcharset_chinese_cns11643_5): Likewise.
5014         (Vcharset_chinese_cns11643_6): Likewise.
5015         (Vcharset_chinese_cns11643_7): Likewise.
5016         (Qchinese_cns11643_3): Likewise.
5017         (Qchinese_cns11643_4): Likewise.
5018         (Qchinese_cns11643_5): Likewise.
5019         (Qchinese_cns11643_6): Likewise.
5020         (Qchinese_cns11643_7): Likewise.
5021         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5022         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5023         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5024         (complex_vars_of_mule_charset): Likewise.
5025
5026 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5027
5028         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5029         96-set.
5030         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5031         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5032
5033 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5036         0xFF60.
5037         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5038         (breakup_char_1): Likewise.
5039
5040         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5041         one of them includes the specified character.
5042
5043 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5044
5045         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5046
5047 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5048
5049         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5050
5051 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5052
5053         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5054         definition for non-UTF-2000 Mule.
5055         (latin_iso8859_3_to_ucs): Likewise.
5056         (latin_iso8859_4_to_ucs): Likewise.
5057         (latin_iso8859_9_to_ucs): Likewise.
5058         (latin_jisx0201_to_ucs): Likewise.
5059         (MIN_CHAR_THAI): Likewise.
5060         (MAX_CHAR_THAI): Likewise.
5061         (MIN_CHAR_GREEK): Likewise.
5062         (MAX_CHAR_GREEK): Likewise.
5063         (MIN_CHAR_HEBREW): Likewise.
5064         (MAX_CHAR_HEBREW): Likewise.
5065         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5066         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5067         (MIN_CHAR_CYRILLIC): Likewise.
5068         (MAX_CHAR_CYRILLIC): Likewise.
5069
5070 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5071
5072         * char-ucs.h (breakup_char_1): Use
5073         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5074         thai-tis620 and katakana-jisx0201 area.
5075
5076 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5077
5078         * char-ucs.h (breakup_char_1): Use
5079         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5080         area.
5081
5082         * text-coding.c (reset_encoding_stream): Fixed.
5083         (char_encode_ucs4): Delete `& 255'.
5084
5085         * char-ucs.h (breakup_char_1): Use
5086         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5087
5088 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5089
5090         * file-coding.c (Fmake_coding_system): Don't set up
5091         `codesys->fixed.size'.
5092         (encode_coding_no_conversion): Don't refer
5093         `str->codesys->fixed.size'.
5094
5095 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5096
5097         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5098         (latin_a_char_to_byte1): Deleted.
5099         (latin_a_char_to_byte2): Deleted.
5100
5101 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5102
5103         * mule-charset.c (make_charset): Add new argument `ucs_min',
5104         `ucs_max' and `code_offset'.
5105         (charset_get_byte1): New implementation [delete specific charset
5106         depended implementations].
5107         (Fmake_charset): Modify for `make_charset'.
5108         (Fmake_reverse_direction_charset): Likewise.
5109         (complex_vars_of_mule_charset): Likewise.
5110
5111         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5112         `code_offset'.
5113         (CHARSET_UCS_MIN): New macro.
5114         (CHARSET_UCS_MAX): New macro.
5115         (CHARSET_CODE_OFFSET): New macro.
5116         (MAKE_CHAR): Delete charset depended definitions [except
5117         katakana-jisx0201].
5118
5119 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5120
5121         * char-ucs.h (breakup_char_1): Use
5122         `Vdefault_coded_charset_priority_list' for C0-Controls,
5123         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5124
5125 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5126
5127         * char-ucs.h (charset_get_byte1): New function.
5128         (XCHARSET_GET_BYTE1): Deleted.
5129         (charset_get_byte2): New function.
5130         (XCHARSET_GET_BYTE2): Deleted.
5131         (Vdefault_coded_charset_priority_list): New external variable.
5132         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5133         `Vdefault_preferred_coded_charset_list'.
5134
5135         * mule-charset.c (charset_get_byte1): New function.
5136         (charset_get_byte2): New function.
5137         (Vdefault_coded_charset_priority_list): New variable.
5138         (vars_of_mule_charset): Add new variable
5139         `default-coded-charset-priority-list'.
5140
5141 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5142
5143         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5144         (XCHARSET_GET_BYTE2): New inline function.
5145         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5146         `XCHARSET_GET_BYTE2'.
5147
5148 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5149
5150         * mule-charset.c (make_charset): Initialize
5151         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5152         NULL if table is not defined.
5153
5154 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5155
5156         * text-coding.c (char_encode_shift_jis): Use
5157         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5158         `ucs_to_latin_jisx0201'.
5159
5160         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5161         (ucs_to_latin_iso8859_2): Deleted.
5162         (ucs_to_latin_iso8859_3): Deleted.
5163         (ucs_to_latin_iso8859_4): Deleted.
5164         (ucs_to_latin_iso8859_9): Deleted.
5165         (ucs_to_latin_viscii_lower): Deleted.
5166         (ucs_to_latin_viscii_upper): Deleted.
5167         (ucs_to_latin_tcvn5712): Deleted.
5168         (make_charset): Add new argument `decoding_table'; set up
5169         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5170         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5171         `decoding_table' is defined in UTF-2000.
5172         (Fmake_charset): Modify for `make_charset'.
5173         (Fmake_reverse_direction_charset): Likewise.
5174         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5175         and `GENERATE_96_SET'.
5176
5177         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5178         (ucs_to_latin_jisx0201): Deleted.
5179         (latin_iso8859_2_to_ucs): Deleted.
5180         (ucs_to_latin_iso8859_2): Deleted.
5181         (latin_iso8859_3_to_ucs): Deleted.
5182         (ucs_to_latin_iso8859_3): Deleted.
5183         (latin_iso8859_4_to_ucs): Deleted.
5184         (ucs_to_latin_iso8859_4): Deleted.
5185         (latin_iso8859_9_to_ucs): Deleted.
5186         (ucs_to_latin_iso8859_9): Deleted.
5187         (latin_viscii_lower_to_ucs): Deleted.
5188         (ucs_to_latin_viscii_lower): Deleted.
5189         (latin_viscii_upper_to_ucs): Deleted.
5190         (ucs_to_latin_viscii_upper): Deleted.
5191         (struct Lisp_Charset): Renamed `encoding_table' to
5192         `to_byte1_table'; add `to_byte2_table'.
5193         (CHARSET_DECODING_TABLE): New macro.
5194         (CHARSET_TO_BYTE1_TABLE): New macro.
5195         (CHARSET_TO_BYTE2_TABLE): New macro.
5196         (XCHARSET_DECODING_TABLE): New macro.
5197         (XCHARSET_TO_BYTE1_TABLE): New macro.
5198         (XCHARSET_TO_BYTE2_TABLE): New macro.
5199         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5200         tables.
5201         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5202         don't use `ucs_to_*' tables.
5203
5204 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5205
5206         * text-coding.c (Fmake_coding_system): Don't set up
5207         `codesys->fixed.size'.
5208         (encode_coding_no_conversion): Use `if' instead of `switch'.
5209
5210         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5211
5212 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5213
5214         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5215         (Fmake_charset): Modify for `make_charset'.
5216         (Fmake_reverse_direction_charset): Likewise.
5217         (complex_vars_of_mule_charset): Likewise.
5218
5219 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5220
5221         * text-coding.c (char_encode_shift_jis): Use table
5222         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5223
5224 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5225
5226         * text-coding.c (text_encode_generic): Use `if' instead of
5227         `switch'.
5228         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5229         decode JIS-Latin.
5230
5231 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5232
5233         * text-coding.c (encode_coding_sjis): Deleted.
5234         (char_encode_shift_jis): New function.
5235         (char_finish_shift_jis): New function.
5236         (reset_encoding_stream): Set up `encode_char' and `finish' for
5237         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5238         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5239         (char_encode_utf8): Treat `eol_type'.
5240
5241 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5242
5243         * file-coding.c (decode_coding_iso2022): Use
5244         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5245
5246 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5247
5248         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5249         to 0.7 (Hirano).
5250
5251 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5252
5253         * char-lb.h (CHAR_COLUMNS): New macro.
5254
5255 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5256
5257         * text-coding.c (char_encode_ucs4): New function.
5258         (char_finish_ucs4): New function.
5259         (encode_coding_ucs4): Deleted.
5260         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5261         (text_encode_generic): Delete local variable `charset' and `half'.
5262         (ucs_to_mule_table): Deleted.
5263         (mule_to_ucs_table): Deleted.
5264         (Fset_ucs_char): Deleted.
5265         (ucs_to_char): Deleted.
5266         (Fucs_char): Deleted.
5267         (Fset_char_ucs): Deleted.
5268         (Fchar_ucs): Deleted.
5269         (decode_ucs4): Deleted.
5270         (mule_char_to_ucs4): Deleted.
5271         (encode_ucs4): Deleted.
5272         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5273         (decode_coding_utf8): Likewise.
5274         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5275         (char_encode_iso2022): Fixed.
5276         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5277         `Fset_char_ucs' and `Fchar_ucs'.
5278         (complex_vars_of_file_coding): Don't initialize
5279         `ucs_to_mule_table'.
5280
5281         * objects-tty.c (tty_initialize_font_instance): Don't use
5282         `XCHARSET_COLUMNS'.
5283
5284         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5285         UTF-2000.
5286
5287         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5288         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5289
5290         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5291         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5292         (emchar_string_displayed_columns): Likewise.
5293
5294         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5295         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5296         (string_column_at_point): Likewise.
5297         (Fmove_to_column): Likewise.
5298
5299         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5300         `encoding_table' and `decoding_table'.
5301         (CHARSET_REP_BYTES): Deleted.
5302         (XCHARSET_REP_BYTES): Deleted.
5303         (XCHARSET_COLUMNS): Deleted.
5304         (CHAR_COLUMNS): New macro.
5305         (lookup_composite_char): Deleted unconditionally.
5306         (composite_char_string): Likewise.
5307
5308 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5309
5310         * char-ucs.h (Emchar_to_byte_table): New type.
5311         (get_byte_from_character_table): New function interface.
5312         (Vcharset_latin_jisx0201): New variable.
5313         (latin_jisx0201_to_ucs): New variable.
5314         (ucs_to_latin_jisx0201): New variable.
5315         (Vcharset_latin_iso8859_2): New variable.
5316         (latin_iso8859_2_to_ucs): New variable.
5317         (ucs_to_latin_iso8859_2): New variable.
5318         (Vcharset_latin_iso8859_3): New variable.
5319         (latin_iso8859_3_to_ucs): New variable.
5320         (ucs_to_latin_iso8859_3): New variable.
5321         (Vcharset_latin_iso8859_4): New variable.
5322         (latin_iso8859_4_to_ucs): New variable.
5323         (ucs_to_latin_iso8859_4): New variable.
5324         (Vcharset_latin_iso8859_9): New variable.
5325         (latin_iso8859_9_to_ucs): New variable.
5326         (ucs_to_latin_iso8859_9): New variable.
5327         (Vcharset_latin_viscii_lower): New variable.
5328         (latin_viscii_lower_to_ucs): New variable.
5329         (ucs_to_latin_viscii_lower): New variable.
5330         (Vcharset_latin_viscii_upper): New variable.
5331         (latin_viscii_upper_to_ucs): New variable.
5332         (ucs_to_latin_viscii_upper): New variable.
5333         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5334         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5335         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5336         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5337         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5338         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5339         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5340         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5341         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5342         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5343
5344         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5345         (Vcharset_latin_viscii_upper): New variable.
5346         (make_byte_from_character_table): New function.
5347         (put_byte_from_character_table): New function.
5348         (get_byte_from_character_table): New function.
5349         (CHAR96): New macro.
5350         (ucs_to_latin_jisx0201): New variable.
5351         (latin_jisx0201_to_ucs): New variable.
5352         (ucs_to_latin_iso8859_2): New variable.
5353         (latin_iso8859_2_to_ucs): New variable.
5354         (ucs_to_latin_iso8859_3): New variable.
5355         (latin_iso8859_3_to_ucs): New variable.
5356         (ucs_to_latin_iso8859_4): New variable.
5357         (latin_iso8859_4_to_ucs): New variable.
5358         (ucs_to_latin_iso8859_9): New variable.
5359         (latin_iso8859_9_to_ucs): New variable.
5360         (ucs_to_latin_viscii_lower): New variable.
5361         (latin_viscii_lower_to_ucs): New variable.
5362         (ucs_to_latin_viscii_upper): New variable.
5363         (latin_viscii_upper_to_ucs): New variable.
5364         (ucs_to_latin_tcvn5712): New variable.
5365         (latin_tcvn5712_to_ucs): New variable.
5366         (Qlatin_viscii_lower): New variable.
5367         (Qlatin_viscii_upper): New variable.
5368         (syms_of_mule_charset): Set up new symbol
5369         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5370         (complex_vars_of_mule_charset): Set up new charset
5371         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5372         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5373         `ucs_to_<CHARSET>' tables.
5374
5375 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5376
5377         * text-coding.c: New file.
5378
5379 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5380
5381         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5382
5383         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5384         (MAKE_CHAR): Modify for `ucs-bmp'.
5385         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5386         non-MULE characters of BMP.
5387
5388 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5389
5390         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5391         to 0.6.
5392
5393 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5394
5395         * lstream.h:
5396         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5397         - Include character.h for `CHAR_ASCII_P'.
5398
5399         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5400
5401         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5402         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5403
5404         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5405         (BYTE_C0_P): Likewise.
5406         (BYTE_C1_P): Likewise.
5407         (Lstream_get_emchar_1): Likewise.
5408         (Lstream_fput_emchar): Likewise.
5409         (Lstream_funget_emchar): Likewise.
5410         (copy_internal_to_external): Likewise.
5411         (copy_external_to_internal): Likewise.
5412
5413         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5414         (BYTE_C0_P): Likewise.
5415         (BYTE_C1_P): Likewise.
5416         (Lstream_get_emchar_1): Likewise.
5417         (Lstream_fput_emchar): Likewise.
5418         (Lstream_funget_emchar): Likewise.
5419         (copy_internal_to_external): Likewise.
5420         (copy_external_to_internal): Likewise.
5421
5422         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5423         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5424
5425         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5426         (BYTE_ASCII_P): Moved to mb-1byte.h.
5427
5428 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5429
5430         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5431
5432         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5433         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5434         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5435         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5436         (VALIDATE_CHARPTR_FORWARD): Likewise.
5437         (simple_charptr_emchar): Moved to mb-multibyte.h.
5438         (simple_set_charptr_emchar): Likewise.
5439         (simple_charptr_copy_char): Likewise.
5440         (non_ascii_charptr_emchar): Likewise.
5441         (non_ascii_set_charptr_emchar): Likewise.
5442         (non_ascii_charptr_copy_char): Likewise.
5443         (charptr_emchar): Moved to mb-*byte.h.
5444         (set_charptr_emchar): Likewise.
5445         (charptr_copy_char): Likewise.
5446
5447         * mb-1byte.h, mb-multibyte.h: New files.
5448
5449 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5450
5451         * mb-utf-8.h (MULTIBYTE): New macro.
5452         (MAX_EMCHAR_LEN): Moved from buffer.h.
5453         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5454
5455         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5456
5457         * mb-lb.h, multibyte.h: New files.
5458
5459         * char-1byte.h (Charset_ID): Moved from buffer.h.
5460         (MIN_LEADING_BYTE): Likewise.
5461         (LEADING_BYTE_ASCII): Likewise.
5462         (NUM_LEADING_BYTES): Likewise.
5463         (CHARSETP): Likewise.
5464         (CHARSET_BY_LEADING_BYTE): Likewise.
5465         (XCHARSET_LEADING_BYTE): Likewise.
5466         (XCHARSET_GRAPHIC): Likewise.
5467         (XCHARSET_COLUMNS): Likewise.
5468         (XCHARSET_DIMENSION): Likewise.
5469         (CHAR_CHARSET): Likewise.
5470         (CHAR_LEADING_BYTE): Likewise.
5471         (BREAKUP_CHAR): Likewise.
5472         (Vcharset_ascii): Likewise.
5473
5474         * buffer.h: Include multibyte.h unconditionally.
5475         (VALID_CHARPTR_P): Moved to multibyte.h.
5476         (ASSERT_VALID_CHARPTR): Likewise.
5477         (REAL_INC_CHARPTR): Likewise.
5478         (REAL_INC_CHARBYTIND): Likewise.
5479         (REAL_DEC_CHARPTR): Likewise.
5480         (INC_CHARPTR): Likewise.
5481         (INC_CHARBYTIND): Likewise.
5482         (DEC_CHARPTR): Likewise.
5483         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5484         (VALIDATE_CHARPTR_FORWARD): Likewise.
5485         (charptr_n_addr): Likewise.
5486         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5487         (simple_charptr_emchar): Moved to multibyte.h.
5488         (simple_set_charptr_emchar): Likewise.
5489         (simple_charptr_copy_char): Likewise.
5490         (non_ascii_charptr_emchar): Likewise.
5491         (non_ascii_set_charptr_emchar): Likewise.
5492         (non_ascii_charptr_copy_char): Likewise.
5493         (charptr_emchar): Likewise.
5494         (set_charptr_emchar): Likewise.
5495         (charptr_copy_char): Likewise.
5496         (charptr_emchar_n): Likewise.
5497         (Charset_ID): Moved to char-1byte.h.
5498         (Vcharset_ascii): Likewise.
5499         (CHAR_CHARSET): Likewise.
5500         (CHAR_LEADING_BYTE): Likewise.
5501         (LEADING_BYTE_ASCII): Likewise.
5502         (NUM_LEADING_BYTES): Likewise.
5503         (MIN_LEADING_BYTE): Likewise.
5504         (CHARSETP): Likewise.
5505         (CHARSET_BY_LEADING_BYTE): Likewise.
5506         (XCHARSET_LEADING_BYTE): Likewise.
5507         (XCHARSET_GRAPHIC): Likewise.
5508         (XCHARSET_COLUMNS): Likewise.
5509         (XCHARSET_DIMENSION): Likewise.
5510         (BREAKUP_CHAR): Likewise.
5511
5512 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5513
5514         * character.h: Add document about interface for characters.
5515
5516         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5517         (MAKE_CHAR): Delete comment about
5518         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5519         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5520         (BREAKUP_CHAR): Modify name of arguments.
5521         (CHAR_CHARSET): Modify name of argument.
5522
5523         * buffer.h: Delete document about Emchar accessors.
5524
5525 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5526
5527         * character.h (CHAR_INTP): Moved from buffer.h
5528         (CHAR_OR_CHAR_INTP): Likewise.
5529         (XCHAR_OR_CHAR_INT): Likewise.
5530         (CHECK_CHAR_COERCE_INT): Likewise.
5531
5532         * buffer.h (CHAR_INTP): Moved to character.h
5533         (CHAR_OR_CHAR_INTP): Likewise.
5534         (XCHAR_OR_CHAR_INT): Likewise.
5535         (CHECK_CHAR_COERCE_INT): Likewise.
5536
5537 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5538
5539         * character.h:
5540         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5541         - Include char-1byte.h, char-lb.h or char-ucs.h.
5542
5543         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5544
5545         * buffer.h: Include character unconditionally.
5546         (valid_char_p): Moved to char-*.h.
5547         (non_ascii_valid_char_p): Moved to char-lb.h.
5548
5549         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5550
5551 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5552
5553         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5554         in UTF-2000 because it is not ported yet and not to use
5555         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5556         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5557         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5558
5559         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5560         (CHAR_ASCII_P): Moved from character.h.
5561
5562         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5563         (CHAR_ASCII_P): Likewise.
5564         (CHAR_FIELD1_MASK): Deleted.
5565         (CHAR_FIELD2_MASK): Deleted.
5566         (CHAR_FIELD3_MASK): Deleted.
5567         (MAX_CHAR_BASIC_LATIN): New macro.
5568         (CHAR_FIELD1): Deleted.
5569         (CHAR_FIELD2_INTERNAL): Deleted.
5570         (CHAR_FIELD3_INTERNAL): Deleted.
5571         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5572         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5573         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5574         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5575         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5576         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5577         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5578         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5579         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5580         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5581         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5582         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5583         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5584         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5585         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5586         (MIN_CHAR_COMPOSITION): Deleted.
5587         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5588         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5589
5590 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5591
5592         * buffer.h: Include mb-utf-8.h in UTF-2000.
5593
5594         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5595
5596         * mb-utf-8.h: New file.
5597
5598 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5599
5600         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5601         instead of `int'.
5602
5603         * mule-charset.h, buffer.h (Charset_ID): New type.
5604
5605 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5606
5607         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5608         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5609         instead of `MULE_CHAR_PRIVATE_OFFSET',
5610         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5611         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5612         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5613
5614         * character.h (Vcharset_japanese_jisx0212): New variable
5615         definition.
5616
5617 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5618
5619         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5620         (charset_by_attributes): Delete array about direction.
5621         (latin_a_char_to_charset): New variable in UTF-2000.
5622         (latin_a_char_to_byte1): New variable in UTF-2000.
5623         (latin_a_char_to_byte2): New variable in UTF-2000.
5624         (Qucs_bmp): New variable.
5625         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5626         `Bufbyte'.
5627         (next_allocated_2_byte_leading_byte): Likewise.
5628         (non_ascii_set_charptr_emchar): Likewise.
5629         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5630         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5631         `charset_by_attributes'.
5632         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5633         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5634         and `CHARSET_BY_LEADING_BYTE'.
5635         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5636         `utf-2000-version' to `vars_of_mule_charset'.
5637         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5638         define `leading-code-private-11' in UTF-2000; move setting of
5639         `utf-2000-version' from `syms_of_mule_charset'.
5640         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5641         UTF-2000.
5642
5643         * character.h (Charset_ID): New type.
5644         (LEADING_BYTE_UCS_BMP): New macro.
5645         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5646         (CHARSET_ID_OFFSET_94): New macro.
5647         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5648         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5649         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5650         final-byte.
5651         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5652         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5653         (CHARSET_ID_OFFSET_96): New macro.
5654         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5655         CHARSET_ID_OFFSET_96 and final-byte.
5656         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5657         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5658         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5659         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5660         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5661         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5662         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5663         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5664         (LEADING_BYTE_THAI_TIS620): Likewise.
5665         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5666         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5667         (CHARSET_ID_OFFSET_94x94): New macro.
5668         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5669         CHARSET_ID_OFFSET_94x94 and final-byte.
5670         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5671         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5672         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5673         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5674         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5675         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5676         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5677         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5678         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5679         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5680         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5681         (CHARSET_TYPE_128X128): New macro.
5682         (CHARSET_TYPE_256X256): New macro.
5683         (XCHARSET_PRIVATE_P): Delete unconditionally.
5684         (charset_by_attributes): Delete array about direction.
5685         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5686         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5687         (MIN_CHAR_94): New macro.
5688         (MAX_CHAR_94): New macro.
5689         (MIN_CHAR_96): New macro.
5690         (MAX_CHAR_96): New macro.
5691         (MIN_CHAR_94x94): New macro.
5692         (MAX_CHAR_94x94): New macro.
5693         (MIN_CHAR_96x96): New macro.
5694         (MAX_CHAR_96x96): New macro.
5695         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5696         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5697         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5698         - 32)'.
5699         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5700         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5701         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5702         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5703         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5704         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5705         `XCHARSET_LEADING_BYTE' to make code-point.
5706         (latin_a_char_to_charset): New variable.
5707         (latin_a_char_to_byte1): New variable.
5708         (latin_a_char_to_byte2): New variable.
5709         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5710         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5711         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5712
5713         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5714         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5715         (find_charsets_in_emchar_string): Likewise.
5716         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5717
5718         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5719         `int'.
5720         (decode_coding_iso2022): Likewise.
5721
5722         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5723         of `unsigned char'.
5724
5725         * redisplay.c (redisplay_text_width_emchar_string): Use
5726         `Charset_ID' instead of `unsigned char'.
5727         (redisplay_frame_text_width_string): Likewise.
5728
5729         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5730         `unsigned char'.
5731
5732         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5733         instead of `unsigned char'.
5734         (face_cachel_charset_font_metric_info): Likewise.
5735
5736         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5737         (get_non_ascii_char_table_value): Likewise.
5738         (get_char_table): Likewise.
5739         (put_char_table): Likewise.
5740         (map_over_other_charset): Likewise.
5741         (map_char_table): Likewise.
5742
5743         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5744         instead of `unsigned char'.
5745
5746 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5747
5748         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5749         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5750
5751         * mule-charset.c (leading_code_private_11): Don't define in
5752         UTF-2000.
5753
5754         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5755         in UTF-2000 because it is not ported yet and not to use
5756         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5757
5758 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5759
5760         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5761
5762 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5763
5764         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5765         in UTF-2000.
5766
5767         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5768         of unsigned char to store leading-byte.
5769
5770         * chartab.c (get_non_ascii_char_table_value): Don't use
5771         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5772
5773         * file-coding.c (encode_coding_big5): Delete bogus implementation
5774         in UTF2000.
5775
5776         * character.h (LEADING_BYTE_*): Delete definition for
5777         non-UTF-2000.
5778         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5779         (LEADING_BYTE_PREFIX_P): Deleted.
5780         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5781         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5782         (BUFBYTE_LEADING_BYTE_P): Deleted.
5783         (CHARSET_PRIVATE_P): Deleted unconditionally.
5784         (rep_bytes_by_first_byte): Deleted unconditionally.
5785         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5786         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5787         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5788         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5789         (CHAR_FIELD2): Deleted.
5790         (CHAR_FIELD3): Deleted.
5791         (MAKE_CHAR): Delete definition for non-UTF-2000.
5792         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5793         (breakup_char_1): New implementation.
5794         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5795         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5796
5797 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5798
5799         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5800         condition.
5801
5802 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5803
5804         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5805         (CHARSET_PRIVATE_P): Likewise.
5806         (XCHARSET_PRIVATE_P): Likewise.
5807         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5808
5809         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5810         UTF2000.
5811         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5812
5813 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5814
5815         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5816         (NUM_LEADING_BYTES): Changed from 128 to 256.
5817         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5818         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5819         UTF2000.
5820         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5821
5822         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5823         UTF2000.
5824         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5825         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5826         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5827         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5828         (Qchinese_cns11643_3): New variable in UTF2000.
5829         (Qchinese_cns11643_4): New variable in UTF2000.
5830         (Qchinese_cns11643_5): New variable in UTF2000.
5831         (Qchinese_cns11643_6): New variable in UTF2000.
5832         (Qchinese_cns11643_7): New variable in UTF2000.
5833         (syms_of_mule_charset): Define `chinese-cns11643-3',
5834         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5835         and `chinese-cns11643-7' in UTF2000.
5836         (vars_of_mule_charset): Initialize
5837         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5838         + 1 in UTF2000.
5839         (complex_vars_of_mule_charset): Setup charset
5840         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5841         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5842
5843 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5844
5845         * mule-charset.c: Move setting for `leading-code-private-11' from
5846         `syms_of_mule_charset' to `vars_of_mule_charset'.
5847
5848 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5849
5850         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5851         and `NUM_LEADING_BYTES' in assert.
5852
5853 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5854
5855         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5856         instead of 128.
5857         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5858         `NUM_LEADING_BYTES' instead of 128.
5859
5860 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5861
5862         * mule-charset.h (charset_by_leading_byte): Use
5863         `NUM_LEADING_BYTES' instead of 128.
5864         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5865
5866         * mule-charset.c (charset_by_leading_byte): Use
5867         `NUM_LEADING_BYTES' instead of 128.
5868         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5869
5870         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5871         128.
5872
5873 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5874
5875         * mule-charset.c (syms_of_mule_charset): Update to
5876         0.4 (Shin-Imamiya).
5877
5878 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5879
5880         * file-coding.c (encode_coding_sjis): New implementation for
5881         UTF2000.  (decode_coding_sjis): Ditto.
5882
5883 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5884
5885         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5886         Don't define in UTF2000.
5887
5888         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5889         defined.
5890
5891         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5892         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5893         MULE.
5894
5895 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5896
5897         * config.h.in (CHAR_IS_UCS4): New macro.
5898
5899         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5900         conventional MULE representation.
5901         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5902
5903         * mule-charset.h: Reverted to original.
5904
5905         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5906         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5907         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5908
5909         * character.h: New file.
5910
5911         * file-coding.c (Fmake_coding_system): Set 1 to
5912         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5913         defined.
5914         (encode_coding_no_conversion): New implementation for UTF2000.
5915
5916         * file-coding.h (struct Lisp_Coding_System): Add new member
5917         `fixed.size'.
5918
5919 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5920
5921         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5922         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5923         (encode_coding_iso2022): New implementation for UTF2000.
5924
5925 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5926
5927         * mule-canna.c (c2mu): New implementation for UTF2000.
5928         (m2c): Likewise.
5929
5930 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5931
5932         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5933
5934 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5935
5936         * file-coding.c (reset_encoding_stream): Set 0 to
5937         `str->iso2022.current_char_boundary' in UTF2000.
5938         (encode_utf8): Don't define in UTF2000.
5939         (encode_coding_utf8): New implementation for UTF-8 representation
5940         of UTF2000.
5941         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5942
5943 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5944
5945         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5946
5947         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5948         UTF2000.
5949         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5950
5951         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5952
5953         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5954         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5955         as UTF-8 in UTF2000.
5956         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5957         (non_ascii_valid_char_p): Don't define in UTF2000.
5958         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5959         (Lstream_get_emchar_1): Likewise.
5960         (utf-2000-version): New variable in UTF2000.
5961
5962         * lread.c (read_escape): Add new reader `u'.
5963
5964         * insdel.c (three_to_one_table): Don't define in UTF2000.
5965         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5966         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5967         UTF2000.
5968         (bytind_to_bufpos_func): Likewise.
5969         (buffer_mule_signal_inserted_region): Likewise.
5970         (vars_of_insdel): Don't initialize `three_to_one_table'.
5971         (init_buffer_text): Use `buf->text->mule_size' instead of
5972         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5973         UTF2000.
5974
5975         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5976         UTF-8 representation in UTF2000.
5977         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5978         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5979         (decode_coding_iso2022): Don't define local variable `lb' in
5980         UTF2000; don't use LEADING_BYTE in UTF2000; use
5981         `DECODE_ADD_UCS_CHAR' in UTF2000.
5982         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5983
5984         * config.h.in (UTF2000): New macro.
5985
5986         * buffer.h (struct buffer_text): Add new member `mule_size' and
5987         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5988         (valid_char_p): Return always 1 in UTF2000.
5989         (MAX_EMCHAR_LEN): 6 in UTF2000.
5990         (three_to_one_table): Don't define in UTF2000.
5991         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5992         UTF2000.
5993         (real_bytind_to_bufpos): Likewise.
5994
5995         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5996
5997 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5998
5999         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6000         representation change.
6001         (Vutf_2000_version): New variable.
6002         (leading_code_private_11): New variable.
6003         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6004         `leading-code-private-11'.
6005
6006         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6007         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6008         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6009         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6010         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6011         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6012         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6013         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6014         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6015         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6016         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6017         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6018         (MIN_CHAR_GREEK): New macro.
6019         (MAX_CHAR_GREEK): New macro.
6020         (MIN_CHAR_CYRILLIC): New macro.
6021         (MAX_CHAR_CYRILLIC): New macro.
6022         (MIN_CHAR_HEBREW): New macro.
6023         (MAX_CHAR_HEBREW): New macro.
6024         (MIN_CHAR_THAI): New macro.
6025         (MAX_CHAR_THAI): New macro.
6026         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6027         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6028         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6029         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6030         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6031         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6032         (CHAR_FIELD2): New inline function.
6033         (CHAR_FIELD3): New inline function.
6034         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6035         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6036         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6037         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6038         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6039         (MIN_CHAR_COMPOSITION): Likewise.
6040         (CHAR_LEADING_BYTE): Modified for character representation change.
6041         (MAKE_CHAR): Likewise.
6042
6043         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6044         (Vcharset_greek_iso8859_7): Likewise.
6045         (Vcharset_cyrillic_iso8859_5): Likewise.
6046         (Vcharset_hebrew_iso8859_8): Likewise.
6047         (Vcharset_thai_tis620): Likewise.
6048         (Vcharset_katakana_jisx0201): Likewise.
6049
6050 2008-12-28  Vin Shelton  <acs@xemacs.org>
6051
6052         * XEmacs 21.4.22 is released
6053
6054 2008-12-27  Vin Shelton  <acs@xemacs.org>
6055
6056         * syswindows.h: Don't define wide character interfaces for Cygwin
6057         1.7 and up.
6058
6059 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6060
6061         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6062
6063 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6064
6065         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6066         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6067
6068 2008-12-25  Vin Shelton  <acs@xemacs.org>
6069
6070         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6071         By Julian Bradfield in
6072         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6073
6074         * mule-ccl.c (ccl_driver): 
6075
6076 2007-10-07  Vin Shelton  <acs@xemacs.org>
6077
6078         * XEmacs 21.4.21 is released
6079
6080 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6081
6082         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6083
6084 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6085
6086         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6087         (png_instantiate): Initialize setjmp_buffer early, and avoid
6088         recursive entry to error handler.
6089
6090 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6091
6092         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6093         a typo fix.
6094
6095 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6096
6097         * event-Xt.c (x_reset_modifier_mapping):
6098         * event-gtk.c (gtk_reset_modifier_mapping):
6099         Zero out the device's modifier map once we've freed it, to prevent
6100         a double free on a re-entrant call. 
6101
6102 2007-05-17  Vin Shelton  <acs@xemacs.org>
6103
6104         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6105         64-bit linux.  Patch from Hans de Graaff.
6106
6107 2007-05-02  Vin Shelton  <acs@xemacs.org>
6108
6109         * dumper.c (pdump): Don't close pdump_fd (already closed by
6110         fclose() call.  Patch from Steve Higham.
6111         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6112         already closed.  Patch inspired by Steve Higham.
6113
6114 2007-05-01  Vin Shelton  <acs@xemacs.org>
6115
6116         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6117         (mswindows_fstat): Ditto.
6118         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6119
6120 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6121
6122         * postgresql.c: Update Steve Baur's email address by his request.
6123         * postgresql.h: Ditto.
6124
6125 2007-01-04  Vin Shelton  <acs@xemacs.org>
6126
6127         * fileio.c (check_writable): Check old-style readonly bit only for
6128         non-directories.
6129
6130 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6131
6132         * src/fileio.c (check_writable): 
6133         Cope with the fact that the read-only attribute trumps Windows NTFS
6134         ACLS.
6135
6136
6137 2006-12-09  Vin Shelton  <acs@xemacs.org>
6138
6139         * XEmacs 21.4.20 is released
6140
6141 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6142
6143         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6144         relocated the definitions to be used sooner in file.
6145         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6146         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6147         overflow.
6148
6149 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6150
6151         * sound.c (init_native_sound):
6152         Only X11 and GTK devices can possibly not be on the console of the
6153         associated machine. Fixes a crash when init_native_sound is called
6154         on a msprinter device. 
6155
6156 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6157
6158         * buffer.c (buffer-file-name): Document invariant.
6159         (buffer-file-truename): Sync wording to buffer-file-name.
6160         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6161         and discussion.
6162
6163 2006-11-19  Benson Margulies  <benson@dchbk.us>
6164
6165         * fileio.c: Add code to use full Win32 API to check for write
6166         access.  Win32 has the general design policy that you aren't
6167         supposed to ask this question, since security checks change
6168         depending on asynchronous processes.  Nonetheless, there is a way,
6169         by acting as if we are a server doing interpretive access
6170         control.
6171
6172 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6173
6174         * bytecode.c: Use xnew_array instead of alloca.
6175
6176 2006-07-04  Vin Shelton  <acs@xemacs.org>
6177
6178         * redisplay-msw.c: Fix tiny, but crucial typo.
6179
6180 2006-06-22  Jerry James  <james@xemacs.org>
6181
6182         * EmacsShell-sub.c (ChangeManaged):
6183         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6184         NULL.
6185         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6186         checking if it is NULL.  Also fix a memory leak.
6187         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6188         dereference it, not the other way around.
6189         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6190         overflow check.
6191         * dumper.c (pdump_register_struct): Ditto.
6192         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6193         to (short) warnpath overflow warnpath.
6194         * extents.c (detach_all_extents): Call extent_list_delete_all with
6195         a non-NULL parameter only.
6196         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6197         NULL width and height.
6198         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6199         xic before checking if they are NULL.
6200         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6201         allocated array.
6202         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6203         * nas.c (Err): Fix a memory leak.
6204         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6205         Don't create the buffer if there is nothing to do.
6206         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6207         * redisplay-output.c (redisplay_output_layout): Ditto.
6208         * redisplay-tty.c (tty_output_display_block): Ditto.
6209         * redisplay-x.c (x_output_display_block): Ditto.
6210         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6211         dereference instance->scrollbar_data if it is NULL.
6212         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6213         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6214         for sb->scrollbar_data.
6215         * sound.c (init_native_sound): Avoid a buffer overflow by
6216         allocating a buffer with the appropriate size.
6217
6218 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6219
6220         * EmacsShell-sub.c (RootGeometryManager):
6221         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6222         Based on a suggestion by Francois L'Archeveque.
6223
6224 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6225
6226         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6227         current values found in GNU Emacs.
6228
6229 2006-03-17  Vin Shelton  <acs@xemacs.org>
6230
6231         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6232         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6233
6234         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6235         'hex_initialized' because it conflicts with 'initialized' in
6236         lisp.h.
6237
6238 2006-01-28  Vin Shelton  <acs@xemacs.org>
6239
6240         * XEmacs 21.4.19 is released
6241
6242 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6243
6244         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6245
6246 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6247
6248         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6249         5000 to INT_MAX.
6250
6251 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6252
6253         * database.c: Suppress compiler warning under Cygwin.
6254         * database.c: Removed __FreeBSD__ check, should be handled by
6255         HAVE_U_xxx_T defines.
6256
6257 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6258
6259         * console.c (stuff_buffered_input): Compile body only if
6260         HAVE_TTY.
6261
6262 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6263
6264         * callproc.c: #include sysdir.h, so that any appropriate Mule
6265         magic happens with the chdir() call when calling a subprocess. 
6266
6267 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6268
6269         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6270         * mule-ccl.c: Check that a character set exists before using it
6271         to create a character. 
6272
6273 2005-12-06  Vin Shelton  <acs@xemacs.org>
6274
6275         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6276         to INT_MAX.
6277
6278 2005-12-03  Vin Shelton <acs@xemacs.org>
6279
6280         * XEmacs 21.4.18 is released
6281
6282 2005-11-27  Kean Johnston <kean@armory.com>
6283
6284         * redisplay-tty.c (set_tty_modes):
6285         (reset_tty_modes): disable auto-margins if the terminal supports
6286         them.
6287         (init_tty_for_redisplay): fix cursor shape.
6288
6289 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6290
6291         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6292         for control-1 characters properly, both when reading multibyte
6293         characters and writing them. 
6294
6295 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6296
6297         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6298         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6299         were seeing with incremental selection transfer failing. 
6300
6301 2005-11-26  Vin Shelton  <acs@xemacs.org>
6302
6303         * callproc.c (Fold_call_process_internal): Create the buffer if it
6304         does not already exist.  The original patch came from Ben Wing in
6305         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6306
6307 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6308
6309         * callproc.c: Process-related docstring improvements spurred by
6310         Norbert Koch.
6311
6312 2005-11-25  Vin Shelton  <acs@xemacs.org>
6313
6314         * depend: Regenerated.
6315
6316 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6317
6318         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6319         says it clashes with a global with the same name.
6320
6321 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6322
6323         * sysdll.c (dll_open): Under MacOS X return NULL under the
6324         filename is NULL.  Fixes problems finding local symbols under 10.4
6325         (Tiger)
6326
6327 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6328         
6329         * config.h.in: New HAVE_U_INT*_T defines.
6330         
6331         * database.c: Only use u_int*_t typedefs if not already
6332         defined.
6333
6334 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6335
6336         * src/process-unix.c (unix_open_network_stream): moved
6337           'portbuf' buffer out of an inner block as it is used in the
6338           entire function. With gcc4, the stack may get corrupted
6339           after leaving this block. This patches adjusts the size of
6340           the used buffer also; static '128' bytes are far too much
6341           currently and might not suffice for future architectures
6342           (e.g. for 512 bit ones ;)). Instead of, use only the really
6343           required space (max octets * ln(256)/ln(10) chars + space
6344           for '\0' and the sign)
6345
6346 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6347
6348         * callproc.c: Include sysdir.h, so any necessary Mule processing
6349         is done on the current directory name before starting a new
6350         process.
6351
6352 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6353
6354         * chartab.c (Fchar_table_p):
6355         (Fget_range_char_table):
6356         (Fput_char_table):
6357         (Fmap_char_table):
6358         Describe range representation and fix typo.
6359
6360 2005-02-12  Vin Shelton  <acs@xemacs.org>
6361
6362         * emacs.c (shut_down_emacs): Advise users to send email to the
6363         xemacs-beta list instead of crashes@xemacs.org.
6364
6365 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6366
6367         * process-unix.c (unix_send_process): Flush the last chunk, even
6368         when the pipe is blocked.
6369
6370 2005-02-06  Vin Shelton <acs@xemacs.org>
6371
6372         * XEmacs 21.4.17 is released
6373
6374 2005-01-31  Ben Wing  <ben@xemacs.org>
6375
6376         * emacs.c:
6377         Define assert_failed() always.
6378         * lisp.h:
6379         Always define ABORT().
6380
6381 2005-01-25  Ben Wing  <ben@xemacs.org>
6382
6383         * Makefile.in.in:
6384         * Makefile.in.in (%.o):
6385         Don't compile executable as Windows (-mwindows) under Cygwin.
6386         Semi-recent changes to Cygwin's executable-startup handling make
6387         it impossible to access the TTY this way.
6388
6389         Don't use special linker file under Cygwin (cygwin.sc) except
6390         when non-PDUMP (even in this case it is highly questionable); you
6391         get errors like
6392
6393       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6394    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6395
6396 2005-01-29  Ben Wing  <ben@xemacs.org>
6397
6398         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6399
6400         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6401
6402 2005-01-29  Ben Wing  <ben@xemacs.org>
6403
6404         * bytecode.c (optimize_compiled_function):
6405         * print.c (FROB):
6406         * print.c (long_to_string):
6407         Add casts to avoid warning.
6408         
6409         * glyphs-eimage.c:
6410         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6411         #### The better solution is to move the TIFF and JPEG code to
6412         different files.
6413         
6414         * glyphs-msw.c (mswindows_xbm_instantiate):
6415         Define __STDC__ to avoid problems with compface.h.
6416         
6417         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6418         * EmacsShell-sub.c:
6419         * EmacsShell-sub.c (ABORT):
6420         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6421         * EmacsShell-sub.c (RootGeometryManager):
6422         * EmacsShell.c:
6423         * EmacsShell.c (ABORT):
6424         * EmacsShell.c (EmacsShellUpdateSizeHints):
6425         * alloc.c (free_lcrecord):
6426         * alloca.c (i00afunc):
6427         * buffer.c (delete_from_buffer_alist):
6428         * buffer.c (MARKED_SLOT):
6429         * bytecode.c (execute_rare_opcode):
6430         * bytecode.c (optimize_byte_code):
6431         * bytecode.c (Ffetch_bytecode):
6432         * chartab.c (char_table_type_to_symbol):
6433         * chartab.c (Freset_char_table):
6434         * chartab.c (decode_char_table_range):
6435         * chartab.c (Fget_range_char_table):
6436         * chartab.c (check_valid_char_table_value):
6437         * chartab.c (map_char_table):
6438         * chartab.c (slow_map_char_table_fun):
6439         * chartab.c (chartab_instantiate):
6440         * cm.c (cmcheckmagic):
6441         * console-msw.c (DHEADER):
6442         * console.c (MARKED_SLOT):
6443         * data.c (finish_marking_weak_lists):
6444         * data.c (encode_weak_list_type):
6445         * debug.h (DASSERT):
6446         * device-gtk.c (gtk_init_device):
6447         * device-msw.c (mswindows_get_default_margin):
6448         * device-tty.c (tty_init_device):
6449         * device-x.c (get_device_from_display):
6450         * device-x.c (x_get_visual_depth):
6451         * doprnt.c (parse_doprnt_spec):
6452         * doprnt.c (get_doprnt_args):
6453         * dumper.c (pdump_get_indirect_count):
6454         * dumper.c (pdump_register_sub):
6455         * dumper.c (pdump_register_object):
6456         * dumper.c (pdump_register_struct):
6457         * dumper.c (pdump_dump_data):
6458         * dumper.c (pdump_reloc_one):
6459         * elhash.c (print_hash_table):
6460         * elhash.c (make_standard_lisp_hash_table):
6461         * elhash.c (hash_table_instantiate):
6462         * emacs.c:
6463         * emacs.c (Fforce_debugging_signal):
6464         * emacs.c (sort_args):
6465         * emacs.c (main):
6466         * emacs.c (assert_failed):
6467         * eval.c (throw_or_bomb_out):
6468         * eval.c (signal_1):
6469         * eval.c (Fsignal):
6470         * event-Xt.c:
6471         * event-Xt.c (emacs_Xt_mapping_action):
6472         * event-Xt.c (Xt_process_to_emacs_event):
6473         * event-msw.c:
6474         * event-stream.c (check_event_stream_ok):
6475         * event-stream.c (Fadd_timeout):
6476         * event-stream.c (Fadd_async_timeout):
6477         * event-stream.c (Fdiscard_input):
6478         * event-stream.c (execute_internal_event):
6479         * event-stream.c (Frecent_keys):
6480         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6481         * event-stream.c (lookup_command_event):
6482         * event-unixoid.c (poll_fds_for_input):
6483         * events.c:
6484         * events.c (mark_event):
6485         * events.c (event_equal):
6486         * events.c (event_hash):
6487         * events.c (Fmake_event):
6488         * events.c (Fdeallocate_event):
6489         * events.c (event_chain_find_previous):
6490         * events.c (event_to_character):
6491         * events.c (format_event_object):
6492         * events.c (Fevent_type):
6493         * events.c (event_pixel_translation):
6494         * events.c (Fevent_properties):
6495         * extents.c (extent_in_region_p):
6496         * extents.c (print_extent):
6497         * extents.c (process_extents_for_insertion_mapper):
6498         * extents.c (report_extent_modification_mapper):
6499         * extents.c (glyph_layout_to_symbol):
6500         * faces.c (face_validate):
6501         * file-coding.c (eol_type_to_symbol):
6502         * file-coding.c (subsidiary_coding_system):
6503         * file-coding.c (Fcoding_system_type):
6504         * file-coding.c (Fcoding_system_property):
6505         * file-coding.c (mule_decode):
6506         * file-coding.c (mule_encode):
6507         * file-coding.c (encode_coding_ucs4):
6508         * file-coding.c (encode_coding_utf8):
6509         * file-coding.c (parse_iso2022_esc):
6510         * file-coding.c (encode_coding_iso2022):
6511         * fileio.c:
6512         * fns.c (concat):
6513         * fns.c (Fsubseq):
6514         * fns.c (mapcar1):
6515         * fns.c (Fbase64_encode_region):
6516         * fns.c (Fbase64_encode_string):
6517         * fns.c (Fbase64_decode_region):
6518         * fns.c (Fbase64_decode_string):
6519         * font-lock.c (find_context):
6520         * font-lock.c (context_to_symbol):
6521         * frame-gtk.c (gtk_set_frame_pointer):
6522         * frame-gtk.c (gtk_update_frame_external_traits):
6523         * frame-x.c (x_wm_mark_shell_size_user_specified):
6524         * frame-x.c (x_wm_mark_shell_position_user_specified):
6525         * frame-x.c (x_wm_set_shell_iconic_p):
6526         * frame-x.c (x_wm_set_cell_size):
6527         * frame-x.c (x_wm_set_variable_size):
6528         * frame-x.c (x_wm_store_class_hints):
6529         * frame-x.c (x_wm_maybe_store_wm_command):
6530         * frame-x.c (x_initialize_frame_size):
6531         * frame-x.c (x_update_frame_external_traits):
6532         * frame.c:
6533         * frame.c (delete_frame_internal):
6534         * frame.c (mouse_pixel_position_1):
6535         * frame.c (change_frame_size_1):
6536         * free-hook.c (check_free):
6537         * free-hook.c (check_realloc):
6538         * free-hook.c (note_block_input):
6539         * free-hook.c (log_gcpro):
6540         * gccache-gtk.c (gc_cache_lookup):
6541         * glyphs-eimage.c (tiff_memory_write):
6542         * glyphs-gtk.c (gtk_finalize_image_instance):
6543         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6544         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6545         * glyphs-gtk.c (gtk_xpm_instantiate):
6546         * glyphs-gtk.c (gtk_unmap_subwindow):
6547         * glyphs-gtk.c (gtk_map_subwindow):
6548         * glyphs-gtk.c (gtk_button_redisplay):
6549         * glyphs-msw.c:
6550         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6551         * glyphs-x.c (init_image_instance_from_xbm_inline):
6552         * glyphs-x.c (extract_xpm_color_names):
6553         * glyphs-x.c (x_xpm_instantiate):
6554         * glyphs.c (get_image_instantiator_governing_domain):
6555         * glyphs.c (print_image_instance):
6556         * glyphs.c (image_instance_equal):
6557         * glyphs.c (image_instance_hash):
6558         * glyphs.c (encode_image_instance_type):
6559         * glyphs.c (make_image_instance_1):
6560         * glyphs.c (inherit_instantiate):
6561         * glyphs.c (image_instantiate):
6562         * glyphs.c (allocate_glyph):
6563         * glyphs.c (Fglyph_type):
6564         * glyphs.c (redisplay_subwindow):
6565         * glyphs.c (display_table_entry):
6566         * gtk-glue.c (xemacs_list_to_gtklist):
6567         * gtk-glue.c (xemacs_gtklist_to_list):
6568         * gtk-glue.c (xemacs_list_to_array):
6569         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6570         * gutter.c (gutter_was_visible):
6571         * gutter.c (get_gutter_coords):
6572         * input-method-xlib.c (get_XIM_input):
6573         * insdel.c (bufpos_to_bytind_func):
6574         * insdel.c (bytind_to_bufpos_func):
6575         * insdel.c (move_gap):
6576         * intl.c (x_get_composed_input):
6577         * keymap.c (keymap_lookup_directly):
6578         * keymap.c (keymap_delete_inverse_internal):
6579         * keymap.c (ensure_meta_prefix_char_keymapp):
6580         * keymap.c (accessible_keymaps_mapper_1):
6581         * keymap.c (where_is_recursive_mapper):
6582         * lisp.h:
6583         * lisp.h (ABORT):
6584         * lread.c (read_atom):
6585         * lstream.c (Lstream_delete):
6586         * lstream.c (make_lisp_buffer_stream_1):
6587         * macros.c (pop_kbd_macro_event):
6588         * malloc.c (malloc):
6589         * malloc.c (free):
6590         * marker.c (bi_marker_position):
6591         * marker.c (set_bi_marker_position):
6592         * menubar-gtk.c (menu_descriptor_to_widget_1):
6593         * menubar-msw.c (prune_menubar):
6594         * menubar-x.c (set_frame_menubar):
6595         * mule-charset.c (get_unallocated_leading_byte):
6596         * mule-charset.h (CHAR_LEADING_BYTE):
6597         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6598         * nt.c (init_environment):
6599         * nt.c (generate_inode_val):
6600         * ntproc.c (delete_child):
6601         * ntproc.c (_sys_read_ahead):
6602         * ntproc.c (create_child):
6603         * objects.c (color_instantiate):
6604         * objects.c (font_instantiate):
6605         * objects.c (face_boolean_instantiate):
6606         * print.c (printing_major_badness):
6607         * process-nt.c (nt_send_process):
6608         * process-unix.c (unix_send_process):
6609         * process.c (get_process):
6610         * ralloc.c (obtain):
6611         * ralloc.c (relinquish):
6612         * ralloc.c (relocate_blocs):
6613         * ralloc.c (resize_bloc):
6614         * ralloc.c (r_alloc_free):
6615         * ralloc.c (r_re_alloc):
6616         * ralloc.c (r_alloc_thaw):
6617         * ralloc.c (init_ralloc):
6618         * ralloc.c (Free_Addr_Block):
6619         * ralloc.c (r_alloc):
6620         * redisplay-gtk.c (gtk_output_display_block):
6621         * redisplay-msw.c (mswindows_output_display_block):
6622         * redisplay-output.c (get_next_display_block):
6623         * redisplay-output.c (get_cursor_size_and_location):
6624         * redisplay-output.c (redisplay_output_layout):
6625         * redisplay-output.c (redisplay_clear_region):
6626         * redisplay-tty.c (tty_output_display_block):
6627         * redisplay-x.c (x_output_display_block):
6628         * redisplay.c (add_propagation_runes):
6629         * redisplay.c (add_glyph_rune):
6630         * redisplay.c (create_text_block):
6631         * redisplay.c (add_margin_runes):
6632         * redisplay.c (create_left_glyph_block):
6633         * redisplay.c (create_right_glyph_block):
6634         * redisplay.c (create_string_text_block):
6635         * redisplay.c (regenerate_window):
6636         * redisplay.c (REGEN_INC_FIND_START_END):
6637         * redisplay.c (redisplay_frame):
6638         * redisplay.c (point_in_line_start_cache):
6639         * regex.c:
6640         * regex.c (ABORT):
6641         * regex.c (re_compile_fastmap):
6642         * regex.c (re_match_2_internal):
6643         * regex.c (regerror):
6644         * scrollbar-gtk.c (gtk_scrollbar_loop):
6645         * scrollbar-gtk.c (scrollbar_cb):
6646         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6647         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6648         * scrollbar-x.c (x_update_scrollbar_instance_status):
6649         * scrollbar-x.c (x_scrollbar_loop):
6650         * scrollbar-x.c (x_update_frame_scrollbars):
6651         * search.c (search_command):
6652         * search.c (Fmatch_data):
6653         * select-x.c (motif_clipboard_cb):
6654         * signal.c (interrupt_signal):
6655         * specifier.c (specifier_add_spec):
6656         * specifier.c (specifier_instance_from_inst_list):
6657         * specifier.c (specifier_instance):
6658         * specifier.h:
6659         * specifier.h (struct specifier_methods):
6660         * strftime.c (add_num_time_t):
6661         * sunplay.c (init_device):
6662         * symbols.c (Fsetplist):
6663         * symbols.c (do_symval_forwarding):
6664         * symbols.c (store_symval_forwarding):
6665         * symbols.c (Fset):
6666         * symbols.c (Fbuilt_in_variable_type):
6667         * symbols.c (decode_magic_handler_type):
6668         * symbols.c (handler_type_from_function_symbol):
6669         * syntax.c (update_syntax_cache):
6670         * sysdep.c (init_baud_rate):
6671         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6672         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6673         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6674         * toolbar.c (get_toolbar_coords):
6675         * ui-gtk.c (build_gtk_boxed):
6676         * ui-gtk.c (describe_gtk_arg):
6677         * ui-gtk.c (gtk_type_to_lisp):
6678         * ui-gtk.c (lisp_to_gtk_type):
6679         * ui-gtk.c (lisp_to_gtk_ret_type):
6680         * ui-gtk.c (lisp_to_flag):
6681         * unexnt.c (read_in_bss):
6682         * unexnt.c (map_in_heap):
6683         * window.c (real_window):
6684         * window.c (window_display_lines):
6685         * window.c (window_display_buffer):
6686         * window.c (set_window_display_buffer):
6687         * window.c (window_modeline_height):
6688         * window.c (unshow_buffer):
6689         * window.c (window_loop):
6690         * window.c (Fget_lru_window):
6691         * window.c (Fsplit_window):
6692         * window.c (Fset_window_configuration):
6693         * window.c (saved_window_index):
6694         * xgccache.c (gc_cache_lookup):
6695         abort() -> ABORT().  Eliminate preprocessor games with abort()
6696         since it creates huge problems in VC7, solvable only by including
6697         massive amounts of files in every compile (and not worth it).
6698
6699         * sysdep.c:
6700         * sysproc.h:
6701         Inclusion of process.h does not need to be before lisp.h any more.
6702         Move later and remove comment about abort().
6703
6704 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6705
6706         * regex.c (re_match_2_internal):
6707         Correctly initialize loop which clears uninitialized registers.
6708
6709 2005-01-28  Vin Shelton  <acs@xemacs.org>
6710
6711         * sheap.c (more_static_core): Applied Ben's version of the long
6712         string patch.
6713
6714 2005-01-24  Vin Shelton  <acs@xemacs.org>
6715
6716         * sheap.c (more_static_core): Reformatted printf string so
6717         gcc-3.3.3 will compile this on Cygwin.
6718
6719 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6720
6721         * console.c (function_key_map): Reference `key-binding'.
6722
6723         * keymap.c (Vkey_translation_map): Improve docstring.
6724
6725 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6726
6727         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6728         * window.c (window_loop): [fix] Take into account
6729         `allow-deletion-of-last-visible-frame' variable.
6730         * window.c (replace-buffer-in-windows): Ditto.
6731
6732 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6733
6734         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6735
6736 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6737
6738         * event-gtk.c: Recognise AltGr as a valid modifier.
6739
6740 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6741
6742         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6743
6744 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6745
6746         Fix backreference bug caught by test suite.
6747
6748         * regex.c (regex_compile):
6749         Make backref duplicate internal register.
6750
6751 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6752
6753         Documentation, code clarification, and warning suppression.
6754         
6755         * regex.c (regex_compile):
6756         Improve comments.
6757         (re_match_2_internal):
6758         Improve comments and avoid redundant braces.  [Most of the big hunk
6759         at l. 4710 is indentation; use diff -w to see the real changes.]
6760         (alt_match_null_string_p):
6761         (common_op_match_null_string_p):
6762         Avoid shadowing global on Mac OS X 10.4, at least.
6763
6764 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6765
6766         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6767         introduced with shy groups fix).  [Already applied, probably
6768         with the second "fix shy groups" patch of 2004-10-07.] 
6769
6770 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6771
6772         From Andrey Slusar <anrays@gmail.com>:
6773
6774         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6775
6776 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6777
6778         * Makefile (RECURSIVE_MAKE): Removed.
6779         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6780         handling parallel builds.
6781
6782 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6783
6784         * Makefile.in.in: Enable support for parallel builds.
6785
6786 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6787
6788         From Andrey Slusar <anrays@gmail.com>:
6789
6790         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6791         FreeBSD version is >= 199701 _and_ < 600006.
6792
6793 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6794
6795         * scrollbar.c (compute_scrollbar_instance_usage):
6796         Only call device method compute_scrollbar_instance_usage() if it
6797         is defined.
6798
6799 2004-12-05  Vin Shelton <acs@xemacs.org>
6800
6801         * XEmacs 21.4.16 is released
6802
6803 2004-12-04  Vin Shelton  <acs@xemacs.org>
6804
6805         * depend: Regenerated.
6806
6807 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6808
6809         * regex.c (re_match_2_internal): Map internal to external
6810         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6811         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6812
6813 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6814
6815         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6816         to fix a crash.  Also, check the buffer is live and it
6817         really exists in buffer_list.  If the buffer is not in the list,
6818         prepend it.
6819
6820 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6821
6822         Fix shy groups by implementing recording of all groups for
6823         repetition and backtracking.  Backport from 21.5.
6824         
6825         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6826         external_to_internal_register, external_to_internal_register_size,
6827         and update comments for re_nsub.
6828
6829         * regex.c (re_opcode_t): Update comments.
6830         (print_compiled_pattern): Ouput external_to_internal_register,
6831         external_to_internal_register_size, and re_ngroups for debugging.
6832         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6833         (regex_compile): Update header comment.
6834         Ensure that all groups are recorded so that repeat matches and
6835         backtracking work correctly.  Comment related warning for groups >
6836         255.
6837         (re_search_2): Construct map of API indexes (which count only
6838         nonshy groups) to internal register numbers, and keep it updated.
6839
6840 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6841
6842         * frame-gtk.c (gtk_make_frame_visible):
6843         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6844         show/hide.  This is what X uses and is prevents previously hidden
6845         widgets from suddenly reappearing.
6846         * gtk-xemacs.c (gtk_xemacs_paint):
6847         * gtk-xemacs.c (gtk_xemacs_draw):
6848         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6849         drawable.
6850         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6851         size and location changes so that they can be seen before the next
6852         idle event.  Without this rapid changes to scrollbar properties
6853         are not seen.
6854
6855 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6856
6857         * console-gtk.h:
6858         * console-gtk.h (struct gtk_frame):
6859         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6860           Add hash tables track tab_control callback data.
6861           Added #defines for GTK object data names.
6862           Declaration of gtk_widget_to_frame().
6863         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6864         * frame-gtk.c (gtk_widget_to_frame): New.
6865         * frame-gtk.c (gtk_create_widgets):
6866         * frame-gtk.c (allocate_gtk_frame_struct):
6867         * frame-gtk.c (gtk_mark_frame):
6868         Manage frame callbakc hash tables.
6869         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6870         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6871         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6872         of widget size.
6873         * glyphs-gtk.c (gtk_widget_query_geometry): New
6874         * glyphs-gtk.c (gtk_register_gui_item): New
6875         * glyphs-gtk.c (gtk_add_tab_item): New
6876         * glyphs-gtk.c (gtk_tab_control_callback): New
6877         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6878         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6879         Use correct list when loading item.
6880         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6881         Register new methods.
6882         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6883         default size, for widgets.
6884         * gui-x.c:  Improved comment.
6885         * menubar-gtk.c (__generic_button_callback): Use
6886         gtk_widget_to_frame instead of __get_channel.
6887         * scrollbar-gtk.c:
6888         * ui-gtk.c: Use symbolic names for GTK object data.
6889
6890 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6891
6892         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6893
6894 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6895
6896         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6897
6898 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6899
6900         * malloc.c (morecore): siz is a long because in some architectures
6901         (eg ia-64) an int cannot hold the address range.  Additional patch
6902         from the SuSe distribution.
6903
6904 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6905
6906         * emacs.c:
6907         * malloc.c: lim_data is a long because in some architectures
6908         (eg ia-64) an int cannot hold the address range.
6909         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6910         instead of ulimit() because ulimit() always returns -1.
6911
6912 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6913
6914         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6915
6916 2004-06-11  David Kastrup  <dak@gnu.org>
6917
6918         * search.c (match_limit): Don't flag an error if match-data
6919         exceeding the allocated search_regs.num_regs gets requested, just
6920         return Qnil.
6921
6922 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6923
6924         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6925         replace symbolic color entries with the real colors specified in
6926         xpm-color-symbols, before passing the XPM to gtk.
6927         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6928         instead of a GTK specific field, so that it is used in by generic
6929         code.
6930
6931 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6932
6933        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6934         coredump from deref of NULL ptr (ExtData)
6935
6936 2004-04-19  Jerry James  <james@xemacs.org>
6937
6938         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6939         VALBITS to compute the location of the sign bit.
6940         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6941         of VALBITS with EMACS_INT_MAX.
6942         * events.c (Fevent_timestamp): Ditto.
6943         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6944         compute the halfway point to timestamp wraparound.
6945         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6946         EMACS_INT_MIN instead of using VALBITS.
6947         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6948         incorrect number with VALBITS.
6949         * fns.c (Frandom): Correct number of integer bits in docstring.
6950         Use INT_VALBITS instead of VALBITS to compute the denominator.
6951         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6952         build random numbers.
6953
6954 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6955         * event-gtk.c:
6956         * event-gtk.c (gtk_event_to_emacs_event):
6957         * menubar-gtk.c:
6958         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6959         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6960         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6961         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6962         * menubar-gtk.c (__activate_menu):
6963         * menubar-gtk.c (convert_underscores):
6964         * menubar-gtk.c (remove_underscores):
6965         * menubar-gtk.c (menu_convert):
6966         * menubar-gtk.c (menu_descriptor_to_widget_1):
6967         * menubar-gtk.c (menu_descriptor_to_widget):
6968         * menubar-gtk.c (menu_can_reuse_widget):
6969         * menubar-gtk.c (menu_create_menubar):
6970         * menubar-gtk.c (gtk_popup_menu):
6971         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6972         Added support for Gtk menu bar and menu item mnemonics.
6973
6974 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6975
6976         * sysdll.c: (dll_function): Added support for finding symbols in
6977         Darwin shared libraries as well in Darwin bundles.
6978         * sysdll.c (image_for_address): New
6979         * sysdll.c (my_find_image): New
6980         * sysdll.c (search_linked_libs): New
6981
6982 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6983
6984         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6985         return to GTK requires a different API to marshalling data to use
6986         as GTK parameters.
6987         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6988
6989 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6990
6991         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6992
6993 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6994
6995         * glyphs.c (process_image_string_instantiator):
6996         (Fset_console_type_image_conversion_list):
6997         Stop GCC from warning about shadowing of `exp'.
6998
6999         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7000
7001 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7002
7003         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7004
7005 2004-02-03  Vin Shelton  <acs@xemacs.org>
7006
7007         * glyphs.c (image_instance_layout): Remove pointless assertion.
7008         * regex.c (regex_grow_registers): Return type is void.
7009
7010 2004-02-02  Vin Shelton <acs@xemacs.org>
7011
7012         * XEmacs 21.4.15 is released
7013
7014 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7015
7016         * device-x.c (x_error_handler): Don't call stderr_out
7017
7018 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7019
7020         * buffer.c (other-buffer): Clarify documentation of order of
7021         arguments for FSF Emacs.
7022
7023 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7024
7025         * window.c (Fdelete_window): Dirty the mirror structure _before_
7026         marking the window deleted.
7027
7028 2003-09-15  Jerry James  <james@xemacs.org>
7029
7030         * event-msw.c (debug_mswin_messages): Conditionally compile
7031         messages missing from the Cygwin headers.
7032
7033 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7034
7035         * data.c (eq_with_ebola_notice): Fix typo in comment.
7036         (Ftrue_list_p): Improve docstring.
7037
7038 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7039
7040         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7041
7042 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7043
7044         * search.c (trivial_regexp_p): Regexps containing "\{" are
7045         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7046         Stefan Monnier for suggesting a diagnosis.
7047
7048 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7049
7050         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7051
7052 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7053
7054         * search.c (Fsearch_forward):
7055         (Fsearch_backward):
7056         Document negative count.
7057
7058 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7059
7060         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7061
7062 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7063
7064         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7065
7066 2003-09-15  Vin Shelton  <acs@xemacs.org>
7067
7068         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7069         21.5.
7070
7071 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7072
7073         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7074         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7075         (re_match_2_internal): Use TRANSLATE instead of
7076         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7077         non-ASCII char case conversion.
7078
7079 2003-09-08  Mike Sperber  <mike@xemacs.org>
7080
7081         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7082         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7083
7084 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7085
7086        * .gdbinit (pobj): fix printing of symbol name.
7087
7088 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7089
7090         * frame-x.c (x_layout_widgets): When resizing is about to cause
7091         frame size slip, mark it for redisplay.
7092
7093 2003-08-18  Jerry James  <james@xemacs.org>
7094
7095         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7096
7097 2003-09-03  Vin Shelton <acs@xemacs.org>
7098
7099         * XEmacs 21.4.14 is released
7100
7101 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7102
7103         * config.h.in (REGEX_MALLOC): Make it configure'able.
7104
7105 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7106
7107         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7108         linking.
7109         * sysdll.c (dll_init):
7110         * sysdll.c (dll_open):
7111         * sysdll.c (dll_close):
7112         * sysdll.c (dll_function):
7113         * sysdll.c (dll_variable):
7114         * sysdll.c (dll_error):
7115         Add support for loading bundles using Darwin/MacOSX
7116         native API.
7117
7118 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7119
7120         * process.c (start-process-internal): Document coding systems.
7121
7122 2003-07-30  Jerry James  <james@xemacs.org>
7123
7124         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7125
7126 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7127
7128         * event-msw.c (mswindows_enqueue_mouse_button_event):
7129         * event-msw.c (mswindows_wnd_proc):
7130           enqueue button event when scrollwheel event isn't handled by 
7131           mswindows_handle_mousewheel_event, such as when the scrollbars
7132           are not showing.
7133
7134 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7135
7136         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7137
7138 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7139
7140         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7141
7142 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7143
7144         * regex.c (re_match_2_internal): Fix matching degenerate word
7145         boundaries.
7146
7147 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7148
7149         * XEmacs 21.4.13 is released
7150
7151 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7152
7153         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7154         * lisp.h (<inttypes.h>):
7155         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7156         the definition.
7157
7158 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7159
7160         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7161         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7162         Result: "temacs can only be run in -batch mode."
7163         Fix: Check xemacs executable candidate for directory-ness.
7164
7165 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7166
7167         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7168           they conflict with <sys/types.h>.
7169
7170 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7171
7172         * database.c: Berkeley DB wants __STDC__ to be defined.
7173
7174 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7175
7176         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7177
7178 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7179
7180         * process-unix.c (unix_send_process): Fix C++ compile error.
7181
7182 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7183
7184         * Added .dylib as an acceptable shared library file extension
7185         * to support MacOSX.
7186
7187 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7188
7189         * EmacsFrameP.h (EmacsFramePart):
7190         Kludge to allow compiling with Motif1, but linking with Motif2.
7191
7192 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7193
7194         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7195
7196
7197 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7198
7199         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7200
7201 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7202
7203         * sysdll.c: Included lisp.h to define needed alloca_array.
7204
7205 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7206
7207         Make XEmacs redisplay 10 times faster.
7208         If, that is, you're using a slow X connection and MoveOpaque.
7209         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7210         Use compress_motion = TRUE.
7211         * EmacsFrame.c (emacsFrameClassRec): 
7212         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7213         * EmacsManager.c (emacsManagerClassRec):
7214         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7215
7216 2003-01-30  Vin Shelton  <acs@xemacs.org>
7217
7218         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7219
7220 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7221
7222         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7223         Patch by Martin Buchholz.
7224
7225 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7226
7227         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7228         Thanks to icc for warning and Martin Buchholz for reporting.
7229
7230 2003-01-29  Vin Shelton <acs@xemacs.org>
7231
7232         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7233
7234         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7235         remember to multiply by the element size.
7236
7237 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7238
7239         * XEmacs 21.4.12 "Portable Code" is released.
7240
7241 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7242
7243         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7244         * s/cygwin.sc: new linker file.
7245
7246 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7247
7248         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7249
7250         * redisplay-x.c (x_output_string): Use X11-specified types.
7251         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7252         * emacs.c (__free_hook): Use typeof with Intel compiler.
7253         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7254
7255 2003-01-08  Andy Piper  <andy@xemacs.org>
7256
7257         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7258         reserve size during unexec().
7259
7260 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7261
7262         * process-unix.c (unix_create_process): Don't let outchannel block.
7263
7264 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7265
7266         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7267         Needed for IsBadReadPtr().
7268
7269 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7270
7271         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7272
7273 2002-12-14  Ben Wing  <ben@xemacs.org>
7274
7275         * callint.c: Declaration error.
7276         * dumper.c (pdump):
7277         * dumper.c (pdump_load): Warning fix.
7278         * process.c: GCPRO error.
7279         * glyphs.c (unmap_subwindow):
7280         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7281         * event-stream.c (maybe_kbd_translate): Wrong argument to
7282         character_to_event().
7283
7284         * alloc.c (garbage_collect_1):
7285         * emacs.c:
7286         * emacs.c (debug_can_access_memory):
7287         * emacs.c (fatal_error_signal):
7288         * emacs.c (mswindows_handle_hardware_exceptions):
7289         * emacs.c (main_1):
7290         * emacs.c (main):
7291         * emacs.c (assert_failed):
7292         * emacs.c (syms_of_emacs):
7293         * lisp.h:
7294         * print.c:
7295         * print.c (std_handle_out_va):
7296         * print.c (write_string_to_stdio_stream):
7297         * print.c (write_fmt_string):
7298         * print.c (printing_badness):
7299         * print.c (printing_major_badness):
7300         * print.c (print_internal):
7301         * print.c (debug_print_no_newline):
7302         * print.c (debug_backtrace):
7303         Be more defensive in handling bad values when printing.  Add code
7304         from trunk involving inhibit_non_essential_printing_operations.
7305         When going down or in debug_print(), don't do external conversion
7306         and such and try really, really hard when printing to avoid core
7307         dumping.  Add force-debugging-signal, debug_break().
7308
7309 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7310
7311         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7312         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7313
7314 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7315
7316         * database.c: Fix open_database. Berkeley DB API has changed in
7317         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7318
7319 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7320
7321         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7322
7323 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7324
7325         * event-Xt.c (Xt_timeout):
7326         (Xt_timeout_callback):
7327         (emacs_Xt_add_timeout):
7328         (emacs_Xt_remove_timeout):
7329         (Xt_timeout_to_emacs_event):
7330         Turn completed_timeouts from a stack into a queue.  Fixes
7331         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7332
7333 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7334
7335         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7336         * emacs.c (main): Assert that mmap'd allocation is disabled.
7337
7338 2002-10-14  Andy Piper  <andy@xemacs.org>
7339
7340         * glyphs-widget.c (layout_query_geometry): add in fiddle
7341         factor. Include border text in width layout calculation.
7342         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7343
7344 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7345
7346         * XEmacs 21.4.10 "Military Intelligence" is released.
7347
7348 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7349
7350         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7351         using the NAS private array SoundFileInfo that no longer exists in
7352         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7353         and earlier.  This is broken for some versions between 1.5a and
7354         1.5f.
7355
7356 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7357
7358         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7359
7360         * emacs.c (shut_down_emacs): Improve crash message.
7361
7362 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7363
7364         * file-coding.c (determine_real_coding_system): Check for coding
7365         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7366         shebangs and Python PEP 263.
7367
7368 2002-10-08  Andy Piper  <andy@xemacs.org>
7369
7370         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7371         if static sizes haven't been set.
7372
7373 2002-08-30  Mike Alexander  <mta@arbortext.com>
7374
7375         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7376         to close a socket.
7377
7378 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7379
7380         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7381
7382 2002-09-20  Mike Sperber <mike@xemacs.org>
7383
7384         (This partially gets back my patch from 2002-07-20 without the
7385         bug.)
7386         * callproc.c (child_setup): Remove Ben's comment noting confusion
7387         over the file descriptors >= 3: close_process_descs() doesn't
7388         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7389         * process-unix.c (unix_create_process): Call
7390         begin_dont_check_for_quit to inhibit unwanted interaction (and
7391         thus breaking of X event synchronicity) in the child.
7392
7393 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7394
7395         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7396         widget.
7397
7398 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7399
7400         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7401         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7402         the xemacs process did not exit, but looped infinitely here.  This
7403         fixes that problem.
7404
7405 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7406
7407         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7408         (find_context): Improve comments.
7409
7410         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7411         (re_match_2): An XCHAR_TABLE operation was missing.
7412
7413         Many of the following changes were inspired by Andy Piper's (now
7414         obsolete) patch to make syntax-table text property lookup optional.
7415
7416         [Documentation]
7417
7418         * syntax.h (top level): Document semantics of syntax flags.
7419         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7420         * syntax.c, syntax.h (top level): Document syntax cache better in
7421         comments.
7422
7423         [Instrument syntax caching (temporary change)]
7424
7425         * syntax.h (enum syntax_cache_statistics_functions, struct
7426         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7427         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7428         * syntax.c (scan_words, Fforward_comment, scan_lists,
7429         Fbackward_prefix_characters):
7430         * font-lock.c (find_context):
7431         Use them to instrument syntax caching. 
7432         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7433         syntax_cache_statistics_function_names): New type and variables.
7434         * syntax.c (update_syntax_cache): Update and report statistics.
7435
7436         [Major syntax cache optimizations]
7437
7438         syntax.c (lookup_syntax_properties): Default off.
7439
7440         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7441         * syntax.c (update_syntax_cache):
7442         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7443
7444         [Minor syntax cache optimizations and code clarifications]
7445
7446         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7447         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7448         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7449         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7450         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7451         (Code clarification.)
7452
7453         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7454         scan_lists): Compute code from syncode, use Boolean macros instead
7455         of redundant masking operations.  (Code clarification; any decent
7456         compiler can do this optimization.)
7457
7458         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7459         for clarity.
7460
7461         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7462         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7463         use F*_single_property_change instead of F*_extent_change.
7464         Currently F*_single_property_change is _much_ less efficient.
7465
7466         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7467         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7468         syntax_cache.object properly, don't leave Qt or Qnil.
7469         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7470         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7471         tests for Qt or Qnil.
7472
7473 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7474
7475         * redisplay.c (point_in_line_start_cache): 
7476         * extents.c (print_extent_1):
7477         Fix warnings.
7478
7479         * extents.c (Fset_extent_property): Document `syntax-table' property.
7480
7481         * extents.h (Fnext_single_property_change): EXFUN it.
7482
7483 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7484
7485         * search.c (clear_unused_search_regs): New static function.
7486         (search_buffer): 
7487         (simple_search): 
7488         (boyer_moore):
7489         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7490         Minor clarifications in comments.
7491
7492         * regex.c (re_match_2_internal): Ensure no stale submatches.
7493
7494 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7495
7496         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7497
7498 2002-08-29  Jerry James  <james@xemacs.org>
7499
7500         * lisp.h: structrures -> structures.
7501
7502 2002-06-03  Andy Piper  <andy@xemacs.org>
7503
7504         * frame.c (frame_conversion_internal): add conversion appropriate
7505         for setting frame dimensions in pixels.
7506
7507         * console.h (struct console_methods): add device-specific widget
7508         layout functions.
7509
7510         * emacs.c (main_1): initialize glyph vars.
7511
7512         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7513         (handle_focus_event_2): new function. Allow focus to
7514         be set to a particular window and widget.
7515         (enqueue_focus_event): new function. Create a
7516         synthetic focus event.
7517         (emacs_Xt_handle_magic_event): call
7518         handle_focus_event_2.
7519
7520         * frame.c (Fset_frame_pixel_height): new function. Allow
7521         pixel-based sizing. Does the right thing on character-oriented
7522         displays.
7523         (Fset_frame_pixel_width): ditto.
7524         (Fset_frame_pixel_size): ditto.
7525         (syms_of_frame): declare.
7526
7527         * general-slots.h: add :vertically-justify and
7528         :horizontally-justify.
7529
7530         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7531         (mswindows_widget_border_width): new function.
7532         (mswindows_combo_box_instantiate): set border widths.
7533         (console_type_create_glyphs_mswindows): declare.
7534
7535         * glyphs-widget.c:
7536         (check_valid_justification): allow vertical and horizontal
7537         justification.
7538         (widget_border_width): new function. Call device methods.
7539         (widget_instance_border_width): ditto.
7540         (logical_unit_height): new function. Determine the height of a
7541         logical-unit. Logical units are intended to provide grid-like
7542         layout for subcontrols in a layout. If the layout is
7543         :vertically-justify top then subcontrols will be positioned on
7544         logical-unit boundaries, thus allowing adjacent subcontrols to
7545         line up.
7546         (widget_logical_unit_height): ditto for widgets.
7547         (redisplay_widget): misc cleanup.
7548         (widget_spacing): new function. Call device specific
7549         methods. Intended to be the default gap between adjacent widgets.
7550         (widget_query_geometry): use new spacing functions to determine
7551         appropriate geometry.
7552         (initialize_widget_image_instance): initialize horizontal and
7553         vertical justification.
7554         (widget_instantiate): use logica-units where appropriate for
7555         sizing large widgets.
7556         (button_query_geometry): use widget_instance_border_width.
7557         (tree_view_query_geometry): ditto.
7558         (tab_control_query_geometry): ditto.
7559         (edit_field_query_geometry): new function.
7560         (layout_update): pick up :justify, :horizontally-justify and
7561         :vertically-justify none of which worked previously. :justify is
7562         used as a fallback for both horizontal and vertical justification.
7563         (layout_query_geometry): use logical units to size appropriately.
7564         (layout_layout): ditto.
7565         (Fwidget_logical_to_character_width): new function. Allow users to
7566         convert from logical units to characters so that frame sizes can
7567         be set appropriately.
7568         (Fwidget_logical_to_character_height): ditto.
7569         (syms_of_glyphs_widget): declare.
7570         (image_instantiator_edit_fields): add edit_field_query_geometry.
7571         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7572         :horizontally-justify.
7573         (specifier_vars_of_glyphs_widget): new function. Declare
7574         Vwidget_border_width which is not yet used.
7575
7576         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7577         (x_widget_border_width): new function.
7578         (x_widget_instantiate): create a sensible name for widgets.
7579         (console_type_create_glyphs_x): declare x_widget_border_width.
7580
7581         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7582         (struct Lisp_Image_Instance): add :vertically-justify and
7583         :horizontally-justify.
7584         (LAYOUT_JUSTIFY_TOP): new.
7585         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7586         (ROUND_UP): new macro. Round argument up to next integral
7587         interval.
7588
7589         * redisplay-output.c (redisplay_output_layout): misc formatting.
7590
7591         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7592
7593 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7594
7595         * XEmacs 21.4.9 "Informed Management" is released.
7596
7597 2002-08-19  Andy Piper  <andy@xemacs.org>
7598
7599         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7600         win32 format.
7601
7602         * realpath.c (xrealpath): normalize drive spec also so that dir
7603         sep chars are not mixed on cygwin.
7604
7605 2002-08-06  Jerry James  <james@xemacs.org>
7606
7607         * window.c (Fsplit_window): Count only half of the divider width
7608         against the left window when splitting horizontally. 
7609
7610 2002-06-24  Andy Piper  <andy@xemacs.org>
7611
7612         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7613         toolbar was cleared.
7614
7615         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7616         function. Split out from mswindows_output_frame_toolbars.
7617         (mswindows_output_frame_toolbars): move clear pieces to
7618         mswindows_output_frame_toolbars.
7619
7620         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7621         out from gtk_output_frame_toolbars.
7622         (gtk_output_frame_toolbars): move clear pieces to
7623         gtk_clear_frame_toolbars.
7624
7625         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7626         the frame is cleared. How this ever worked before is a mystery.
7627         (x_output_frame_toolbars): Only output toolbars.
7628         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7629
7630         * gutter.c (update_gutter_geometry):
7631         Mark frame layout changed.
7632         (update_frame_gutter_geometry, update_frame_gutters):
7633         Respect frame_layout_changed.
7634
7635         * console.h (struct console_methods): add
7636         clear_frame_toolbars_method.
7637
7638         * redisplay.c (redisplay_frame): call
7639         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7640
7641         * toolbar.h: declare update_frame_toolbars_geometry.
7642
7643         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7644         out from update_frame_toolbars.  Call clear_frame_toolbars.
7645         (update_frame_toolbars): only output, do not change geometry.
7646
7647         * redisplay.c: add frame_layout_changed.
7648
7649         * redisplay.h: add frame_layout_changed.
7650         (CLASS_RESET_CHANGED_FLAGS): set it.
7651         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7652         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7653         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7654
7655         * device.h (struct device): add frame_layout_changed.
7656         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7657
7658         * frame.h (struct frame): add frame_layout_changed.
7659         (MARK_FRAME_LAYOUT_CHANGED): new.
7660
7661 2002-06-30  Mike Alexander  <mta@arbortext.com>
7662
7663         * event-msw.c (mswindows_need_event): Don't wait for a new message
7664         if the queue is not empty.  Suggested by Paul Moore.
7665
7666 2002-06-12  Andy Piper  <andy@xemacs.org>
7667
7668         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7669         for printing on accurately.
7670
7671 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7672
7673         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7674         WM_ACTIVATE message. Make sure that the frame is visible if the
7675         window is visible. This seemss to fix the problem where XEmacs
7676         appears to freeze after switching desktops with certain virtual
7677         window managers.
7678         (debug_output_mswin_message): Added code to output message
7679         parameters for WM_WINDOWPOSCHANGED, 
7680         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7681
7682 2002-05-25  Andy Piper  <andy@xemacs.org>
7683
7684         * select-x.c (vars_of_select_x): Fix docstring of
7685         x-selection-strict-motif-ownership
7686
7687 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7688
7689         * keymap.c (get_keymap):
7690         Add comment about do_autoload GCPROs own args.
7691
7692 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7693
7694         * bytecode.c (execute_optimized_program): check_opcode ifdef
7695         ERROR_CHECK_BYTE_CODE.
7696
7697 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7698
7699         Thanks to Ben Wing and Michael Sperber.
7700
7701         * eval.c (Fcommand_execute):
7702         (Feval):
7703         (Ffuncall):
7704         (Fmacroexpand_internal):
7705         (function_argcount):
7706         callint.c (Fcall_interactively):
7707         Add comment about do_autoload GCPROs own args.
7708
7709         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7710
7711         * eval.c (Ffuncall): Extra braces to placate GCC.
7712
7713 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7714
7715         * backtrace.h (grow_specpdl):
7716         (SPECPDL_RESERVE):
7717         * EmacsFrame.c (EmacsFrameSetValues):
7718         * eval.c (grow_specpdl):
7719         * ExternalShell.c (hack_event_masks_1):
7720         * glyphs-x.c (convert_EImage_to_XImage): 
7721         (x_finalize_image_instance):
7722         * ralloc.c (page_size):
7723         (r_alloc_sbrk):
7724         * xgccache.c (gc_cache_hash):
7725         Fix unsigned comparison warnings.
7726
7727 2002-07-29  Jerry James  <james@xemacs.org>
7728
7729         * lread.c (locate_file): Any nonnegative return value indicates
7730         success if MODE is nonnegative.
7731
7732 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7733
7734         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7735         argument. 
7736
7737 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7738
7739         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7740
7741         * dumper.c (pdump_get_indirect_count):
7742         (pdump_scan_by_alignment):
7743         (pdump_dump_root_struct_ptrs):
7744         (pdump_dump_rtables):
7745         (pdump_dump_root_objects):
7746         (pdump):
7747         * nas.c (WaveOpenDataForReading):
7748         * fns.c (print_bit_vector):
7749         * font-lock.c (SINGLE_SYNTAX_STYLE):
7750         * glyphs.c (check_for_ignored_expose):
7751         (find_matching_subwindow):
7752         * glyphs-eimage.c:
7753         * imgproc.c (get_histogram):
7754         * redisplay.c (point_in_line_start_cache):
7755         * redisplay-output.c (redisplay_unmap_subwindows):
7756         * symbols.c (defsymbol_massage_name_1):
7757         (defkeyword_massage_name):
7758         (deferror_massage_name_and_message):
7759         * redisplay-x.c (x_output_string): 
7760         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7761         * frame.h (struct frame):
7762         * filelock.c (current_lock_owner):
7763         * doprnt.c (emacs_doprnt_1):
7764         * lisp.h (struct Lisp_Bit_Vector):
7765         (DO_REALLOC):
7766         Fix warnings.
7767
7768 2002-02-13  Ben Wing  <ben@xemacs.org>
7769
7770         * event-stream.c (reset_key_echo):
7771         * event-stream.c (reset_this_command_keys):
7772         * event-stream.c (execute_command_event):
7773         If console is dead as a result of C-x 5 0, then post-command stuff
7774         needs to be careful and do only non-console-specific stuff.
7775
7776 2002-07-01  Mike Sperber <mike@xemacs.org>
7777
7778         * process-unix.c (unix_send_process): Mark coding_outstream as
7779         non-open upon SIGPIPE.
7780
7781         * event-stream.c (Fnext_event): Reorder switch cases to something
7782         that makes sense.
7783
7784 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7785
7786         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7787         Don't bogusly reinitialize ascii_character property.
7788
7789 2002-07-08  Mike Sperber <mike@xemacs.org>
7790
7791         * process.c (Fstart_process_internal): Do error checking before we
7792         fork off the child, so the child can't muck with the state of the
7793         parent.
7794
7795 2002-07-08  Mike Sperber <mike@xemacs.org>
7796
7797         * ralloc.c (init_ralloc): Allocate properly for pdump.
7798
7799 2002-06-12  Andy Piper  <andy@xemacs.org>
7800
7801         * glyphs.c (query_string_geometry): check the string.
7802
7803         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7804         widget names.
7805
7806 2002-06-17  Jerry James  <james@xemacs.org>
7807
7808         * sysdll.c: Remove RTLD_GLOBAL initialization.
7809         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7810
7811 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7812
7813         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7814
7815 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7816
7817         * sysdep.c (sys_rename): Make sys_rename work for the case where
7818         Windows rename sets errno to EACCES if target file exists.
7819
7820 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7821
7822         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7823         Fix detection of metric units to work on Win95
7824
7825 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7826
7827         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7828
7829 2002-04-25  Andy Piper  <andy@xemacs.org>
7830
7831         * redisplay.c (create_text_block): Remove extra comment trailer.
7832
7833 2002-04-24  Andy Piper  <andy@xemacs.org>
7834
7835         * redisplay.c (create_text_block): Don't actually add propagation
7836         data if the line ends after we have added a glyph.
7837
7838 2002-04-22  Andy Piper  <andy@xemacs.org>
7839
7840         * extents.c (extent_fragment_update): check for glyphs we have
7841         previously displayed.
7842         * extents.c (print_extent_1): warning removal.
7843         * extents.h: change prototype.
7844         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7845         widths correctly for wide glyphs.
7846         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7847         * redisplay.c (prop_type): add PROP_GLYPH.
7848         * redisplay.c (struct prop_block): add glyph type
7849         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7850         to the propagation data.
7851         * redisplay.c (create_text_block): if there is a glyph in the
7852         propagation data use it to salt extent_fragment_update.
7853         * redisplay.c (create_string_text_block): ditto.
7854
7855 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7856
7857         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7858         * redisplay-output.c (compare_runes): Compare them.
7859         * redisplay.c: Update copyright date.
7860         * redisplay.c (pos_data): Add need_baseline_computation field.
7861         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7862         need_baseline_computation; zero yoffset. Set max_pixmap_height
7863         for all pixmaps, not just automatically positioned ones.
7864         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7865         * redisplay.c (calculate_baseline): New, compute textual baseline.
7866         * redisplay.c (add_glyph_rune): Call them.
7867         * redisplay.c (create_text_block): Likewise.
7868         * redisplay.c (create_overlay_glyph_block): Likewise.
7869         * redisplay.c (add_margin_runes): Likewise.
7870         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7871
7872         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7873         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7874         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7875         * redisplay-msw.c (mswindows_output_string): Likewise.
7876         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7877         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7878         * redisplay-x.c (x_output_display_block): Likewise.
7879
7880 2002-03-28  Ben Wing  <ben@xemacs.org>
7881
7882         * redisplay.c: Fixed bug in redisplay
7883         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7884         and down of the lines, since they're bigger than the line
7885         size. (It was seen most obviously when there's a horizontal scroll
7886         bar, e.g. do C-h a glyph or something like that.) The problem was
7887         that the glyph-contrib-p setting on glyphs was ignored even if it
7888         was set properly, which it wasn't until now.
7889
7890 2002-04-24  Andy Piper  <andy@xemacs.org>
7891
7892         * lisp.h (Dynarr_end): Fix definition.
7893
7894 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7895
7896         * redisplay.c (mark_redisplay): Remove call to
7897         update_frame_window_mirror.
7898
7899 2001-11-15  Andy Piper  <andy@xemacs.org>
7900
7901         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7902         cygwin (again).
7903
7904 2002-02-13  Andy Piper  <andy@xemacs.org>
7905
7906         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7907         we did in fact enqueue the XM_MAPFRAME event.
7908
7909 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7910
7911         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7912         to fix problem switching between virtual desktops under virtuawin
7913         virtual window manager.
7914
7915 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7916
7917         * event-msw.c: Typo fix.
7918         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7919         magic XM_MAPFRAME event has been sent.
7920
7921 2001-11-23  Andy Piper  <andy@xemacs.org>
7922
7923         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7924
7925 2001-11-21  Andy Piper  <andy@xemacs.org>
7926
7927         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7928         mouse events outside the frame.
7929
7930 2002-03-20  Andy Piper  <andy@xemacs.org>
7931
7932         * menubar-msw.c (mswindows_popup_menu): warning removal.
7933         * dialog-msw.c (dialog_popped_down): ditto.
7934
7935 2001-12-11  Andy Piper  <andy@xemacs.org>
7936
7937         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7938         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7939         popup_up_p.
7940         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7941         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7942         * menubar-msw.c (mswindows_popup_menu): ditto.
7943
7944 2001-10-29  Andy Piper  <andy@xemacs.org>
7945
7946         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7947         cancels.
7948
7949 2002-01-03  Andy Piper  <andy@xemacs.org>
7950
7951         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7952         letters.
7953         (xrealpath): ditto.
7954
7955 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7956
7957         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7958         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7959         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7960         Detect and handle case where machine is set up for metric units
7961
7962 2002-04-02  Andy Piper  <andy@xemacs.org>
7963
7964         * dired-msw.c (mswindows_get_files): 
7965         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7966         completely handled by XEmacs. Suggested by Thomas Vogler
7967         <mail@thomas-vogler.de>.
7968
7969 2001-11-14  Andy Piper  <andy@xemacs.org>
7970
7971         * nt.c (REG_ROOT): change registry key to XEmacs.
7972
7973 2002-04-27  Andy Piper  <andy@xemacs.org>
7974
7975         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7976
7977 2002-04-26  Andy Piper  <andy@xemacs.org>
7978
7979         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7980         behavior.
7981
7982 2002-03-14  Mike Alexander  <mta@arbortext.com>
7983
7984         * event-msw.c (mswindows_unwait_process): New, remove process from
7985         wait list
7986         * process-nt.c (nt_finalize_process_data): Call
7987         mswindows_unwait_process
7988         * console-msw.h: Declare mswindows_unwait_process
7989
7990 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7991
7992         * editfns.c (Fdecode_time):
7993         (Fformat_time_string):
7994         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7995         (make_time): Warning elimination (change arg name).
7996
7997 2001-11-24  Andy Piper  <andy@xemacs.org>
7998
7999         * window.c (Fsplit_window): Doc return type.
8000
8001 2002-04-01  Andy Piper  <andy@xemacs.org>
8002
8003         * emacs.c (Fkill_emacs): Only output message box in interactive
8004         mode.
8005
8006 2002-04-26  Andy Piper  <andy@xemacs.org>
8007  
8008         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8009         cygwin.
8010
8011 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8012
8013         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8014         bit platform.
8015
8016 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8017
8018         * XEmacs 21.4.8 "Honest Recruiter" is released.
8019
8020 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8021
8022         Supersedes 2002-04-17 patch.
8023
8024         * process.h (PROCESS_LIVE_P): Use the process status as
8025         evidence of health, not the state of the input stream.
8026         (PROCESS_READABLE_P): Say if the process is readable
8027         from. (It may be dead nonetheless.)
8028         (CHECK_READABLE_PROCESS): Test for that condition.
8029
8030         * process.c (create_process): Use PROCESS_READABLE_P.
8031         (read_process_output, set_process_filter): Likewise.
8032
8033         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8034         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8035
8036         This code is #if 0'd, this is not the time to add new functions:
8037
8038         * process.c (Fprocess_readable_p): Report readability status.
8039         * process.c (Qprocess_readable_p): New, associated symbol...
8040         * process.c (syms_of_process): ... initialize it.
8041
8042 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8043
8044         * XEmacs 21.4.7 "Economic Science" is released.
8045
8046 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8047
8048         * process.h (PROCESS_LIVE_P): Use the process status as
8049         evidence of health, not the state of the input stream.
8050
8051 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8052
8053         * sysdep.c (sys_siglist): change "signum" to "signal"
8054
8055 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8056
8057         * s/darwin.h: New file.
8058         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8059         
8060 2002-04-23  Andreas Jaeger  <aj@suse.de>
8061
8062         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8063         which use lib64 for 64-bit libs.
8064         (START_FILES): Likewise.
8065
8066 2002-02-11  Mike Sperber  <mike@xemacs.org>
8067
8068         * device-x.c: 
8069         (x_IO_error_handler):
8070         (x_init_device): Temporarily keep device in static variable
8071         `device_being_initialized' so we can recover gracefully from
8072         internal XOpenDevice failure.  (XOpenDevice is documented to
8073         return NULL on failure, but sometimes calls the IO error handler
8074         instead.)
8075
8076 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8077
8078         * dired.c (Ffile_name_all_completions): Change documentation --
8079         remove reference to completion-ignored-extensions.
8080         * dired.c (vars_of_dired): Change documentation for
8081         completion-ignored-extensions -- remove reference to
8082         file-name-all-completions.
8083
8084 2002-03-06  Jerry James  <james@xemacs.org>
8085
8086         * emodules.c (emodules_load): Fix multiple loading of same module.
8087
8088 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8089         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8090         RTLD_LAZY to avoid incorrect symbol binding when using nested
8091         shared libraries on Solaris.
8092
8093 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8094
8095         * fileio.c (Ffind_file_name_handler): Improve docstring.
8096
8097 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8098
8099         * fns.c (Fmapconcat): Improve docstring.
8100
8101 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8102
8103         * device-gtk.c: Add prototype for
8104         emacs_gtk_selection_clear_event_handle.
8105         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8106         selection.  Setup signal handler for "selection_clear_event"
8107         (emacs_gtk_selection_clear_event_handle).
8108
8109         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8110         other applications owning the clipboard (based on
8111         x_handle_selection_clear).
8112
8113 2001-12-23  William M. Perry  <wmperry@gnu.org>
8114
8115         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8116         
8117 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8118
8119         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8120
8121 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8122
8123         * XEmacs 21.4.6 "Common Lisp" is released.
8124
8125 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8126
8127         * search.c (Freplace_match): Add missing sub-expression functionality.
8128
8129         * buffer.c (decode_buffer): Add a check for pointer type to
8130         decode_buffer, before gcc's CSE optimization reorders a
8131         dereference in front of the allow_string test.
8132
8133 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8134
8135         * window.c (window_loop): Fix bug that sometimes prevented
8136         window_loop() from iterating across multiple devices.  Also, at
8137         Ben's request, changed infloop-detecting code to abort() instead
8138         of silently terminating window_loop().
8139
8140 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8141
8142         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8143         * editfns.c (make_time): New function.
8144         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8145         * lisp.h (make_time): Prototype and comment it.
8146         * dired.c (wasteful_word_to_lisp): Deprecate.
8147         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8148
8149 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8150
8151         * fileio.c (auto_save_1): Use current coding system, not
8152         escape-quoted.
8153
8154 2001-11-13  Ben Wing  <ben@xemacs.org>
8155
8156         * window.c:
8157         * window.c (window_truncation_on):
8158         * window.c (syms_of_window):
8159         truncate-partial-width-windows should respect the buffer being
8160         displayed, like other redisplay vars.
8161
8162 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8163
8164         * event-stream.c (Fread_key_sequence): save current buffer.
8165
8166 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8167
8168         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8169
8170 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8171
8172         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8173
8174 2001-10-26  Mike Alexander  <mta@arbortext.com>
8175
8176         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8177
8178 2001-10-25  Andy Piper  <andy@xemacs.org>
8179
8180         * ChangeLog:
8181         * dialog-msw.c (handle_directory_proc): new function.
8182          (handle_directory_dialog_box): new fucntion.
8183          (handle_file_dialog_box): use new directory dialog support.
8184          (mswindows_make_dialog_box_internal): ditto.
8185         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8186         handling.
8187         (mswindows_find_frame): make global.
8188         * fileio.c (Fexpand_file_name): build fix.
8189         * general-slots.h: add Qdirectory.
8190         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8191         handling.
8192         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8193         cygwin not leaving win32 paths unchanged.
8194         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8195         cygwin runtime to do path conversion.
8196         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8197         (syms_of_win32): add new function.
8198         * window.c (window_loop): build fix.
8199
8200 2001-10-15  Andy Piper  <andy@xemacs.org>
8201
8202         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8203
8204 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8205
8206         * XEmacs 21.4.5 "Civil Service" is released.
8207
8208 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8209
8210         * glyphs-x.c: Force buffer-tab highlight update when moving the
8211         buffer, avoiding an ugly black border, used for keyboard focus
8212         indication, on a widget that can never have keyboard focus, the
8213         buffer tab.
8214
8215 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8216
8217         * process-unix.c (unix_open_multicast_group): Remove too much
8218         conversion between host and network byte order.
8219
8220 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8221
8222         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8223         before replacing them.
8224
8225         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8226         operation.
8227
8228         * src/window.c (undedicate_windows): Use it.
8229         * src/window.h: Add prototype.
8230
8231 2001-09-17  Ben Wing  <ben@xemacs.org>
8232
8233         * fileio.c (normalize_filename):
8234         * fileio.c (Fexpand_file_name):
8235         Fix various C++ compile errors in Andy's recent code.
8236         
8237         * callint.c (Fcall_interactively):
8238         * editfns.c (Ftemp_directory):
8239         * editfns.c (Fuser_full_name):
8240         * emacs.c (argmatch):
8241         * lread.c (locate_file_map_suffixes):
8242         * redisplay-x.c (x_ring_bell):
8243         Fix sign-compare warnings.
8244         
8245 2001-09-08  Andy Piper  <andy@xemacs.org>
8246
8247         * fileio.c (normalize_filename): copied from nt.c
8248         * (Ffile_name_directory): enable win32 paths under cygwin.
8249         * (Ffile_name_nondirectory): ditto.
8250         * (directory_file_name): ditto.
8251         * (Fexpand_file_name): ditto.
8252         * (Ffile_truename): ditto.
8253         * (Fsubstitute_in_file_name): ditto.
8254         * (Ffile_name_absolute_p): ditto.
8255         * (Ffile_readable_p): ditto.
8256
8257 2001-09-08  Andy Piper  <andy@xemacs.org>
8258
8259         * device-msw.c (mswindows_finish_init_device): remove dde
8260         initialization.
8261         * device-msw.c (mswindows_init_dde): factor out from
8262         mswindows_finish_init_device()
8263         * device-msw.c (init_mswindows_very_early): new function
8264         initialize but don't enable dde.
8265         * emacs.c (main_1): call init_mswindows_very_early.
8266         * event-msw.c:
8267         * event-msw.c (mswindows_dde_callback): only execute when we are
8268         ready.
8269         * symsinit.h: declare init_mswindows_very_early.
8270
8271 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8272
8273         [sjt: This has been in 21.5 for months with no complaints.]
8274
8275         * console.h (struct console_methods): Added flags member.
8276         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8277         (CONMETH_IMPL_FLAG):
8278         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8279         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8280
8281         * device.c (window_system_pixelated_geometry): Use the above macros.
8282
8283         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8284         implememntation flag.
8285         * device.h (DEVICE_DISPLAY_P): Use it.
8286
8287         * frame.c (delete_frame_internal): Use the above macro.
8288
8289         * redisplay.c (redisplay_device): Use it.
8290         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8291         (redisplay_frame): Ditto.
8292
8293         * device-msw.c (mswindows_device_implementation_flags): Removed.
8294         (msprinter_device_implementation_flags): Removed.
8295         (console_type_create_device_mswindows): Removed references to
8296         implementation_flags methods, set implementation flags here.
8297         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8298
8299         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8300         (console_type_create_device_gtk): Removed method declaration.
8301         Added commented out statement which semantically matches the
8302         commented out statement in the above removed method.
8303
8304 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8305
8306         The attached patch fixes a few warnings. 
8307
8308         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8309         * src/frame-gtk.c: guard against GNOME calls in GTK only
8310         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8311         * src/select-gtk.c: prototype lisp_to_time
8312
8313 2001-06-08  Ben Wing  <ben@xemacs.org>
8314
8315         ------ gc-in-window-procedure fixes ------
8316         
8317         * alloc.c:
8318         * alloc.c (struct post_gc_action):
8319         * alloc.c (register_post_gc_action):
8320         * alloc.c (run_post_gc_actions):
8321         * alloc.c (garbage_collect_1):
8322         Create "post-gc actions", to avoid those dreaded "GC during window
8323         procedure" problems.
8324
8325         * event-msw.c:
8326         Abort, clean and simple, when GC in window procedure.  We want
8327         to flush these puppies out.
8328
8329         * glyphs-msw.c:
8330         * glyphs-msw.c (finalize_destroy_window):
8331         * glyphs-msw.c (mswindows_finalize_image_instance):
8332         Use a post-gc action when destroying subwindows.
8333
8334         * lisp.h:
8335         Declare register_post_gc_action().
8336
8337         * scrollbar-msw.c:
8338         * scrollbar-msw.c (unshow_that_mofo):
8339         Use a post-gc action when unshowing scrollbar windows, if in gc.
8340
8341         * redisplay.c (mark_redisplay):
8342         Add comment about the utter evilness of what's going down here.
8343
8344         ------ cygwin setitimer fixes ------
8345         
8346         * Makefile.in.in (sheap_objs):
8347         * Makefile.in.in (profile_objs):
8348         * Makefile.in.in (objs):
8349         Compile profile.c only when HAVE_SETITIMER.
8350         
8351         * nt.c (mswindows_sigset):
8352         * nt.c (mswindows_sighold):
8353         * nt.c (mswindows_sigrelse):
8354         * nt.c (mswindows_sigpause):
8355         * nt.c (mswindows_raise):
8356         * nt.c (close_file_data):
8357         Style fixes.
8358         
8359         * nt.c:
8360         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8361         
8362         * profile.c:
8363         * profile.c (Fstart_profiling):
8364         * profile.c (Fstop_profiling):
8365         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8366         instead of just plain setitimer().
8367         
8368         * signal.c:
8369         * signal.c (set_one_shot_timer):
8370         * signal.c (alarm):
8371         Define qxe_setitimer() as an encapsulation around setitimer() --
8372         call setitimer() directly unless Cygwin or MS Win, in which case
8373         we use our simulated version in win32.c.
8374         
8375         * systime.h:
8376         * systime.h (struct itimerval):
8377         * systime.h (ITIMER_REAL):
8378         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8379         comment about "qxe" and the policy regarding encapsulation.
8380
8381         * win32.c:
8382         * win32.c (setitimer_helper_proc):
8383         * win32.c (setitimer_helper_period):
8384         * win32.c (setitimer_helper):
8385         * win32.c (mswindows_setitimer):
8386         Move setitimer() emulation here, so Cygwin can use it.
8387         Rename a couple of functions and variables to be longer and more
8388         descriptive.  In setitimer_helper_proc(), send the signal
8389         using either mswindows_raise() or (on Cygwin) kill().  If for
8390         some reason we are still getting lockups, we'll change the kill()
8391         to directly invoke the signal handlers.
8392
8393         ------ windows shell fixes ------
8394         
8395         * callproc.c:
8396         * ntproc.c:
8397         Comments about how these two files must die.
8398
8399         * callproc.c (init_callproc):
8400         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8401         not just COMSPEC. (more correct and closer to FSF.) Don't
8402         force a value for SHELL into the environment. (Comments added
8403         to explain why not.)
8404         
8405         * nt.c (init_user_info):
8406         Don't shove a fabricated SHELL into the environment.  See above.
8407
8408 2001-06-01  Ben Wing  <ben@xemacs.org>
8409
8410         * Makefile.in.in (ldflags):
8411         eliminate that pesky "defaulting to 00401000" warning.
8412         * nt.h:
8413         eliminate warnings.
8414
8415 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8416
8417         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8418         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8419
8420 2001-04-24  Jerry James <james@xemacs.org>
8421
8422         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8423         correct order.
8424
8425 2001-06-01  Ben Wing  <ben@xemacs.org>
8426
8427         * event-msw.c (debug_mswin_messages):
8428         conditionalize the messages that were causing compile errors.
8429         (if only macros could generate #ifdef statements ...)
8430
8431 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8432
8433         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8434
8435 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8436
8437         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8438
8439 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8440
8441         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8442         * process-unix.c (unix_canonicalize_host_name):
8443         sysdep.c (init_system_name):
8444         Use it to conditionally support IPv6 canonicalization.
8445
8446 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8447
8448         * event-msw.c:
8449         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8450
8451 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8452
8453         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8454         attempt is made to scroll when no scroll bar is available.
8455
8456 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8457
8458         * input-method-motif.c (XIM_delete_frame): New callback.
8459         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8460         got deleted from 21.4.3.)
8461
8462 2001-06-01  Ben Wing  <ben@xemacs.org>
8463
8464         * nt.c (mswindows_utime):
8465         * nt.c (close_file_data):
8466         fix off-by-one-indirection error.
8467
8468 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8469
8470         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8471         because set_file_times() now takes Lisp_Object path, instead of
8472         char*.
8473         * nt.c: Include buffer.h.
8474         * nt.c (convert_from_time_t): New.
8475         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8476         not set mtime correctly.
8477         * nt.h: Declare mswindows_utime().
8478         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8479         path, instead of char*.
8480         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8481
8482 2001-05-30  Ben Wing  <ben@xemacs.org>
8483
8484         For 21.4:
8485
8486         (Stephen, just take all event-msw.c patches.  This includes
8487         the "iconify" fix below.)
8488
8489         * event-msw.c:
8490         * event-msw.c (mswindows_dequeue_dispatch_event):
8491         * event-msw.c (assert):
8492         * event-msw.c (emacs_mswindows_quit_p):
8493         * event-msw.c (debug_mswin_messages):
8494         * event-msw.c (debug_output_mswin_message):
8495         * event-msw.c (vars_of_event_mswindows):
8496         Fix yet more problems with C-g handling.
8497         Implement debug-mswindows-events.
8498         
8499 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8500
8501         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8502         
8503 2001-05-23  Ben Wing  <ben@xemacs.org>
8504
8505         * event-msw.c (winsock_writer):
8506         * event-msw.c (winsock_closer):
8507         prior kludgy code was clobbering the buffer, thinking it was
8508         "unused" space to store an unneeded return value; instead, use
8509         the variable we've already got staring us in the face.
8510
8511 2001-05-17  Andy Piper  <andy@xemacs.org>
8512
8513         * sysfile.h: don't assume that file attributes are boolean
8514
8515 2001-05-23  Ben Wing  <ben@xemacs.org>
8516
8517         * device-msw.c (msprinter_init_device):
8518         signal an error rather than crash with an unavailable network
8519         printer (from Mike Alexander).
8520         
8521         * event-msw.c:
8522         * event-msw.c (struct winsock_stream):
8523         * event-msw.c (winsock_writer):
8524         * event-msw.c (winsock_closer):
8525         * event-msw.c (make_winsock_stream_1):
8526         cleanup headers.  fix (hopefully) an error with data corruption
8527         when sending to a network connection.
8528
8529         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8530         to handle the ~user prefix by (a) always assuming we're referencing
8531         ourselves and not even verifying the user -- hence any file with
8532         a tilde as its first char is invalid! (b) if there wasn't a slash
8533         following the filename, the pointer was set *past* the end of
8534         file and we started reading from uninitialized memory.  Now we
8535         simply treat these as files, always.
8536
8537         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8538         
8539 2001-05-19  Ben Wing  <ben@xemacs.org>
8540
8541         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8542
8543         * process-nt.c:
8544         * process-nt.c (vars_of_process_nt):
8545         remove unused mswindows-quote-process-args.  rec for 21.4.
8546         
8547 2001-05-12  Ben Wing  <ben@xemacs.org>
8548
8549         * event-msw.c (mswindows_dde_callback):
8550         * event-msw.c (mswindows_wnd_proc):
8551         eliminate cygwin warnings.
8552
8553 2001-05-06  Ben Wing  <ben@xemacs.org>
8554
8555         * console-msw.h:
8556         * device-msw.c:
8557         * device-msw.c (print_dialog_worker):
8558         * device-msw.c (mswindows_handle_print_dialog_box):
8559         * device-msw.c (syms_of_device_mswindows):
8560         * dialog-msw.c (mswindows_make_dialog_box_internal):
8561         * general-slots.h:
8562         implement printing the selection when it's selected.
8563
8564 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8565
8566         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8567
8568 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8569
8570         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8571         EMACS_INT is signed.
8572
8573 2001-04-15  Michael Lausch  <mla@1012surf.net>
8574
8575         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8576         gtk_widget_request_size() to give scrollbar >0 width for
8577         GTK >1.2.8.
8578
8579 2001-05-30  William M. Perry  <wmperry@gnu.org>
8580
8581         * event-gtk.c: Check for buttons as modifier keys.
8582
8583 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8584
8585         * s\mingw32.h:
8586         Properly find MinGW's <process.h> inside Cygwin's restructured
8587         include directories.  Don't try to include <cygwin/version.h>
8588         since we are dropping support for MinGW in versions of Cygwin
8589         earlier than b21.
8590         * nt.c:
8591         Drop support for MinGW in versions of Cygwin before b21.
8592         * sysdep.c:
8593         Properly find MinGW's <process.h> inside Cygwin's restructured
8594         include directories.
8595         * syswindows.h:
8596         Drop support for MinGW in versions of Cygwin before b21.
8597         * unexcw.c:
8598         Even though a.out.h is no longer detected by configure, allow
8599         MinGW to use it until we figure out how to do the job with Win32.
8600
8601 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8602
8603         * syntax.c (find_start_of_comment):
8604         Fix `unbalanced parentheses' bug when dealing with mixed comment
8605         styles in c++/java/etc. mode
8606
8607 2001-05-29  Mike Alexander  <mta@arbortext.com>
8608
8609         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8610         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8611
8612 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8613
8614         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8615
8616 2001-03-31  Mike Sperber <mike@xemacs.org>
8617
8618         * search.c (Freplace_match): Support FSF-style specification of
8619         match subexpression when applied to a buffer.
8620
8621 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8622
8623         * event-stream.c (is_scrollbar_event): add missing semicolon
8624
8625 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8626
8627         * Makefile.in.in: Use TAR macro instead of hardcoding
8628           tar.  Allows use of GNU tar instead of system tar
8629
8630 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8631
8632         * event-stream.c (is_scrollbar_event): add missing semicolon
8633
8634 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8635
8636         * XEmacs 21.4.3 "Academic Rigor" is released.
8637
8638 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8639
8640         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8641
8642 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8643
8644         * buffer.c (Vcase_fold_search): Remove obsolete
8645           comment about non ASCII case-fold-search.  This
8646           bug has been fixed by case-table changes.
8647
8648 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8649
8650         * event-msw.c: Restore include of events-mod.h.
8651
8652 2001-04-22   zhaoway  <zw@debian.org>
8653
8654         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8655         !HAVE_SCROLLBARS.
8656
8657 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8658
8659         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8660
8661 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8662
8663         * mule-charset.c (Fmake_charset): Add missing else.
8664
8665 2001-04-23  Ben Wing  <ben@xemacs.org>
8666
8667         * event-msw.c (FAKE_MOD_QUIT):
8668         * event-msw.c (mswindows_dequeue_dispatch_event):
8669         * event-msw.c (mswindows_wnd_proc):
8670         * event-msw.c (emacs_mswindows_quit_p):
8671         Get critical quit working.
8672
8673 2001-05-05  Ben Wing  <ben@xemacs.org>
8674
8675         * console-msw.h:
8676         * device-msw.c:
8677         * device-msw.c (mswindows_get_default_margin):
8678         * frame-msw.c (mswindows_size_frame_internal):
8679         * frame-msw.c (msprinter_init_frame_1):
8680         * frame-msw.c (vars_of_frame_mswindows):
8681         Change top/bottom margin defaults to 0.5 inches.
8682
8683 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8684
8685         Fix link error with gcc 3.0 on Linux.
8686         * terminfo.c (UP): Remove.
8687         * terminfo.c (BC): Remove.
8688         * terminfo.c (PC): Remove.
8689         They weren't used, and in any case, these symbols should be
8690         defined in the *library*.
8691
8692 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8693
8694         * s/aix4.h: Fix crash with xlc -O3.
8695         Improve comment explaining how -O3 works.
8696
8697 2001-04-15  Ben Wing  <ben@xemacs.org>
8698
8699         * event-stream.c:
8700         * event-stream.c (Fnext_event):
8701         * event-stream.c (is_scrollbar_event):
8702         * event-stream.c (execute_command_event):
8703         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8704         crash' problem.  His fix introduces other problems.  We filter
8705         out scrollbar events specifically, making them somewhat invisible
8706         to command-building, and not appearing in `this-command-keys'.
8707         More work is still needed (see comments in event-stream.c), but
8708         this fixes all the major problems.
8709
8710 2001-04-20  Ben Wing  <ben@xemacs.org>
8711
8712         * .cvsignore: Added stuff for Windows.
8713
8714 2001-04-28  Ben Wing  <ben@xemacs.org>
8715
8716         * buffer.c (Ferase_buffer):
8717         * editfns.c (buffer_insert1):
8718         * editfns.c (Finsert_before_markers):
8719         * editfns.c (Finsert_string):
8720         * editfns.c (Finsert_char):
8721         * editfns.c (Fdelete_region):
8722         * editfns.c (Fwiden):
8723         * editfns.c (Fnarrow_to_region):
8724         remove bogus lines setting zmacs_region_stays to 0.
8725         
8726 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8727
8728         * process-unix.c (unix_open_network_stream): If connect() fails
8729         invalidate file descriptor after closing it.
8730
8731 2001-03-08  Mike Alexander  <mta@arbortext.com>
8732
8733         * event-msw.c (mswindows_need_event_in_modal_loop):
8734         Don't dispatch a message if we didn't get one.
8735         (mswindows_need_event):
8736         Terminate the correct process when one exits instead of the first
8737         one on Vprocess_list and look for process termination when in
8738         mswindows_protect_modal_loop.
8739
8740 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8741
8742         * XEmacs 21.4.1 "Copyleft" is released.
8743
8744 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8745
8746         * input-method-motif.c (XIM_delete_frame): New callback.
8747         (XIM_init_frame): Register it.
8748
8749 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8750
8751         * XEmacs 21.4.0 "Solid Vapor" is released.
8752
8753 2001-04-15  Ben Wing  <ben@xemacs.org>
8754
8755         * cmdloop.c (call_command_loop):
8756         Fix braino in bit-rotting code.
8757         
8758 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8759
8760         * extents.c (Fset_extent_endpoints): Force creation of extent info
8761         in buffer_or_string.
8762
8763         * extents.c (process_extents_for_insertion_mapper): Correctly
8764         check for open-open zero-length extents.
8765
8766 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8767
8768         * lisp.h: New typedefs Memory_count, Element_count.
8769         * regex.c:
8770         * regex.h:
8771         Sign-compare warning elimination: several unsigned -> signed.
8772         Based on work by Ben Wing <ben@xemacs.org>.
8773
8774 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8775
8776         * XEmacs 21.2.47 "Zephir" is released.
8777
8778 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8779
8780         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8781
8782 2001-04-03  Mike Sperber <mike@xemacs.org>
8783
8784         * search.c: Revert previous patch due because of release.
8785
8786 2001-03-30  Ben Wing  <ben@xemacs.org>
8787
8788         * s\cygwin32.h:
8789         Add missing killpg prototype.
8790
8791         * elhash.c:
8792         Add a comment about fixing problems when a new entry is added
8793         while mapping.
8794
8795         * frame-msw.c (mswindows_init_frame_1):
8796         Fix compile warnings.
8797
8798         * menubar.c (vars_of_menubar):
8799         Provide `menu-accelerator-support' to indicate that we properly
8800         support %_ in menu specifications, so that package code can
8801         conditionalize on this (and remove %_ from menu specifications
8802         on older versions).
8803
8804         * event-msw.c:
8805         * scrollbar-msw.c:
8806         * scrollbar-msw.c (can_scroll):
8807         * scrollbar-msw.h:
8808         Fix handling of mouse wheel under Windows to follow standards --
8809         now scrolls window under pointer, not selected window.
8810
8811 2001-03-31  Mike Sperber <mike@xemacs.org>
8812
8813         * search.c (Freplace_match): Support FSF-style specification of
8814         match subexpression when applied to a buffer.
8815
8816 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8817
8818         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8819         function to modify KEYMAP, so map over a copy of the hash table.
8820
8821 2001-03-21  Martin Buchholz <martin@xemacs.org>
8822
8823         * XEmacs 21.2.46 "Urania" is released.
8824
8825 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8826
8827         * realpath.c (xrealpath): Make file-truename work with symlinks to
8828         /cygdrive paths on cygwin. Always lowercase drive-letters on
8829         native windows.
8830         (cygwin_readlink): Don't try to find canonical filename unless
8831         file exists.
8832
8833 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8834
8835         * ChangeLog: Log GTK merge.
8836
8837         * dumper.c:
8838         * select-x.c:
8839         * specifier.c:
8840         * symeval.h:
8841         Revert gratuitous whitespace changes from GTK merge.
8842
8843         * emacs.c: Document end of complex #ifdef @ l. 1495.
8844
8845
8846 2001-03-12  Andy Piper  <andy@xemacs.org>
8847
8848         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8849         have to do likewise.
8850
8851 2001-03-12  Andy Piper  <andy@xemacs.org>
8852
8853         * sysdep.c: we only support mingw now.
8854
8855 2001-03-09  Andy Piper  <andy@xemacs.org>
8856
8857         * unexcw.c (copy_executable_and_dump_data_section): making approx
8858         overrun a warning only.
8859
8860 2001-03-10  William M. Perry  <wmperry@aventail.com>
8861
8862         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8863         satisfy Stephen's identical-after-cpp plea.
8864
8865 2001-03-02  Ben Wing  <ben@xemacs.org>
8866
8867         * cmds.c:
8868         * cmds.c (Fforward_char):
8869         * syntax.c:
8870         * window.c:
8871
8872         Augment documentation of the most common motion commands to make
8873         note of the shifted-motion support.
8874         
8875 2001-03-02  Ben Wing  <ben@xemacs.org>
8876
8877         * nt.c (mswindows_fstat):
8878         * nt.c (mswindows_stat):
8879         * search.c (boyer_moore):
8880         Fix compile warnings under Windows.
8881         
8882         * sysdep.c (sys_readdir):
8883         Fix buggy filename-conversion code under Mule.
8884
8885 2001-03-09  William M. Perry  <wmperry@aventail.com>
8886
8887         * Makefile.in.in:
8888         * config.h.in:
8889         * console.c:
8890         * console.h:
8891         * device.c:
8892         * device.h:
8893         * dragdrop.c:
8894         * emacs.c:
8895         * event-stream.c:
8896         * events.c:
8897         * events.h:
8898         * faces.c:
8899         * frame.h:
8900         * general-slots.h:
8901         * glyphs.c:
8902         * gutter.c:
8903         * inline.c:
8904         * lisp.h:
8905         * lrecord.h:
8906         * make-src-depend:
8907         * redisplay-output.c:
8908         * redisplay.c:
8909         * symsinit.h:
8910         * sysfile.h:
8911         * toolbar.c:
8912         * window.c:
8913         The Great GTK Merge.
8914
8915         * ChangeLog.GTK:
8916         * console-gtk.c:
8917         * console-gtk.h:
8918         * device-gtk.c:
8919         * emacs-marshals.c:
8920         * emacs-widget-accessors.c:
8921         * event-gtk.c:
8922         * frame-gtk.c:
8923         * gccache-gtk.c:
8924         * gccache-gtk.h:
8925         * glade.c:
8926         * glyphs-gtk.c:
8927         * glyphs-gtk.h:
8928         * gtk-glue.c:
8929         * gtk-xemacs.c:
8930         * gtk-xemacs.h:
8931         * gui-gtk.c:
8932         * gui-gtk.h:
8933         * menubar-gtk.c:
8934         * native-gtk-toolbar.c:
8935         * objects-gtk.c:
8936         * objects-gtk.h:
8937         * redisplay-gtk.c:
8938         * scrollbar-gtk.c:
8939         * scrollbar-gtk.h:
8940         * select-gtk.c:
8941         * toolbar-gtk.c:
8942         * ui-byhand.c:
8943         * ui-gtk.c:
8944         * ui-gtk.h:
8945         The Great GTK Merge: new files.
8946
8947 2001-02-26  Ben Wing  <ben@xemacs.org>
8948
8949         Reapplied Lstream change.
8950
8951 2001-02-26  Ben Wing  <ben@xemacs.org>
8952
8953         Undid the last change, since it is more controversial than I
8954         thought.  It should be back in at some point soon.
8955         
8956 2001-02-25  Ben Wing  <ben@xemacs.org>
8957
8958         * buffer.c:
8959         * callproc.c (Fold_call_process_internal):
8960         * event-msw.c (ntpipe_slurp_reader):
8961         * event-msw.c (ntpipe_shove_writer):
8962         * event-msw.c (winsock_reader):
8963         * event-msw.c (winsock_writer):
8964         * file-coding.c:
8965         * file-coding.c (detect_eol_type):
8966         * file-coding.c (detect_coding_type):
8967         * file-coding.c (determine_real_coding_system):
8968         * file-coding.c (Fdetect_coding_region):
8969         * file-coding.c (decoding_reader):
8970         * file-coding.c (decoding_writer):
8971         * file-coding.c (mule_decode):
8972         * file-coding.c (Fdecode_coding_region):
8973         * file-coding.c (encoding_reader):
8974         * file-coding.c (encoding_writer):
8975         * file-coding.c (mule_encode):
8976         * file-coding.c (Fencode_coding_region):
8977         * file-coding.c (detect_coding_sjis):
8978         * file-coding.c (decode_coding_sjis):
8979         * file-coding.c (encode_coding_sjis):
8980         * file-coding.c (detect_coding_big5):
8981         * file-coding.c (decode_coding_big5):
8982         * file-coding.c (encode_coding_big5):
8983         * file-coding.c (detect_coding_ucs4):
8984         * file-coding.c (decode_coding_ucs4):
8985         * file-coding.c (encode_coding_ucs4):
8986         * file-coding.c (detect_coding_utf8):
8987         * file-coding.c (decode_coding_utf8):
8988         * file-coding.c (encode_coding_utf8):
8989         * file-coding.c (detect_coding_iso2022):
8990         * file-coding.c (decode_coding_iso2022):
8991         * file-coding.c (encode_coding_iso2022):
8992         * file-coding.c (decode_coding_no_conversion):
8993         * file-coding.c (encode_coding_no_conversion):
8994         * glyphs-x.c (write_lisp_string_to_temp_file):
8995         * gpmevent.c (tty_get_foreign_selection):
8996         * lisp.h:
8997         * lstream.c:
8998         * lstream.c (Lstream_flush_out):
8999         * lstream.c (Lstream_adding):
9000         * lstream.c (Lstream_write_1):
9001         * lstream.c (Lstream_write):
9002         * lstream.c (Lstream_raw_read):
9003         * lstream.c (Lstream_read_more):
9004         * lstream.c (Lstream_read):
9005         * lstream.c (Lstream_unread):
9006         * lstream.c (Lstream_fputc):
9007         * lstream.c (stdio_reader):
9008         * lstream.c (stdio_writer):
9009         * lstream.c (filedesc_reader):
9010         * lstream.c (filedesc_writer):
9011         * lstream.c (lisp_string_reader):
9012         * lstream.c (struct fixed_buffer_stream):
9013         * lstream.c (make_fixed_buffer_input_stream):
9014         * lstream.c (make_fixed_buffer_output_stream):
9015         * lstream.c (fixed_buffer_reader):
9016         * lstream.c (fixed_buffer_writer):
9017         * lstream.c (struct resizing_buffer_stream):
9018         * lstream.c (resizing_buffer_writer):
9019         * lstream.c (dynarr_writer):
9020         * lstream.c (lisp_buffer_reader):
9021         * lstream.c (lisp_buffer_writer):
9022         * lstream.h:
9023         * lstream.h (lstream_implementation):
9024         * lstream.h (struct lstream):
9025         * md5.c (Fmd5):
9026         * process-nt.c (nt_send_process):
9027         * process-unix.c (unix_send_process):
9028         
9029         Correct Lstream lossage due to mixing of signed and unsigned
9030         quantities.  All Lstream uses of size_t and ssize_t are now a
9031         single signed data type Lstream_data_count.  This fixes problems
9032         under Windows with sending large quantities of data to a process,
9033         and may well fix other subtle bugs.
9034
9035 2001-02-23  Martin Buchholz <martin@xemacs.org>
9036
9037         * XEmacs 21.2.45 "Thelxepeia" is released.
9038
9039 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9040
9041         * lisp-union.h (XSETINT): 
9042         (XSETCHAR):
9043         (XSETOBJ): 
9044         Reverse previous change of 2001-02-06.
9045
9046 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9047
9048         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9049         buffers.
9050         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9051         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9052         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9053         * regex.c (POS_AS_IN_BUFFER): removed
9054         * regex.c (re_search_2):
9055         * regex.c (re_match_2):
9056         Don't use an offset of 1 when calculating buffer positions, since
9057         `BI_BUF_BEGV' does it already.
9058
9059 2001-02-18  Wim Dumon  <wim@easics.be>
9060
9061         * insdel.c (prepare_to_modify_buffer): Also check for
9062         supersession when clash-detection is enabled. 
9063
9064 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9065
9066         * regex.c (re_match_2_internal):
9067         Convert temp characters from 'const unsigned char' to 're_char'.
9068         Fix crashing bug with extended characters under mule.
9069         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9070         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9071         font-lock, pdump, and new syntax-table code.
9072         * syntax.c (find_start_of_comment):
9073         (find_end_of_comment):
9074         (forward-comment):
9075         Fix crashing bugs involving moving beyond end of buffer.
9076         * syntax.c (find_start_of_comment):
9077         Fixed logic to allow proper detection of cases where the same
9078         character is used to end both a two-char comment start and a
9079         two-char comment end sequence. Fixes `(forward-comment -1)'.
9080         * syntax.c (find_start_of_comment):
9081         Return position just past last comment-end character for all cases
9082         (previously was only done for two-char comment-end sequences).
9083         * syntax.c (forward-comment):
9084         Take value returned from `find_end_of_comment', rather than
9085         incrementing it.
9086         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9087         Properly deal with BUFFERP (syntax_cache.object)
9088
9089 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9090
9091         * alloc.c (Fgarbage_collect): 
9092         * alloc.c (make_bit_vector_from_byte_vector):
9093         -Wsign-compare-correctness.
9094
9095 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9096
9097         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9098         (XSETCHAR): Likewise.
9099         (XSETOBJ): Likewise.
9100
9101 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9102
9103         * mule-canna.c (canna-func-delete_previous): 
9104         Rename to canna-func-delete-previous.
9105
9106 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9107
9108         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9109
9110 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9111
9112         * font-lock.c (find_context): Fix C++ compile errors introduced by
9113         recent patch
9114
9115 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9116
9117         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9118         pragma, but earlier ones barf on the same pragma.
9119
9120 2001-02-06  Mike Sperber <mike@xemacs.org>
9121
9122         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9123         `configure-mule-lisp-directory'.
9124
9125 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9126
9127         Make sure dump-id.c is compiled in the same way as other .c's.
9128         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9129         * dump-id.h: Remove.
9130         * emacs.c: Move dump-id.h into dumper.h.
9131         * dumper.h: Move dump-id.h into dumper.h.
9132         * Makefile.in.in:
9133         Use standard .c.o rule for building dump-id.o.
9134         Remove preprocessor flags from link command.
9135         Add dump-id.o to ${otherobjs} if PDUMP.
9136
9137 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9138
9139         Port FSF 20.7 syntax table improvements.
9140         * syntax.c.
9141         * syntax.h.
9142
9143         Fixups for new syntax table stuff.
9144         * dired.c: Include syntax.c.
9145         (Fdirectory_files): Initialize regex_match_object and
9146         regex_emacs_buffer.
9147         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9148         and Fget_char_property.
9149
9150         Use ported FSF 20.7 syntax table improvements.
9151         * font-lock.c.
9152         * regex.c.
9153         * search.c.
9154         
9155 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9156
9157         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9158         Unixware's enum boolean from sys/types.h.
9159
9160 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9161
9162         Fix support for building with latest Purify.
9163         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9164         (PURIFY_FLAGS): Likewise.
9165
9166 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9167
9168         * fileio.c (lisp_string_set_file_times): New.
9169         * fileio.c (Fcopy_file): Use it.
9170         Fixes bug:
9171         (copy-file filename non-ascii-filename t t)
9172         ==> No such file or directory, non-ascii-filename
9173
9174 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9175
9176         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9177         USHRT_MAX seems clearer than ~0 anyways.
9178
9179 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9180
9181         dumper improvements.  Inspired by Olivier.
9182         * dumper.c (pdump_max_align): New.
9183         * dumper.c (pdump_add_entry): Use pdump_max_align.
9184         * dumper.c (pdump_get_entry_list): Likewise.
9185         * dumper.c (pdump_scan_by_alignment): Likewise.
9186         Don't iterate through unnecessary alignments.
9187         * dumper.c (pdump_file_get): No need to align result of malloc().
9188         * dumper.c (pdump_mallocadr): Remove.  
9189         The result of malloc() is guaranteed to be maximally aligned.
9190         * dumper.c: s/elmt/elt/g;
9191         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9192         * dumper.c (pdump_alert_undump_object): Likewise.
9193         * dumper.c (pdump_align_table): 
9194         Don't support alignments > 64.
9195         Store ALIGNOF's, not shift counts, in table.
9196
9197 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9198
9199         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9200         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9201         * systime.h: Use HAVE_UTIME.
9202         * sysdep.c (struct utimbuf): Remove.
9203         * sysdep.c (set_file_times): Prefer utime() to utimes().
9204         * config.h.in (HAVE_UTIME): New.
9205         * config.h.in (HAVE_UTIME_H): Remove.
9206         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9207
9208 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9209
9210         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9211
9212 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9213
9214         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9215
9216 2001-02-08  Martin Buchholz <martin@xemacs.org>
9217
9218         * XEmacs 21.2.44 "Thalia" is released.
9219
9220 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9221
9222         Fixes crashes in kill-emacs on some systems.
9223         * process-unix.c (unix_kill_child_process):
9224         It's OK for kill() to fail with ESRCH.
9225
9226 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9227
9228         Contortions to make .gdbinit tricks work on most systems.
9229         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9230         * alloc.c (dbg_valmask): Make non-const.
9231         * alloc.c (dbg_typemask): Make non-const.
9232         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9233         * alloc.c (dbg_valbits): Make non-const.
9234         * alloc.c (dbg_gctypebits): Make non-const.
9235         * .gdbinit (decode_object): Make it work with AIX cc.
9236
9237 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9238
9239         * elhash.c (make_general_lisp_hash_table):
9240         Use simpler and more efficient calloc to clear entries.
9241
9242 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9243
9244         * window.c (window_scroll): Work around an AIX C compiler bug.
9245         Fixes 'scroll-up' does nothing problem with xlC.
9246
9247 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9248
9249         * .gdbinit: Remove obsolete comment.
9250
9251 2001-01-31  Mike Alexander  <mta@arbortext.com>
9252
9253         * select.c (Fown_selection_internal): Set owned_p for device
9254         method correctly.
9255
9256 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9257
9258         Port to g++ 2.97.
9259         "not" cannot be used as a macro name as it is an operator in C++
9260         * config.h.in: Stop #defining `not'.
9261         * chartab.c (check_category_char): not ==> not_p
9262         * chartab.h: Likewise.
9263         * regex.c (re_match_2_internal): Likewise.
9264
9265 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9266
9267         * lisp-disunion.h: Fix up comments.
9268
9269 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9270
9271         * keymap.c (define_key_check_and_coerce_keysym):
9272         (syms_of_keymap):
9273         Support mouse-6 and mouse-7 bindings in the obvious way.
9274
9275 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9276
9277         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9278
9279 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9280
9281         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9282         Previous patch missed DEFVAR_INT_MAGIC.
9283         Make sure future DEFVAR_foo use correct types.
9284         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9285         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9286         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9287         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9288         * (DEFVAR_INT): Likewise.
9289         * redisplay.c (vertical_clip): Should be of type Fixnum.
9290         * redisplay.c (horizontal_clip): Likewise.
9291         * lisp.h (dump_add_opaque_int): New.
9292         (dump_add_opaque_fixnum): New.
9293
9294 2001-01-29  Andy Piper  <andy@xemacs.org>
9295
9296         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9297         since they can be eval'ed
9298
9299 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9300
9301         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9302         Oops, XEmacs redefines `class'.  Use `typename' instead.
9303
9304 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9305
9306         * dumper.c: Fix C++ compile errors.
9307
9308 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9309
9310         * tparam.c: Use correct prototypes.
9311
9312 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9313
9314         * sysproc.h: #include util.h for NetBSD's openpty.
9315
9316 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9317
9318         More 64-bit correctness.
9319         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9320         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9321         Fix up comments.
9322         This finally finishes the 64-bit SGI port.
9323         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9324         * symbols.c: Fix up comments and type casts.
9325         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9326         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9327         * symeval.h (Fixnum): New type.
9328         * symeval.h (symbol_value_type): Fix up comment.
9329
9330         * commands.h:
9331         * nt.c:
9332         * emacs.c:
9333         * data.c:
9334         * redisplay.c:
9335         * abbrev.c:
9336         * dired-msw.c:
9337         * event-Xt.c:
9338         * eldap.c:
9339         * window.c:
9340         * sound.c:
9341         * event-stream.c:
9342         * eval.c:
9343         * buffer.c:
9344         * mule-canna.c: A million DEFVAR_INTs here...
9345         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9346         * extents.c:
9347         * cmdloop.c:
9348         * lisp.h:
9349         * select-x.c:
9350         * console-x.h:
9351         * event-msw.c:
9352         * mule-wnnfns.c:
9353         * hpplay.c:
9354         * ralloc.c:
9355         * alloc.c:
9356         * keymap.c:
9357         * profile.c:
9358         s/int/Fixnum/g in DEFVAR_INT declarations.
9359
9360 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9361
9362         Port pdump to SGI alignment-sensitive environment.
9363         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9364         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9365         properly aligned.
9366         Define and use aligned reading and writing macros.
9367         Use buffered stdio instead of posix i/o for faster dumping.
9368         Eliminate kludgy 256 byte space for header.
9369         Read and write from dump file using structs for alignment safety.
9370         * dumper.c (pdump_align_stream): New.
9371         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9372         * dumper.c (PDUMP_READ_ALIGNED): New.
9373         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9374         * dumper.c (pdump_static_Lisp_Object): New struct.
9375         * dumper.c (pdump_static_pointer): New struct.
9376         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9377         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9378         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9379         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9380
9381         * dumper.c (pdump_backtrace):
9382         * dumper.c (pdump_get_indirect_count):
9383         * dumper.c (pdump_register_object):
9384         * dumper.c (pdump_register_struct):
9385         * dumper.c (pdump_reloc_one):
9386         * dumper.c (pdump_scan_by_alignment):
9387         * dumper.c (pdump_dump_from_root_struct_ptrs):
9388         * dumper.c (pdump_dump_opaques):
9389         * dumper.c (pdump_dump_rtables):
9390         * dumper.c (pdump_dump_from_root_objects):
9391         * dumper.c (pdump):
9392         * dumper.c (pdump_load_finish):
9393         Use aligned reading and writing.
9394
9395         * dumper.c (pdump_free): Make static.
9396         * dumper.c (pdump_hFile): Likewise.
9397         * dumper.c (pdump_hMap): Likewise.
9398
9399 2001-01-26  Martin Buchholz <martin@xemacs.org>
9400
9401         * XEmacs 21.2.43 "Terspichore" is released.
9402
9403 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9404
9405         Type fiddling for window_config.saved_windows_count
9406         * window.c (struct window_config): 
9407         Make saved_windows_count member unsigned.
9408         * window.c (sizeof_window_config_for_n_windows): 
9409         Make parameter unsigned.
9410         * window.c (mark_window_config):
9411         * window.c (window_config_equal):
9412         * window.c (free_window_configuration):
9413         * window.c (Fset_window_configuration):
9414         * window.c (count_windows):
9415         * window.c (Fcurrent_window_configuration):
9416         * window.c (reinit_vars_of_window):
9417         Update all callers and users.
9418
9419 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9420
9421         Alignment correctness for flexible arrays.
9422         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9423         Make alignment-correct. Add interesting comments.
9424         * alloc.c (size_vector):
9425         * alloc.c (make_vector_internal):
9426         * alloc.c (make_bit_vector_internal):
9427         * alloc.c (sweep_bit_vectors_1):
9428         * fns.c (size_bit_vector):
9429         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9430         * window.c (sizeof_window_config_for_n_windows): 
9431         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9432
9433 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9434
9435         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9436
9437 2001-01-23  Andy Piper  <andy@xemacs.org>
9438
9439         * select.c (Fown_selection_internal): pass owned_p
9440
9441         * select-msw.c (mswindows_own_selection): New Signature.
9442
9443         * console.h (struct console_methods): add owned_p to
9444         _own_selection.
9445
9446         * select-x.c (x_own_selection): pass owned_p
9447         (hack_motif_clipboard_selection): use owned_p
9448         (vars_of_select_x): new variable -
9449         x_selection_strict_motif_ownership.
9450
9451 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9452
9453         * specifier.h (specifier_data_offset): Remove pointless parens.
9454         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9455
9456 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9457
9458         Make Lisp_Object sizeof methods be alignment-correct.
9459         pdump must restore objects to the same alignment as the C compiler
9460         assumes.  It really matters on SGIs.
9461         * lstream.c (aligned_sizeof_lstream): New.
9462         (sizeof_lstream): Use aligned_sizeof_lstream.
9463         (Lstream_new): Likewise.
9464         * opaque.c (aligned_sizeof_opaque): New.
9465         (sizeof_opaque): Use aligned_sizeof_opaque.
9466         (make_opaque): Likewise.
9467         * specifier.c (aligned_sizeof_specifier): New.
9468         (sizeof_specifier): Use aligned_sizeof_specifier.
9469         (make_specifier_internal): Likewise.
9470
9471 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9472
9473         * lstream.h (struct lstream): Use max_align_t for trailing data.
9474         * specifier.h (struct Lisp_Specifier): Likewise.
9475
9476 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9477
9478         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9479         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9480         (CCL_SUSPEND): Likewise.
9481         (CCL_INVALID_CMD): Likewise.
9482         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9483         (ccl_driver): Likewise.
9484         (CCL_WRITE_CHAR): Macro hygiene.
9485         (CCL_WRITE_STRING): Macro hygiene.
9486
9487 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9488
9489         Port "portable" dumper to SunOS 4 and HP-UX.
9490         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9491         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9492         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9493
9494 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9495
9496         * lisp.h (ALIGNOF): A better definition for C++.
9497
9498 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9499
9500         Macro hygiene.
9501         Fix printf warnings: int format, long int arg.
9502         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9503         (PUSH_FAILURE_POINT): Use correct printf formats.
9504         (POP_FAILURE_POINT): Use correct printf formats.  
9505         Use do {...} while (0)
9506
9507 2001-01-20  Martin Buchholz <martin@xemacs.org>
9508
9509         * XEmacs 21.2.42 "Poseidon" is released.
9510
9511 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9512
9513         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9514
9515 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9516
9517         De-kludgify FIXED_TYPE free list frobbing.
9518         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9519         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9520         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9521         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9522         * alloc.c (LRECORD_FREE_P): New.
9523         * alloc.c (MARK_LRECORD_AS_FREE): New.
9524         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9525         * alloc.c (STRUCT_FREE_P): Deleted.
9526         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9527         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9528         * alloc.c (STRING_CHARS_FREE_P): New.
9529         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9530         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9531         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9532         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9533         * alloc.c (resize_string): Use new definitions.
9534         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9535         * alloc.c (verify_string_chars_integrity): Use new definitions.
9536         * alloc.c (compact_string_chars): Use new definitions.
9537         * alloc.c: Update monster comments.
9538         * lrecord.h (lrecord_type): Add some new lrecord types for
9539         alloc.c's use.
9540
9541 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9542
9543         Improve alignment hackery.
9544         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9545         (max_align_t): Moved from opaque.h - general purpose.
9546         (ALIGN_PTR): Use size_t, not long.
9547         * opaque.h (max_align_t): Move to lisp.h.
9548
9549 2001-01-18  Norbert Koch  <nk@LF.net>
9550
9551         * gui.h: Fix and add prototypes to fix build problems.
9552
9553 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9554
9555         temacs is going away, so `dump-temacs' is now a bad name.
9556         * .dbxrc (dump-temacs): Rename to `dmp'.
9557         * .gdbinit (dump-temacs): Rename to `dmp'.
9558
9559 2001-01-17  Andy Piper  <andy@xemacs.org>
9560
9561         * glyphs.c (print_image_instance): comment to make martin happy.
9562
9563         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9564         change.
9565
9566         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9567         activation.
9568         (mswindows_tab_control_redisplay): warning suppression.
9569
9570         * glyphs-widget.c (widget_update): re-write to cope with updated
9571         items.
9572         (widget_instantiate): use new gui_item functions.
9573         (tab_control_update): deleted.
9574         (progress_gauge_update): deleted.
9575         (image_instantiator_progress_guage): take out update reference.
9576         (image_instantiator_tree_view): ditto.
9577         (image_instantiator_tab_control): ditto.
9578
9579         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9580         Right the new way.
9581         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9582         return whether anything was changed.
9583         (update_gui_item_keywords): as it sounds.
9584
9585         * gui.h: declare widget_gui_parse_item_keywords.
9586
9587         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9588         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9589
9590 2001-01-17  Martin Buchholz <martin@xemacs.org>
9591
9592         * XEmacs 21.2.41 "Polyhymnia" is released.
9593
9594 2001-01-16  Didier Verna  <didier@xemacs.org>
9595
9596         * glyphs.c (image_instantiate): don't use fallbacks when
9597         instantiating a face's background pixmap by inheritance.
9598
9599 2001-01-14  Mike Sperber <mike@xemacs.org>
9600
9601         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9602         Conditionalize accordingly.
9603
9604 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9605
9606         * dumper.c (pdump_file_get): Fix a compiler warning.
9607
9608 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9609
9610         Make Purify happy when pdumping.
9611         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9612         iniitalizing all bits of new lisp object memory.
9613         * symbols.c (Fmake_local_variable): Likewise.
9614         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9615         * symbols.c (Fdefvaralias): Likewise.
9616         * mule-charset.c (vars_of_mule_charset): Likewise.
9617
9618 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9619         Add the `-nd' flag when running pre-dump operations under the debugger.
9620         * .dbxrc (run-temacs): Add `-nd'.
9621         * .dbxrc (update-elc): Likewise.
9622         * .dbxrc (dump-temacs): Likewise.
9623         * .gdbinit (run-temacs): Likewise.
9624         * .gdbinit (check-temacs): Likewise.
9625         * .gdbinit (update-elc): Likewise.
9626         * .gdbinit (dump-temacs): Likewise.
9627
9628 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9629
9630         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9631         export OBJECT_MODE=64
9632         configure --pdump --use-union-type=no
9633         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9634         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9635
9636         * miscplay.c (sndcnv8U_2mono):
9637         Avoid two uses of `++' in the same expression.
9638         Suppresses a GCC warning.
9639
9640 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9641
9642         Make sure future compilers don't miscompile alloc.c.
9643         * alloc.c:
9644         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9645         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9646
9647 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9648
9649         * dumper.c: A little post-pdump-rename comment fixup.
9650
9651 2001-01-09  Jerry James  <james@eecs.ku.edu>
9652
9653         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9654
9655 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9656
9657         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9658         script:
9659         #!/bin/sh
9660         replace_symbol () {
9661           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9662         }
9663
9664         replace_symbol pdump_wire_lists pdump_weak_object_chains
9665         replace_symbol pdump_wire_list dump_add_weak_object_chain
9666
9667         replace_symbol pdump_wires pdump_root_objects
9668         replace_symbol pdump_wire dump_add_root_object
9669
9670         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9671         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9672
9673         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9674         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9675         replace_symbol dumpstructinfo pdump_root_struct_ptr
9676         replace_symbol dumpstruct dump_add_root_struct_ptr
9677
9678         replace_symbol dumpopaque dump_add_opaque
9679         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9680         replace_symbol dumpopaqueinfos pdump_opaques
9681         replace_symbol dumpopaqueinfo pdump_opaque
9682
9683         replace_symbol nb_structdump nb_root_struct_ptrs
9684         replace_symbol nb_opaquedump nb_opaques
9685
9686         replace_symbol align_table pdump_align_table
9687         replace_symbol dump_header pdump_header
9688
9689         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9690         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9691
9692
9693 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9694
9695         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9696         optimizing bytecount_to_charcount().
9697
9698 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9699
9700         * config.h.in:
9701         (HAVE_DLFCN_H): Removed.
9702         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9703
9704 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9705
9706         Portable dumper maintainability improvements.
9707         * alloc.c (staticpro):
9708         * alloc.c (staticpro_nodump):
9709         * alloc.c (garbage_collect_1):
9710         * alloc.c (reinit_alloc_once_early):
9711         * alloc.c (init_alloc_once_early):
9712         * alloc.c: Move dumper functions to alloc.c.
9713         * dumper.c (pdump_backtrace):
9714         * dumper.c (pdump_dump_structs):
9715         * dumper.c (pdump_dump_opaques):
9716         * dumper.c (pdump_dump_rtables):
9717         * dumper.c (pdump_dump_wired):
9718         * dumper.c (pdump):
9719         * dumper.c (pdump_load_check):
9720         * dumper.c (pdump_load_finish):
9721         * dumper.c (pdump_file_unmap):
9722         * dumper.c (pdump_file_get):
9723         * dumper.c (pdump_resource_free):
9724         * dumper.c (pdump_resource_get):
9725         * dumper.c (pdump_file_free):
9726         * dumper.c (pdump_file_try):
9727         * dumper.c (pdump_load):
9728         Remove fixed size limits on staticpro(), staticpro_nodump(),
9729         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9730         Remove custom code for dumping lrecord_implementations_table - use
9731         dumpopaque instead.
9732         Remove (most of the) custom code for dumping staticpros - dump it
9733         like any other dynarr.
9734
9735         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9736         * dumper.c: Moved functions from alloc.c.
9737         * alloc.c (dumpstruct): Moved to dumper.c.
9738         * alloc.c (dumpopaque): Likewise.
9739         * alloc.c (pdump_wire): Likewise.
9740         * alloc.c (pdump_wire_list): Likewise.
9741
9742         * lisp.h (Dynarr_sizeof): New.
9743         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9744         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9745         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9746
9747         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9748         * lisp.h (dumpopaque): ditto.
9749         * lisp.h (pdump_wire): ditto.
9750         * lisp.h (pdump_wire_list): ditto.
9751
9752 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9753
9754         * make-src-depend (PrintPatternDeps):
9755         Use `sort' to make output independent of perl version.
9756
9757 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9758
9759         Port to Netbsd 1.5.
9760         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9761         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9762
9763 2001-01-03  Didier Verna  <didier@xemacs.org>
9764
9765         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9766         that `focus_frame' is alive before thinking of calling
9767         `redisplay_redraw_cursor' on it.
9768
9769 2001-01-08  Martin Buchholz <martin@xemacs.org>
9770
9771         * XEmacs 21.2.40 is released.
9772
9773 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9774
9775         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9776
9777 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9778
9779         * alloc.c (dbg_valmask): Make const.
9780         * alloc.c (dbg_typemask): Make const.
9781         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9782         * alloc.c (dbg_valbits): Make const.
9783         * alloc.c (dbg_gctypebits): Make const.
9784
9785 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9786
9787         * redisplay-x.c (x_bevel_area):
9788         redisplay.h (struct rune):
9789         Typo fixes in comments.
9790
9791 2001-01-05  Andy Piper  <andy@xemacs.org>
9792
9793         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9794         adjustment.
9795
9796         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9797
9798 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9799
9800         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9801
9802         * mule-ccl.c (stack_idx_of_map_multiple):
9803         Non const global data must not be initialized!
9804         Found by MIYASHITA Hisashi.
9805
9806 2001-01-02  Andy Piper  <andy@xemacs.org>
9807
9808         * frame.c (change_frame_size): make sure frame size is always
9809         marked as changed.
9810
9811         * glyphs.c (image_instance_layout): minor code reuse.
9812
9813         * window.c (Fcurrent_window_configuration): revert previous
9814         change.
9815
9816 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9817
9818         * glyphs.h:
9819         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9820
9821 2000-12-31  Andy Piper  <andy@xemacs.org>
9822
9823         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9824         when widget gets unmapped.
9825
9826         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9827         function. Make sure widgets losing focus don't just drop it.
9828         (handle_focus_event_1): record the widget with focus.
9829
9830 2000-12-31  Andy Piper  <andy@xemacs.org>
9831
9832         * window.c (allocate_window): use
9833         make_image_instance_cache_hash_table.
9834         (make_dummy_parent): ditto.
9835         (Fset_window_configuration): ditto.
9836
9837         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9838
9839         * glyphs.c (process_image_string_instantiator): use
9840         INSTANTIATOR_TYPE.
9841         (get_image_instantiator_governing_domain): ditto.
9842         (normalize_image_instantiator): ditto.
9843         (instantiate_image_instantiator): ditto.
9844         (make_image_instance_1): ditto.
9845         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9846         (instantiator_eq_equal): new function for use with instance hash
9847         tables.
9848         (instantiator_eq_hash): ditto.
9849         (make_image_instance_cache_hash_table): create a suitable hash
9850         table for storing image instances.
9851
9852         * elhash.h (hash_table_weakness): new internal weakness type
9853         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9854         declare new functions.
9855
9856         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9857         another weakness type for glyphs.
9858         (make_standard_lisp_hash_table): new function split out from
9859         make_general_lisp_hash_table.
9860         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9861         (hash_table_instantiate): ditto.
9862         (Fmake_hash_table): ditto.
9863
9864 2000-12-31  Martin Buchholz <martin@xemacs.org>
9865
9866         * XEmacs 21.2.39 is released.
9867
9868 2000-12-29  Andy Piper  <andy@xemacs.org>
9869
9870         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9871
9872         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9873         the frame has changed so that we pick up geometry changes such as
9874         menubar visibility.
9875
9876 2000-12-28  Andy Piper  <andy@xemacs.org>
9877
9878         * lastfile.c (my_ebss): make a char array so we can pad the
9879         bss. Fixes cygwin unexec.
9880
9881         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9882
9883 2000-12-26  Andy Piper  <andy@xemacs.org>
9884
9885         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9886         comments and try and be more precise about a non-/SIGIO world.
9887         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9888         SIGIO.
9889
9890         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9891         we don't normalize to zero width or height.
9892
9893 2000-12-24  Andy Piper  <andy@xemacs.org>
9894
9895         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9896
9897 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9898
9899         * s/sco5.h: SCO 5 has pty support.
9900
9901 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9902
9903         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9904         input-method-xlib.c contains whole contents of input-method-xfs.c,
9905         so we can use input-method-xlib.c's code for USE_XFONTSET
9906         using #ifdefs.
9907         * input-method-xfs.c: removed.
9908
9909 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9910
9911         * file-coding.h (enum coding_category_type): reorder enumerators to
9912         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9913         (now one greater than largest real coding_category_type enumerator).
9914         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9915         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9916         Fcoding_category_list, Fset_coding_priority_list,
9917         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9918         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9919
9920 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9921
9922         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9923         * redisplay-output.c (redisplay_output_window): Clear top of window
9924         when face is changed.
9925         * redisplay-x.c (x_redraw_exposed_window): Call
9926         redisplay_clear_top_of_window.
9927         * redisplay.h: Publish redisplay_clear_top_of_window.
9928
9929 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9930
9931         * buffer.c (Fkill_buffer): Map over all devices.
9932         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9933         (list_windows): New function.
9934         (list_all_windows): Ditto.
9935         (Freplace_buffer_in_windows): Use them.
9936
9937 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9938
9939         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9940         (Fopen_database): Use `db_create' instead of `db_open'.
9941         (syms_of_database): Initialize Qqueue.
9942
9943 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9944
9945         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9946         buffer_local_face_property.
9947         * buffer.h (struct buffer): New member buffer_local_face_property.
9948         * window.c (Fset_window_buffer):  Mark window's face as changed
9949         when buffer has buffer local face.
9950         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9951         * objects.c (color_after_change): Set buffer_local_face_property
9952         when locale of face specifier is buffer.
9953         * objects.c (font_after_change): Ditto.
9954         * objects.c (face_boolean_after_change): Ditto.
9955         * glyphs.c (image_after_change): Ditto.
9956
9957 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9958
9959         * nt.c (mswindows_fstat): Report file permissions, volume serial
9960         number, etc. Code adapted from FSF Emacs 20.7.
9961
9962 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9963
9964         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9965         of stat when we don't have symbolic links, to make sure
9966         mswindows_stat is called on mswindows.
9967
9968 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9969
9970         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9971
9972 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9973
9974         * doprnt.c (emacs_doprnt_1): More printing fixes.
9975         Make printing of numbers compatible with libc and FSF Emacs.
9976         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9977         Use the system printf to do most of the hard work of formatting,
9978         instead of doprnt_1().
9979         Calculate memory to allocate for format string.
9980         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9981         (doprnt_1): Cleaner code and documentation.
9982
9983 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9984
9985         * Makefile.in.in: Use the loop variable to install headers.
9986
9987 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9988
9989         * window.c (Fsplit_window): Don't invalidate face cache.
9990
9991 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9992
9993         * minibuf.c (Fall_completions): Undo the previous change
9994         which removed checking elements start with space.
9995
9996 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9997
9998         * mule-canna.c: Didier suppression.
9999
10000 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10001
10002         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10003         (warning suppression).  Add English comment translations.
10004
10005 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10006
10007         * unexelfsgi.c (unexec): Better test for mmap failure.
10008
10009 2000-12-05  Martin Buchholz <martin@xemacs.org>
10010
10011         * XEmacs 21.2.38 is released.
10012
10013 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10014
10015         * redisplay.c (bar-cursor): Make a user variable.
10016
10017         * symsinit.h: Add init_postgresql_from_environment.
10018
10019 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10020
10021         * regex.c: Convert to clean C.
10022
10023 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10024
10025         * realpath.c:
10026         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10027         initialization.
10028         (sys_readlink): renamed to system_readlink to avoid conflict with
10029         the other sys_readlink.
10030
10031 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10032
10033         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10034
10035 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10036
10037         * postgresql.c (init_postgresql_from_environment): new function.
10038         (vars_of_postgresql): Move code initializing Lisp variables out and
10039         into init_postgresql_from_environment.
10040         emacs.c (main_1): Call init_postgresql_from_environment if and only
10041         if running a dumped XEmacs.
10042
10043 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10044
10045         * buffer.c: Make find-file-compare-truenames default to true on
10046         windows.
10047
10048         * realpath.c (win32_abs_start):
10049         (cygwin_readlink):
10050         (win32_readlink): New functions.
10051         (xrealpath): Return really real filenames on windows.
10052
10053         * fileio.c (Ffile_truename): Make file-truename work on windows.
10054
10055 2000-11-29  Didier Verna  <didier@xemacs.org>
10056
10057         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10058         * faces.c (update_face_cachel_data): use it.
10059         * faces.c (add_face_cachel): use it. Complete background pixmap
10060         frobbing in face cache if `update_face_cachel_data' has not done so.
10061
10062 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10063
10064         * search.c (string_match_1): Don't set last_thing_searched
10065         when search failed.
10066
10067 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10068
10069         * buffer.c: Include casetab.h
10070         (common_init_complex_vars_of_buffer): Use new case-table object.
10071         * buffer.h: Include casetab.h
10072         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10073         (DOWNCASE_TABLE_OF): Ditto.
10074         * bufslots.h: Remove char-tables and add case-table.
10075         * casetab.c: Include casetab.h
10076         (CASE_TABLE_P): Removed.
10077         (mark_case_table): New function.
10078         (allocate_case_table): New function.
10079         (Fcase_table_p): Use new case-table.
10080         (case_table_char): New function.
10081         (Fget_case_table): Ditto.
10082         (Fput_case_table): Ditto.
10083         (Fput_case_table_pair): Ditto.
10084         (Fcopy_case_table): Ditto.
10085         (Fcurrent_case_table): Return case-table.
10086         (Fstandard_case_table): Return case-table.
10087         (Fset_case_table): Fix doc-string.
10088         (set_case_table): Use case-table
10089         (syms_of_casetab): DEFSUBR new functions.
10090         (complex_vars_of_casetab): Set up standard case-table.
10091         * casetab.h: New file.
10092         * editfns.c: Include casetab.h
10093         (Fcompare_buffer_substrings): Use case-table.
10094         * inline.c: Include casetab.h
10095         * lisp.h: Remove bogus extern.
10096         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10097         * search.c: Include casetab.h
10098         (TRANSLATE_ASCII): Removed.
10099         (TRANSLATE): Unconditionally translate character.
10100         (looking_at_1): Use case-table.
10101         (string_match_1): Ditto.
10102         (fast_string_match): Ditto.
10103         (search_command): Ditto.
10104         (search_buffer): Separate boyer_moore.  Check whether
10105         boyer_moore is possible.
10106         (simple_search): New function.
10107         (boyer_moore): Separated from search_buffer. Translate char.
10108
10109 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10110
10111         * regex.c (RE_TR_ASCII): Removed.
10112         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10113         (PATFETCH): Call PATFETCH_RAW.
10114         (PATFETCH_RAW): Fetch Emchar.
10115         (PATUNFETCH): Decrement charptr.
10116         (GET_BUFFER_SPACE): Rename b to buf_end.
10117         (BUF_PUSH): Ditto.
10118         (BUF_PUSH_2): Ditto.
10119         (BUF_PUSH_3): Ditto.
10120         (EXTEND_BUFFER): Ditto.
10121         (SET_LIST_BIT): Ditto.
10122         (regex_compile): Ditto.  Translate non ASCII char.
10123         (compile_range): Ditto.
10124         (re_search_2): Ditto.
10125         (re_match_2_internal): Compare Emchar.
10126         (bcmp_translate): Ditto.
10127
10128 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10129
10130         * lisp.h (basic char/int typedefs):  comment improvement.
10131
10132 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10133
10134         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10135         unstomp inhibit_site_lisp.  Improve comments.
10136
10137 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10138
10139         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10140
10141 2000-11-28  Andy Piper  <andy@xemacs.org>
10142
10143         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10144         clipped display for windows in the gutter also.
10145         (redisplay_display_boxes_in_window_p): change semantics of return
10146         codes to be more intuitive.
10147
10148         * gutter.h: declare display_boxes_in_gutter_p.
10149
10150         * gutter.c (display_boxes_in_gutter_p): new function for
10151         redisplay.
10152
10153 2000-11-22  Andy Piper  <andy@xemacs.org>
10154
10155         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10156         autodetect domain.
10157
10158 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10159
10160         * callproc.c (Fold_call_process_internal):
10161         * gpm.c (Freceive_gpm_event):
10162         (tty_get_foreign_selection): Might be just warning supression.
10163         * fileio.c (Fwrite_region_internal):
10164         (Fset_visited_file_modtime):
10165         * keymap.c (event_matches_key_specifier_p):
10166         Initialize GCPROed variable.
10167
10168         * menubar-x.c (command_builder_find_menu_accelerator):
10169         Initialize before use.
10170
10171 2000-11-23  Andy Piper  <andy@xemacs.org>
10172
10173         * unexcw.c (unexec): make the resulting executable executable.
10174
10175 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10176
10177         * doc.c (get_doc_string):
10178         Use size_t, not int, for result of XSTRING_LENGTH.
10179
10180         * cmds.c (Fdelete_char):
10181         * cmds.c (Fpoint_at_eol):
10182         * cmds.c (Fself_insert_command):
10183         Use EMACS_INT, not int, for result of XINT.
10184         Someday, someone will want to insert more than 2**31 identical characters.
10185
10186         * cmds.c (Fdelete_char):
10187         * cmds.c (Fdelete_backward_char):
10188         * syntax.c (Fforward_word):
10189         * syntax.c (Fforward_comment):
10190         Make COUNT argument optional, for consistency with forward-char et al.
10191
10192 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10193
10194         * lisp.h:
10195         * print.c (long_to_string):
10196         Return a useful value: the pointer at end of data written.
10197
10198         * doprnt.c:
10199         Use `static const char * const' for constant strings.
10200         (union printf_arg): Delete `i', `ui' members.
10201         (get_doprnt_args):
10202         (emacs_doprnt_1):
10203         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10204         Do all printf-ing via the `l' specifier.
10205         Use EMACS_INT instead of int.
10206         Optimize.
10207
10208 2000-11-20  Didier Verna  <didier@xemacs.org>
10209
10210         * faces.c (update_face_cachel_data): don't frob the background
10211         pixmap when the window is being created. The face is needed but
10212         does not exist yet.
10213
10214 2000-11-20  Andy Piper  <andy@xemacs.org>
10215
10216         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10217         messing with a debug environment.
10218
10219 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10220
10221         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10222
10223 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10224
10225         * casetab.c (Fcase_table_p): Fix compile error and crash.
10226
10227 2000-11-18  Philip Aston  <philipa@mail.com>
10228
10229         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10230
10231 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10232
10233         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10234         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10235
10236 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10237
10238         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10239         * unexelf.c: Use HAVE_ELF_H.
10240         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10241         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10242         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10243         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10244         for testing.
10245         So this is an unexelfsgi.c from a different line of development.
10246
10247 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10248
10249         * regex.c (RE_TR_ASCII): New function.
10250         (RE_TRANSLATE): Call it.
10251
10252 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10253
10254         * buffer.h (TRT_TABLE_OF): Remove assert.
10255         (IN_TRT_TABLE_DOMAIN): Removed.
10256
10257 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10258
10259         * free-hook.c (log_gcpro):
10260         (show_gcprohist): Add support for GCPRO5.
10261
10262 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10263
10264         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10265
10266 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10267
10268         * symeval.h: Declare flush_all_buffer_local_cache.
10269
10270         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10271         (flush_buffer_local_cache): Added.
10272         (flush_all_buffer_local_cache): Added.
10273
10274         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10275
10276         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10277         (pdump_dump_data): Ditto.
10278         (pdump_reloc_one): Ditto.
10279         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10280         before dumping.
10281
10282
10283 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10284
10285         * buffer.c: Remove if 0'ed entry.
10286         * buffer.h: Rewrite TRT to use char-table.
10287         * bufslots.h: Remove mirror tables.
10288         * casetab.c: Remove mirror tables.
10289         (CASE_TABLE_P): New macro.
10290         (Fcase_table_p): Element of a case table is string or char-table.
10291         (make_mirror_trt_table): Removed.
10292         (set_case_table): Setup char-table from strings for backward
10293         compatibility.
10294         * dired.c (Fdirectory_files):
10295         * dired-msw.c: (mswindows_get_files):
10296         * lisp.h: Change prototype of re_pattern_buffer.
10297         * regex.c: (RE_TRANSLATE): New macro.
10298         (TRANSLATE_P): Ditto.
10299         Change translate to type RE_TRANSLATE_TYPE.
10300         * regex.h: Define RE_TRANSLATE_TYPE
10301         * search.c (TRANSLATE): New macro.
10302         (TRANSLATE_ASCII): New macro.
10303         Translate table is changed to Lisp_Object.
10304         (signal_failure): Inhibit return.
10305
10306 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10307
10308         * device-msw.c:
10309         * eldap.c:
10310         * event-Xt.c:
10311         * event-stream.c:
10312         * print.c:
10313         Do UNGCPRO before return.
10314
10315 2000-11-14  Martin Buchholz <martin@xemacs.org>
10316
10317         * XEmacs 21.2.37 is released.
10318
10319 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10320
10321         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10322         Add comments about discarded return value.
10323
10324 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10325
10326         * callint.c:
10327         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10328
10329 2000-10-27  Andy Piper  <andy@xemacs.org>
10330
10331         * gutter.c (Fset_default_gutter_position): default left and right
10332         gutters to visible.
10333         (calculate_gutter_size): calculate resonable heuristic for left
10334         and right gutter sizes.
10335         (specifier_vars_of_gutter): change left and right gutter sizes to
10336         autodetect.
10337         (calculate_gutter_size_from_display_lines): new function.
10338         (output_gutter): check for resizing on left and right gutters.
10339         (clear_gutter): don't special case top and left gutters.
10340         (specifier_vars_of_gutter): use new signature for
10341         set_specifier_caching.
10342
10343         * glyphs-x.c (x_redisplay_widget): spelling fix.
10344         * glyphs.c (specifier_vars_of_glyphs):
10345         * menubar.c (specifier_vars_of_menubar):
10346         * redisplay.c (specifier_vars_of_redisplay):
10347         * toolbar.c (specifier_vars_of_toolbar):
10348         * window.c (specifier_vars_of_window):
10349         * scrollbar.c (specifier_vars_of_scrollbar):
10350         (complex_vars_of_scrollbar): use new signature for
10351         set_specifier_caching.
10352
10353         * specifier.c (set_specifier_caching): include recompute flag.
10354         (recompute_one_cached_specifier_in_window): always recompute if
10355         flag set.
10356         (recompute_one_cached_specifier_in_frame): ditto.
10357
10358         * specifier.h (struct specifier_caching): add recompute flag.
10359
10360 2000-10-24  Andy Piper  <andy@xemacs.org>
10361
10362         * unexcw.c (copy_executable_and_dump_data_section): add new
10363         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10364         5.0 happy.
10365
10366 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10367
10368         * console-x.h (x_device): New member modifier_release_time.
10369         * event-Xt.c (x_handle_sticky_modifiers):
10370         Bound interval modifier keys are sticky.
10371         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10372         * events.h: extern it.
10373
10374 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10375
10376         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10377
10378 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10379
10380         * event-stream.c (execute_command_event): Preserve current_events
10381         and the like when event is misc-user-event.
10382         Inhibit quit during the call to maybe_echo_keys.
10383
10384 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10385
10386         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10387         symlink when buffer is killed.
10388         (inhibit_clash_detection): New variable.
10389
10390 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10391
10392         * console.c (Fset_input_method): Trigger redisplay on tty.
10393
10394 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10395
10396         * process.c (Fprocess_status): Revert to previous behavior:
10397         (process-status "nosuchprocess") ==> nil
10398
10399 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10400
10401         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10402         Work around another GCC 2.95.2 optimizer bug.
10403
10404 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10405
10406         * process.c (Fget_process): Use LIST_LOOP_2.
10407         (kill_buffer_processes): Use LIST_LOOP_2.
10408
10409         * minibuf.c (Fall_completions):
10410         Delete old non-functional code for FSF fourth argument.
10411
10412         * frame.c (frame_matches_frame_spec):
10413         Renamed from `frame_matches_frametype'.  Update all callers.
10414         (device_matches_device_spec):
10415         Renamed from 'device_matches_console_spec'.  Update all callers.
10416
10417         * doc.c (Fsubstitute_command_keys):
10418         Remove buffer overflow crash.  Small code cleanups.
10419
10420         * casetab.c (check_case_table): Simpler code.
10421
10422         * window.c (Freplace_buffer_in_windows):
10423         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10424         (and similar implementation) as Fdelete_windows_on.
10425         Update all callers.
10426
10427         * alloc.c (Fmake_list):
10428         * alloc.c (make_vector):
10429         * alloc.c (Fmake_vector):
10430         * alloc.c (make_bit_vector):
10431         * alloc.c (Fmake_bit_vector):
10432         * alloc.c (Fbit_vector):
10433         * alloc.c (Fmake_string):
10434         * alloc.c (Fpurecopy):
10435         * alloc.c (Fmemory_limit):
10436         * buffer.c:
10437         * buffer.c (Fget_buffer):
10438         * buffer.c (Fkill_buffer):
10439         * buffer.c (complex_vars_of_buffer):
10440         * bytecode.c (Fcompiled_function_stack_depth):
10441         * callint.c (Fprefix_numeric_value):
10442         * event-stream.c:
10443         * event-stream.c (Fread_key_sequence):
10444         * casetab.c:
10445         * casetab.c (Fcase_table_p):
10446         * casetab.c (check_case_table):
10447         * casetab.c (Fset_case_table):
10448         * casetab.c (Fset_standard_case_table):
10449         * chartab.c:
10450         * chartab.c (Fchar_table_type):
10451         * chartab.c (Freset_char_table):
10452         * chartab.c (Fget_char_table):
10453         * chartab.c (Fget_range_char_table):
10454         * chartab.c (Fput_char_table):
10455         * chartab.c (Fmap_char_table):
10456         * chartab.c (Fcategory_table_p):
10457         * chartab.c (Fcheck_category_at):
10458         * chartab.c (Fchar_in_category_p):
10459         * chartab.c (Fcategory_table):
10460         * chartab.c (Fcopy_category_table):
10461         * chartab.c (Fset_category_table):
10462         * chartab.c (Fcategory_designator_p):
10463         * chartab.c (Fcategory_table_value_p):
10464         * cmds.c (Fdelete_char):
10465         * cmds.c (Fdelete_backward_char):
10466         * cmds.c (Fself_insert_command):
10467         * cmds.c (Fself_insert_internal):
10468         * console.c (Fvalid_console_type_p):
10469         * console.c (Fcdfw_console):
10470         * console.c (Fconsole_type):
10471         * console.c (Fconsole_name):
10472         * console.c (Fconsole_device_list):
10473         * console.c (Fconsole_on_window_system_p):
10474         * data.c:
10475         * data.c (Feq):
10476         * data.c (Fold_eq):
10477         * data.c (Fsubr_interactive):
10478         * data.c (Fchar_to_int):
10479         * data.c (Fint_to_char):
10480         * data.c (Fsetcar):
10481         * data.c (Fsetcdr):
10482         * data.c (Fnumber_to_string):
10483         * data.c (Fstring_to_number):
10484         * data.c (Frem):
10485         * database.c (mark_database):
10486         * database.c (finalize_database):
10487         * database.c (Fdatabase_live_p):
10488         * database.c (Fdatabasep):
10489         * device-x.c (Fx_get_resource):
10490         * device.c (Fdfw_device):
10491         * dired.c:
10492         * dired.c (Ffile_name_completion):
10493         * dired.c (Ffile_name_all_completions):
10494         * dired.c (Fuser_name_completion):
10495         * dired.c (Fuser_name_completion_1):
10496         * dired.c (Fuser_name_all_completions):
10497         * doc.c (Fdocumentation):
10498         * doc.c (Fdocumentation_property):
10499         * doc.c (Fsubstitute_command_keys):
10500         * editfns.c:
10501         * editfns.c (Fchar_to_string):
10502         * editfns.c (Fstring_to_char):
10503         * editfns.c (Ftemp_directory):
10504         * editfns.c (Finsert_char):
10505         * editfns.c (Fbuffer_substring_no_properties):
10506         * editfns.c (Fnarrow_to_region):
10507         * editfns.c (Fchar_equal):
10508         * editfns.c (Fchar_Equal):
10509         * editfns.c (Ftranspose_regions):
10510         * emacs.c (Fdump_emacs):
10511         * eval.c (Fthrow):
10512         * eval.c (Fcommand_execute):
10513         * eval.c (Fautoload):
10514         * eval.c (Fbacktrace):
10515         * eval.c (Fbacktrace_frame):
10516         * events.c:
10517         * events.c (Fcopy_event):
10518         * events.c (Fcharacter_to_event):
10519         * events.c (Fevent_button):
10520         * events.c (Fevent_process):
10521         * extents.c:
10522         * extents.c (Fnext_extent_change):
10523         * extents.c (Fextent_property):
10524         * faces.c (Ffacep):
10525         * faces.c (Fmake_face):
10526         * file-coding.c:
10527         * file-coding.c (Fencode_shift_jis_char):
10528         * file-coding.c (Fencode_big5_char):
10529         * fileio.c (Ffile_name_directory):
10530         * fileio.c (Ffile_name_nondirectory):
10531         * fileio.c (Ffile_name_as_directory):
10532         * fileio.c (Fdirectory_file_name):
10533         * fileio.c (Ffile_truename):
10534         * fileio.c (Fsubstitute_in_file_name):
10535         * fileio.c (Ffile_modes):
10536         * fileio.c (Fset_file_modes):
10537         * fileio.c (Fset_default_file_modes):
10538         * fileio.c (Fverify_visited_file_modtime):
10539         * floatfns.c (Facos):
10540         * floatfns.c (Fasin):
10541         * floatfns.c (Fatan):
10542         * floatfns.c (Fcos):
10543         * floatfns.c (Fsin):
10544         * floatfns.c (Ftan):
10545         * floatfns.c (Fbessel_j0):
10546         * floatfns.c (Fbessel_j1):
10547         * floatfns.c (Fbessel_jn):
10548         * floatfns.c (Fbessel_y0):
10549         * floatfns.c (Fbessel_y1):
10550         * floatfns.c (Fbessel_yn):
10551         * floatfns.c (Ferf):
10552         * floatfns.c (Ferfc):
10553         * floatfns.c (Flog_gamma):
10554         * floatfns.c (Fexp):
10555         * floatfns.c (Fexpt):
10556         * floatfns.c (Flog):
10557         * floatfns.c (Flog10):
10558         * floatfns.c (Fsqrt):
10559         * floatfns.c (Fcube_root):
10560         * floatfns.c (Facosh):
10561         * floatfns.c (Fasinh):
10562         * floatfns.c (Fatanh):
10563         * floatfns.c (Fcosh):
10564         * floatfns.c (Fsinh):
10565         * floatfns.c (Ftanh):
10566         * floatfns.c (Fabs):
10567         * floatfns.c (Ffloat):
10568         * floatfns.c (Flogb):
10569         * floatfns.c (Fceiling):
10570         * floatfns.c (Ffloor):
10571         * floatfns.c (Fround):
10572         * floatfns.c (Ftruncate):
10573         * floatfns.c (Ffceiling):
10574         * floatfns.c (Fffloor):
10575         * floatfns.c (Ffround):
10576         * floatfns.c (Fftruncate):
10577         * fns.c (Fstring_equal):
10578         * fns.c (Fstring_lessp):
10579         * fns.c (concat2):
10580         * fns.c (concat3):
10581         * fns.c (vconcat2):
10582         * fns.c (vconcat3):
10583         * fns.c (Fsubstring):
10584         * fns.c (Fassoc):
10585         * fns.c (Fold_assoc):
10586         * fns.c (assoc_no_quit):
10587         * fns.c (Fassq):
10588         * fns.c (Fold_assq):
10589         * fns.c (assq_no_quit):
10590         * fns.c (Frassoc):
10591         * fns.c (Fold_rassoc):
10592         * fns.c (Frassq):
10593         * fns.c (Fold_rassq):
10594         * fns.c (rassq_no_quit):
10595         * fns.c (Fremassoc):
10596         * fns.c (remassoc_no_quit):
10597         * fns.c (Fremassq):
10598         * fns.c (remassq_no_quit):
10599         * fns.c (Fremrassoc):
10600         * fns.c (Fremrassq):
10601         * fns.c (remrassq_no_quit):
10602         * fns.c (Fsort):
10603         * fns.c (Fplist_get):
10604         * fns.c (Fplist_put):
10605         * fns.c (Fplist_remprop):
10606         * fns.c (Fplist_member):
10607         * fns.c (Flax_plist_get):
10608         * fns.c (Flax_plist_put):
10609         * fns.c (Flax_plist_remprop):
10610         * fns.c (Flax_plist_member):
10611         * fns.c (Fequal):
10612         * fns.c (Fold_equal):
10613         * fns.c (Frequire):
10614         * fns.c (Fbase64_encode_region):
10615         * fns.c (Fbase64_encode_string):
10616         * fns.c (Fbase64_decode_region):
10617         * frame.c:
10618         * frame.c (frame_matches_frame_spec):
10619         * frame.c (device_matches_device_spec):
10620         * frame.c (next_frame):
10621         * frame.c (previous_frame):
10622         * frame.c (Fnext_frame):
10623         * frame.c (Fprevious_frame):
10624         * frame.c (Fframe_property):
10625         * frame.c (Fset_frame_height):
10626         * frame.c (Fset_frame_size):
10627         * frame.h:
10628         * glyphs.c:
10629         * glyphs.c (if):
10630         * glyphs.c (decode_error_behavior_flag):
10631         * glyphs.c (Fmake_image_instance):
10632         * indent.c (Findent_to):
10633         * intl.c (Fignore_defer_gettext):
10634         * keymap.c (Fkeymapp):
10635         * keymap.c (Flookup_key):
10636         * lread.c:
10637         * lread.c (Fload_internal):
10638         * lread.c (Feval_buffer):
10639         * lread.c (Feval_region):
10640         * macros.c (Fexecute_kbd_macro):
10641         * marker.c (set_marker_internal):
10642         * marker.c (Fset_marker):
10643         * marker.c (set_marker_restricted):
10644         * marker.c (Fcopy_marker):
10645         * marker.c (noseeum_copy_marker):
10646         * menubar.c:
10647         * menubar.c (Fpopup_menu):
10648         * minibuf.c:
10649         * mule-charset.c (Fcharset_name):
10650         * mule-charset.c (Fchar_charset):
10651         * mule-charset.c (Fchar_octet):
10652         * mule-charset.c (Fsplit_char):
10653         * mule-wnnfns.c (Fwnn_open):
10654         * mule-wnnfns.c (Fwnn_dict_comment):
10655         * mule-wnnfns.c (Fwnn_quit_henkan):
10656         * mule-wnnfns.c (Fwnn_word_toroku):
10657         * mule-wnnfns.c (Fwnn_word_sakujo):
10658         * mule-wnnfns.c (Fwnn_word_use):
10659         * mule-wnnfns.c (Fwnn_hindo_set):
10660         * objects.c:
10661         * objects.c (Fmake_color_instance):
10662         * objects.c (Fmake_font_instance):
10663         * print.c (Fwrite_char):
10664         * process.c:
10665         * process.c (mark_process):
10666         * process.c (print_process):
10667         * process.c (get_process_from_usid):
10668         * process.c (Fprocessp):
10669         * process.c (Fprocess_live_p):
10670         * process.c (Fget_process):
10671         * process.c (Fget_buffer_process):
10672         * process.c (get_process):
10673         * process.c (Fprocess_id):
10674         * process.c (Fprocess_name):
10675         * process.c (Fprocess_command):
10676         * process.c (init_process_io_handles):
10677         * process.c (start_process_unwind):
10678         * process.c (Fstart_process_internal):
10679         * process.c (Fopen_multicast_group_internal):
10680         * process.c (Fset_process_window_size):
10681         * process.c (read_process_output):
10682         * process.c (send_process):
10683         * process.c (Fprocess_tty_name):
10684         * process.c (Fset_process_buffer):
10685         * process.c (Fprocess_buffer):
10686         * process.c (Fprocess_mark):
10687         * process.c (set_process_filter):
10688         * process.c (Fset_process_filter):
10689         * process.c (Fprocess_filter):
10690         * process.c (Fprocess_send_region):
10691         * process.c (Fprocess_send_string):
10692         * process.c (exec_sentinel):
10693         * process.c (Fset_process_sentinel):
10694         * process.c (Fprocess_sentinel):
10695         * process.c (status_notify):
10696         * process.c (Fprocess_status):
10697         * process.c (Fprocess_exit_status):
10698         * process.c (process_send_signal):
10699         * process.c (Fprocess_send_eof):
10700         * process.c (deactivate_process):
10701         * process.c (remove_process):
10702         * process.c (Fdelete_process):
10703         * process.c (kill_buffer_processes):
10704         * process.c (Fprocess_kill_without_query):
10705         * process.c (Fprocess_kill_without_query_p):
10706         * rangetab.c:
10707         * rangetab.c (Fget_range_table):
10708         * rangetab.c (Fput_range_table):
10709         * rangetab.c (Fremove_range_table):
10710         * rangetab.c (Fclear_range_table):
10711         * search.c:
10712         * search.c (Fskip_chars_forward):
10713         * search.c (Fskip_chars_backward):
10714         * search.c (Fskip_syntax_forward):
10715         * search.c (Fskip_syntax_backward):
10716         * search.c (search_command):
10717         * search.c (Freplace_match):
10718         * search.c (Fregexp_quote):
10719         * select.c (Fown_selection_internal):
10720         * select.c (Fselection_owner_p):
10721         * select.c (Fselection_exists_p):
10722         * select.c (Fget_selection_internal):
10723         * specifier.c:
10724         * symbols.c:
10725         * symbols.c (Fintern):
10726         * symbols.c (Fintern_soft):
10727         * symbols.c (Funintern):
10728         * symbols.c (Fapropos_internal):
10729         * symbols.c (Fset_default):
10730         * syntax.c:
10731         * syntax.c (Fsyntax_table_p):
10732         * syntax.c (Fcopy_syntax_table):
10733         * syntax.c (Fset_syntax_table):
10734         * syntax.c (Fchar_syntax):
10735         * syntax.c (syntax_match):
10736         * syntax.c (Fmatching_paren):
10737         * syntax.c (Fforward_word):
10738         * syntax.c (scan_lists):
10739         * syntax.c (Fscan_lists):
10740         * syntax.c (Fscan_sexps):
10741         * syntax.c (Fparse_partial_sexp):
10742         * toolbar.c (Fcheck_toolbar_button_syntax):
10743         * tooltalk.doc:
10744         * window.c:
10745         * window.c (Fwindowp):
10746         * window.c (Fwindow_live_p):
10747         * window.c (Fwindow_point):
10748         * window.c (Fdelete_window):
10749         * window.c (Fnext_window):
10750         * window.c (Fprevious_window):
10751         * window.c (Fother_window):
10752         * window.c (window_loop):
10753         * window.c (Fget_lru_window):
10754         * window.c (Fsplit_window):
10755         * window.c (Fenlarge_window):
10756         * window.c (Fenlarge_window_pixels):
10757         * window.c (Fshrink_window):
10758         * window.c (Fshrink_window_pixels):
10759         * window.c (change_window_height):
10760         * window.c (Fwindow_configuration_p):
10761         * window.c (Fcurrent_window_configuration):
10762         * window.h:
10763         * casefiddle.c (casify_object):
10764         * casefiddle.c (Fupcase):
10765         * casefiddle.c (Fdowncase):
10766         * casefiddle.c (Fcapitalize):
10767         * casefiddle.c (Fupcase_initials):
10768         * casefiddle.c (casify_region_internal):
10769         * casefiddle.c (casify_region):
10770         * casefiddle.c (Fupcase_region):
10771         * casefiddle.c (Fdowncase_region):
10772         * casefiddle.c (Fcapitalize_region):
10773         * casefiddle.c (Fupcase_initials_region):
10774         * casefiddle.c (Fupcase_word):
10775         * casefiddle.c (Fdowncase_word):
10776         * casefiddle.c (Fcapitalize_word):
10777         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10778         Replace 0 with '\0' when working with bytes.
10779         Replace initial "(" with "\(" in docstrings.
10780
10781 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10782
10783         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10784
10785         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10786
10787 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10788
10789         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10790
10791 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10792
10793         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10794         correctly.
10795
10796 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10797
10798         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10799         (inhibit_auto_save_session): New variable.
10800         (vars_of_fileio): Declare and initialize them.
10801         * fileio.c (Fdo_auto_save): Don't create session file if
10802         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10803
10804 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10805
10806         * sgiplay.c (play_internal): C++ compilability.
10807         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10808         * callproc.c (Fold_call_process_internal):
10809         Remove unused vars `env', `first'.
10810         * scrollbar.c (update_scrollbar_instance):
10811         #### unused var `current_window'.
10812         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10813         etc. within #ifdef NOT_YET.
10814         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10815         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10816         * specifier.c (specifier_instance):
10817         #### unused var `tag'.
10818         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10819
10820 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10821
10822         * fns.c (Fbutlast):
10823         * fns.c (list_sort):
10824         * fns.c (Ffillarray):
10825         * fns.c (bytecode_nconc2):
10826         * fns.c (Fnconc):
10827         * fns.c (mapcar1):
10828         * fns.c (Fmapconcat):
10829         Be pedantically 64-bit correct.  For the time when someone will
10830         want to have a list with length > 2**32.
10831
10832         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10833         Work around MIPSpro compiler bug.
10834
10835         * process-unix.c (unix_kill_child_process): Add snarky comment.
10836         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10837
10838         * config.h.in: Oops, _getpt ==> _getpty
10839
10840 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10841
10842         * config.h.in:
10843         * regex.c:
10844         Use void*, not char*, as return type of alloca().
10845
10846         * alloc.c (free_marker): Side effect inside assert expression!
10847
10848 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10849
10850         * mule-charset.c (Fset_charset_ccl_program): To check
10851         if the given ccl program is valid, use setup_ccl_program()
10852         instead of CHECK_VECTOR().
10853         (Fmake_charset): Likewise.
10854
10855 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10856
10857         * faces.c (get_extent_fragment_face_cache_index):
10858         Fix cachel.merged_faces memory leak.
10859
10860 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10861
10862         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10863         Reset MSB of octets obtained by DECODE_SJIS
10864         because of the incompatibility with Emacs.
10865         (ccl_driver)<CCL_ENCODE_SJIS>:
10866         Set MSB of octets before passing them to
10867         ENCODE_SJIS because of the incompatibility
10868         with Emacs.
10869
10870 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10871
10872         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10873         (DECLARE_LRECORD): Undo the last change.
10874         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10875
10876 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10877
10878         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10879         the implementation to lrecord_implementations_table.
10880
10881 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10882
10883         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10884         initial value of `lrecord_type_##c_name' and
10885         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10886         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10887         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10888         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10889         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10890
10891 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10892
10893         * miscplay.c (sndcnv8S_2mono):
10894         (sndcnv2monounsigned):
10895         (sndcnvULaw_2linear):
10896         (sndcnv16swap):
10897         Remove implementation-defined behavior.
10898
10899 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10900
10901         * input-method-xlib.c: Warning suppression.
10902
10903 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10904
10905         * mule-ccl.c: Sync up with Emacs 21.0.90.
10906         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10907         Do nothing.
10908         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10909         Likewise.
10910         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10911         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10912         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10913         leading char belongs to official 2-dimensional charset.
10914         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10915         write the given character as is.  Otherwise,
10916         if it is a multibyte char, convert it by
10917         non_ascii_set_charptr_emchar, then write it.
10918         (CCL_WRITE_STRING): Likewise.
10919         (ccl_get_compiled_code): New function.
10920         (setup_ccl_program): When ccl_prog is invalid,
10921         return -1.
10922         (Fregister_code_conversion_map): New function.
10923         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10924
10925         * mule-ccl.h: Sync up with Emacs 21.0.90.
10926         (Fregister_ccl_program): export it.
10927
10928         * redisplay-msw.c (separate_textual_runs):
10929         If ccl program is not valid, don't do ccl conversion.
10930
10931         * redisplay-x.c (separate_textual_runs): Ditto.
10932
10933         * file-coding.c (Fmake_coding_system):
10934         When type is ccl and value is vector, register it
10935         with a proper symbol.  And checks whether the
10936         given ccl program is valid.
10937         (mule_decode): When calling ccl_driver, if src indicates
10938         NULL pointer, set an empty string instead.
10939         (mule_encode): Likewise.
10940
10941 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10942
10943         The following large batch of changes gets us back to a state of
10944         C++ compilability.  Extbyte is now a char, which means that
10945         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10946
10947         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10948
10949         * sound.c (Fplay_sound): Type correctness.
10950
10951         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10952         (x_get_window_property): Type correctness.
10953         (receive_incremental_selection): unsigned char ==> Extbyte
10954         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10955         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10956         (Fx_store_cutbuffer_internal): Type correctness.
10957
10958         * process-unix.c (try_to_initialize_subtty): Type correctness.
10959
10960         * objects-x.c (x_print_color_instance): Type correctness.
10961         (x_print_font_instance): Type correctness.
10962         (x_list_fonts): SExtbyte ==> Extbyte.
10963         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10964         (x_find_charset_font): SExtbyte ==> Extbyte.
10965         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10966         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10967         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10968         Use bufbyte_strcmp.
10969
10970         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10971         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10972         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10973         (BYTE_C0_P): Use bit ops for char-signedness safety.
10974         (BYTE_C1_P): Use bit ops for char-signedness safety.
10975         (CHARSET_BY_LEADING_BYTE):
10976         (CHARSET_BY_ATTRIBUTES):
10977         Always use inline function.
10978         Use type_checking_assert.
10979         Hide chlook.
10980
10981         * mule-charset.c (non_ascii_charptr_copy_char):
10982         Modify to work with both ASCII and non-ASCII characters.
10983         Improve docs and variable names.
10984         Replace over-clever fall-through switch with a simple loop.
10985         (Lstream_get_emchar_1):
10986         Replace over-clever fall-through switch with a simple loop.
10987
10988         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10989         Warning suppression.
10990
10991         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10992         the return value of Lstream_getc, which could be EOF as well.
10993
10994         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10995
10996         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10997         APIs can be used on Extbytes without casts.  Risky!
10998         (SExtbyte): Remove.
10999         (UExtbyte): Remove.
11000
11001         * input-method-xlib.c (XIM_init_device):
11002         Use Xlib.h instead of IntrinsicP.h.
11003         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11004         which will break in X11R7.
11005         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11006         to call XRegisterIMInstantiateCallback with correct types.
11007
11008         * gui-x.c (button_item_to_widget_value): Type correctness.
11009
11010         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11011
11012         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11013         (xbm_instantiate_1): Type correctness.
11014         (BUILD_GLYPH_INST):  Type correctness.
11015
11016         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11017
11018         * file-coding.c:
11019         (decode_coding_sjis):
11020         (decode_coding_big5):
11021         (decode_coding_ucs4):
11022         (decode_coding_utf8):
11023         (decode_coding_iso2022):
11024         (decode_coding_no_conversion):
11025         Make all decoding functions take an Extbyte * arg.
11026         (encode_coding_sjis):
11027         (encode_coding_big5):
11028         (encode_coding_ucs4):
11029         (encode_coding_utf8):
11030         (encode_coding_iso2022):
11031         (encode_coding_no_conversion):
11032         Make all encoding functions take a Bufbyte * arg.
11033         Use size_t instead of unsigned int for memory sizes.
11034         Only cast to unsigned char whenever dereferencing Extbyte *.
11035
11036         * doc.c (unparesseuxify_doc_string): Type correctness.
11037
11038         * console-x.c (split_up_display_spec):
11039         Rewrite without using details of internal string representation.
11040         (x_semi_canonicalize_device_connection): Type correctness.
11041
11042         * config.h.in:
11043         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11044         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11045         (HAVE_XFREE386): Removed.
11046
11047         * buffer.h (DEC_CHARPTR): `const' correctness.
11048         (bufbyte_strcmp): New.
11049         (bufbyte_memcmp): New.
11050
11051         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11052
11053         * buffer.h (XCHAR_OR_CHAR_INT):
11054         Always use inline function.
11055         Remove redundant type checking assert() - XINT will abort quite nicely.
11056
11057 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11058
11059         * search.c (Freplace_match): Set newtext to an empty string.
11060
11061 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11062
11063         * s/decosf1-3.h: Remove #include of stropts.h
11064         * s/ptx.h: Remove #include of stropts.h
11065         * s/usg5-4.h: Remove #include of stropts.h
11066         * sysproc.h:
11067         * config.h.in:
11068         Use stropts.h, not sys/stropts.h.
11069         Use strtio.h, not sys/strtio.h.
11070
11071 2000-10-04  Martin Buchholz <martin@xemacs.org>
11072
11073         * XEmacs 21.2.36 is released.
11074
11075 2000-09-21  Andy Piper  <andy@xemacs.org>
11076
11077         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11078         changes still involve copying the widget tree.
11079         (update_widget_face): make sure a change is register in the widget
11080         tree. Call update_tab_widget_face appropriately.
11081         (update_tab_widget_face): ditto.
11082         (x_tab_control_redisplay): make sure non-structural changes still
11083         involve copying the widget tree.
11084
11085 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11086
11087         * lread.c (locate_file): Check the path element is non-nil.
11088
11089 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11090
11091         * lisp.h: Warning suppression for SCO compilers.
11092
11093         * redisplay-tty.c (reset_tty_modes): Fix crash.
11094         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11095
11096 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11097
11098         Big signal/process handling overhaul.  Bugs fixed:
11099         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11100         M-x comint-kill-subjob should work for both values nil and t of
11101         process-connection-type. It was broken on most platforms.
11102         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11103         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11104         * process-unix.c: Signal/Process handling overhaul.
11105         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11106         (allocate_pty): Use all available modern methods of allocating
11107         ptys, falling back to old style BSD allocation as a last resort.
11108         Use allegedly more secure Unix98 pty allocation by default.
11109         (allocate_pty_the_old_fashioned_way): New. the last resort.
11110         (unix_create_process): Push ptem, ldterm, ttcompat where
11111         available.  Autoconfiscate.
11112         (try_to_initialize_subtty): New.
11113         (unix_kill_child_process): Proper signal handling for ptys on most
11114         platforms, using special knowledge of AIX, BSD, etc...
11115         (unix_create_process): Always disconnect_controlling_terminal() for
11116         subprocesses, whether using ptys or not.
11117         * process.h: Remove old getpt-dependent PTY code.
11118         * process.c (Fprocess_send_signal): New, obvious generic function.
11119         (decode_signal): New.
11120         (Finterrupt_process):
11121         (Fkill_process):
11122         (Fquit_process):
11123         (Fstop_process):
11124         (Fcontinue_process):
11125         (Fsignal_process): Use decode_signal.
11126         (process_send_signal):
11127         Many docstring corrections.
11128         Allow any signal to be sent to a process object.
11129         * config.h.in: Add symbols for big signal/process overhaul.
11130         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11131         * sysproc.h: Include process-related headers, where available:
11132         sys/stropts.h sys/strtio.h pty.h libutil.h
11133         * s/irix4-0.h:
11134         * s/irix5-0.h:
11135         * s/cygwin32.h:
11136         * s/gnu.h:
11137         * s/linux.h:
11138         * s/hpux.h:
11139         * s/aix3-1.h:
11140         Remove old S&M pty stuff.
11141         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11142         * systty.h: Simplify cpp hackery, improve comments.
11143         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11144
11145         * editfns.c (Fformat_time_string):
11146         Be a little more paranoid with the return value of ctime.
11147
11148         * fileio.c (check_executable):
11149         (check_writable):
11150         Use symbolic constants X_OK, W_OK.
11151
11152         * console-x.c (split_up_display_spec): Fix a warning.
11153
11154 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11155
11156         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11157         * ntproc.c (sys_spawnve): make_string ==> build_string
11158         Small clarity improvements.
11159
11160 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11161
11162         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11163
11164         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11165
11166         * config.h.in (HAVE_STRCASECMP): Remove.
11167
11168 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11169
11170         * redisplay-output.c (redisplay_output_pixmap):
11171         Cleaner and possibly more 64-bit correct code.
11172
11173 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11174
11175         * dumper.c (pdump_load_finish): move restoration of
11176         `noninteractive1' to emacs.c (main_1).
11177         * emacs.c (main_1): protect LISP-visible command-line flags
11178         from pdump_load().
11179
11180 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11181
11182         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11183         DUMP_TARGET instead of literal program names.
11184
11185 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11186
11187         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11188
11189 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11190
11191         * *: Spelling mega-patch
11192
11193 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11194
11195         * fns.c (bad_bad_turtle):
11196         Delete "Eek!" comment, since we fixed the bug to which it refers.
11197
11198 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11199
11200         * alloca.c: Replace REGISTER with register.
11201
11202 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11203
11204         * file-coding.c (ucs_to_char): Use countof.
11205
11206 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11207
11208         * file-coding.c: (ucs_to_char):
11209         (complex_vars_of_file_coding):
11210         Use countof instead of sizeof.
11211         Use CHECK_NATNUM instead of CHECK_INT.
11212
11213         * sysdep.c (strcasecmp): Remove.
11214         * device-x.c (ascii_strcasecmp): New.
11215         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11216         Avoid using non-standard non-portable strcasecmp.
11217
11218 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11219
11220         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11221         * font-lock.c: remove reference to emacsfns.h.
11222         * search.c: small doc improvement.
11223         * event-Xt.c: correct file names in comments.
11224         * console-x.h Correct file names in comments.
11225         * frame.c: Correct file names in comments.
11226         * event-stream.c: remove Energize from comments.
11227
11228 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11229
11230         * symeval.h (DEFERROR_STANDARD):
11231         (DEFERROR):
11232         (DEFSYMBOL):
11233         (DEFSYMBOL_NO_DUMP):
11234         (DEFSYMBOL_MULTIWORD_PREDICATE):
11235         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11236         (DEFKEYWORD):
11237         The construct &##name is not sensible C.
11238         Fixes compilation errors with Unixware native compiler.
11239
11240 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11241
11242         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11243         (next_frame_internal): Removed.  We now just have next_frame.
11244         (next_frame):
11245         Write a simpler and cleaner one-pass algorithm.
11246         Remove called_from_delete_device arg and #ifdefed-out code.
11247         (previous_frame):
11248         Renamed from prev_frame.  Update callers.
11249         Cleaned up to have an analogous implementation to next_frame.
11250         (other_visible_frames_internal): Remove the
11251         called_from_delete_device bogus arg, and hence, remove this
11252         function.  Just use other_visible_frames().
11253
11254         * window.c (Fnext_window):
11255         Prettify docstring.
11256         Since next_frame() is guaranteed to return a frame, remove check
11257         for nil inserted in previous patch.
11258         (Fprevious_window):
11259         Prettify docstring.
11260         Make code look more like Fnext_window.
11261         (window_loop):
11262         Respect the `console' arg when iterating through windows.
11263         Fixes bug: (get-buffer-window buffer t device) not respecting
11264         the `device' arg.
11265         This function needs more work, as others have pointed out.
11266
11267         * frame.h: Rename prev_frame to previous_frame.
11268         device_matches_console_spec no longer takes a `frame' arg.
11269
11270         * s/gnu.h:
11271         * s/linux.h:
11272         * s/hpux.h:
11273         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11274         From "Golubev I. N." <gin@mo.msk.ru>.
11275
11276         * make-src-depend: Fix typo.
11277
11278 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11279
11280         * window.c (Fnext_window):
11281         next_frame() might return nil, not a frame.
11282         Fixes this crash:
11283         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11284
11285         * frame.c (next_frame_internal):
11286         We've passed a frame if we've passed its device.
11287         Fixes this crash:
11288         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11289 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11290
11291 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11292
11293         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11294         Allow option to suppress accelerators in menu/dialog items.
11295         (populate_or_checksum_helper): Pass dialog title through above.
11296
11297 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11298
11299         * event-msw.c (mswindows_key_to_emacs_keysym):
11300         Add "pause" key, fix "menu" key.
11301
11302 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11303
11304         * eval.c (reinit_vars_of_eval):
11305         Increase max_lisp_eval_depth to 1000,
11306         required for thai-xtis.el to byte-compile under some circumstances.
11307
11308 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11309
11310         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11311         From Kenichi Handa.
11312
11313 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11314
11315         * make-src-depend: Make the generated Makefiles smaller.
11316
11317         * s/hpux.h (SETUP_SLAVE_PTY):
11318         Provide a %d in the format string for the errno argument.
11319
11320         * editfns.c (Ftemp_directory):
11321         Warning fix.
11322         Avoid buffer overrun on very long file name.
11323
11324         * input-method-xlib.c (XIM_init_device):
11325         6th parameter of XRegisterIMInstantiateCallback has different
11326         pointer types on different OSes, so simply cast to (void *).
11327
11328         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11329
11330         * sysdll.c (dll_open):
11331         shl_load will hang hard if passed a NULL filename.
11332         Simply return NULL for compatibility with dlopen.
11333         * sysdll.c: Conform to XEmacs coding standards.
11334
11335         * sysdep.c (get_pty_max_bytes):
11336         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11337
11338 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11339
11340         * tooltalk.c: Add #include <syssignal.h>
11341
11342 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11343
11344         * s/hpux.h: Don't use undefined function sigunblock().
11345
11346 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11347
11348         * config.h.in: Add HAVE_BALLOON_HELP.
11349         * emacs.c: Use HAVE_BALLOON_HELP.
11350         * Makefile.in.in (x_objs):
11351         Make Balloon Help conditional on finding shape.h.
11352
11353 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11354
11355         * syntax.c (regex_emacs_buffer_p): New variable.
11356         * syntax.h (regex_emacs_buffer_p): extern.
11357         * search.c (looking_at_1):
11358         (string_match_1):
11359         (fast_string_match):
11360         (search_buffer): Set regex_emacs_buffer_p.
11361         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11362         when before_dot, at_dot, after_dot.
11363
11364 2000-08-23  Andy Piper  <andy@xemacs.org>
11365
11366         * gui-x.c (popup_selection_callback): Only set action_occurred
11367         when we really have an image instance.
11368         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11369
11370 2000-08-23  Andy Piper  <andy@xemacs.org>
11371
11372         * gui-msw.c (mswindows_handle_gui_wm_command): set
11373         action_occurred.
11374         * gui-x.c (popup_selection_callback): ditto.
11375
11376         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11377         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11378         (struct Lisp_Image_Instance): add action_occurred flag.
11379
11380         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11381         (image_instance_changed): ditto.
11382         (reset_frame_subwindow_instance_cache): only unmap windows - do
11383         not remove them from the cache also.
11384
11385         * glyphs-widget.c (tab_control_update): better debug.
11386         (progress_gauge_update): ditto.
11387         (layout_update): ditto.
11388         (layout_instantiate): ditto.
11389         (tab_control_order_only_changed): cope with null pending items.
11390
11391         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11392         debug. Force selection of an item when an action occurred. Cope
11393         with null pending_items.
11394         (mswindows_progress_gauge_redisplay): better debug.
11395         * glyphs-x.c (x_tab_control_redisplay): ditto.
11396
11397         * redisplay.c (redisplay_frame): reset the frame cache if the
11398         frame is garbaged.
11399
11400         * window.c (Fset_window_configuration): potentially re-enable
11401         frame cache reset.
11402         (window_unmap_subwindows): need to finalize instances here since
11403         it is only used in mark_window_as_deleted.
11404
11405 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11406
11407         * nas.c (SndOpenDataForReading):
11408         nas.c (WaveOpenDataForReading):
11409         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11410         Somehow escaped from the 2000-08-14 patch.
11411
11412 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11413
11414         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11415         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11416
11417 2000-08-21  Andy Piper  <andy@xemacs.org>
11418
11419         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11420         window if it is not already displayed.
11421
11422         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11423         it is not already displayed.
11424
11425         * window.c (Fset_window_configuration): don't reset the frame
11426         cache.
11427
11428         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11429         instances from the frame cache if we are actually finalizing them.
11430         (reset_frame_subwindow_instance_cache): reset frame cache only
11431         after unmapping everything.
11432         (map_subwindow): set displayed flag after mapping.
11433
11434 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11435
11436         * data.c (indirect_function):
11437         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11438
11439         * eval.c (function_argcount):
11440         Use original function when signaling errors.
11441
11442 2000-08-18  Andy Piper  <andy@xemacs.org>
11443
11444         * frame.c (delete_frame_internal): use new
11445         free_frame_subwindow_instances name.
11446
11447         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11448         (add_tab_item): make return type correct.
11449         (mswindows_tab_control_instantiate): assert index of tab.
11450         (mswindows_tab_control_redisplay): Re-code to use
11451         gui_item_equal_sans_selected and gui_item_list_find_selected.
11452
11453         * glyphs-widget.c (tab_control_update): Correct comment.
11454
11455         * window.c (window_unmap_subwindows): use new
11456         unmap_subwindow_instance_cache_mapper.
11457         (window_unmap_subwindows_cache_mapper): deleted.
11458         (Fset_window_configuration): comparisons should now be with
11459         EQ. Preserve the subwindow instance cache across configuration
11460         changes.
11461         (allocate_window): ditto.
11462         (make_dummy_parent): ditto.
11463
11464         * glyphs.c (free_frame_subwindow_instances): rename from
11465         free_frame_subwindow_instance_cache. finalize all instances rather
11466         than just those in the display cache.
11467         (finalize_all_subwindow_instances): walk windows unmapping and
11468         finalizing subwindows.
11469         (unmap_subwindow_instance_cache_mapper): moved from
11470         window.c. Allow finalization as well as unmapping.
11471
11472         * gui.c (gui_item_list_find_selected): new function.
11473
11474         * gui.h (gui_item_list_find_selected): declare.
11475
11476         * glyphs-x.c (x_tab_control_redisplay): pick tab
11477         explicitly. Re-code to use gui_item_equal_sans_selected and
11478         gui_item_list_find_selected.
11479
11480         * glyphs-x.h: add lwlib-utils.h
11481
11482         * buffer.c (Frecord_buffer): undo previous change.
11483
11484 2000-08-09  Vin Shelton  <acs@xemacs.org>
11485
11486         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11487         possible.  Create temporary files more securely.  The patch was
11488         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11489         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11490         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11491         for details.
11492
11493 2000-08-07  Ben Wing  <ben@xemacs.org>
11494
11495         * getloadavg.c: remove duplicate (and windows-breaking)
11496         includes of fcntl.h and sys/file.h.
11497
11498         * nt.c: remove duplicate getloadavg() definition.
11499
11500         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11501         encodings.
11502
11503 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11504
11505         * eval.c (function_argcount): If function needs to be autoloaded
11506         actually use the loaded definition.
11507         GCPRO function.
11508
11509 2000-08-05  Ben Wing  <ben@xemacs.org>
11510
11511         * getloadavg.c: add prototype for getloadavg().  remove
11512         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11513         of the code).  remove duplicate header includes.
11514
11515         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11516
11517         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11518         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11519         useful load average.
11520
11521         * alloc.c (reinit_alloc_once_early): removed references to
11522         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11523         the lisp vars are the only things referencing the malloc_sbrk_*
11524         vars, and they were already if 0'd out.  these vars only exist
11525         in the older malloc.c, which is basically unused, and they're
11526         only for informational purposes.
11527
11528         * m\*.h: removed useless VIRT_ADDR_VARIES.
11529
11530         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11531
11532 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11533
11534         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11535         color if the image is a mono pixmap.
11536
11537 2000-07-30  Ben Wing  <ben@xemacs.org>
11538
11539         * Makefile.in.in (release):
11540         Remove stray @.
11541
11542         * buffer.c (directory_is_current_directory):
11543         * dired-msw.c (mswindows_get_files):
11544         * dired.c:
11545         * dired.c (Fdirectory_files):
11546         * dired.c (file_name_completion_stat):
11547         * dired.c (Ffile_attributes):
11548         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11549         preprocessor tricks, to avoid problems on some machines
11550         (e.g. SCO).
11551
11552         * callproc.c (egetenv): GC docs.
11553
11554         * console-msw.h:
11555         * console-msw.h (struct mswindows_dialog_id):
11556         * lrecord.h (lrecord_type):
11557         New object for use with MSW dialogs.
11558
11559         * console.h (struct console_methods):
11560         New enable/disable frame methods, for proper modal dialogs.
11561
11562         * device-msw.c (msprinter_default_printer): Fix to follow
11563         proper Mule conventions.
11564
11565         * device-msw.c:
11566         * device-msw.c (signal_open_printer_error):
11567         * device-msw.c (msprinter_init_device):
11568         * device-msw.c (ensure_not_printing):
11569         * device-msw.c (plist_get_margin):
11570         * device-msw.c (Fmsprinter_select_settings):
11571         * device-msw.c (finalize_devmode):
11572         * device-msw.c (Fmsprinter_settings_despecialize):
11573         * device-msw.c (signal_enum_priner_error):
11574         * extents.c (decode_extent):
11575         * extents.c (decode_map_extents_flags):
11576         * extents.c (decode_extent_at_flag):
11577         * extents.c (Fextent_at):
11578         * extents.c (Fextents_at):
11579         * extents.c (symbol_to_glyph_layout):
11580         [[[[2]]]] Use structured errors.
11581
11582         * dialog-msw.c:
11583         * dialog-msw.c (mswindows_is_dialog_msg):
11584         * dialog-msw.c (mark_mswindows_dialog_id):
11585         * dialog-msw.c (dialog_proc):
11586         * dialog-msw.c (handle_question_dialog_box):
11587         * dialog-msw.c (syms_of_dialog_mswindows):
11588         Define new object to clean up marking; use it as a dialog identifier.
11589         Call new delete-dialog-box-hook.
11590
11591         * dialog-x.c (dbox_selection_callback):
11592         * dialog-x.c (dbox_descriptor_to_widget_value):
11593         * dialog-x.c (x_make_dialog_box_internal):
11594         Call new delete-dialog-box-hook.
11595         Return an id.
11596
11597         * dialog.c:
11598         * dialog.c (syms_of_dialog):
11599         * dialog.c (vars_of_dialog):
11600         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11601
11602         * eval.c:
11603         * eval.c (signal_call_debugger):
11604         when noninteractive, output stack traces on the console instead
11605         of in a (never-seen) buffer.
11606
11607         * eval.c (signal_type_error):
11608         * eval.c (invalid_argument_2):
11609         * lisp.h:
11610         new funs for use w/structured errors.
11611
11612         * event-Xt.c:
11613         * event-Xt.c (x_to_emacs_keysym):
11614         * event-Xt.c (describe_event):
11615         * event-Xt.c (emacs_Xt_event_handler):
11616         * event-Xt.c (vars_of_event_Xt):
11617         * event-msw.c:
11618         * event-msw.c (mswindows_wnd_proc):
11619         * event-msw.c (vars_of_event_mswindows):
11620         rename {x,mswindows}-debug-events to debug-{}-events for
11621         consistency with other debug-foo variables.
11622
11623         * event-stream.c:
11624         document next-event more clearly.
11625
11626         * fileio.c (Ffile_name_directory):
11627         * fileio.c (Ffile_name_nondirectory):
11628         * fileio.c (Funhandled_file_name_directory):
11629         * fileio.c (file_name_as_directory):
11630         * fileio.c (Ffile_name_as_directory):
11631         * fileio.c (directory_file_name):
11632         * fileio.c (Fdirectory_file_name):
11633         * fileio.c (Fmake_temp_name):
11634         * fileio.c (Ffile_truename):
11635         * fileio.c (Fsubstitute_in_file_name):
11636         * fileio.c (expand_and_dir_to_file):
11637         * fileio.c (barf_or_query_if_file_exists):
11638         * fileio.c (check_executable):
11639         * fileio.c (Ffile_exists_p):
11640         * fileio.c (Ffile_writable_p):
11641         * fileio.c (Ffile_directory_p):
11642         * fileio.c (Ffile_regular_p):
11643         * fileio.c (Ffile_modes):
11644         * fileio.c (Ffile_newer_than_file_p):
11645         * fileio.c (Fverify_visited_file_modtime):
11646         * fileio.c (Fset_visited_file_modtime):
11647         * fileio.c (auto_save_1):
11648         (1). (2).
11649         fix up gcpro's.
11650
11651         * frame-msw.c:
11652         * frame-msw.c (mswindows_init_frame_1):
11653         * frame-msw.c (mswindows_enable_frame):
11654         * frame-msw.c (error_frame_unsizable):
11655         * frame-msw.c (msprinter_init_frame_1):
11656         * frame-msw.c (msprinter_init_frame_3):
11657         * frame-msw.c (console_type_create_frame_mswindows):
11658         (2).
11659         implement new enable/disable frame methods.
11660
11661         * frame-x.c:
11662         * frame-x.c (x_enable_frame):
11663         * frame-x.c (console_type_create_frame_x):
11664         implement new enable/disable frame methods.
11665
11666         * frame.c:
11667         * frame.c (Fdisable_frame):
11668         * frame.c (syms_of_frame):
11669         * frame.h (struct frame):
11670         implement new enable/disable frame methods/functions.
11671
11672         * general-slots.h:
11673         add initial-focus.
11674
11675         * glyphs-msw.c (mswindows_widget_instantiate):
11676         comment that initial-focus should be implemented.
11677
11678         * glyphs-widget.c:
11679         * glyphs-widget.c (check_valid_instantiator):
11680         * glyphs-widget.c (check_valid_orientation):
11681         * glyphs-widget.c (check_valid_tab_orientation):
11682         * glyphs-widget.c (check_valid_justification):
11683         * glyphs-widget.c (check_valid_border):
11684         * glyphs-widget.c (check_valid_callback):
11685         * glyphs-widget.c (check_valid_int_or_function):
11686         * glyphs-widget.c (check_valid_string_or_vector):
11687         * glyphs-widget.c (check_valid_item_list_1):
11688         * glyphs-widget.c (widget_validate):
11689         * glyphs-widget.c (combo_box_validate):
11690         * glyphs-widget.c (widget_instantiate):
11691         * glyphs-widget.c (syms_of_glyphs_widget):
11692         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11693         * glyphs-widget.c (image_instantiator_combo_box):
11694         * glyphs-widget.c (image_instantiator_scrollbar):
11695         * glyphs-widget.c (image_instantiator_tab_control):
11696         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11697         (2).
11698         support (unimplemented) keyword initial-focus.
11699         reindent long macros.
11700
11701         * glyphs-x.c (x_redisplay_widget):
11702         * glyphs-x.c (x_button_instantiate):
11703         * glyphs-x.c (x_button_redisplay):
11704         * glyphs-x.c (x_progress_gauge_instantiate):
11705         * glyphs-x.c (x_edit_field_instantiate):
11706         * glyphs-x.c (x_combo_box_instantiate):
11707         * glyphs-x.c (x_tab_control_instantiate):
11708         * glyphs-x.c (x_label_instantiate):
11709         * gui-x.c:
11710         * gui-x.c (button_item_to_widget_value):
11711         * gui-x.c (gui_items_to_widget_values_1):
11712         * gui-x.c (gui_item_children_to_widget_values):
11713         * gui-x.c (gui_items_to_widget_values):
11714         * gui-x.h:
11715         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11716         add new flag to gui-parsing routines to indicate whether
11717         accelerator specs should be supported.
11718
11719         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11720
11721         * glyphs.h (struct Lisp_Image_Instance):
11722         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11723         add initial-focus flag.
11724
11725         * gui.c:
11726         * gui.c (syms_of_gui):
11727         * gui.c (vars_of_gui):
11728         clean up menu-no-selection-hook.
11729
11730         * gui.h:
11731         support delete-dialog-box-hook.
11732
11733         * lread.c (Fload_internal):
11734         * lread.c (locate_file_in_directory_mapper):
11735         (1).
11736
11737         * lrecord.h:
11738         * lrecord.h (struct toolbar_button):
11739         * lrecord.h (syms_of_toolbar):
11740         document how to create a new object.
11741
11742         * menubar-msw.c (mswindows_char_is_accelerator):
11743         may be called on frames w/o menus.
11744
11745         * menubar.c (vars_of_menubar):
11746         clean up :filter docs.
11747
11748         * nt.c (readdir):
11749         * ntproc.c:
11750         (1).
11751
11752         * process-nt.c:
11753         * process-nt.c (validate_signal_number):
11754         * process-nt.c (signal_cannot_launch):
11755         * process-nt.c (nt_create_process):
11756         * process-nt.c (nt_send_process):
11757         * process-nt.c (nt_kill_child_process):
11758         * process-nt.c (nt_open_network_stream):
11759         * process-nt.c (syms_of_process_nt):
11760         (2).
11761         delete quote-handling.  call new lisp code that does it better.
11762
11763         * process-unix.c (connect_to_file_descriptor):
11764         * process-unix.c (allocate_pty):
11765         * process-unix.c (unix_send_process):
11766         * process-unix.c (unix_kill_child_process):
11767         * process-unix.c (unix_open_network_stream):
11768         * process-unix.c (unix_open_multicast_group):
11769         (1). (2).
11770
11771         * process.c:
11772         * process.c (Fstart_process_internal):
11773         (2).  need to canonicalize process path even if absolute.
11774
11775         * select-msw.c (symbol_to_ms_cf):
11776         * select-msw.c (ms_cf_to_symbol):
11777         * select-msw.c (cf_is_autofreed):
11778         * select-msw.c (mswindows_destroy_selection):
11779         * select.c:
11780         * select.c (syms_of_select):
11781         * select.h:
11782         support dibv5, fix bugs. (from Mike Alexander)
11783
11784         * select.c (Fget_selection_internal):
11785         * select.c (select_convert_out):
11786
11787         * sysdep.c:
11788         * sysdep.c (xemacs_stat):
11789         renamed.
11790
11791         * sysdep.c (mkdir):
11792         * sysdep.c (rmdir):
11793         but keep original stat() here because we provide encapsulation
11794         around these funs.
11795
11796         * sysfile.h:
11797         * sysfile.h (fstat):
11798         remove stat garbage.
11799
11800         * syswindows.h:
11801         fix X/MSW conflict.
11802         don't include tchar.h.  it's inappropriate because it makes
11803         compile-time distinctions when we want runtime distinctions.
11804         (we provide our own tchar replacements)
11805
11806         * toolbar.c:
11807         use default object printer for toolbar-button.
11808
11809         * unexcw.c:
11810         make sure we don't encapsulate.
11811
11812         * window.c (vars_of_window):
11813         emphasize that temp-buffer-show-hook is obsolete.
11814
11815 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11816
11817         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11818         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11819
11820         * events.c (Fevent_timestamp_lessp):
11821         Not 64-bit clean.  Use EMACS_INT, not int.
11822
11823 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11824
11825         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11826         unsigned int and changed the last enum to
11827         lrecord_type_last_built_in_type.
11828         (lrecord_implementations_table): changed prototype to know how
11829         long the array is supposed to be.
11830         (lrecord_type_count): new unsigned int to keep track of the
11831         current number of lisp lrecord types.
11832         (DEFINE_EXTERNAL_LRECORD):
11833         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11834         dynamic-modules to declare new lisp types. They are the same
11835         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11836         int for each new type, and increment lrecord_type_count by 1.
11837
11838         * alloc.c (lrecord_implementations_table): Changed to reference
11839         lrecord_type_last_built_in_type for the size of the array.
11840         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11841
11842 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11843
11844         * glyphs.h (check_valid_item_list): Renamed from
11845         check_valid_item_list_1.
11846
11847 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11848
11849         * select.c (Qselect_coerce): New.
11850         * select.c (Vselection_coercion_alist): New.
11851         * select.c (syms_of_select): Declare.
11852         * select.c (get-selection-internal): Use it.
11853         Use the new select-coerce functionality.
11854
11855         * select.c (select_coerce): New.
11856         * select.h (select_coerce): Declare.
11857         New function to coerce one type of data into another.
11858
11859 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11860
11861         * callproc.c (Fcall_process_internal):
11862         (Fcall_process_internal):
11863         * process-unix.c (unix_create_process):
11864         Save and restore the value of errno, so that error messages are accurate.
11865
11866 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11867
11868         * elhash.c (print_hash_table):
11869         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11870         Prettify docstrings and indentation.
11871
11872 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11873
11874         * window.c (Fwindow_pixel_edges): Subtract frame border and
11875         gutter size.
11876
11877 2000-07-31  Andy Piper  <andy@xemacs.org>
11878
11879         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11880         will acknowledge the change.
11881
11882         * glyphs.h: declare tab_control_order_only_changed.
11883
11884         * glyphs-x.c (x_tab_control_redisplay): use
11885         tab_control_order_only_changed.
11886
11887         * glyphs-widget.c (tab_control_order_only_changed): new function.
11888
11889         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11890         tab_control_order_only_changed.
11891
11892         * gui.c (gui_item_equal_sans_selected): new function.
11893         (gui_item_equal): use it.
11894
11895         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11896         :properties in favor of :items..
11897
11898         * glyphs-widget.c (check_valid_item_list): rename from
11899         check_valid_item_list_1.
11900         (check_valid_item_list_1): renamed.
11901         (combo_box_validate): deprecate :properties in favor of :items.
11902         (widget_instantiate): ditto.
11903         (tab_control_update): ditto.
11904         (image_instantiator_combo_box): ditto.
11905         (image_instantiator_tree_view): ditto.
11906         (image_instantiator_tab_control): ditto.
11907         (layout_post_instantiate): remove dead code.
11908
11909         * print.c (debug_print_no_newline): only write to debugger if in
11910         WIN32_NATIVE.
11911
11912         * elhash.c (Fmake_hash_table): update doc string.
11913
11914         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11915         messages whilst in GC. This at least stops XEmacs crashing but has
11916         the potential for wierd behaviour.
11917
11918 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11919
11920         * config.h.in:
11921         Make existence of s&m files optional.
11922
11923         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11924         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11925         * s/gnu.h: Remove HAVE_GETLOADAVG.
11926         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11927         * s/sol2.h: Remove HAVE_GETLOADAVG.
11928         * lisp.h: Remove getloadavg() declaration.
11929         * fns.c:
11930         Include <sys/loadavg.h> if available.
11931         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11932         * config.h.in:  Group together getloadavg()-related macros.
11933         Use only configure-time tests to detect getloadavg().
11934
11935 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11936
11937         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11938
11939 2000-07-25  Andy Piper  <andy@xemacs.org>
11940
11941         * syswindows.h: add tchar.h for native builds.
11942
11943         * frame.c (syms_of_frame): remove set-glyph-image.
11944
11945         * general-slots.h: add Qset_glyph_image.
11946
11947         * glyphs-widget.c (layout_update): add domain arg to
11948         set-glyph-image.
11949         (syms_of_glyphs_widget): remove set-glyph-image.
11950
11951 2000-07-23  Ben Wing  <ben@xemacs.org>
11952
11953         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11954         Vpopup_frame_list.
11955
11956 2000-07-22  Andy Piper  <andy@xemacs.org>
11957
11958         * symsinit.h: add syms_of_win32().
11959
11960         * gui-msw.c (syms_of_gui_mswindows): remove
11961         Fmswindows_shell_execute.
11962         (Fmswindows_shell_execute): moved to win32.c.
11963
11964         * emacs.c (main_1): add syms_of_win32 ().
11965
11966         * win32.c (init_potentially_nonexistent_functions): rewrite in
11967         compiler-friendly terms.
11968         (Fmswindows_shell_execute): move here from gui-msw.c.
11969         (syms_of_win32): new.
11970
11971         * device-msw.c (Fmswindows_printer_list): clean up args to
11972         EnumPrinters.
11973         Don't include tchar under cygwin or mingw.
11974         (msprinter_default_printer): make cygwin-friendly.
11975
11976 2000-07-21  Andy Piper  <andy@xemacs.org>
11977
11978         * glyphs-widget.c (image_instantiator_tree_view): use tab
11979         control's update function.
11980         (layout_property): new function. Retrieve items.
11981
11982         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11983         function. Re-populate the tree view from the pending items.
11984
11985         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11986         is designated the parent if the domain is an image instance. This
11987         is needed so that dirtiness can be cascade up the hierarchy and
11988         thus for layout children to be redisplayed correctly.
11989         (allocate_image_instance): rename glyph -> parent.
11990
11991         * redisplay.h: change redisplay_output_layout signature.
11992
11993         * redisplay-msw.c (mswindows_output_display_block): use domain
11994         arg.
11995
11996         * redisplay-x.c (x_output_display_block): use domain arg.
11997
11998 2000-07-10  Andy Piper  <andy@xemacs.org>
11999
12000         * window.c (Fset_window_configuration): add comment.
12001
12002         * redisplay-output.c (compare_runes):
12003         (redisplay_output_subwindow): redisplay rather than update subwindow.
12004         (redisplay_output_layout): ditto.
12005
12006         * redisplay-msw.c (mswindows_frame_output_end):
12007         (mswindows_frame_output_end): make defer window pos optional.
12008
12009         * lisp.h: add Flast.
12010
12011         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12012         normalize method. Change update method to be for changed
12013         instantiators. Add redisplay method. Change signature of layout
12014         method.
12015         (struct Lisp_Image_Instance): add instantiator.
12016         (IMAGE_INSTANCE_INSTANTIATOR): new.
12017         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12018         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12019         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12020
12021         * glyphs.c:
12022         (find_instantiator_differences): new function.
12023         (Fset_instantiator_property): new convenience function.
12024         (check_image_instance_structure): strictly check for vector
12025         instantiators.
12026         (normalize_image_instantiator): make non-static.
12027         (instantiate_image_instantiator): pass on dest_mask and use new
12028         signatures for image_instance_layout and friends.
12029         (mark_image_instance): mark the instantiator. Mark the subwindow
12030         face not the widget face.
12031         (image_instance_equal): add instantiator.
12032         (image_instance_hash): ditto.
12033         (allocate_image_instance): ditto.
12034         (Fset_image_instance_property): removed.
12035         (Fimage_instance_file_name): ditto.
12036         (Fcolorize_image_instance): ditto.
12037         (image_instance_layout): add offsets to be set.
12038         (update_image_instance): new function. update an image instance
12039         from its changed instantiator.
12040         (inherit_normalize): add dest_mask.
12041         (xbm_normalize): ditto.
12042         (xface_normalize): ditto.
12043         (xpm_normalize): ditto.
12044         (text_update): set_property -> update.
12045         (image_instantiate): use the glyph identity as a hash key, not the
12046         instantiator.
12047         (glyph_width): use new image_instance_layout signature.
12048         (glyph_ascent): ditto.
12049         (glyph_descent): ditto.
12050         (glyph_height): ditto.
12051         (glyph_query_geometry): ressurrect.
12052         (glyph_layout): ditto.
12053         (redisplay_subwindow): update -> redisplay.
12054         (syms_of_glyphs): add Fset_instantiator_property.
12055         (image_instantiator_format_create): set_property -> update.
12056
12057         * glyphs-x.c:
12058         (autodetect_normalize): add dest_maks to signature.
12059         (x_redisplay_subwindow): update -> redisplay.
12060         (x_redisplay_widget): ditto.
12061         (x_button_redisplay): ditto.
12062         (x_progress_gauge_redisplay): ditto.
12063         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12064         stacking order.
12065         (console_type_create_glyphs_x): update -> redisplay.
12066         (image_instantiator_format_create_glyphs_x): ditto.
12067
12068         * glyphs-widget.c:
12069         (check_valid_instantiator): disallow glyphs in the instantiator,
12070         they must now be vectors.
12071         (check_valid_instantiator_list): ditto.
12072         (glyph_instantiator_to_glyph): use internal symbol rather than
12073         intern.
12074         (widget_update): renamed from widget_set_property. Call cascaded
12075         update methods.
12076         (redisplay_widget): renamed from update_widget.
12077         (widget_layout): image_instance_layout now takes position as well
12078         as size.
12079         (widget_normalize): ditto.
12080         (widget_instantiate): ditto.
12081         (tab_control_query_geometry) ditto.:
12082         (tab_control_update): renamed from tab_control_set_property.
12083         (progress_gauge_update): set_property -> update.
12084         (layout_normalize): rewrite so that child instantiators are
12085         normalized also.
12086         (layout_update): new function. Create glyphs from the normalized
12087         children and cope with any other layout keywords. We do not
12088         instantiate children here that will be take care of by
12089         redisplay_output_layout.
12090         (layout_instantiate): call layout_update and not much else.
12091         (layout_post_instantiate): not sure whether this is needed
12092         anymore.
12093         (layout_query_geometry): query glyph geometry rather than
12094         image_instance geometry.
12095         (layout_layout): set offsets from pass in parameters. Use glyph
12096         geometry and layout functions rather than image instance ones.
12097         (native_layout_layout): ditto.
12098         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12099         (image_instantiator_widget): set_property -> update.
12100         (image_instantiator_buttons): ditto.
12101         (image_instantiator_progress_guage): ditto.
12102         (image_instantiator_tab_control): ditto.
12103         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12104         (image_instantiator_layout): add update method.
12105
12106         * glyphs-msw.c (bmp_normalize):
12107         (mswindows_resource_normalize): add dest_mask so that it can be
12108         proprogated by layout_normalize.
12109         (begin_defer_window_pos): make optional because it may not be the
12110         right thing to do and it introduces differences with X.
12111         (mswindows_unmap_subwindow): ditto.
12112         (mswindows_map_subwindow): ditto.
12113         (mswindows_redisplay_subwindow): renamed from
12114         mswindows_update_subwindow.
12115         (mswindows_redisplay_widget): ditto.
12116         (mswindows_button_redisplay): renamed from
12117         mswindows_button_update. Update is now what the instantiation
12118         function does for a changed instantiator.
12119         (mswindows_progress_gauge_instantiate): set the progress value
12120         here if appropriate.
12121         (mswindows_tab_control_redisplay): cope with re-ordering of the
12122         members of the tab widget by simply selecting the new top
12123         widget. This makes things appear ok if you click on a tab.
12124         (mswindows_combo_box_instantiate): image_instance_layout now takes
12125         position as well as size.
12126         (mswindows_progress_gauge_redisplay): renamed from
12127         mswindows_progress_gauge_update.
12128         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12129         (image_instantiator_format_create_glyphs_mswindows): ditto.
12130
12131         * glyphs-eimage.c (jpeg_normalize):
12132         (gif_normalize):
12133         (png_normalize):
12134         (tiff_normalize): add dest_mask so that it can be proprogated by
12135         layout_normalize.
12136
12137         * elhash.c:
12138         (print_hash_table):
12139         (hash_table_weakness_validate):
12140         (decode_hash_table_weakness):
12141         (Fhash_table_weakness):
12142         (Fhash_table_type):
12143         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12144
12145         * console.h (struct console_methods): move update_* to
12146         redisplay_*.
12147
12148 2000-07-20  Ben Wing  <ben@xemacs.org>
12149
12150         * *.[ch] (XSETOBJ): remove unused middle argument.
12151         lisp-disunion.h: correct wrap_object() to one argument.
12152
12153 2000-07-15  Ben Wing  <ben@xemacs.org>
12154
12155         * s/cygwin32.h:
12156         * s/cygwin32.h (CYGWIN_CONV_PATH):
12157         Add missing logb prototype for v1.1.
12158         Use post-b20 names and alias to pre-b20 names when pre-b20.
12159
12160         * s/windowsnt.h: [5].
12161
12162 2000-07-15  Ben Wing  <ben@xemacs.org>
12163
12164         * Makefile.in.in (x_objs):
12165         * Makefile.in.in (sheap_objs):
12166         * Makefile.in.in (objs):
12167         added win32.o, cosmetic cleanups.
12168
12169         * alloc.c (Fmake_byte_code):
12170         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12171         etc. macros which declare their own args now.
12172
12173         * alloc.c (syms_of_alloc):
12174         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12175
12176         * buffer.c:
12177         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12178
12179         * buffer.c (Fget_file_buffer):
12180         Fixed GCPRO problem.
12181
12182         * buffer.c (get_truename_buffer):
12183         Fixed comment about GC checking.
12184
12185         * buffer.c (syms_of_buffer):
12186         Undeclared those dedicated frame funs.
12187         [2].
12188
12189         * buffer.h:
12190         Define convenience macros for internal/external conversions.
12191         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12192         and Qenvironment_variable_encoding for cleaner code.
12193
12194         * bufslots.h:
12195         Remove dedicated-frame; in lisp.
12196
12197         * bytecode.c (funcall_compiled_function):
12198         [1].
12199
12200         * bytecode.c (syms_of_bytecode):
12201         [2].
12202
12203         * console-msw.c:
12204         * console-msw.c (mswindows_show_console): Rewrote.
12205
12206         * console-msw.c (Fmswindows_debugging_output): New.
12207         Sends to OutputDebugString (special MSWin debugger interface).
12208
12209         * console-msw.c (Fmswindows_message_box):
12210         Fixed stupid bugs so it works when called from kill-emacs.
12211
12212         * console-msw.c (syms_of_console_mswindows):
12213         Declare Fmswindows_debugging_output.
12214
12215         * console-msw.h:
12216         New MSWin prototypes.
12217
12218         * console-msw.h (struct mswindows_frame):
12219         New entry last-click-mods for improved button-modifier support.
12220
12221         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12222         New struct entry `popup' with corresponding accessor.
12223
12224         * console-x.c:
12225         * console-x.c (split_up_display_spec):
12226         * console-x.c (get_display_arg_connection):
12227         * console-x.c (x_semi_canonicalize_console_connection):
12228         * console-x.c (x_canonicalize_device_connection):
12229         [[[6]]]: Change char to more specific type.
12230         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12231
12232         * console-x.c (x_semi_canonicalize_console_connection):
12233         * console-x.c (x_canonicalize_device_connection):
12234         [[[9]]]: Fix up error signalling to use new structured error system.
12235
12236         * console-x.h:
12237         [[[4]]]: Define codesys aliases:
12238         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12239         Qx_color_name_encoding, Qx_display_name_encoding.
12240
12241         * console.h (struct console_methods):
12242         New method make_dialog_box_internal supersedes older
12243         popup_dialog_box method.
12244
12245         * data.c:
12246         Define many new errors, part of new structured errors.
12247
12248         * data.c (init_errors_once_early):
12249         * data.c (syms_of_data):
12250         [2].
12251
12252         * device-msw.c (mswindows_init_device):
12253         [[[5]]]: Cleanup to support NT 3.51.
12254
12255         * device-msw.c (decode_devmode): Cleanup.
12256
12257         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12258         * device-msw.c (mswindows_handle_print_dialog_box):
12259         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12260         * device-msw.c (syms_of_device_mswindows):
12261         Delete the dialog box primitives recently introduced by Kirill and
12262         instead interface to general dialog box interface.
12263
12264         * device-x.c:
12265         * device-x.c (compute_x_app_name):
12266         * device-x.c (x_init_device):
12267         * device-x.c (Fx_valid_keysym_name_p):
12268         * device-x.c (Fx_set_font_path):
12269         [6].
12270         [7].
12271
12272         * device.h (wrap_device): New.
12273         First of its kind; meant to replace XSETDEVICE.
12274
12275         * dialog-msw.c: Many file-dialog symbols.
12276
12277         * dialog-msw.c (mswindows_register_popup_frame): New.
12278         * dialog-msw.c (mswindows_is_dialog_msg): New.
12279         For supporting kbd traversal in dialog boxes.
12280
12281         * dialog-msw.c (dialog_proc):
12282         Support hitting ESC in dialogs.
12283
12284         * dialog-msw.c (struct):
12285         Common dialog box errors.
12286
12287         * dialog-msw.c (handle_file_dialog_box): New.
12288         Add file dialog code.
12289
12290         * dialog-msw.c (handle_question_dialog_box):
12291         Redo existing code to support new question dialog syntax.
12292
12293         * dialog-msw.c (console_type_create_dialog_mswindows):
12294         We support new dialog console method.
12295
12296         * dialog-msw.c (syms_of_dialog_mswindows):
12297         * dialog-msw.c (vars_of_dialog_mswindows):
12298         New file dialog symbols, vars.
12299
12300         * dialog-x.c:
12301         * dialog-x.c (maybe_run_dbox_text_callback):
12302         * dialog-x.c (dbox_descriptor_to_widget_value):
12303         * dialog-x.c (x_make_dialog_box_internal):
12304         * dialog-x.c (console_type_create_dialog_x):
12305         Mule-ize entire file.
12306         Redo to support question dialog syntax.
12307         [6].
12308
12309         * dialog.c:
12310         * dialog.c (Fmake_dialog_box_internal):
12311         * dialog.c (syms_of_dialog):
12312         Kill old popup-dialog-box, replace with new primitive.
12313         Just call device method or signal error.
12314
12315         * eldap.c (Fldap_open):
12316         * eldap.c (Fldap_search_basic):
12317         * eldap.c (Fldap_add):
12318         * eldap.c (Fldap_modify):
12319         [1].
12320         [7].
12321
12322         * emacs.c:
12323         * emacs.c (make_arg_list_1):
12324         * emacs.c (make_arg_list):
12325         Mule-ize call to dll_init().
12326         [6].
12327         [8].
12328
12329         * emacs.c (make_argc_argv):
12330         * emacs.c (free_argc_argv):
12331         * emacs.c (init_cmdargs):
12332         * emacs.c (main_1):
12333         * emacs.c (Fkill_emacs):
12334         * emacs.c (Fdump_emacs):
12335         Update comments about what can be used in syms_* etc.
12336         Call init_win32() when necessary.
12337         Fix up MS Win dialog box in kill-buffer to actually work right.
12338         [7].
12339
12340         * eval.c:
12341         * eval.c (For):
12342         * eval.c (Fand):
12343         * eval.c (Fprogn):
12344         * eval.c (Fprog1):
12345         * eval.c (Fprog2):
12346         * eval.c (FletX):
12347         * eval.c (Flet):
12348         * eval.c (condition_case_3):
12349         * eval.c (Feval):
12350         * eval.c (function_argcount):
12351         * eval.c (funcall_lambda):
12352         [1].
12353
12354         * eval.c (type_error): New.
12355         * eval.c (maybe_type_error): New.
12356         * eval.c (continuable_type_error): New.
12357         * eval.c (maybe_continuable_type_error): New.
12358         * eval.c (type_error_with_frob): New.
12359         * eval.c (maybe_type_error_with_frob): New.
12360         * eval.c (continuable_type_error_with_frob): New.
12361         * eval.c (maybe_continuable_type_error_with_frob): New.
12362         New functions for use with structured errors.
12363
12364         * event-Xt.c:
12365         * event-Xt.c (x_event_to_emacs_event):
12366         Buttons are now modifiers too.
12367
12368         * event-Xt.c (emacs_Xt_current_event_timestamp):
12369         Implement new event method.
12370         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12371
12372         * event-msw.c:
12373         * event-msw.c (ntpipe_shove_writer): [5].
12374         * event-msw.c (mswindows_enqueue_mouse_button_event):
12375         * event-msw.c (mswindows_drain_windows_queue):
12376         * event-msw.c (mswindows_wnd_proc): [7].
12377         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12378         * event-msw.c (mswindows_modifier_state):
12379         Throughout: support new button modifiers.
12380
12381         * event-msw.c (emacs_mswindows_current_event_timestamp):
12382         Implement new event method.
12383         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12384
12385         * event-stream.c:
12386         * event-stream.c (event_stream_current_event_timestamp): New.
12387         * event-stream.c (maybe_kbd_translate): New functionality.
12388         * event-stream.c (vars_of_event_stream):
12389         Document new kbd-translate-table functionality.
12390
12391         * event-stream.c (Fcurrent_event_timestamp): New.
12392         New primitive for use in fabricated events.
12393         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12394
12395         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12396
12397         * events.c:
12398         * events.c (Fmake_event):
12399         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12400         [1].
12401         [9].
12402
12403         * events.c (format_event_object): fix gcc warnings.
12404
12405         * events.c (Fevent_timestamp): Document new primitives.
12406
12407         * events.c (TIMESTAMP_HALFSPACE): New.
12408
12409         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12410         comparing timestamps correctly (half-space algorithm).
12411
12412         * events.c (Fevent_modifier_bits): Doc fix.
12413
12414         * events.c (Fevent_modifiers): Major doc addition.
12415         * events.c (event_x_y_pixel_internal): Typo fix.
12416         * events.c (syms_of_events): Declare new primitives.
12417
12418         * events.h:
12419         Update long comment for button modifiers, timestamps.
12420
12421         * events.h (struct event_stream):
12422         New current_event_timestamp method.
12423
12424         * extents.c:
12425         * extents.c (extent_in_region_p):
12426         * extents.c (decode_extent):
12427         * extents.c (Fset_extent_parent):
12428         * extents.c (decode_map_extents_flags):
12429         Fix gcc warnings.
12430         [9].
12431
12432         * extents.c (struct extent_at_arg):
12433         * extents.c (decode_extent_at_flag):
12434         * extents.c (extent_at_mapper):
12435         * extents.c (extent_at_bytind):
12436         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12437         * extents.c (Fextents_at): New primitive. [9].
12438         * extents.c (symbol_to_glyph_layout): [9].
12439         Support new primitive `extents-at'.
12440
12441
12442         * extents.c (get_text_property_bytind):
12443         extent_at_bytind has another arg.
12444         [9].
12445
12446         * extents.c (syms_of_extents): New primitive.
12447
12448         * file-coding.c (Fmake_coding_system): [1].
12449         * file-coding.c (subsidiary_coding_system): fix gcc warning
12450         * file-coding.c (syms_of_file_coding): [2].
12451
12452         * fileio.c (Fexpand_file_name):
12453         * fileio.c (Fsysnetunam):
12454         * fileio.c (Ffile_exists_p):
12455         * fileio.c (Ffile_executable_p):
12456         * fileio.c (Fverify_visited_file_modtime):
12457         Clean up GCPROing.
12458
12459         * fileio.c (syms_of_fileio): [2].
12460
12461         * filelock.c (lock_file_1):
12462         * filelock.c (current_lock_owner):
12463         * filelock.c (lock_if_free):
12464         * filelock.c (lock_file):
12465         * filelock.c (unlock_file):
12466         Clean up GCPROing.
12467
12468         * fns.c (concat): Fix gcc warning.
12469
12470         * fns.c (Fmember):
12471         * fns.c (Fold_member):
12472         * fns.c (Fmemq):
12473         * fns.c (Fold_memq):
12474         * fns.c (memq_no_quit):
12475         * fns.c (Fassoc):
12476         * fns.c (Fold_assoc):
12477         * fns.c (Fassq):
12478         * fns.c (Fold_assq):
12479         * fns.c (assq_no_quit):
12480         * fns.c (Frassoc):
12481         * fns.c (Fold_rassoc):
12482         * fns.c (Frassq):
12483         * fns.c (Fold_rassq):
12484         * fns.c (rassq_no_quit):
12485         * fns.c (Fdelete):
12486         * fns.c (Fold_delete):
12487         * fns.c (Fdelq):
12488         * fns.c (Fold_delq):
12489         * fns.c (delq_no_quit):
12490         * fns.c (Fremassoc):
12491         * fns.c (Fremassq):
12492         * fns.c (remassq_no_quit):
12493         * fns.c (Fremrassoc):
12494         * fns.c (Fremrassq):
12495         * fns.c (remrassq_no_quit):
12496         * fns.c (Freverse):
12497         * fns.c (mapcar1):
12498         [1].
12499
12500         * frame-msw.c (mswindows_init_frame_1):
12501         * frame-msw.c (mswindows_delete_frame):
12502         Register popups with dialog code so keyboard traversing works.
12503
12504         * frame-tty.c (tty_raise_frame_no_select): [1].
12505
12506         * frame-x.c:
12507         * frame-x.c (x_set_frame_text_value):
12508         * frame-x.c (x_set_frame_properties):
12509         * frame-x.c (x_create_widgets):
12510         [7].
12511
12512         * frame.c:
12513         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12514
12515         * frame.h (wrap_frame): New.
12516         Macro like wrap_device.
12517
12518         * general.c:
12519         * general.c (SYMBOL):
12520         * general.c (syms_of_general):
12521         Major reorg.  This is now just a wrapper and symbols themselves
12522         are listed in general-slots.h.
12523
12524         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12525         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12526
12527         * glyphs-msw.c (mswindows_native_layout_instantiate):
12528         Add DS_CONTROL so keyboard traversal will work.
12529
12530         * glyphs-widget.c:
12531         * glyphs-widget.c (syms_of_glyphs_widget):
12532         Move some symbols to general-slots.h.
12533
12534         * glyphs-x.c:
12535         * glyphs-x.c (xbm_instantiate_1):
12536         * glyphs-x.c (x_xbm_instantiate):
12537         * glyphs-x.c (x_xface_instantiate):
12538         * glyphs-x.c (autodetect_instantiate):
12539         * glyphs-x.c (cursor_font_instantiate):
12540         * glyphs-x.c (x_update_widget):
12541         * glyphs-x.c (x_widget_instantiate):
12542         * glyphs.c (bitmap_to_lisp_data):
12543         * glyphs.c (pixmap_to_lisp_data):
12544         [7].
12545
12546         * glyphs.c (syms_of_glyphs):
12547         [2].
12548
12549         * gui-x.c:
12550         * gui-x.c (print_widget_value):
12551         * gui-x.c (menu_separator_style_and_to_external):
12552         * gui-x.c (add_accel_and_to_external):
12553         * gui-x.c (button_item_to_widget_value):
12554         * gui-x.c (gui_items_to_widget_values_1):
12555         * gui-x.c (gui_items_to_widget_values):
12556         * gui-x.c (syms_of_gui_x):
12557         * gui-x.c (vars_of_gui_x):
12558         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12559         [9].
12560
12561         * gui-x.h:
12562         Muleize, prototype changes matching gui-x.c.
12563
12564         * gui.c:
12565         * gui.c (separator_string_p):
12566         * gui.c (gui_item_add_keyval_pair):
12567         * gui.c (make_gui_item_from_keywords_internal):
12568         * gui.c (signal_too_long_error):
12569         * gui.c (parse_gui_item_tree_item):
12570         * gui.c (syms_of_gui):
12571         * gui.c (vars_of_gui):
12572         * gui.h:
12573         menu-no-selection-hook moved here (used by MSWin).
12574         Move some symbols to general-slots.h.
12575         [6].
12576         [9].
12577
12578         * insdel.c (get_buffer_pos_char):
12579         * insdel.c (get_buffer_range_char):
12580         Add GC comments.
12581
12582         * keymap.c (keymap_lookup_directly):
12583         * keymap.c (keymap_store):
12584         * keymap.c (ensure_meta_prefix_char_keymapp):
12585         * keymap.c (describe_map):
12586         * keymap.h:
12587         Support new button modifiers.
12588
12589         * lisp-disunion.h (wrap_object):
12590         * lisp-disunion.h (XSETOBJ):
12591         Rename make_obj to wrap_object.
12592
12593         * lisp-union.h:
12594         * lisp-union.h (make_int):
12595         * lisp-union.h (make_char):
12596         Support wrap_object.
12597
12598         * lisp.h:
12599         * lisp.h (LIST_LOOP):
12600         * lisp.h (EXTERNAL_LIST_LOOP):
12601         * lisp.h (LIST_LOOP_2):
12602         * lisp.h (EXTERNAL_LIST_LOOP_1):
12603         * lisp.h (EXTERNAL_LIST_LOOP_2):
12604         * lisp.h (EXTERNAL_LIST_LOOP_3):
12605         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12606         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12607         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12608         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12609         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12610         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12611         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12612         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12613         * lisp.h (struct Lisp_Symbol):
12614         * lisp.h (maybe_continuable_error_with_frob):
12615         Fix up section comments.
12616         Add new types for char to indicate usage.
12617         Delete symbols auto-generated from general-slots.h.
12618         Add prototypes for structured error functions.
12619         Add long comments describing looping macros and change interface
12620         so that lvalues are automatically declared.
12621         Add NO_DECLARE macro in case callers want to declare lvalues
12622         themselves.
12623
12624         * lread.c (read_syntax_error):
12625         * lread.c (continuable_read_syntax_error):
12626         * lread.c (read_structure):
12627         * lread.c (sequence_reader):
12628         * lread.c (read_list_conser):
12629         * lread.c (read_compiled_function):
12630         Rename syntax_error and continuable_syntax_error to avoid clash
12631         with same-named structured error functions.
12632
12633         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12634         * menubar-msw.c (populate_menu_add_item):
12635         * menubar-msw.c (populate_or_checksum_helper):
12636         [5].
12637         [9].
12638
12639         * menubar-x.c:
12640         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12641         Mule-ize whole file.
12642
12643         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12644
12645         * mule-charset.c (Fmake_charset):
12646         * mule-wnnfns.c (Fwnn_set_param):
12647         [1].
12648
12649         * ntproc.c (create_child):
12650         * ntproc.c (Fwin32_set_current_locale):
12651         Add comments portending doom.
12652
12653         * objects-msw.c:
12654         * objects-msw.c (old_font_enum_callback_2):
12655         * objects-msw.c (font_enum_callback_1):
12656         * objects-msw.c (mswindows_enumerate_fonts):
12657         [5].
12658
12659         * objects-x.c:
12660         * objects-x.c (allocate_nearest_color):
12661         * objects-x.c (x_parse_nearest_color):
12662         * objects-x.c (x_initialize_color_instance):
12663         * objects-x.c (x_print_color_instance):
12664         * objects-x.c (x_finalize_color_instance):
12665         * objects-x.c (x_valid_color_name_p):
12666         * objects-x.c (x_initialize_font_instance):
12667         * objects-x.c (x_print_font_instance):
12668         * objects-x.c (valid_x_font_name_p):
12669         * objects-x.c (truename_via_FONT_prop):
12670         * objects-x.c (truename_via_random_props):
12671         * objects-x.c (truename_via_XListFonts):
12672         * objects-x.c (x_font_truename):
12673         * objects-x.c (x_font_instance_truename):
12674         * objects-x.c (x_font_instance_properties):
12675         * objects-x.c (x_list_fonts):
12676         * objects-x.c (x_find_charset_font):
12677         Mule-ize entire file.
12678         [7].
12679
12680         * objects-x.h:
12681         Mule-verify.
12682
12683         * print.c:
12684         * print.c (std_handle_out_external):
12685         * print.c (debug_print_no_newline):
12686         * print.c (syms_of_print):
12687         Output to all debugger kinds in debug-print.
12688         Fix console-output code under MSWin to actually work.
12689
12690         * process-nt.c (send_signal):
12691         * process-nt.c (nt_create_process):
12692         Use newer Unicode macros.
12693
12694         * process-unix.c (unix_create_process):
12695         * process-unix.c (unix_canonicalize_host_name):
12696         * process-unix.c (unix_open_network_stream):
12697         [7].
12698
12699         * scrollbar-x.c:
12700         Mule-verify.
12701
12702         * search.c (syms_of_search):
12703         [2].
12704
12705         * select-msw.c (mswindows_destroy_selection):
12706         Use LIST_LOOP_2.
12707
12708         * select-x.c (symbol_to_x_atom):
12709         [7].
12710
12711         * select.c (syms_of_select):
12712         [2].
12713
12714         * sound.c (Fplay_sound_file):
12715         [7].
12716
12717         * specifier.c:
12718         * specifier.c (decode_specifier_type):
12719         * specifier.c (Fvalid_specifier_locale_type_p):
12720         * specifier.c (check_valid_locale_or_locale_type):
12721         * specifier.c (decode_locale):
12722         * specifier.c (decode_locale_type):
12723         * specifier.c (decode_locale_list):
12724         * specifier.c (check_valid_domain):
12725         * specifier.c (decode_specifier_tag_set):
12726         * specifier.c (Fcanonicalize_tag_set):
12727         * specifier.c (Fdefine_specifier_tag):
12728         * specifier.c (Fspecifier_tag_predicate):
12729         * specifier.c (check_valid_inst_list):
12730         * specifier.c (check_valid_spec_list):
12731         * specifier.c (decode_how_to_add_specification):
12732         * specifier.c (check_modifiable_specifier):
12733         * specifier.c (specifier_add_spec):
12734         * specifier.c (boolean_validate):
12735         * specifier.c (display_table_validate):
12736         [9].
12737
12738         * specifier.c (syms_of_specifier):
12739         Move some symbols to general-slots.h.
12740         [2].
12741
12742         * symbols.c:
12743         * symbols.c (Fmapatoms):
12744         * symbols.c (Fapropos_internal):
12745         Add GCPROs.
12746
12747         * symbols.c (set_default_buffer_slot_variable):
12748         * symbols.c (set_default_console_slot_variable):
12749         [1].
12750
12751         * symbols.c (defsymbol_massage_name_1):
12752         * symbols.c (defkeyword_massage_name):
12753         * symbols.c (deferror_1):
12754         * symbols.c (deferror):
12755         * symbols.c (deferror_massage_name_and_message):
12756         * symeval.h:
12757         * symeval.h (DEFSYMBOL):
12758         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12759
12760         * symbols.c (syms_of_symbols):
12761         [2].
12762
12763         * symsinit.h:
12764         * symsinit.h (init_win32): New.
12765         Also new is syms_of_dialog_mswindows.
12766
12767         * syswindows.h:
12768         Add new Unicode macros, missing Cygwin wide-char functions,
12769         convenience conversion macros for Qmswindows_tstr, macros for
12770         encapsulating required MSWin <-> Cygwin filename conversions,
12771         prototype for dynamically-extracted (not in NT 3.51) functions.
12772
12773         * toolbar-x.c:
12774         Mule-verify.
12775
12776         * tooltalk.c (Fadd_tooltalk_message_arg):
12777         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12778         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12779         [7].
12780
12781         * tooltalk.c (syms_of_tooltalk):
12782         [2].
12783
12784         * unexnt.c:
12785         * unexnt.c (unexec):
12786         Fix up headers, declaration of unexec() to be more standard.
12787
12788 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12789
12790         * offix.h: Revert change to guard macros - they're used in offix.c!
12791
12792 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12793
12794         * lisp.h: Defsubred Fdelete.
12795
12796         * console-msw.h:  (msprinter_default_printer): Added.
12797
12798         * console-msw.c (msprinter_canonicalize_console_connection):
12799         (msprinter_canonicalize_device_connection): Added.
12800
12801         * device-msw.c (msprinter_default_printer):
12802         (Fmswingows_get_default_printer):
12803         (signal_enum_priner_error):
12804         (Fmswingows_printer_list): Added.
12805
12806 2000-07-19  Martin Buchholz <martin@xemacs.org>
12807
12808         * XEmacs 21.2.35 is released.
12809
12810 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12811
12812         * select-x.c (x_handle_selection_request):
12813         Text selected in xemacs and pasted into xterm failed to appear.
12814         Spelling fixes and cosmetic changes.
12815
12816 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12817
12818         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12819         XEmacs frame (fix for doubling chars in dialog boxes).
12820
12821 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12822
12823         * select.c (select_convert_in, select_convert_out):
12824         Don't call intern() every time.
12825
12826         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12827         * select.c (vars_of_select): Initialise them.
12828
12829 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12830
12831         * select.c (selection-coercible-types): New.
12832
12833         * select.c (own-selection-internal):
12834         * select.c (get-selection-internal):
12835         MULE bug fix - these should default to COMPOUND_TEXT and not
12836         STRING for MULE. I think.
12837
12838         * select.c (select_convert_out): Use selection-coercible-types
12839         to find types that we can attempt to perform coercions on.
12840
12841 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12842
12843         * mule-wnnfns.c:
12844         * mule-canna.c:
12845         Add coding: cookie to identify encoding.
12846
12847         * mule-canna.c (CANNA_mode_keys): make static.
12848         Use proper prototypes, even for functions of no arguments.
12849         Remove external prototype for Fding().
12850
12851         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12852
12853         * select.c (syms_of_select): Add missing DEFSUBR.
12854
12855 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12856
12857         * select.c (get_selection_internal, own_selection_internal):
12858         Make the type default to STRING, rather than placing a nil type
12859         into Vselection_alist.
12860
12861 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12862
12863         * gpmevent.c (tty_selection_exists_p):
12864         * gpmevent.c (tty_own_selection):
12865         Updated parameter lists.
12866
12867 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12868
12869         * select.h (selection-alist): Removed declaration.
12870
12871         * select.h (get_local_selection):
12872         * select.c (get_local_selection):
12873         Made static.
12874
12875         * select.h (convert_selection): Removed declaration.
12876         * select.c (convert_selection): Removed.
12877         This function belongs in Lisp.
12878
12879         * select.h (select_convert_in): Declare.
12880         * select.h (select_convert_out): Declare.
12881         * select.c (select_convert_in): New.
12882         * select.c (select_convert_out): New.
12883         New conversion functions for other files to call.
12884
12885         * select.h (select_notify_buffer_kill): Declare.
12886         * select.c (select_notify_buffer_kill): New.
12887         New functions that get called from kill-buffer.
12888
12889         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12890         X-specific lisp code.
12891
12892         * select.h: Declare some of the lisp-visible functions for
12893         external use.
12894
12895         * select.c (clean_local_selection_data): Removed. This was
12896         a disgusting function, and previously should have been in
12897         select-x.c in any case. The functionality is now provided
12898         in select-convert-from-integer (select.el).
12899
12900         * select.c (available-selection-types): Fixed stupidity where
12901         INTEGER and ATOM got added twice. Also add STRING when we see an
12902         extent.
12903
12904         * select.c (get-selection-internal): Removed symbol stripping. No
12905         longer causes conversion when data comes from the internal cache.
12906
12907         * select.c (syms_of_select): Added new functions.
12908
12909         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12910         error checking - previously this called abort!
12911
12912         * select-x.c (x_own_selection): Changed comment.
12913
12914         * select-x.c (x_handle_selection_request): Use select_convert_out.
12915         Don't mess with selection-alist; it's an internal variable of select.c.
12916
12917         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12918
12919         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12920         rather than messing with selection-alist.
12921
12922         * select-msw.c (mswindows_get_foreign_selection):
12923         Use TO_INTERNAL_FORMAT rather than hacking.
12924
12925 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12926
12927         * process-unix.c (unix_open_multicast_group):
12928         (unix_open_multicast_group): Remove useless casts.
12929
12930 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12931
12932         * sound.c (Fplay_sound): Fix `unused variable' warning.
12933
12934         * emacs.c (main): Use correct type for _environ on SCO5.
12935
12936 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12937
12938         * console.h (own_selection_method):
12939         * console.h (selection_exists_p_method):
12940         * console.h (available_selection_types_method): New.
12941         * console.h (register_selection_data_type_method): New.
12942         * console.h (selection_data_type_name): New.
12943
12944         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12945         function & alist to track GlobalAlloc()'d handles that need
12946         releasing when the clipboard data gets replaced or emptied.
12947
12948         * event-msw.c (mswindows_wnd_proc): Call it.
12949
12950         * lisp.h, general.c (Qappend): New symbol representing a
12951         `how-to-add' mode.
12952
12953         * select.c (own-selection-internal):
12954         * select.c (selection-exists-p):
12955         * select.c (available-selection-types): New.
12956         * select.c (register-selection-data-type): New.
12957         * select.c (selection-data-type-name): New.  New functions to deal
12958         with device-specific selection data formats.
12959         * select.c (selection-converter-out-alist): Renamed.
12960         * select.c (selection-converter-in-alist): New.
12961         * select.c (selection-appender-alist): New.  Added new alists.
12962         * select.c (syms_of_select, vars_of_select): Added new symbols &
12963         variables.
12964         * select.c (get_local_selection): Split.
12965         * select.c: Removed spurious type checking - selections may now be
12966         of any type, not just strings.
12967         * select.c (own-selection-internal):
12968
12969         * select.h, select.c (convert_selection): New. Created
12970         convert_selection() function based on get_local_selection().
12971         * select.h, select.c (QCF_*): New symbols representing mswindows
12972         clipboard formats.
12973         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12974         symbols representing `how-to-add' modes.
12975
12976         * select-msw.c (x_sym_p): New.
12977         * select-msw.c (symbol_to_ms_cf): New.
12978         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12979         symbols & clipboard formats. Can also handle string names.
12980         * select-msw.c (mswindows_own_selection):
12981         * select-msw.c (mswindows_selection_exists_p):
12982         Added `data-type' parameter. Use it.
12983         * select-msw.c (mswindows_available_selection_types): New.
12984         * select-msw.c (mswindows_register_selection_data_type): New.
12985         * select-msw.c (mswindows_selection_data_type_name): New.
12986         * select-msw.c (mswindows_own_selection):
12987         * select-msw.c (mswindows_get_foreign_selection):
12988         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12989         * select-msw.c (console_create_select_mswindows): Added new methods.
12990         * select-msw.c (mswindows_destroy_selection): New.
12991         * select-msw.c (Vhandle_alist): New list.
12992         * select-msw.c (mswindows_own_selection):
12993
12994         * select-x.c (x_own_selection):
12995         * select-x.c (x_selection_exists_p):
12996         * select-x.c: Added some comments about maybe using new
12997         functionality.
12998         * select-x.c (x_own_selection):
12999
13000         * specifier.c: Remove definition of Qappend (now in general.c)
13001         * specifier.c (syms_of_specifier): Remove Qappend.
13002
13003 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13004
13005         * config.h.in: Add socklen_t.
13006
13007         * s/decosf4-0.h: No special compiler flags needed or desired.
13008         In particular, undefine _BSD for DEC OSF 4.0.
13009
13010 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13011
13012         * redisplay-msw.c (msprinter_frame_output_end): Added.
13013         (console_type_create_redisplay_mswindows): Referred the above.
13014
13015         * frame.c (setup_frame_without_minibuffer): Do not create a
13016         default minibuffer frame on a printer device.
13017
13018         * frame-msw.c (apply_dc_geometry): Added.
13019         (msprinter_start_page):
13020         (msprinter_init_frame_3):
13021         (msprinter_eject_page): Use it.
13022
13023         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13024         and removed residual duplex and orientation properties.
13025
13026 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13027
13028         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13029
13030         * unexalpha.c: Remove system prototypes from C sources!
13031
13032 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13033
13034         * eval.c: Remove references to M-x edit-options in DEFUNs for
13035         `defvar' and `defconst'.
13036
13037 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13038
13039         * config.h.in: Remove SMART_INCLUDE hackery.
13040
13041         PostgreSQL hacking:
13042         * config.h.in: Don't use SMART_INCLUDE.
13043
13044         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13045         * inline.c: Simply #include "postgresql.h"
13046         * postgresql.c:
13047         - Don't use SMART_INCLUDE
13048         - Use simply "const".
13049         - Use standard doc string conventions.
13050         - Use correct type for result of PQstatus.
13051
13052 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13053
13054         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13055
13056         C++ compilation changes.
13057         * config.h.in (EXTERN_C): Define.
13058         * config.h.in (not): This is also a C++ keyword.
13059         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13060         * cm.c: Use EXTERN_C.
13061         * redisplay-tty.c: Use EXTERN_C.
13062         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13063
13064 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13065
13066         * general.c: Remove duplicate definition for Qfunction.
13067
13068 2000-07-08  Ben Wing  <ben@xemacs.org>
13069
13070         * device-msw.c (msprinter_init_device):
13071         * device-msw.c (sync_printer_with_devmode):
13072         * device-msw.c (handle_devmode_changes):
13073         * device-msw.c (print_dialog_worker):
13074         * device-msw.c (Fmsprinter_apply_settings):
13075         * device-msw.c (hash_devmode):
13076         * device-msw.c (Fmsprinter_settings_despecialize):
13077         use Qmswindows_tstr, not Qctext.
13078
13079         * vm-limit.c (check_memory_limits):
13080         avoid infinite loop printing warning messages.
13081
13082 2000-07-05  Craig Lanning  <lanning@scra.org>
13083
13084         * Makefile.in.in: Add support for including the Windows resources
13085         when building with the cygwin and mingw targets.
13086
13087         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13088         not set or not correct.
13089         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13090         (init_initial_directory): Don't try to use $PWD on the
13091         WIN32_NATIVE target.
13092
13093         * s\cygwin32.h:
13094         [[Add -mwindows to eliminate console window.]] not required --ben
13095         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13096         (MAIL_USE_POP): removed; now handled by configure.
13097
13098         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13099         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13100         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13101         (MAIL_USE_POP): removed; now handled by configure.
13102         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13103         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13104         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13105         constant string.
13106         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13107         up from <winsock.h> via systime.h.
13108         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13109         (getpagesize): from Dan Holmsand, added.
13110         Added #endif which was left dangling by Ben's mega patch; added
13111         comment to help prevent this in the future.
13112
13113         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13114
13115 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13116
13117         * console-msw.h (struct mswindows_device): Removed unnecessary
13118         cached device geometry values.
13119         Added update_tick and an accessor macro.
13120         (Lisp_Devmode): Added lrecord declaration.
13121         (struct msprinter_device): Contain devmode as a Lisp object.
13122         Added mswindows_get_selected_frame_hwnd();
13123
13124         * console.h (struct console_methods): Indentation nitpicking.
13125
13126         * device-msw.c (mswindows_init_device): Do not initialize geometry
13127         cache. Initialize update tick.
13128         (mswindows_device_system_metrics): Ask the device for its geometry.
13129         (global_free_2_maybe):
13130         (devmode_to_hglobal):
13131         (handle_printer_changes):
13132         (ensure_not_printing):
13133         (print_dialog_worker):
13134         (Fmsprinter_print_setup_dialog):
13135         (Fmsprinter_print_dialog):
13136         (plist_get_margin):
13137         (plist_set_margin):
13138         (Fmsprinter_page_setup_dialog): Added functions.
13139         (sync_printer_with_devmode):
13140         (handle_devmode_changes):
13141         (Fmsprinter_get_settings):
13142         (Fmsprinter_select_settings):
13143         (Fmsprinter_apply_settings):
13144         (allocate_devmode):
13145         (Fmsprinter_settings_copy):
13146         (Fmsprinter_settings_despecialize):
13147         (print_devmode):
13148         (finalize_devmode):
13149         (equal_devmode):
13150         (hash_devmode): Added functions
13151         (syms_of_device_mswindows): Init devmode lrecord class.
13152
13153         * device.h: Added an exfun for find-device.
13154
13155         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13156         geometry; although, recreate the device compatible DC.
13157
13158         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13159         (msprinter_init_frame_3):
13160         (msprinter_frame_property):
13161         (msprinter_internal_frame_property_p):
13162         (msprinter_frame_properties):
13163         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13164         print job properties (will move to device settings).
13165
13166         * lisp.h: Added symbols.
13167
13168         * general.c (syms_of_general): Declared them.
13169
13170         * hash.c (string_hash): Added.
13171
13172         * lrecord.h (lrecord_type): Added devmode lrecord type.
13173
13174 2000-07-02  Mike Sperber <mike@xemacs.org>
13175
13176         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13177         FreeBSD 4.0.
13178
13179 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13180
13181         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13182         integer.
13183
13184 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13185
13186         * data.c (Fstring_to_number): Don't recognize floating point if
13187         base is not 10.
13188
13189 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13190
13191         * glyphs-widget.c (tab_control_query_geometry):
13192         (widget_query_geometry):
13193         (button_query_geometry):
13194         * glyphs.c (text_query_geometry):
13195         Enforce type correctness.
13196
13197 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13198
13199         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13200         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13201
13202 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13203
13204         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13205         conflicts with gcc's fixincluded version of FOO.h.
13206
13207         * glyphs.h (image_instance_geometry): Remove trailing `,'
13208
13209 2000-06-08  Mike Alexander  <mta@arbortext.com>
13210
13211         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13212         (shove_thread): Don't write the same output twice
13213         (make_ntpipe_output_stream): Increase priority of shove thread
13214         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13215         chance to run
13216         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13217         it.
13218
13219 2000-06-12  Ben Wing  <ben@xemacs.org>
13220
13221         * s\mingw32.h (sigset):
13222         * s\windowsnt.h (sigset):
13223         rename msw_ to mswindows_ for consistency with general convention.
13224
13225 2000-06-12  Ben Wing  <ben@xemacs.org>
13226
13227         * console-msw.c:
13228         * console-msw.c (mswindows_get_console_hwnd):
13229         * console-msw.c (mswindows_ensure_console_allocated):
13230         * console-msw.c (mswindows_hide_console):
13231         * console-msw.c (mswindows_show_console):
13232         * console-msw.c (mswindows_ensure_console_buffered):
13233         * console-msw.c (mswindows_output_console_string):
13234         * console-msw.c (mswindows_windows9x_p):
13235         * console-msw.h:
13236         * device-msw.c (mswindows_get_workspace_coords):
13237         * device-msw.c (mswindows_device_system_metrics):
13238         * dialog-msw.c (mswindows_popup_dialog_box):
13239         * event-msw.c (mswindows_wnd_proc):
13240         * frame-msw.c (mswindows_size_frame_internal):
13241         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13242         * menubar-msw.c (displayable_menu_item):
13243         * menubar-msw.c (mswindows_char_is_accelerator):
13244         * nt.c:
13245         * nt.c (mswindows_sigset):
13246         * nt.c (mswindows_sigrelse):
13247         * nt.c (mswindows_sigpause):
13248         * nt.c (mswindows_raise):
13249         * nt.c (timer_proc):
13250         * ntproc.c:
13251         * ntproc.c (find_child_console):
13252         * ntproc.c (sys_kill):
13253         * print.c:
13254         * print.c (std_handle_out_external):
13255         * process-nt.c (find_child_console):
13256         * process-nt.c (send_signal_the_95_way):
13257         * process-nt.c (ensure_console_window_exists):
13258         * process-nt.c (nt_create_process):
13259         * syssignal.h:
13260         rename msw_ to mswindows_ for consistency with general convention.
13261
13262         * emacs.c:
13263         * dumper.c:
13264         include nt.h, not syswindows.h.
13265
13266         * nt.c (mswindows_fstat):
13267         * nt.c (mswindows_stat):
13268         prefix mswindows_ instead of attempting to directly override the
13269         library functions.  fix declarations.
13270
13271         * nt.h:
13272         include syswindows.h.  move some sysdep.h stuff here.
13273
13274         * ntheap.h:
13275         include syswindows.h, not <windows.h>.
13276
13277         * ntplay.c:
13278         clean up headers.
13279
13280         * sysdep.c:
13281         clean up headers.
13282
13283         * sysdep.c (sys_fstat):
13284         * sysdep.c (sys_stat):
13285         call mswindows versions when appropriate.
13286
13287         * sysdep.h:
13288         move mswin decls to nt.h.
13289
13290         * syswindows.h:
13291         add long comment describing appropriate use of the various windows
13292         headers.
13293
13294 2000-06-11  Ben Wing  <ben@xemacs.org>
13295
13296         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13297
13298 2000-06-10  Ben Wing  <ben@xemacs.org>
13299
13300         * Makefile.in.in (release):
13301         Correction to make sure xemacs.exe always dumped when correct.
13302
13303         * alloca.c:
13304         * balloon_help.c:
13305         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13306
13307         * buffer.c (set_buffer_internal):
13308         [[[[2]]]]: Remove HAVE_FEP code.
13309
13310         * buffer.c (init_initial_directory):
13311         [3].
13312
13313         * bytecode.c:
13314         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13315         individual files.
13316
13317         * callproc.c:
13318         * callproc.c (call_process_cleanup):
13319         * callproc.c (Fold_call_process_internal):
13320         * callproc.c (child_setup):
13321         * callproc.c (getenv_internal):
13322         * callproc.c (init_callproc):
13323         * callproc.c (vars_of_callproc):
13324         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13325         __CYGWIN32__ -> CYGWIN.
13326         DOS_NT -> WIN32_NATIVE.
13327         Remove MSDOS support/references, converting to WIN32_NATIVE
13328           where correct.
13329         __MINGW32__ -> MINGW.
13330         Fix windows.h includes.
13331         Remove bogus HAVE_NTGUI.
13332
13333         * config.h.in:
13334         [2].
13335
13336         * console-msw.c:
13337         mswindows_message_outputted added for use in allowing startup
13338         errors on the console to be seen.
13339
13340         * console-msw.c (msw_ensure_console_allocated):
13341         * console-msw.c (msw_output_console_string):
13342         * console-msw.c (DHEADER):
13343         * console-msw.c (DOPAQUE_DATA):
13344         * console-msw.c (DEVENT):
13345         * console-msw.c (DCONS):
13346         * console-msw.c (DCONSCDR):
13347         * console-msw.c (DSTRING):
13348         * console-msw.c (DVECTOR):
13349         * console-msw.c (DSYMBOL):
13350         * console-msw.c (DSYMNAME):
13351         Fix warnings.
13352
13353         * console-stream.c (stream_init_console):
13354         Fix text/binary problems.
13355
13356         * device-msw.c:
13357         * device-msw.c (mswindows_finish_init_device):
13358         * device-msw.c (mswindows_delete_device):
13359         [1].
13360
13361         * device.c (handle_asynch_device_change):
13362         [3].
13363
13364         * dgif_lib.c:
13365         * dgif_lib.c (DGifOpenFileName):
13366         * dgif_lib.c (DGifOpenFileHandle):
13367         * dgif_lib.c (DGifGetLine):
13368         * dgif_lib.c (DGifGetPixel):
13369         Added config.h/lisp.h, fix up includes.
13370         [1].
13371
13372         * dired-msw.c:
13373         [4].
13374
13375         * dired.c:
13376         * dired.c (file_name_completion):
13377         * dired.c (Ffile_attributes):
13378         * dired.c (syms_of_dired):
13379         [1].
13380
13381         * dumper.c:
13382         * dumper.c (pdump_file_unmap):
13383         * dumper.c (pdump_load):
13384         [1].
13385
13386         * editfns.c:
13387         * editfns.c (Ftemp_directory):
13388         * editfns.c (user_login_name):
13389         * editfns.c (Fuser_real_login_name):
13390         * editfns.c (get_home_directory):
13391         [1].
13392
13393         * elhash.c (finish_marking_weak_hash_tables):
13394         [[[[5]]]]: Fix GCC warnings.
13395
13396         * emacs.c:
13397         * emacs.c (mswindows_handle_hardware_exceptions):
13398         * emacs.c (make_arg_list_1):
13399         * emacs.c (main_1):
13400         * emacs.c (Fkill_emacs):
13401         * emacs.c (Fdump_emacs):
13402         [1].
13403         Fix problems with nested crashes, add long comment.
13404
13405         * event-Xt.c (init_event_Xt_late):
13406         [1].
13407
13408         * event-msw.c:
13409         * event-msw.c (mswindows_dde_callback):
13410         * event-msw.c (mswindows_handle_sticky_modifiers):
13411         * event-msw.c (mswindows_wnd_proc):
13412         [1].
13413         [5].
13414
13415         * events.c (character_to_event):
13416         [1].
13417
13418         * fileio.c:
13419         * fileio.c (Ffile_name_directory):
13420         * fileio.c (Ffile_name_nondirectory):
13421         * fileio.c (directory_file_name):
13422         * fileio.c (Fexpand_file_name):
13423         * fileio.c (Fsubstitute_in_file_name):
13424         * fileio.c (Ffile_name_absolute_p):
13425         * fileio.c (check_executable):
13426         * fileio.c (Ffile_readable_p):
13427         * fileio.c (Ffile_accessible_directory_p):
13428         * fileio.c (Ffile_modes):
13429         * fileio.c (Funix_sync):
13430         * fileio.c (vars_of_fileio):
13431         [1]. [4].
13432
13433         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13434
13435         Expand getdefdir defn.
13436         Fix bogus rename() comment.
13437
13438         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13439         to use standard XEmacs include files, e.g. sysfile.h, rather
13440         than system-specific includes.
13441
13442         * fns.c:
13443         * fns.c (Fsubseq):
13444         [5]. [6].
13445
13446         * frame.c (vars_of_frame):
13447         [1].
13448
13449         * getloadavg.c:
13450         * getloadavg.c (getloadavg):
13451         [1]. [6].
13452         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13453         (We don't use it elsewhere in the code; just add a comment.)
13454
13455         * gif_io.c:
13456         [6].
13457         Add config.h.
13458
13459         * glyphs-msw.c:
13460         * glyphs-msw.c (mswindows_resource_instantiate):
13461         [1].
13462
13463         * glyphs-x.c (x_native_layout_instantiate):
13464         [5].
13465
13466         * gui-msw.c (Fmswindows_shell_execute):
13467         [1].
13468
13469         * insdel.c:
13470         [4].
13471
13472         * lisp.h:
13473         [4]. [5].
13474
13475         * lread.c (locate_file_in_directory_mapper):
13476         [1].
13477
13478         * lstream.c:
13479         [4].
13480
13481         * mem-limits.h:
13482         * mem-limits.h (get_lim_data):
13483         [1].
13484
13485         * menubar-msw.c:
13486         [4].
13487
13488         * ndir.h:
13489         [1].
13490
13491         * nt.c:
13492         * nt.c (getwd):
13493         * nt.c (closedir):
13494         * nt.c (rva_to_section):
13495         * nt.c (mswindows_executable_type):
13496         [1]. [6].
13497         Fix closedir() defn.
13498
13499         * nt.h:
13500         [[[[8]]]]: *_OK defs moved to sysfile.h.
13501
13502         * ntproc.c:
13503         [6]. [7].
13504
13505         * objects-x.c:
13506         [4].
13507
13508         * print.c:
13509         * print.c (std_handle_out_external):
13510         [1]. [4].
13511
13512         * process-nt.c:
13513         * process-nt.c (nt_create_process):
13514         [6].
13515         try to fix process quoting somewhat.
13516
13517         * process-unix.c (unix_create_process):
13518         [1].
13519
13520         * process.c:
13521         * process.c (vars_of_process):
13522         Add Vnull_device.
13523
13524         * process.h:
13525         [1].
13526
13527         * realpath.c:
13528         * realpath.c (xrealpath):
13529         [1].
13530
13531         * redisplay-tty.c (init_tty_for_redisplay):
13532         [3].
13533
13534         * redisplay.c:
13535         [4]. [6].
13536
13537         * scrollbar-msw.c:
13538         [4].
13539
13540         * sheap.c:
13541         * sheap.c (more_static_core):
13542         * sheap.c (report_sheap_usage):
13543         [5]. [6].
13544
13545         * signal.c:
13546         * signal.c (alarm_signal):
13547         [1]. [6].
13548
13549         * sound.c:
13550         [6].
13551
13552         * strftime.c:
13553         * strftime.c (zone_name):
13554         [1]. [5].
13555
13556         * symsinit.h (init_sunpro):
13557         [1].
13558
13559         * syscommctrl.h:
13560         commctrl.h not in Cygwin b20.1.
13561
13562         * sysdep.c:
13563         * sysdep.c (endif):
13564         * sysdep.c (sys_subshell):
13565         * sysdep.c (init_baud_rate):
13566         * sysdep.c (emacs_get_tty):
13567         * sysdep.c (emacs_set_tty):
13568         * sysdep.c (tty_init_sys_modes_on_device):
13569         * sysdep.c (init_system_name):
13570         * sysdep.c (sys_open):
13571         * sysdep.c (interruptible_open):
13572         * sysdep.c (sys_fopen):
13573         * sysdep.c (sys_mkdir):
13574         * sysdep.c (sys_rename):
13575         * sysdep.c (get_process_times_1):
13576         [1]. [6].
13577
13578         * sysdep.h:
13579         [1].
13580
13581         * sysdir.h:
13582         * sysdir.h (DIRENTRY_NONEMPTY):
13583         [1]. [6].
13584
13585         * sysdll.c (dll_init):
13586         * sysdll.h:
13587         [1].
13588
13589         * sysfile.h:
13590         [1]. [6]. [8].
13591         added text/binary defs.
13592
13593         * sysfloat.h:
13594         [1].
13595
13596         * sysproc.h:
13597         * sysproc.h (EDESTADDRREQ):
13598         * sysproc.h (poll_fds_for_input):
13599         [1]. [6].
13600
13601         * syspwd.h:
13602         [6].
13603
13604         * syssignal.h:
13605         [1].
13606
13607         * systime.h:
13608         [1]. [6].
13609
13610         * systty.h:
13611         [1].
13612
13613         * syswindows.h:
13614         [1].
13615         Always define WIN32_LEAN_AND_MEAN.
13616
13617         * unexcw.c (unexec):
13618         [5].
13619
13620         * unexec.c:
13621         * unexec.c (copy_text_and_data):
13622         * unexec.c (adjust_lnnoptrs):
13623         [1].
13624
13625         * unexnt.c:
13626         * unexnt.c (_start):
13627         [1].
13628
13629 2000-06-07  Ben Wing  <ben@xemacs.org>
13630
13631         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13632         was used only as a model.  We've long since extracted any useful
13633         logic or code out of this. (I just did an exhaustive search.)
13634
13635         * s\msdos.h: Removed.
13636
13637         * s\windows95.h: Removed.
13638
13639 2000-06-10  Ben Wing  <ben@xemacs.org>
13640
13641         * s\cygwin32.h:
13642         [1]. [5].
13643         Don't use extern with fun defs.
13644
13645         * s\mingw32.h:
13646         [1]. [7].
13647         Remove nt\inc include.
13648         Remove getdisk, getdefdir. (The former is unused, the latter
13649         expanded in fileio.h.)
13650
13651         * s\windowsnt.h:
13652         * s\windowsnt.h (WIN32_NATIVE):
13653         * s\windowsnt.h (HAVE_STRCASECMP):
13654         [1]. [7].
13655         Add long comment about preprocessor changes.
13656         Remove getdisk, getdefdir. (The former is unused, the latter
13657         expanded in fileio.h.)
13658
13659 2000-06-10  Ben Wing  <ben@xemacs.org>
13660
13661         * m\arm.h:
13662         * m\delta.h:
13663         * m\intel386.h:
13664         * m\sequent.h:
13665         * m\template.h:
13666         * m\windowsnt.h:
13667         [1].
13668         Remove bogus/unused NO_SOCK_SIGIO.
13669
13670 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13671
13672         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13673         not an Emchar.
13674
13675 2000-06-04  Mike Sperber <mike@xemacs.org>
13676
13677         * casetab.c (set_case_table): For `set-standard-case-table',
13678         actually deposit the new case tables where the rest of XEmacs can
13679         see them.
13680
13681 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13682
13683         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13684
13685 2000-06-05  Ben Wing  <ben@xemacs.org>
13686
13687         * callproc.c (child_setup): Don't do close_load_descs() under
13688         MS Windows.  Put in a comment explaining why.
13689
13690 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13691
13692         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13693         Toolkit shell" which breaks `kill-compilation' on Windows NT
13694         native, retaining STDERR handling improvements.
13695
13696 2000-06-01  Andreas Jaeger  <aj@suse.de>
13697
13698         * s/s390.h: Support for S390, based on a patch by Martin
13699         Schwidefsky <schwidefsky@de.ibm.com>.
13700
13701 2000-05-30  Andy Piper  <andy@xemacs.org>
13702
13703         * window.c (allocate_window):
13704         (make_dummy_parent):
13705         (Fset_window_configuration): use new hashtable type.
13706
13707         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13708         (struct image_instantiator_methods):
13709         (struct Lisp_Image_Instance): make instance geometry signed.
13710
13711         * glyphs.c (instantiate_image_instantiator):
13712         (image_instance_query_geometry):
13713         (image_instance_layout):
13714         (image_instance_layout):
13715         (query_string_geometry):
13716         (text_query_geometry):
13717         (image_instantiate):
13718         (image_instantiate):
13719         (cache_subwindow_instance_in_frame_maybe):
13720         (subwindow_query_geometry): make instance geometry signed.
13721
13722         * glyphs-widget.c (widget_query_geometry):
13723         (widget_layout):
13724         (button_query_geometry):
13725         (tree_view_query_geometry):
13726         (tab_control_query_geometry):
13727         (layout_query_geometry):
13728         (layout_layout):
13729         (native_layout_layout): make instance geometry signed.
13730
13731 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13732
13733         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13734         constant.
13735
13736         * general.c (syms_of_general): Add Qfull_assoc symbol.
13737
13738         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13739         correctly.
13740         (decode_weak_list_type): Decode full-assoc type.
13741         (encode_weak_list_type): Encode full-assoc type.
13742         (Fmake_weak_list): Update doc string.
13743
13744 2000-05-30  Andy Piper  <andy@xemacs.org>
13745
13746         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13747
13748         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13749         (decode_hash_table_weakness): ditto.
13750         (Fhash_table_weakness): ditto.
13751         (Fhash_table_type): ditto.
13752         (finish_marking_weak_hash_tables): ditto.
13753         (hash_table_weakness_validate): ditto.
13754         (syms_of_elhash): ditto.
13755
13756 2000-05-28  Martin Buchholz <martin@xemacs.org>
13757
13758         * XEmacs 21.2.34 is released.
13759
13760 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13761
13762         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13763         start cache.
13764         (updating_line_start_cache): Gone.
13765         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13766         generic code to force a minimum of 1 line laid out in the
13767         CMOTION_DISP case.
13768
13769 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13770
13771         * glyphs.c (instantiate_image_instantiator): Check for initialized
13772         height & width no longer special cases IMAGE_NOTHING.
13773         (nothing_instantiate): Set height and width of instance.
13774
13775 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13776
13777         * unexelf.c (unexec): Search for ".data" section.
13778         Initialize new_data2_offset from old_data_index.
13779         Remove redundant check for ElfW.
13780
13781 2000-05-23  Andy Piper  <andy@xemacs.org>
13782
13783         * glyphs.c (get_image_instantiator_governing_domain): allow more
13784         specific domains as the governing domain rather than expecting an
13785         exact match. This fixes problems with layouts.
13786
13787 2000-05-22  Andy Piper  <andy@xemacs.org>
13788
13789         * redisplay-output.c (compare_runes): check for non-images
13790
13791         * glyphs.c (set_glyph_dirty_p): ditto.
13792         (update_glyph_cachel_data): ditto.
13793
13794         * glyphs-widget.c (layout_post_instantiate): ditto.
13795         (layout_post_instantiate): ditto.
13796
13797         * event-msw.c (mswindows_wnd_proc): warning removal.
13798
13799 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13800
13801         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13802
13803         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13804
13805         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13806
13807         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13808         (mswindows_executable_type): mingw32 now has enough headers for
13809         this to work.
13810
13811 2000-05-20  Andy Piper  <andy@xemacs.org>
13812
13813         * console-msw.c (mswindows_output_last_error): ; -> ,
13814
13815 2000-05-12  Andy Piper  <andy@xemacs.org>
13816
13817         * console-msw.c (FROB): compare ints with ints.
13818
13819 2000-05-11  Andy Piper  <andy@xemacs.org>
13820
13821         * glyphs-x.c (x_finalize_image_instance): make minimal build
13822         happy.
13823
13824 2000-05-20  Ben Wing  <ben@xemacs.org>
13825
13826         * event-Xt.c:
13827         * event-Xt.c (vars_of_event_Xt):
13828         move modifier-keys-are-sticky to event-stream.c.
13829
13830         * event-msw.c:
13831         * event-msw.c (mswindows_enqueue_mouse_button_event):
13832         * event-msw.c (key_needs_default_processing_p):
13833         * event-msw.c (XEMSW_LCONTROL):
13834         * event-msw.c (mswindows_handle_sticky_modifiers):
13835         * event-msw.c (FROB):
13836         * event-msw.c (clear_sticky_modifiers):
13837         * event-msw.c (output_modifier_keyboard_state):
13838         * event-msw.c (output_alt_keyboard_state):
13839         * event-msw.c (mswindows_wnd_proc):
13840         * event-msw.c (mswindows_modifier_state):
13841         * event-msw.c (emacs_mswindows_handle_magic_event):
13842         implement sticky modifiers.
13843
13844         * event-stream.c:
13845         * event-stream.c (vars_of_event_stream):
13846         move modifier-keys-are-sticky here.
13847
13848         * lisp.h:
13849         add CHECK_FUNCTION.
13850
13851         * rangetab.c:
13852         implement map-range-table.
13853
13854
13855 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13856
13857         * redisplay-tty.c (reset_tty_modes):
13858         (tty_redisplay_shutdown): Adjust argument type to
13859         tty_frame_output_end.
13860
13861 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13862
13863         * eval.c (Fbacktrace): Don't output a line with only right
13864         parenthesis.
13865
13866 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13867
13868         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13869         (Fpq_reset_poll): Ditto.
13870
13871 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13872
13873         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13874
13875 2000-05-16  Ben Wing  <ben@xemacs.org>
13876
13877         * buffer.c:
13878         * buffer.c (dfc_convert_to/from_internal_format):
13879         * buffer.c (reinit_vars_of_buffer):
13880         Fix conversion functions to allow reentrancy.
13881
13882         * console-msw.c:
13883         * console-msw.c (mswindows_output_last_error):
13884         New fun, generally useful -- output a human-readable
13885         version of GetLastError() on the console.
13886
13887         * console-msw.h:
13888         * console-msw.h (struct mswindows_frame):
13889         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13890
13891         * console-stream.c (stream_output_begin):
13892         * console-stream.c (stream_output_end):
13893         * console-stream.c (stream_output_vertical_divider):
13894         * console-stream.c (stream_clear_region):
13895         * console-stream.c (stream_flash):
13896         * console-stream.c (console_type_create_stream):
13897         Delete blank stream methods, not needed.
13898
13899         * console.h (struct console_methods):
13900         Split begin/end methods into window and frame.
13901
13902         * event-msw.c:
13903         * event-msw.c (mswindows_handle_paint):
13904         * event-msw.c (output_alt_keyboard_state):
13905         * event-msw.c (mswindows_wnd_proc):
13906         * event-msw.c (vars_of_event_mswindows):
13907         Comment about problems with ignored-expose.
13908         Define mswindows-debug-events; not really implemented.
13909
13910         * frame-msw.c (mswindows_init_frame_1):
13911         random cleanups.
13912
13913         * glyphs-msw.c:
13914         * glyphs-msw.c (begin_defer_window_pos):
13915         * glyphs-msw.c (mswindows_unmap_subwindow):
13916         * glyphs-msw.c (mswindows_map_subwindow):
13917         * glyphs-msw.c (mswindows_resize_subwindow):
13918         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13919
13920         * glyphs.c (make_image_instance_1):
13921         Fix crash.
13922
13923         * gutter.c (Fredisplay_gutter_area):
13924         Use new begin/end methods.
13925
13926         * lisp.h (Dynarr_new2):
13927         New creation fun.
13928
13929         * redisplay-msw.c:
13930         * redisplay-msw.c (mswindows_frame_output_begin):
13931         * redisplay-msw.c (mswindows_frame_output_end):
13932         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13933         New begin/end methods -- handle DeferWindowPos.
13934
13935         * redisplay-output.c (redisplay_move_cursor):
13936         * redisplay-output.c (redraw_cursor_in_window):
13937         * redisplay-output.c (redisplay_update_line):
13938         * redisplay-output.c (redisplay_output_window):
13939         New begin/end methods.
13940
13941         * redisplay-tty.c:
13942         * redisplay-tty.c (tty_frame_output_begin):
13943         * redisplay-tty.c (tty_frame_output_end):
13944         * redisplay-tty.c (console_type_create_redisplay_tty):
13945         New begin/end methods.
13946
13947         * redisplay-x.c:
13948         * redisplay-x.c (x_window_output_begin):
13949         * redisplay-x.c (x_window_output_end):
13950         * redisplay-x.c (console_type_create_redisplay_x):
13951         New begin/end methods.
13952
13953         * redisplay.c (redisplay_frame):
13954         * redisplay.c (Fredisplay_echo_area):
13955         New begin/end methods.
13956         use MAYBE_DEVMETH for clear_frame; it may not exist.
13957
13958         * window.h (WINDOW_XFRAME):
13959         WINDOW_XFOO macros -- get locale and decode struct pointer.
13960
13961
13962 2000-05-12  Ben Wing  <ben@xemacs.org>
13963
13964         * emacs.c:
13965         * emacs.c (ensure_no_quitting_from_now_on):
13966         * emacs.c (fatal_error_signal):
13967         * emacs.c (mswindows_handle_hardware_exceptions):
13968         * emacs.c (main):
13969         * emacs.c (Fkill_emacs):
13970         * emacs.c (shut_down_emacs):
13971         * emacs.c (assert_failed):
13972         various improvements in fatal error handling.
13973
13974         * eval.c:
13975         move preparing_for_armageddon to emacs.c.
13976
13977         * lisp.h:
13978         declare fatal_error_in_progress.
13979
13980         * print.c:
13981         * print.c (std_handle_out_external):
13982         * print.c (std_handle_out_va):
13983         * print.c (stderr_out):
13984         * print.c (stdout_out):
13985         use console under mswin when no standard output.
13986         don't do code conversion during fatal error.
13987
13988         * scrollbar.c (Fscrollbar_page_up):
13989         * scrollbar.c (Fscrollbar_page_down):
13990         fix missing else.  reindent.
13991
13992 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13993
13994         Emergency fix.
13995
13996         * glyphs.h (GLYPH_CACHEL_DESCENT):
13997         (GLYPH_CACHEL_DESCENT):
13998         (GLYPH_CACHEL_DESCENT):
13999         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14000         used in case these are inline functions.
14001         Use more absurd values to error check.
14002
14003         include window.h for error check functions.
14004
14005 2000-05-11  Ben Wing  <ben@xemacs.org>
14006
14007         * cmdloop.c (Freally_early_error_handler):
14008         Display message box under windows; otherwise, message will disappear
14009         before it can be viewed.
14010
14011         * console-msw.c:
14012         * console-msw.c (Fmswindows_message_box):
14013         * console-msw.c (FROB):
14014         * console-msw.c (syms_of_console_mswindows):
14015         Define new fun `mswindows-message-box'.
14016         #### I will merge this into `popup-dialog-box'; just give me
14017         a bit of time.
14018
14019         * general.c:
14020         * general.c (syms_of_general):
14021         Some new symbols used in `mswindows-message-box'.
14022
14023         * glyphs.c:
14024         * glyphs.c (Fset_image_instance_property):
14025         put warning in this fun.
14026
14027         * glyphs.h:
14028         * glyphs.h (GLYPH_CACHEL_WIDTH):
14029         * glyphs.h (GLYPH_CACHEL_ASCENT):
14030         * glyphs.h (GLYPH_CACHEL):
14031         * glyphs.h (GLYPH_CACHEL_GLYPH):
14032         define error-checking versions to try to catch a bug i've seen --
14033         redisplay gets in an infinite loop because the glyph width of the
14034         continuation glyph is 65535.
14035
14036         * lisp.h:
14037         Extern message-box stuff.
14038
14039         * window.c (allocate_window):
14040         * window.c (make_dummy_parent):
14041         * window.c (Fset_window_configuration):
14042         Use EQUAL not EQ for subwindow caches to make them work a bit
14043         better. (Something is still very broken.)
14044
14045
14046 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14047
14048         * glyphs.c (image_instantiate): Suppress gcc warnings.
14049         (Fmake_image_instance): Fix doc string.
14050         * specifier.c (Fmake_specifier): Ditto.
14051
14052 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14053
14054         * paths.h.in (PATH_LOCK): Removed.
14055         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14056         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14057
14058 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14059
14060         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14061         Document (featurep '(and xemacs 21.02)).
14062
14063 2000-05-09  Ben Wing  <ben@xemacs.org>
14064
14065         * buffer.c (complex_vars_of_buffer):
14066         update modeline-format doc.
14067
14068         * device.h:
14069         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14070
14071         * emacs.c:
14072         timeline of all released versions of Emacs, for use in creating
14073         authorship comments and in synching up.
14074
14075         * glyphs-widget.c (image_instantiator_buttons):
14076         * glyphs-widget.c (image_instantiator_edit_fields):
14077         * glyphs-widget.c (image_instantiator_combo_box):
14078         * glyphs-widget.c (image_instantiator_scrollbar):
14079         * glyphs-widget.c (image_instantiator_progress_guage):
14080         * glyphs-widget.c (image_instantiator_tree_view):
14081         * glyphs-widget.c (image_instantiator_tab_control):
14082         * glyphs-widget.c (image_instantiator_labels):
14083         * glyphs-widget.c (image_instantiator_layout):
14084         * glyphs-widget.c (image_instantiator_native_layout):
14085         rename decode_domain method to governing_domain.
14086
14087         * glyphs.c:
14088         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14089         * glyphs.c (add_entry_to_device_ii_format_list):
14090         make sure we don't put an entry more than once into the list.
14091         * glyphs.c (check_instance_cache_mapper):
14092         *************************************************************
14093         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14094         HAVE BEEN GETTING.
14095         *************************************************************
14096         * glyphs.c (get_image_instantiator_governing_domain):
14097         clean up, expand on new concept of governing domain.
14098         * glyphs.c (instantiate_image_instantiator):
14099         * glyphs.c (allocate_image_instance):
14100         use governing_domain instead of cache_domain in naming.
14101         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14102         * glyphs.c (make_image_instance_1):
14103         * glyphs.c (Fmake_image_instance):
14104         allow for any domain (not just device), and process the
14105         governing domain correctly.  very big doc fix.
14106         * glyphs.c (Fimage_instance_domain):
14107         new primitive, to retrieve the governing domain of an image instance.
14108         * glyphs.c (image_instantiate):
14109         use new governing_domain stuff.  this fixes a crash you could get
14110         by instantiating certain widget glyphs in frame locales. (should
14111         signal an error instead of crashing.)
14112         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14113         * glyphs.c (Fglyphp): clean up doc.
14114         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14115         * glyphs.c (syms_of_glyphs):
14116         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14117         * glyphs.c (image_instantiator_format_create): add some comments about
14118         bogus code.
14119         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14120         for current-display-table. (Apparently Hrjove implemented in 1998 a
14121         design I wrote up in 1996, but didn't update the doc string.)
14122
14123         * glyphs.h: clean up a doc string.
14124         * glyphs.h (governing_domain):
14125         * glyphs.h (struct image_instantiator_methods):
14126         changes for governing_domain stuff.
14127
14128         * gutter.c:
14129         * gutter.c (Fgutter_specifier_p):
14130         * gutter.c (Fgutter_size_specifier_p):
14131         * gutter.c (Fgutter_visible_specifier_p):
14132         * objects.c:
14133         * objects.c (Fcolor_specifier_p):
14134         * objects.c (Ffont_specifier_p):
14135         * objects.c (Fface_boolean_specifier_p):
14136         doc strings moved to make-*-specifier.
14137
14138         * redisplay.c (add_disp_table_entry_runes_1):
14139         * redisplay.c (generate_fstring_runes):
14140         * redisplay.c (screen):
14141         add random comments and doc strings.
14142
14143         * specifier.c:
14144         * specifier.c (Fmake_specifier):
14145         major overhaul of this doc string.
14146
14147         * specifier.c (Fvalid_specifier_domain_p):
14148         comment about the bogosity of image instances being domains.
14149         * specifier.c (decode_domain):
14150         now non-static, used in glyphs.c.
14151         * specifier.c (specifier_instance):
14152         comment about the bogosity of image instances being domains.
14153         * specifier.c (Fgeneric_specifier_p):
14154         move doc string to make-generic-specifier.
14155         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14156         rebackslashify.
14157
14158         * specifier.h:
14159         * specifier.h (DOMAIN_FRAME):
14160         * specifier.h (DOMAIN_LIVE_P):
14161         * specifier.h (DOMAIN_XDEVICE):
14162         rebackslashify.
14163         add comments about problems with these macros.
14164         prototype for decode_domain.
14165
14166         * toolbar.c:
14167         * toolbar.c (Ftoolbar_specifier_p):
14168         move doc string to `make-toolbar-specifier'.
14169
14170         * window.c (window_unmap_subwindows_cache_mapper):
14171         *************************************************************
14172         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14173         HAVE BEEN GETTING.
14174         *************************************************************
14175
14176 2000-05-09  Andy Piper  <andy@xemacs.org>
14177
14178         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14179
14180         * window.c (Fset_window_configuration): reset the frame subwindow
14181         cache and re-initialize the window subwindow caches.
14182
14183         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14184
14185 2000-05-09  Ben Wing  <ben@xemacs.org>
14186
14187         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14188         DWORD.
14189
14190 2000-04-26  Mike Woolley  <mike@bulsara.com>
14191
14192         * ntheap.c: Changed recreate_heap to limit the amount reserved
14193         for the heap to that which is actually available. Also now
14194         displays a message box (with some dignostics) in the event that
14195         it still can't start.
14196
14197 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14198
14199         * callproc.c (Fold_call_process_internal): GCPRO path
14200
14201 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14202
14203         Patch by Bill Perry.
14204
14205         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14206         back data instead of #ifdef.
14207         (Fscrollbar_page_down): ditto.
14208
14209 2000-05-07  Ben Wing  <ben@xemacs.org>
14210
14211         * buffer.h:
14212         Kludge for defining Qmswindows_tstr.
14213
14214         * nt.c:
14215         * nt.c (open_input_file):
14216         * nt.c (open_output_file):
14217         * nt.c (rva_to_section):
14218         * nt.c (mswindows_executable_type):
14219         Move all memory-mapped-file routines here (some were in unexnt.c,
14220         which is bad because they are used by process-nt.c, and unexnt
14221         won't be around when portable dumping).  Synched the above routines
14222         with FSF 20.6.
14223
14224         * nt.h:
14225         Removed ifdef'd out bogus code.
14226         Fixed some prototypes.
14227
14228         * nt.h (file_data):
14229         * nt.h (OFFSET_TO_RVA):
14230         * nt.h (RVA_TO_OFFSET):
14231         * nt.h (RVA_TO_PTR):
14232         Moved the memory-mapped-file structures, macros and prototypes
14233         here, to parallel nt.c.  ntheap.h should really be removed
14234         entirely, and it's a non-portable-dumper specific file.
14235
14236         * ntheap.h (round_to_next):
14237         Moved the memory-mapped-file structures, macros and prototypes
14238         to nt.h.
14239
14240         * ntproc.c (compare_env):
14241         Moved rva_to_section and mswindows_executable_type to nt.c.
14242         Moved compare_env to process-nt.c.
14243         ntproc.c will die, one day.
14244
14245         * ntproc.c (sys_spawnve):
14246         Account for win32_ -> mswindows_.
14247
14248         * process-nt.c:
14249         * process-nt.c (struct nt_process_data):
14250         * process-nt.c (ensure_console_window_exists):
14251         * process-nt.c (compare_env):
14252         * process-nt.c (nt_create_process):
14253         * process-nt.c (nt_kill_process_by_pid):
14254         * process-nt.c (syms_of_process_nt):
14255         * process-nt.c (vars_of_process_nt):
14256         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14257         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14258         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14259         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14260         Move compare_env here from ntproc.c.
14261
14262         * process.c (Fprocess_send_region):
14263         Takes an optional fourth argument, BUFFER, which should fix some
14264         problems with call-process.
14265
14266         * syscommctrl.h:
14267         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14268
14269         * syswindows.h:
14270         Move ICC_BAR_CLASSES to syscommctrl.h.
14271         Add preliminary macros for MSWindows/Mule.  More to come.
14272
14273         * unexnt.c:
14274         * unexnt.c (unexec):
14275         open_output_file moved to nt.c.
14276
14277
14278 2000-05-05  Andy Piper  <andy@xemacs.org>
14279
14280         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14281         instance from the frame cache also since GC may catch up too late
14282         to make frame deletion sane.
14283
14284 2000-05-04  Andy Piper  <andy@xemacs.org>
14285
14286         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14287         (x_finalize_image_instance): ungcpro on deletion.
14288
14289         * glyphs.c (image_instantiator_format_create): give pointers a
14290         query geometry method so that the geometry is at least set.
14291
14292         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14293         initialize layouts if using widgets.
14294
14295 2000-05-03  Andy Piper  <andy@xemacs.org>
14296
14297         * nt.c: remove bogus reference to sysmmsystem.h
14298
14299         * gui-x.c (popup_selection_callback): fix no selection abort.
14300
14301 2000-05-02  Andy Piper  <andy@xemacs.org>
14302
14303         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14304         (mswindows_widget_instantiate): ditto.
14305
14306         * glyphs-widget.c (initialize_widget_image_instance): initialize
14307         children correctly.
14308         (widget_instantiate): cope with children and items in the same
14309         instance.
14310
14311         * glyphs.c (mark_image_instance): cope with children as a first
14312         class member.
14313         (image_instance_equal): ditto.
14314         (image_instance_hash): ditto.
14315         (image_instance_changed): ditto.
14316
14317 2000-04-30  Andy Piper  <andy@xemacs.org>
14318
14319         * glyphs.c (subwindow_query_geometry): new function. Return some
14320         defaults.
14321         (subwindow_instantiate): don't assign dimensions if none have been
14322         given.
14323         (image_instantiator_format_create): add subwindow_query_geometry.
14324         (print_image_instance): cope with layouts as widgets.
14325
14326 2000-04-29  Andy Piper  <andy@xemacs.org>
14327
14328         * frame.c (delete_frame_internal): call
14329         free_frame_subwindow_instance_cache so that all subwindows are
14330         finalized before their parent.
14331         (mark_frame): remove subwindow_cachels.
14332         (Fmake_frame): remove subwindow_cachel manipulation.
14333         (allocate_frame_core): subwindow_instance_cache is a weak list.
14334         (delete_frame_internal): set subwindow_instance_cache to nil.
14335
14336         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14337         finalization safe.
14338         (mswindows_finalize_image_instance): use the device
14339         not the domain as the domain may have died already.
14340
14341         * glyphs-x.c (x_finalize_image_instance): ditto.
14342         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14343         HEIGHT.
14344
14345         * redisplay-output.c (redisplay_unmap_subwindows): update for
14346         subwindow instance cache as a weak list.
14347         (redisplay_unmap_subwindows_maybe): ditto.
14348         (redisplay_unmap_subwindows_except_us): ditto.
14349
14350         * glyphs.c (unmap_subwindow): error checking will check the domain
14351         so don't deal with it here. Don't use cachels anymore.
14352         (map_subwindow): ditto.
14353         (update_subwindow_cachel_data): remove old accessor names.
14354         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14355         (Fresize_subwindow): don't update cachel.
14356         (mark_subwindow_cachels):
14357         (update_subwindow_cachel_data):
14358         (add_subwindow_cachel):
14359         (get_subwindow_cachel_index):
14360         (update_subwindow_cachel):
14361         (reset_subwindow_cachels):
14362         (mark_subwindow_cachels_as_not_updated): deleted.
14363         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14364         subwindow instance to the frame cache.
14365         (find_matching_subwindow): update for subwindow instance cache as
14366         a weak list.
14367         (update_widget_instances): ditto.
14368         (image_instance_type_to_mask):inlined.
14369         (free_frame_subwindow_instance_cache): new function. finalize all
14370         subwindows that are instantiated.
14371
14372         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14373         of cachel information.
14374         (IMAGE_INSTANCE_DISPLAY_X):
14375         (IMAGE_INSTANCE_DISPLAY_Y):
14376         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14377         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14378         (XIMAGE_INSTANCE_DISPLAY_X):
14379         (XIMAGE_INSTANCE_DISPLAY_Y):
14380         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14381         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14382         remove subwindow_cachel structure and function references.
14383         (image_instance_type_to_mask): inline from glyphs.c
14384
14385         * redisplay.c (redisplay_frame): remove subwindow_cachel
14386         references.
14387
14388         * frame.h (struct frame): remove subwindow_cachels.
14389         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14390
14391         * frameslots.h: add subwindow_instance_cache.
14392
14393         * window.c (replace_window): check subwindow cache of replacement.
14394         (window_unmap_subwindows_cache_mapper):
14395         (window_unmap_subwindows): new functions. Unmap all subwindows
14396         cached on this window.
14397         (mark_window_as_deleted): unmap all subwindows.
14398
14399 2000-04-27  Andy Piper  <andy@xemacs.org>
14400
14401         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14402
14403         * glyphs-widget.c (widget_layout): return something.
14404         (layout_layout): return something. Fail if not initialized.
14405         (layout_query_geometry): ditto.
14406         (image_instantiator_native_layout): new function. Initialized the
14407         native layout type.
14408         (widget_instantiate): don't do layout stuff here.
14409
14410         * glyphs.c (instantiate_image_instantiator): reorded calling or
14411         instantiate and post_instantiate with layout in between.
14412         (image_instance_layout): be more selective about deciding whether
14413         the layout has been done or not.
14414
14415         * glyphs.h (struct image_instantiator_methods): return a value
14416         from layout_method.
14417
14418 2000-04-26  Andy Piper  <andy@xemacs.org>
14419
14420         * glyphs.c (allocate_image_instance): make initial width and
14421         height unspecified. Set initialized to 0.
14422
14423         * syscommctrl.h new file. Encapsulates commctrl.h.
14424
14425         * syswindows.h new file. Encapsulates windows.h.
14426
14427         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14428         * nt.c: ditto.
14429         * console-msw.h: ditto.
14430
14431         * redisplay-tty.c (tty_output_display_block): remove layout references.
14432
14433         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14434         window handle rather than just the frame.
14435
14436         * glyphs.c (mark_image_instance): remove layout references.
14437         (print_image_instance): ditto.
14438         (image_instance_equal): ditto.
14439         (image_instance_hash): ditto.
14440         (decode_image_instance_type): ditto.
14441         (encode_image_instance_type): ditto.
14442         (image_instantiate): ditto.
14443         (allocate_glyph): ditto.
14444         (Fimage_instance_height): ditto.
14445         (Fimage_instance_width): ditto.
14446         (update_subwindow): ditto.
14447
14448         * redisplay-x.c (x_output_display_block): recode for layouts as
14449         widgets.
14450
14451         * redisplay-output.c (redisplay_output_layout): recode for layouts
14452         as widgets.
14453         (compare_runes): remove layout references.
14454
14455         * redisplay-msw.c (mswindows_output_display_block): recode for
14456         layouts as widgets.
14457
14458         * glyphs-widget.c (image_instantiator_layout): remove
14459         layout_possible_dest_types.
14460         (layout_possible_dest_types): deleted.
14461
14462         * glyphs.h (image_instance_type): remove layout references.
14463         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14464         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14465         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14466
14467 2000-04-25  Andy Piper  <andy@xemacs.org>
14468
14469         * glyphs-widget.c (image_instantiator_buttons):
14470         (image_instantiator_edit_fields):
14471         (image_instantiator_combo_box):
14472         (image_instantiator_scrollbar):
14473         (image_instantiator_progress_guage):
14474         (image_instantiator_tree_view):
14475         (image_instantiator_tab_control):
14476         (image_instantiator_labels):
14477         (image_instantiator_layout): call default post_instantiate method.
14478         (widget_post_instantiate): new function. Simply lays out the
14479         widgets.
14480
14481         * glyphs.h (struct image_instantiator_methods): add
14482         post_instantiate method.
14483
14484         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14485         method calls.
14486
14487 2000-04-23  Andy Piper  <andy@xemacs.org>
14488
14489         * glyphs.h (struct image_instantiator_methods): add
14490         decode_domain_method.
14491         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14492         derived from the domain.
14493         (IMAGE_INSTANCE_FRAME): new accessor.
14494         (XIMAGE_INSTANCE_FRAME): ditto.
14495
14496         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14497         instead of _SUBWINDOW_FRAME.
14498         (finalize_image_instance): ditto.
14499         (Fimage_instance_foreground): ditto.
14500         (Fimage_instance_background): ditto.
14501         (image_instantiate): ditto.
14502         (update_subwindow_cachel): ditto.
14503         (update_subwindow): ditto.
14504         (unmap_subwindow): ditto.
14505         (map_subwindow): ditto
14506         (subwindow_instantiate): ditto.
14507         * glyphs-msw.c (mswindows_update_widget): ditto.
14508         (mswindows_progress_gauge_instantiate): ditto.
14509         (mswindows_tab_control_update): ditto.
14510         * glyphs-x.c (x_update_widget): ditto.
14511         (x_widget_instantiate): ditto.
14512         (x_tab_control_instantiate): ditto.
14513         (x_tab_control_update): ditto.
14514         * event-msw.c (mswindows_wnd_proc): ditto
14515
14516         * glyphs-widget.c (image_instantiator_layout): use
14517         subwindow_decode_domain.
14518         (image_instantiator_buttons): ditto.
14519         (image_instantiator_edit_fields): ditto.
14520         (image_instantiator_combo_box): ditto.
14521         (image_instantiator_scrollbar): ditto.
14522         (image_instantiator_progress_guage): ditto.
14523         (image_instantiator_tree_view): ditto.
14524         (image_instantiator_tab_control): ditto.
14525         (image_instantiator_labels): ditto.
14526         (image_instantiator_layout): ditto.
14527
14528         * glyphs.c: add instance error checking to many functions.
14529         (instantiate_image_instantiator): decode device from cache_domain.
14530         (image_instantiate): partially rewrite by using
14531         decode_image_instantiator_domain to determine what domain the
14532         instance needs to be cached in.
14533         (decode_image_instantiator_domain): new function. Determine what
14534         domain the image needs to be cached in.
14535         (check_window_subwindow_cache): new error checking function.
14536         (check_instance_cache_mapper): ditto.
14537         (check_image_instance_structure): ditto.
14538         (subwindow_decode_domain): new function. Encodes a window as a
14539         subwindow's cache domain.
14540         (image_instantiator_format_create): use it for text and
14541         subwindows.
14542
14543 2000-04-21  Andy Piper  <andy@xemacs.org>
14544
14545         * glyphs.c (image_instance_device): new function.
14546         (image_instance_frame): new function.
14547         (image_instance_window): new function.
14548         (image_instance_live_p): new function.
14549
14550         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14551         cache to nil.
14552
14553         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14554         (IMAGE_INSTANCE_DOMAIN): new accessor.
14555         (XIMAGE_INSTANCE_DOMAIN): ditto.
14556
14557         * glyphs-x.c (x_finalize_image_instance): device->domain.
14558
14559         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14560         (mswindows_finalize_image_instance): ditto.
14561
14562         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14563         (gif_instantiate): ditto.
14564         (png_instantiate): ditto.
14565         (tiff_instantiate): ditto.
14566
14567         * glyphs.c (instantiate_image_instantiator): use domain rather
14568         than device.
14569         (mark_image_instance): device -> domain.
14570         (print_image_instance): ditto.
14571         (finalize_image_instance): ditto.
14572         (image_instance_equal): ditto.
14573         (allocate_image_instance): ditto.
14574         (Fcolorize_image_instance): ditto.
14575         (query_string_geometry): ditto.
14576         (image_instantiate): ditto
14577         (query_string_font): ditto.
14578         (image_instantiate): ditto.
14579         (update_subwindow): ditto.
14580         (unmap_subwindow): ditto.
14581         (map_subwindow): ditto.
14582         (subwindow_instantiate): ditto.
14583
14584         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14585         (DOMAIN_FRAME): ditto.
14586         (DOMAIN_WINDOW): ditto.
14587         (DOMAIN_LIVE_P): ditto.
14588         (XDOMAIN_DEVICE): ditto.
14589         (XDOMAIN_FRAME): ditto.
14590         (XDOMAIN_WINDOW): ditto.
14591
14592         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14593         a valid specifier domain.
14594
14595 2000-04-19  Andy Piper  <andy@xemacs.org>
14596
14597         * glyphs-widget.c (syms_of_glyphs_widget): remove
14598         widget-callback-current-channel.
14599         (vars_of_glyphs_widget): ditto.
14600         * glyphs.h: ditto
14601
14602         * gui.c (get_gui_callback): revert to previous behaviour.
14603
14604 2000-04-18  Andy Piper  <andy@xemacs.org>
14605
14606         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14607         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14608         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14609
14610         * glyphs.c (image_instance_equal): add margin_width.
14611         (image_instance_hash): ditto.
14612
14613         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14614         (layout_query_geometry): ditto.
14615         (layout_layout): ditto.
14616         (syms_of_glyphs_widget): add margin-width.
14617         (image_instantiator_layout): allow margin-width.
14618
14619         * glyphs.c (update_widget_instances): make a normal function.
14620         (syms_of_glyphs): remove Qupdate_widget_instances.
14621         * glyphs.h: ditto.
14622
14623         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14624         so that we don't corrupt ideas about the last event or
14625         command. Remove widget-callback-current-channel fiddling.
14626         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14627
14628 2000-05-01  Martin Buchholz <martin@xemacs.org>
14629
14630         * XEmacs 21.2.33 is released.
14631
14632 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14633
14634         * make-src-depend: Allow dots in header file name.
14635
14636 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14637
14638         * mule-charset.h (struct charset_lookup): Add
14639         next_allocated_1_byte_leading_byte and
14640         next_allocated_2_byte_leading_byte.
14641         * mule-charset.c: Move above two variables so that those values
14642         will be dumped.
14643
14644 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14645
14646         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14647         when string length is zero.
14648         (find_charsets_in_emchar_string): Ditto.
14649
14650 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14651
14652         * lisp.h: extern Qdialog and Qmenubar.
14653
14654         * gui-x.c: added events.h.
14655                 also fixed typo which made the file uncompilable.
14656
14657         * general.c: Added Qmenubar and Qdialog
14658
14659 2000-04-28  Ben Wing  <ben@xemacs.org>
14660
14661         * frame-msw.c (mswindows_init_frame_1):
14662         * frame-msw.c (mswindows_mark_frame):
14663         * event-msw.c (mswindows_enqueue_dispatch_event):
14664         * console-msw.h:
14665         * console-msw.h (struct mswindows_frame):
14666         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14667         there are now three hash tables for callbacks.
14668         mswindows_enqueue_dispatch_event is no longer static.
14669
14670         * dialog-x.c (maybe_run_dbox_text_callback):
14671         * dialog-x.c (dbox_descriptor_to_widget_value):
14672         switch to new cons3 form for callbacks.
14673
14674         * glyphs-msw.c (mswindows_register_gui_item):
14675         * glyphs-msw.c (mswindows_widget_instantiate):
14676         * glyphs-msw.c (add_tree_item):
14677         * glyphs-msw.c (add_tab_item):
14678         new image instance parameter, so it can be passed to callback-ex.
14679         respect :callback-ex as well as :callback.
14680
14681         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14682         add :callback-ex.
14683
14684         * glyphs.c (print_image_instance):
14685         prettify, e.g. now prints widget type.
14686
14687         * gui-x.h:
14688         certain funs have new image instance parameter.
14689
14690         * gui.c:
14691         * gui.c (get_gui_callback):
14692         * gui.c (gui_item_add_keyval_pair):
14693         * gui.c (gui_item_init):
14694         * gui.c (gui_add_item_keywords_to_plist):
14695         * gui.c (mark_gui_item):
14696         * gui.c (gui_item_hash):
14697         * gui.c (gui_item_equal):
14698         * gui.c (copy_gui_item):
14699         * gui.c (syms_of_gui):
14700         recognize callback-ex in a number of places.
14701         also, fix the annoying "can't get out of yes-no dialog" bug.
14702
14703         * gui.h:
14704         * gui.h (struct Lisp_Gui_Item):
14705         recognize callback-ex in a number of places.
14706
14707         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14708         new parameter in button_item_to_widget_value.
14709
14710         * glyphs-x.c (x_update_widget):
14711         * glyphs-x.c (x_button_instantiate):
14712         * glyphs-x.c (x_button_update):
14713         * glyphs-x.c (x_progress_gauge_instantiate):
14714         * glyphs-x.c (x_edit_field_instantiate):
14715         * glyphs-x.c (x_combo_box_instantiate):
14716         * glyphs-x.c (x_tab_control_instantiate):
14717         * glyphs-x.c (x_label_instantiate):
14718         new image instance parameter in various places.
14719
14720         * event-Xt.c:
14721         * event-Xt.c (enqueue_Xt_dispatch_event):
14722         this fun gets exported.
14723
14724         * gui-msw.c:
14725         * gui-msw.c (mswindows_handle_gui_wm_command):
14726         handle both :callback and :callback-ex, and generate our own
14727         event because it's one of the callback-ex arguments.
14728
14729         * gui-x.c:
14730         * gui-x.c (popup_selection_callback):
14731         handle both :callback and :callback-ex, and generate our own
14732         event because it's one of the callback-ex arguments.
14733         * gui-x.c (button_item_to_widget_value):
14734         * gui-x.c (gui_items_to_widget_values_1):
14735         * gui-x.c (gui_item_children_to_widget_values):
14736         * gui-x.c (gui_items_to_widget_values):
14737         new image instance parameter in various places.
14738
14739         * fns.c (Freplace_list):
14740         fix small typo in doc string.
14741
14742         * lisp.h:
14743         declare enqueue_Xt_dispatch_event.
14744
14745 2000-04-28  Ben Wing  <ben@xemacs.org>
14746
14747         * buffer.c:
14748         * buffer.c (Frecord_buffer):
14749         * buffer.c (syms_of_buffer):
14750         delete record-buffer-hook.
14751
14752         * fns.c:
14753         * fns.c (Freplace_list):
14754         * fns.c (syms_of_fns):
14755         new primitive replace-list.
14756
14757         * frameslots.h:
14758         slot for old buffer-alist.
14759
14760         * lisp.h:
14761         exfun replace-list.
14762
14763         * redisplay.c:
14764         * redisplay.c (redisplay_frame):
14765         * redisplay.c (syms_of_redisplay):
14766         * redisplay.c (vars_of_redisplay):
14767         new hook buffer-list-changed-hook.
14768         call it.
14769
14770 2000-04-27  Ben Wing  <ben@xemacs.org>
14771
14772         * extents.h: extern in_modeline_generation.
14773
14774         * redisplay.c (generate_formatted_string_db): set
14775         in_modeline_generation.
14776
14777         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14778         flags if in modeline generation.  otherwise frame-modified-tick
14779         is ticked far too often.
14780         Declare in_modeline_generation.
14781
14782 2000-04-26  Ben Wing  <ben@xemacs.org>
14783
14784         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14785         option.
14786         (vars_of_emacs): add quick-build as an error-checking option.
14787         A bit kludgy, but there doesn't seem much point in creating
14788         a real var for this.
14789
14790         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14791
14792 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14793
14794         * redisplay.h (struct display_line): Add a new variable,
14795         line_continuation.
14796
14797         * redisplay.c (create_text_block): Set dl->line_continuation if
14798         the line continues.
14799         (create_string_text_block): Ditto.
14800         (regenerate_window_incrementally): Use line_continuation instead
14801         of searching continuation glyph.
14802         (add_margin_runes): Call add_glyph_rune.
14803         (add_glyph_rune): Handle margin glyph.
14804
14805 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14806
14807         * filelock.c (fill_in_lock_file_name):
14808         ANSIfy.
14809         Check for IS_ANY_SEP instead of '/'.
14810         (lock_file_1):
14811         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14812         Never check errno without first seeing that system call failed.
14813         (unlock_file): Add GCPRO.
14814         (Flock_buffer): Fix docstring.
14815         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14816
14817 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14818
14819         * sysdep.c (get_pty_max_bytes):
14820         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14821         strings longer than 252 bytes.
14822
14823         * md5.c: Unconditionally include ANSI header <limits.h>
14824
14825         * glyphs-x.c (convert_EImage_to_XImage):
14826         * lisp-union.h (union Lisp_Object):
14827         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14828
14829 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14830
14831         * filelock.c (current_lock_owner): Remove unused variable o, p.
14832
14833 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14834
14835         * callint.c: Remove multiply defined symbol Qlet
14836         (syms_of_callint): ditto.
14837
14838 2000-04-14  Andy Piper  <andy@xemacs.org>
14839
14840         * general.c (syms_of_general): add last-command, this-command, let
14841         and funcall.
14842
14843         * lisp.h: declare various symbols.
14844
14845         * glyphs.h: declare Qwidget_callback_current_channel;
14846
14847         * glyphs-widget.c (syms_of_glyphs_widget): add
14848         Qgui_callback_current_channel.
14849         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14850
14851         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14852         widget-callback-current-channel when invoking the interactive
14853         arg. Also bind last-command and next-command when invoking the
14854         widget updates.
14855         * gui-x.c (popup_selection_callback): ditto.
14856
14857         * gui.c (get_gui_callback): massage args so that we are always
14858         calling eval. This allows us to add our own variable bindings
14859         outside.
14860
14861         * glyphs-x.c (x_button_instantiate): use
14862         gui_items_to_widget_values since this is GC safe.
14863         (x_progress_gauge_instantiate): ditto.
14864         (x_edit_field_instantiate): ditto.
14865         (x_label_instantiate): ditto.
14866
14867         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14868         (emacs_Xt_event_widget_focus_out): new function
14869         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14870         focus.
14871         (emacs_Xt_event_add_widget_actions): new function. add focus
14872         functions as actions.
14873         (init_event_Xt_late): use it.
14874
14875 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14876
14877         * event-stream.c (Fdispatch_event): Doc fix.
14878
14879 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14880
14881         * postgresql.c: Remove all references to PQsetenv*.
14882
14883         * postgresql.h: Remove references to PGsetenvHandler object.
14884         * lrecord.h (lrecord_type): Ditto.
14885
14886 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14887
14888         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14889         real_heigh and real_width members, and accessor macros for these.
14890
14891         * glyphs-msw.c (init_image_instance_geometry): New function.
14892         (init_image_instance_from_dibitmap): Use it.
14893         (mswindows_resource_instantiate): Use it.
14894         (init_image_instance_from_xbm_inline): Use it.
14895         (mswindows_initialize_image_instance_mask): Use real bitmap
14896         geometry.
14897         (mswindows_create_resized_bitmap): Ditto.
14898         (mswindows_create_resized_mask): Ditto.
14899
14900         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14901         and bitmap to their surface size.
14902
14903 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14904
14905         * process-unix.c (unix_send_process): Guard against process MIA
14906         after Faccept_process_output.
14907
14908 2000-04-11  Ben Wing  <ben@xemacs.org>
14909
14910         * eval.c (unbind_to_hairy): fix brokenness introduced by
14911         nanosecond speed improvements.
14912
14913 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14914
14915         * sunplay.c (init_device): To play sounds correctly, the device
14916         apparently needs to be initialized at least once by XEmacs.  Make
14917         it so.
14918
14919 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14920
14921         * redisplay.c (add_margin_runes): Add text image glyph
14922           handling.
14923
14924 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14925
14926         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14927         gcc is newer than 2.5.
14928
14929 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14930
14931         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14932
14933         * fns.c (size_bit_vector):
14934         * alloc.c (size_vector):
14935         (make_vector_internal):
14936         (make_bit_vector_internal):
14937         (sweep_bit_vectors_1):
14938         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14939
14940 2000-04-06  Andy Piper  <andy@xemacs.org>
14941
14942         * gmalloc.c (malloc): undo previous change.
14943         (malloc): ditto.
14944         (free): ditto.
14945         (realloc): ditto.
14946
14947 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14948
14949         * line-number.c (buffer_line_number): Revert to former version.
14950
14951 2000-04-06  Andy Piper  <andy@xemacs.org>
14952
14953         * gmalloc.c (malloc): add error checking.
14954         (malloc): ditto.
14955         (free): ditto.
14956         (realloc): ditto.
14957
14958         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14959         button_item_to_widget_value arg.
14960
14961         * glyphs-x.c (x_button_instantiate): add extra
14962         button_item_to_widget_value arg.
14963         (x_progress_gauge_instantiate): ditto.
14964         (x_edit_field_instantiate): ditto.
14965         (x_label_instantiate): ditto.
14966
14967         * gui-x.c (gui_items_to_widget_values_1): add extra
14968         button_item_to_widget_value arg.
14969         (button_item_to_widget_value): add extra menu_item_p arg.
14970
14971         * gui-x.h: change signature of button_item_to_widget_value.
14972
14973         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14974         button_item_to_widget_value arg.
14975
14976 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14977
14978         * buffer.h (struct buffer): auto_save_modified should be long.
14979
14980 2000-04-05  Andy Piper  <andy@xemacs.org>
14981
14982         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14983         type.
14984         (button_query_geometry): give a little more room so that athena
14985         buttons fit.
14986
14987 2000-04-05  Andy Piper  <andy@xemacs.org>
14988
14989         * faces.c (complex_vars_of_faces): The widget face should inherit
14990         the font of the gui-element face.
14991
14992 2000-04-04  Andy Piper  <andy@xemacs.org>
14993
14994         * glyphs-x.c (x_button_update): new function. unconditionally
14995         update a button's state when the instance is dirty.
14996         (image_instantiator_format_create_glyphs_x): add x_button_update.
14997         (x_widget_instantiate): remove old resize cruft.
14998
14999 2000-04-02  Andy Piper  <andy@xemacs.org>
15000
15001         * frame.c (change_frame_size_1): The introduction of gutters means
15002         that we need to allow 0 as a potential frame dimension.
15003
15004 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15005
15006         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15007         image glyph if allow_cursor.
15008         (add_hscroll_rune): Don't allow cursor to border glyph.
15009         (create_text_block): Ditto.
15010
15011         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15012         text not in buffer.
15013         (redisplay_output_layout): Call ensure_face_cachel_complete for
15014         text image glyph.
15015
15016
15017 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15018
15019         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15020
15021         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15022         not in buffer
15023
15024         * redisplay-tty.c (tty_output_display_block): Delete the routine
15025         for text image glyph
15026         * redisplay-x.c (x_output_display_block): ditto
15027         * redisplay-msw.c (mswindows_output_display_block): ditto
15028
15029 2000-02-02  Mike Alexander  <mta@arbortext.com>
15030
15031         Note: Some of these were committed by accident as part of other
15032         patches.
15033
15034         * regex.c (regex_compile): Avoid compiler warnings.
15035
15036         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15037
15038         * nt.h: Declare term_ntproc correctly.
15039
15040         * nt.c: Remove incorrect declaration of get_home_directory which
15041         is declared correctly in lisp.h.
15042
15043         * keymap.c (get_keyelt): Avoid compiler warnings.
15044         (raw_lookup_key_mapper): Avoid compiler warnings.
15045
15046         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15047
15048         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15049
15050         * filemode.c (mode_string): Avoid compiler warnings.
15051
15052         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15053         avoid warning.
15054
15055         * events-mod.h: Undef some things that winuser.h defines differently.
15056
15057         * data.c (Faset): Avoid compiler warnings.
15058
15059         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15060
15061 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15062
15063         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15064         Fall through to simple beep on error.
15065         Replace "extern" by real header file.
15066
15067         * linuxplay.c: Use nativesound.h
15068         (play_sound_data): Return error code. Be less verbose on error.
15069
15070         * sunplay.c: Use nativesound.h
15071         (play_sound_data): Return error code. Be less verbose on error.
15072
15073         * ntplay.c: Use nativesound.h
15074         (play_sound_data): Return fake error code
15075
15076         * sgiplay.c: Use nativesound.h
15077         (play_sound_data): Return error code
15078
15079         * hpplay.c: Use nativesound.h, partially implement
15080         new error code. Break compilation until finished.
15081         (play_sound_data): error code.
15082
15083         * nativesound.h (play_sound_file):
15084           (play_sound_data): Prototype in new header.
15085
15086 2000-03-31  Andy Piper  <andy@xemacs.org>
15087
15088         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15089         for toggle and radio buttons.
15090         (image_instantiator_buttons): use it.
15091
15092 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15093
15094         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15095         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15096         found. Scrollbar event probably belonged to some old config.
15097
15098 2000-03-31  Andy Piper  <andy@xemacs.org>
15099
15100         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15101         than 1.
15102         (initialize_widget_image_instance): default layout to
15103         LAYOUT_HORIZONTAL rather than 0.
15104         (widget_instantiate): reverse the item list at the end rather than
15105         every iteration.
15106         (layout_layout): re-code for the border text at the front of the
15107         item list rather than at the end.
15108         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15109         provided by the user.
15110         (widget_query_geometry): comment.
15111
15112 2000-03-30  Andy Piper  <andy@xemacs.org>
15113
15114         * glyphs-widget.c (image_instantiator_layout): allow standard
15115         widget keywords in layouts.
15116
15117         * gutter.c (output_gutter): cope with nil gutter contents.
15118
15119         * frame.c (Fset_frame_properties): add gutter docs.
15120
15121 2000-03-29  Andy Piper  <andy@xemacs.org>
15122
15123         * toolbar-msw.c (TBSTYLE_FLAT): add.
15124         (mswindows_output_toolbar): minor fiddling.
15125
15126 2000-03-29  Andy Piper  <andy@xemacs.org>
15127
15128         * gutter.c (output_gutter): force gutter size recalculation if
15129         what we are trying to display won't fit.
15130         (update_gutter_geometry): new function. A per-gutter version of
15131         update_frame_gutter_geometry.
15132         (update_frame_gutter_geometry): use it.
15133         (redraw_exposed_gutter): add extra debugging output.
15134
15135 2000-03-28  Mike Alexander  <mta@arbortext.com>
15136
15137         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15138         (pdump_file_unmap): Implement it on Windows
15139         (pdump_file_get): Save alocated handles for pdump_file_unmap
15140
15141 2000-03-28  Andy Piper  <andy@xemacs.org>
15142
15143         * gui.c (get_gui_callback): treat Quit specially.
15144
15145 2000-03-27  Andy Piper  <andy@xemacs.org>
15146
15147         * glyphs.c (image_instantiate): be careful to check in the same
15148         way we assigned.
15149
15150 2000-03-27  Didier Verna  <didier@xemacs.org>
15151
15152         * config.h.in: define the proper SMART_INCLUDE macro.
15153         handle renaming of `foo_h_path' to `foo_h_file'.
15154
15155         * database.c: ditto.
15156
15157         * emacs.c: ditto.
15158
15159         * linuxplay.c: ditto.
15160
15161         * terminfo.c: ditto.
15162
15163         * tooltalk.h: ditto.
15164
15165 2000-03-27  Andy Piper  <andy@xemacs.org>
15166
15167         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15168         gets updated whenever the face might have changed.
15169
15170 2000-03-26  Mike Alexander  <mta@arbortext.com>
15171
15172         * dumper.c (pdump_resource_free): Fix the comment.
15173
15174 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15175
15176         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15177
15178 2000-03-22  Mike Alexander  <mta@arbortext.com>
15179
15180         * dumper.c: Include Windows headers on Windows
15181         (pdump_resource_free): Add a body to the function
15182         (pdump_load): exe_name -> exe_path and add some comments.
15183
15184 2000-03-25  Mike Alexander  <mta@arbortext.com>
15185
15186         * gui.c (copy_gui_item_tree): Return a value in all cases
15187
15188 2000-03-21  Didier Verna  <didier@xemacs.org>
15189
15190         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15191         lwlib/config.h.in.
15192         (SMART_INCLUDE): new macro.
15193         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15194         the proper location.
15195
15196         * postgresql.c: use it.
15197
15198         * inline.c: ditto.
15199
15200 2000-03-24  Andy Piper  <andy@xemacs.org>
15201
15202         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15203         do this.
15204
15205 2000-03-24  Andy Piper  <andy@xemacs.org>
15206
15207         * redisplay-output.c (compare_runes): use image_instance_changed
15208         to detect changes. Do not depend on glyphs_changed, only depend on
15209         dirtiness.
15210          (redisplay_output_layout): add debug messages.
15211         (compare_runes): ditto.
15212
15213         * glyphs.h: declare new functions.
15214         (struct Lisp_Image_Instance): remove percent and associated
15215         accessors.
15216
15217         * gui.h: declare new copying functions.
15218
15219         * gui.c (copy_gui_item_tree): new function.
15220         (copy_gui_item): new function.
15221         (gui_item_id_hash): revert to standard hash.
15222         (gui_item_hash): ditto.
15223         (gui_item_hash_internal): deleted.
15224         (mark_gui_item): mark value.
15225         (gui_item_add_keyval_pair): add value.
15226         (gui_item_init): ditto.
15227         (gui_add_item_keywords_to_plist): ditto.
15228         (gui_item_equal): ditto.
15229         (syms_of_gui): add Q_value.
15230
15231         * glyphs-x.c (x_progress_gauge_update): use pending items and
15232         value for setting the state.
15233         (x_update_widget): don't set items from pending here.
15234
15235         * glyphs-widget.c (update_widget): update items here.
15236         (progress_gauge_set_property): use items for storing value. Put
15237         new value in pending items.
15238
15239         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15240         items for new value. Convert percent -> value.
15241         (mswindows_tab_control_update): don't update items here.
15242
15243         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15244         (update_subwindow): ditto.
15245         (image_instance_changed): new function. Compare hash values and
15246         past and present widget items.
15247         (image_instantiate): We more careful about where we instantiate
15248         things.
15249         (image_instantiate): add error checking.
15250
15251         * gutter.c (syms_of_gutter): use -hook.
15252
15253 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15254
15255         * console-tty.c (Fset_console_tty_input_coding_system): Use
15256         Qkeyboard.
15257         (Fset_console_tty_output_coding_system): Use Qterminal.
15258         (tty_init_console): Use Qkeyboard and Qterminal.
15259
15260 2000-03-21  Ben Wing  <ben@xemacs.org>
15261
15262         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15263         From Mike Alexander <mta@arbortext.com>.
15264
15265 2000-03-21  Ben Wing  <ben@xemacs.org>
15266
15267         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15268         process brokenness.  Proper implementation to come.
15269         * callproc.c:
15270         Rename call-process-internal to old-call-process-internal.
15271         New impl. in process.el.
15272
15273 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15274
15275         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15276
15277 2000-03-20  Andy Piper  <andy@xemacs.org>
15278
15279         * glyphs.c (full_list_hash): make hashes of the same elements in
15280         different orders return different values.
15281
15282 2000-03-20  Martin Buchholz <martin@xemacs.org>
15283
15284         * XEmacs 21.2.32 is released.
15285
15286 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15287
15288         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15289         (DFC_MALLOC_USE_CONVERTED_DATA):
15290         Add aliasing-safe casts to allow use with char* or unsigned char*
15291         lvalues.
15292
15293         * eldap.c (Fldap_open):
15294         (Fldap_search_basic):
15295         (Fldap_add):
15296         (Fldap_modify):
15297         Make C++-compilable.
15298         Make sure GCPRO'ed variables are initialized.
15299         Use temp variables to avoid repeated calls to Flength.
15300
15301 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15302
15303         * sysfile.h:
15304         Make sure PATH_MAX is always defined.
15305         Include limits.h for PATH_MAX.
15306         Deprecate use of MAXPATHLEN.
15307
15308 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15309
15310         * emacs.c: Add reinit_vars_of_fileio.
15311         * symsinit.h: Add reinit_vars_of_fileio.
15312         * fileio.c (reinit_vars_of_fileio): New.
15313         * fileio.c (Fmake_temp_name):
15314         Initialize temp_name random number from microseconds to make
15315         collisions even less likely.  Initialize always at process startup
15316         time.  (make-temp-name) used to return the same file name twice in
15317         a row when PDUMP.
15318         Random stylistic fiddling.
15319         Comment fixes.
15320
15321 2000-03-20  Andy Piper  <andy@xemacs.org>
15322
15323         * glyphs.c (image_instantiate): allow text glyphs to be
15324         instantiated in the minibuffer window.
15325
15326 2000-03-19  Andy Piper  <andy@xemacs.org>
15327
15328         * glyphs.c (image_instance_hash): be careful about which items we
15329         hash on.
15330
15331         * glyphs-widget.c (tab_control_set_property): record into pending
15332         items rather than the actual items.
15333
15334         * glyphs-x.c (x_update_widget): use pending items to update with.
15335
15336         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15337         to update with.
15338
15339         * glyphs.c (mark_image_instance): mark pending items.
15340
15341         * window.c (Fset_window_configuration): record the buffer.
15342         (Fselect_window): totally revert previous change which breaks many
15343         things.
15344
15345 2000-03-18  Andy Piper  <andy@xemacs.org>
15346
15347         * glyphs-msw.c (mswindows_tab_control_update): force selected
15348         item.
15349
15350         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15351         window domain cache, otherwise we get inconsistencies at
15352         startup. There is something fishy at startup which can lead to the
15353         minibuffer being the selected window when the gutter content is
15354         instantiated.
15355
15356         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15357         gcpros.
15358         (parse_gui_item_tree_children): ditto.
15359         (parse_gui_item_tree_item): ditto.
15360
15361         * glyphs.c (Fupdate_widget_instances): return something.
15362
15363 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15364
15365         * window.c (Fselect_window): Undo 2000-03-17 change.
15366
15367 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15368
15369         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15370         against v7.0 libraries.  Insta-coredump city until the postgres
15371         folks fix it.
15372
15373 2000-03-17  Andy Piper  <andy@xemacs.org>
15374
15375         * faces.c (complex_vars_of_faces): don't give the widget face an
15376         inherited background pixmap.
15377
15378         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15379         selected item.
15380
15381         * event-stream.c (Fdispatch_non_command_events): return something.
15382
15383         * gutter.c (output_gutter): use widget face.
15384         (clear_gutter): ditto.
15385
15386         * NEWS: adjust again.
15387
15388         * window.c (Fselect_window): make sure this runs to completion to
15389         avoid oddities with Fset_window_configuration.
15390         (Fcurrent_window_configuration): in general do not save the
15391         minibuffer as the selected window.
15392
15393         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15394
15395 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15396
15397         * emacs.c (Frunning_temacs_p): Revert previous patch.
15398         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15399
15400 2000-03-16  Andy Piper  <andy@xemacs.org>
15401
15402         * glyphs-x.c (x_tab_control_update): if no widget values then
15403         return.
15404
15405         * NEWS: update for new features.
15406
15407         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15408         synthetic event to the native system.
15409         (reinit_vars_of_event_Xt): set force_event_pending to
15410         emacs_Xt_force_event_pending.
15411
15412         * events.h (struct event_stream): add force_event_pending.
15413
15414         * specifier.c (recompute_one_cached_specifier_in_window): add
15415         comment.
15416
15417         * redisplay.c (redisplay_frame): don't call
15418         update_frame_subwindows. Reset subwindow cachels when
15419         subwindows_changed, removing this was an optimization too far.
15420
15421         * redisplay-output.c (compare_runes): reorganize so that we catch
15422         glyph changes when we want them. Set optimize_output when this
15423         would help layouts.
15424         (redisplay_output_layout): remove frame_really_changed, use
15425         optimize_output instead.
15426
15427         * redisplay-msw.c (mswindows_output_display_block): reset
15428         optimize_output after outputting a glyph.
15429         * redisplay-x.c (x_output_display_block): ditto.
15430         * redisplay-tty.c (tty_output_display_block): ditto.
15431
15432         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15433         functions.
15434         (gutter_specs_changed): do specific gutter positions.
15435         (top_gutter_specs_changed): new function. Only update the
15436         specified gutter specs.
15437         (bottom_gutter_specs_changed): ditto.
15438         (left_gutter_specs_changed): ditto.
15439         (right_gutter_specs_changed): ditto.
15440
15441         * gui.c (gui_item_hash_internal): new function, does a real hash.
15442         (gui_item_id_hash): use it.
15443         (gui_item_hash): hash the eval'ed gui_item.
15444
15445         * gui-x.c (popup_selection_callback): send an eval event to call
15446         Fupdate_widget_instances.
15447
15448         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15449         to call Fupdate_widget_instances.
15450
15451         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15452         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15453
15454         * glyphs.c: (update_frame_subwindows): deleted.
15455         (Fupdate_widget_instances): new function for updating the dirty
15456         state of widgets that might have changed.
15457         (syms_of_glyphs): add Qupdate_widget_instances.
15458         (full_list_hash): hash a list completely.
15459         (image_instance_hash): use it for items and properties.
15460
15461         * frame-msw.c (mswindows_size_frame_internal): remove unused
15462         variable.
15463
15464         * faces.h (struct face_cachel): fix comment.
15465
15466         * event-stream.c (Fdispatch_non_command_events): new
15467         function. Process non-command events, forcing an event cycle
15468         beforehand.
15469         (syms_of_event_stream): declare.
15470         (event_stream_force_event_pending): new function. Force an event
15471         on the native event queue so that an event cycle will occur next
15472         time we check.
15473
15474         * event-msw.c:
15475         (struct ntpipe_shove_stream):
15476         (mswindows_enqueue_dispatch_event):
15477         (mswindows_dequeue_dispatch_event):
15478         (mswindows_cancel_dispatch_event):
15479         (mswindows_pump_outstanding_events):
15480         (mswindows_drain_windows_queue):
15481         (mswindows_handle_paint):
15482         (mswindows_wnd_proc):
15483         (mswindows_key_to_emacs_keysym):
15484         (get_process_input_waitable):
15485         (emacs_mswindows_delete_stream_pair): re-indent file.
15486         (mswindows_need_event): do not process further fds if the windows
15487         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15488         fixes the 100% cpu problem.
15489         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15490
15491 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15492
15493         * alloc.h: New.
15494         * dumper.h: New.
15495         * dumper.c: New.
15496
15497         * emacs.c: Moved dump file searching to dumper.c.
15498         (Frunning_temacs_p): Fixed.
15499
15500         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15501         last_lrecord_type_index_assigned.
15502
15503 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15504
15505         * symsinit.h: Added reinit parameter to init_console_stream
15506         declaration.
15507
15508         * lisp.h: Added file parameter to pdump_load declaration.
15509
15510         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15511         support.  Added dump file searching.
15512
15513         * config.h.in: Added EMACS_PROGNAME.
15514
15515         * console-stream.c (init_console_stream): Fix reinitialisation
15516         when running from temacs.
15517
15518         * alloc.c (pdump): Add id support.
15519         (pdump_load): Add file parameter and signature/id support.
15520
15521         * Makefile.in.in: Add full pdump support.
15522
15523 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15524
15525         * postgresql.c: Update documentation to reflect latest code
15526         status.
15527         (print_result): Show tuple counts in printed representation when
15528         appropriate.
15529         (Fpq_put_nbytes): MULE-ize.
15530         (Fpq_get_line_async): Ditto.
15531
15532 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15533
15534         * postgresql.c (Fpq_lo_import): Fix return value.
15535         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15536
15537 2000-03-13  Ben Wing  <ben@xemacs.org>
15538
15539         * alloc.c (pdump_load):
15540         Fix compile warning under mswin.
15541
15542 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15543
15544         * postgresql.c: Mule-ization, bug fixes.
15545         Use PG_CODING to encapsulate coding system name changes.
15546         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15547         (pg-coding-system): Create.
15548
15549         (Fpq_conn_defaults): Mule-ize.
15550         (Fpq_connectdb): Mule-ize & bug fix.
15551         (Fpq_connect_start): Mule-ize.
15552         (Fpq_set_client_encoding): Mule-ize.
15553         (Fpq_finish): Document `DEAD' connection status.
15554         (Fpq_clear): Ditto.
15555         (Fpq_pgconn): Mule-ize.
15556         (Fpq_exec): Mule-ize & bug fix.
15557         (Fpq_send_query): Ditto.
15558         (Fpq_get_result): Ditto.
15559         (Fpq_res_status): Mule-ize.
15560         (Fpq_result_error_message): Mule-ize.
15561         (Fpq_ntuples): fix comments.
15562         (Fpq_fname): Mule-ize.
15563         (Fpq_fnumber): Mule-ize.
15564         (Fpq_ftype): fix comments.
15565         (Fpq_get_value): Mule-ize.
15566         (Fpq_cmd_status): Ditto.
15567         (Fpq_cmd_tuples): Ditto.
15568         (Fpq_oid_value): Ditto.
15569         (Fpq_notifies): Ditto.
15570         (Fpq_lo_import): Ditto.
15571         (Fpq_lo_export): Ditto.
15572         (Fpq_get_line): Ditto.
15573         (Fpq_put_line): Mule-ize and bug fix.
15574         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15575
15576 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15577
15578         * postgresql.c (vars_of_postgresql): Mule-ize.
15579         (Fpq_conn_defaults): Ditto.
15580
15581 2000-03-12  Ben Wing  <ben@xemacs.org>
15582
15583         * alloc.c (Fmake_byte_code):
15584         * alloc.c (debug_string_purity_print):
15585         * alloc.c (pdump_backtrace):
15586         * alloc.c (pdump_get_indirect_count):
15587         * alloc.c (pdump_register_sub):
15588         * alloc.c (pdump_register_object):
15589         * alloc.c (pdump_register_struct):
15590         * alloc.c (pdump_dump_data):
15591         * alloc.c (pdump_reloc_one):
15592         Minor cleanups.
15593
15594         * console-msw.c:
15595         * console-msw.c (GetConsoleHwnd):
15596         * console-msw.c (msw_hide_console):
15597         * console-msw.c (msw_show_console):
15598         * console-msw.c (msw_ensure_console_buffered):
15599         * console-msw.c (msw_output_console_string):
15600         * console-msw.c (console_type_create_mswindows):
15601
15602         a) Added functions to manipulate the console window for use with
15603         shell support.
15604
15605         b) Added support for writing text to the console, which is now
15606         used under Windows when xemacs is not being run non-interactively,
15607         to write text that would otherwise be destined for stdout because
15608         under these circumstances, text written to stdout tends to
15609         disappear and not be seen.
15610
15611         * console-msw.h:
15612         * event-Xt.c:
15613         * event-Xt.c (x_event_to_emacs_event):
15614         * event-Xt.c (describe_event_window):
15615         * events-mod.h (XEMACS_MOD_CONTROL):
15616         * events.c:
15617         * events.c (Fmake_event):
15618         * events.c (character_to_event):
15619         * events.c (event_to_character):
15620         * events.c (format_event_object):
15621         * events.c (Fevent_modifiers):
15622         * events.h:
15623         * events.h (struct key_data):
15624         * events.h (struct button_data):
15625         * events.h (struct misc_user_data):
15626         * frame-x.c (Fcde_start_drag_internal):
15627         * frame-x.c (Foffix_start_drag_internal):
15628         * gpmevent.c (Freceive_gpm_event):
15629         * keymap.c:
15630         * keymap.c (bucky_sym_to_bucky_bit):
15631         * keymap.c (control_meta_superify):
15632         * keymap.c (make_key_description):
15633         * keymap.c (keymap_lookup_directly):
15634         * keymap.c (create_bucky_submap):
15635         * keymap.c (keymap_store):
15636         * keymap.c (define_key_check_and_coerce_keysym):
15637         * keymap.c (define_key_parser):
15638         * keymap.c (define_key_alternate_name):
15639         * keymap.c (Fdefine_key):
15640         * keymap.c (raw_lookup_key_mapper):
15641         * keymap.c (struct map_keymap_unsorted_closure):
15642         * keymap.c (map_keymap_unsorted_mapper):
15643         * keymap.c (map_keymap_sort_predicate):
15644         * keymap.c (map_keymap_sorted):
15645         * keymap.c (accessible_keymaps_mapper_1):
15646         * keymap.c (where_is_recursive_mapper):
15647         * keymap.c (describe_map_mapper):
15648         * keymap.c (describe_map_sort_predicate):
15649         * keymap.c (describe_map):
15650         * keymap.c (complex_vars_of_keymap):
15651         And a number of other files, the key modifier preprocessor
15652         constants that xemacs uses have names that conflict with constants
15653         defined under MS Windows for other purposes, so they were renamed
15654         to begin with the prefix XEMACS_. The variables that hold such
15655         modifiers were changed to consistently be of type int to fix
15656         various compile warnings.
15657
15658         * console.c (complex_vars_of_console):
15659         * device.c:
15660         * device-msw.c:
15661         * device-msw.c (mswindows_finish_init_device):
15662         * device-msw.c (msw_get_workspace_coords):
15663         * device-msw.c (mswindows_device_system_metrics):
15664         and various other files, added support for a new
15665         device property called offset-workspace which returns the position
15666         of the upper left corner of the workspace area and goes along with
15667         the existing size-workspace property.
15668
15669         * dialog-msw.c:
15670         * dialog-msw.c (push_bufbyte_string_as_unicode):
15671         * dialog-msw.c (mswindows_popup_dialog_box):
15672         Added support for XEmacs-style accelerator specifications in
15673         button text.  Note: I didn't add support for this under X Windows,
15674         and somebody needs to do this.
15675
15676         * dialog.c:
15677         * dialog.c (Fpopup_dialog_box):
15678         Documented the support for accelerators that was just mentioned.
15679
15680         editfns.c (get_home_directory): Changed behavior under Windows
15681         when HOME not defined; former behavior was irretrievably broken.
15682
15683         * emacs.c:
15684         * emacs.c (main_1):
15685         * emacs.c (main):
15686         * minibuf.c (clear_echo_area_internal):
15687         * minibuf.c (echo_area_append):
15688         * print.c:
15689         * print.c (std_handle_out_external):
15690         * print.c (std_handle_out_va):
15691         * print.c (fatal):
15692         * print.c (write_string_to_stdio_stream):
15693         * print.c (output_string):
15694         * print.c (debug_print):
15695         * print.c (debug_backtrace):
15696         * print.c (debug_short_backtrace):
15697         Cleaned up the code that prints text to stdout so that this can be
15698         changed to output into a console window instead under MS Windows,
15699         as described above.
15700
15701         * eval.c:
15702         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15703         * eval.c (internal_catch):
15704         * eval.c (unwind_to_catch):
15705         * eval.c (throw_or_bomb_out):
15706         * eval.c (condition_case_1):
15707         * eval.c (signal_1):
15708         * eval.c (check_error_state_sanity):
15709         * eval.c (call_with_suspended_errors_1):
15710         * eval.c (call_with_suspended_errors):
15711         * eval.c (reinit_vars_of_eval):
15712         Added code to catch throw loops and check for a pesky bug that may
15713         be gone now.
15714
15715         * event-msw.c:
15716         * event-msw.c (key_needs_default_processing_p):
15717         * event-msw.c (mswindows_wnd_proc):
15718         * event-msw.c (mswindows_modifier_state):
15719         * event-msw.c (emacs_mswindows_quit_p):
15720         * event-msw.c (vars_of_event_mswindows):
15721         a) Added support for using the alt key to select menu items as is
15722         standard under MS Windows.  This is controlled using the variable
15723         menu-accelerator-enabled, just like under X Windows.  There is an
15724         option on the options menu to turn this support on.  I really
15725         think that it should be on by default under Windows, but I'm not
15726         going to make this change yet.
15727
15728         b)  Added support for dynamic display size changes under Windows.
15729
15730         * event-stream.c:
15731         * event-stream.c (maybe_echo_keys):
15732         * event-stream.c (Fnext_event):
15733         * event-stream.c (command_builder_find_leaf):
15734         * event-stream.c (lookup_command_event):
15735         * event-stream.c (execute_command_event):
15736         * event-stream.c (pre_command_hook):
15737         * event-stream.c (post_command_hook):
15738         * event-stream.c (syms_of_event_stream):
15739         * event-stream.c (vars_of_event_stream):
15740         * event-stream.c (complex_vars_of_event_stream):
15741         * events.h (struct command_builder):
15742
15743         a) Tried to clean up a little bit the horribly written x-specific
15744         accelerator code that crept into this file.  I moved this code
15745         into menubar-x.c where it belongs. I also needed to move the
15746         command builder structure into the file events.h because it is
15747         accessed directly by this accelerator code.  What I didn't do, but
15748         which should be done at some point, is to properly abstract this
15749         code using device methods instead of the kludgy way that it
15750         currently hooks into the event code.
15751
15752         b) Added the lisp variables this-command-properties and
15753         last-command- properties, which should be used to synchronize two
15754         adjacent commands in preference to playing games with the variable
15755         this-command, which is typically what happens.
15756
15757         c) Added some slightly nasty code to hook into the lisp support
15758         for shifted- motion-key selection.  This is actually necessary for
15759         somewhat complicated reasons, which are described in
15760         simple.el. (NB: I think the proper thing would be to have the code
15761         that calls the pre and post command hooks also call out to generic
15762         lisp functions in simple.el, where all built-in stuff could be
15763         added.  I will think about this more.)
15764
15765         * event-unixoid.c (poll_fds_for_input):
15766         * lread.c (readchar):
15767         * redisplay-tty.c (tty_clear_frame):
15768         * redisplay-x.c (x_get_gc):
15769         * signal.c (interrupt_signal):
15770         And a whole bunch of other files: fixed up places that printed
15771         directly to stderr to instead call the function stderr_out so that
15772         the changes I made under Windows work correctly.
15773
15774         * filemode.c (mode_string):
15775         Warning fixes.
15776
15777         * frame-msw.c:
15778         * frame-msw.c (mswindows_size_frame_internal):
15779         Fixed the computation of frame size and position to keep the frame
15780         within the workspace area, rather than within the physical
15781         dimensions of the screen, so that the frame doesn't overlap window
15782         manager decorations, such as the start menu and toolbar, typically
15783         at the bottom of the screen.
15784
15785         * frame.c (vars_of_frame):
15786         Changed the default frame title format under MS Windows to consist
15787         of buffername-XEmacs, which is standard under MS Windows.  I think
15788         it might be a good idea to change this everywhere because I think
15789         it is superior to the current frame title format, but this is the
15790         kind of change that is likely to cause some people to get annoyed,
15791         so I'm not making it.
15792
15793         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15794
15795         * gui-msw.c (mswindows_handle_gui_wm_command):
15796         Fixed compile warnings.
15797
15798         * gui-x.c:
15799         * gui-x.c (strdup_and_add_accel):
15800         * gui-x.c (button_item_to_widget_value):
15801         * gui-x.h:
15802         Added code to automatically put an accelerator onto the beginning
15803         of menu items that don't have one as is now the standard, and is
15804         described more later.  Also fixed things so that the menu item
15805         name can be an evaluated expression, again a new standard.
15806
15807         * gui.c:
15808         * gui.c (gui_item_add_keyval_pair):
15809         * gui.c (make_gui_item_from_keywords_internal):
15810         * gui.c (gui_add_item_keywords_to_plist):
15811         * gui.c (gui_item_accelerator):
15812         * gui.c (gui_name_accelerator):
15813         * gui.c (gui_item_included_p):
15814         * gui.c (gui_item_display_flush_left):
15815         * gui.c (gui_item_display_flush_right):
15816         * gui.c (parse_gui_item_tree_item):
15817         * gui.c (parse_gui_item_tree_children):
15818         * gui.c (parse_gui_item_tree_list):
15819         Mule-ized.  Cleanup.  GCPRO addition.
15820
15821         * line-number.c (buffer_line_number):
15822         * lisp.h:
15823         * lisp.h (EMACS_INT_MAX):
15824         Added the manifest constant EMACS_INT_MIN corresponding to the
15825         existing constant EMACS_INT_MAX.  This is partially to fix compile
15826         warnings under Windows, and partly for cleanliness.
15827
15828         * menubar-msw.c:
15829         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15830         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15831         * menubar-msw.c (displayable_menu_item):
15832         * menubar-msw.c (populate_menu_add_item):
15833         * menubar-msw.c (populate_or_checksum_helper):
15834         * menubar-msw.c (populate_menu):
15835         * menubar-msw.c (update_frame_menubar_maybe):
15836         * menubar-msw.c (prune_menubar):
15837         * menubar-msw.c (msw_char_is_accelerator):
15838         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15839         * menubar-msw.c (mswindows_handle_wm_command):
15840         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15841         * menubar-msw.c (mswindows_handle_wm_initmenu):
15842         * menubar-msw.c (mswindows_update_frame_menubars):
15843         * menubar-msw.c (mswindows_free_frame_menubars):
15844         * menubar-msw.c (mswindows_popup_menu):
15845         Fixed a bug in handling accelerators where an extra character
15846         would be displayed in the menu item.  Also generalized the
15847         function displayable_menu_item because it is now used by the
15848         dialog box code as well.  And finally, added code in the functions
15849         that create the menubar to extract a list of accelerators for the
15850         top level menubar, which is used in the event code to determine
15851         whether a particular alt-key combination should be used to invoke
15852         a menu item, or should be passed through to access the standard
15853         XEmacs keymap binding for this key combination.
15854
15855         Much needed GCPROing.
15856
15857         * menubar-x.c:
15858         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15859         * menubar-x.c (menu_item_descriptor_to_widget_value):
15860         * menubar-x.c (restore_in_menu_callback):
15861         * menubar-x.c (x_popup_menu):
15862         * menubar-x.c (menu_move_up):
15863         * menubar-x.c (menu_move_down):
15864         * menubar-x.c (menu_move_left):
15865         * menubar-x.c (menu_move_right):
15866         * menubar-x.c (menu_select_item):
15867         * menubar-x.c (command_builder_operate_menu_accelerator):
15868         * menubar-x.c (menu_accelerator_junk_on_error):
15869         * menubar-x.c (command_builder_find_menu_accelerator):
15870         * menubar-x.c (Faccelerate_menu):
15871         * menubar.h:
15872         Moved a whole bunch of code here that was previously in
15873         event-stream.c as described above.  There is also code connected
15874         to the new standard of adding an accelerator to the beginning of
15875         menu items that don't have one as described above and below.
15876
15877         * menubar.c:
15878         * menubar.c (menu_parse_submenu_keywords):
15879         * menubar.c (Fmenu_find_real_submenu):
15880         * menubar.c (Fnormalize_menu_item_name):
15881         * menubar.c (syms_of_menubar):
15882         * menubar.c (vars_of_menubar):
15883         * menubar.c (complex_vars_of_menubar):
15884
15885         a) Cleaned up a bunch of documentation and improved it.
15886
15887         b) XEmacs now automatically adds an accelerator onto the beginning
15888         of any menu items that don't have one.  I did this because there
15889         will inevitably be some menu items on the main menubar that don't
15890         have accelerators on them because the package that adds that
15891         particular menu item hasn't yet been fixed up to have accelerators
15892         in them and it looked rather strange to have some items with and
15893         some items without accelerators, especially since even in items
15894         without accelerators, you can, at least under windows, still
15895         access the item through an accelerator corresponding to the first
15896         character in the item's name.  If people don't like this behavior,
15897         I can add a variable to turn it off optionally, but I'm not sure
15898         this is a good idea because we really do need to have accelerators
15899         on all of the menu items, and if a package doesn't like the
15900         accelerators being put on the first character, then it should put
15901         the accelerators where they belong.
15902
15903         c) I made a behavior change, which is that the descriptor that
15904         specifies the text of the menu item, which formerly was just a
15905         string, can now also be an evaluated expression.  This makes this
15906         descriptor parallel with all of the others, which could also be
15907         evaluated expressions.  This also obviates the need for the
15908         keyword :label, which was previously listed in the documentation
15909         as unimplemented, and which was for the same purpose.
15910
15911         d) GCPROing.
15912
15913         * ntproc.c:
15914         * ntproc.c (new_child):
15915         * ntproc.c (sys_spawnve):
15916         * ntproc.c (find_child_console):
15917         * ntproc.c (sys_kill):
15918         Fixed compile warnings.  By the way, this file should really go
15919         away entirely, and this will happen as soon as Kirill makes his
15920         final round of process cleanups, which affect the function
15921         call-process.
15922
15923         * process-nt.c:
15924         * process-nt.c (struct nt_process_data):
15925         * process-nt.c (find_process_from_pid):
15926         * process-nt.c (send_signal_the_nt_way):
15927         * process-nt.c (enable_child_signals):
15928         * process-nt.c (find_child_console):
15929         * process-nt.c (send_signal_the_95_way):
15930         * process-nt.c (nt_finalize_process_data):
15931         * process-nt.c (ensure_console_window_exists):
15932         * process-nt.c (nt_create_process):
15933         * process-nt.c (nt_kill_child_process):
15934         * process-nt.c (nt_kill_process_by_pid):
15935         * process-nt.c (nt_open_network_stream):
15936         * process-nt.c (vars_of_process_nt):
15937         Copied over code from Emacs 20.5 to correctly send signals to sub-
15938         processes under Windows 95.  Also added code to automatically
15939         create and hide console window when a sub-process is created under
15940         Windows 95, which obviates the need for the separate runemacs.exe
15941         executable, and finally implemented some variables that were
15942         implemented in Emacs 20.5, but previously not in XEmacs.  These
15943         include mswindows- start-process-share-console and
15944         mswindows-start-process-inherit-error-mode. (Both of these only
15945         apply to Windows 95.)
15946
15947         * regex.c (regex_compile): Fixed a compile warning.
15948
15949         * select-msw.c:
15950         * select-msw.c (mswindows_own_selection):
15951         * select-msw.c (mswindows_get_foreign_selection):
15952         * select-msw.c (mswindows_disown_selection):
15953         * select-msw.c (console_type_create_select_mswindows):
15954         * select-msw.c (syms_of_select_mswindows):
15955         Cleaned up the file and implemented the device method
15956         selection_exists_p, which had accidentally been left out.  Also
15957         removed four lisp functions that were remnants from before the
15958         time when the selection code was properly device abstracted.
15959         These functions are no longer needed because there are generic
15960         equivalents, and because they were added recently and don't exist
15961         in FSF Emacs, I don't think there's any problem with just deleting
15962         them.
15963
15964         * sysdep.c:
15965         * sysdep.c (sys_subshell):
15966         Fixed a compile warning, although in this case there's probably
15967         something wrong with this code, and it ought to be looked into
15968         more thoroughly by somebody who understands it.
15969
15970         * window.c:
15971         * window.c (Fwindow_text_area_height):
15972         * window.c (Fwindow_width):
15973         * window.c (Fwindow_full_width):
15974         * window.c (Fwindow_pixel_width):
15975         * window.c (debug_print_window):
15976         * window.c (syms_of_window):
15977         Added functions window-text-area-height and window-full-width,
15978         which are functions for returning various width and height
15979         characteristics of a window. (One of these functions is necessary
15980         for making the file dialog box work correctly, and the other one
15981         was added for completeness.)  Also added a table to the
15982         documentation for window-height which describes the entire scheme
15983         for accessing width and height characteristics of a window.
15984
15985 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15986
15987         * nt.c (fstat): Added a comment for another problem with
15988         non-encapsulated [f]stat(), reported by Adrian Aichner
15989         <aichner@ecf.teradyne.com>.
15990
15991 2000-03-11  Andy Piper  <andy@xemacs.org>
15992
15993         * window.c (make_dummy_parent): initialize subwindow instance
15994         cache.
15995         (Fset_window_configuration): zero extent_modiff.
15996
15997 2000-03-10  Andy Piper  <andy@xemacs.org>
15998
15999         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16000         more changes can be triggered.
16001         (Fredisplay_frame): ditto.
16002         (Fredraw_device): ditto.
16003         (Fredisplay_device): ditto.
16004         (redisplay_frame): make non-static.
16005         (redisplay_frame): call update_frame_gutter_geometry outside of
16006         display proper.
16007
16008         * gutter.h: declare update_frame_gutter_geometry.
16009
16010         * redisplay.h: declare redisplay_frame.
16011
16012         * gutter.c (update_frame_gutter_geometry): move geometry changes
16013         in update_frame_gutters here. Geometry changes can only occur
16014         outside of redisplay.
16015         (update_frame_gutters): remove geometry change code.
16016         (Fredisplay_gutter_area): make sure that we are in display when we
16017         update and that we have flushed any size changes.
16018
16019 2000-03-11  Andy Piper  <andy@xemacs.org>
16020
16021         * alloc.c (pdump_dump_data): remove i & count shadows.
16022
16023 2000-02-27  Mike Alexander  <mta@arbortext.com>
16024
16025         * sysdep.h: Declare pdump_read_file
16026
16027         * sysdep.c (pdump_read_file): New function
16028
16029         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16030         dump data
16031
16032 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16033
16034         * lrecord.h: add `lrecord_type_pgsetenv'.
16035
16036 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16037
16038         * symsinit.h: declare (vars|syms)_of* functions.
16039         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16040
16041 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16042
16043         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16044
16045         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16046         GCCs.
16047
16048         * emacs.c (main_1): Call postgres initialization code.
16049
16050         * postgresql.h: New file.  PostgreSQL RDBMS support.
16051         * postgresql.c: New file.
16052
16053 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16054
16055         * redisplay-output.c (redisplay_output_display_block): Disable
16056         redundant code.
16057
16058 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16059
16060         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16061         (Fcanna_henkan_next): Ditto.
16062         (Fcanna_bunsetu_henkou): Ditto.
16063         (Fcanna_henkan_kakutei): Ditto.
16064         (Fcanna_henkan_end): Ditto.
16065         (Fcanna_henkan_quit): Ditto.
16066         (Fcanna_henkan_next): Set retun value correctly.
16067         (c2mu): Use unsigned char instead of signed char.
16068
16069 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16070
16071         * emacs.c (main_1): Always call syms_of_gui.
16072         * inline.c: include gui.h
16073
16074 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16075
16076         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16077         converted to Lisp_Object.
16078         (Qtop_bottom): New variable.
16079         (syms_of_redisplay): Initialize it.
16080         * redisplay.h (Vvisible_bell): Ditto.
16081         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16082         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16083         only flash top and bottom.
16084
16085 2000-03-08  Andy Piper  <andy@xemacs.org>
16086
16087         * buffer.c (Frename_buffer): record new buffer name the right way.
16088
16089 2000-03-08  Andy Piper  <andy@xemacs.org>
16090
16091         * glyphs.c (update_subwindow): increase hash depth so that widget
16092         items get picked up properly.
16093
16094         * redisplay-output.c (compare_runes): increase hash depth so that
16095         widget items get picked up properly.
16096
16097 2000-03-08  Andy Piper  <andy@xemacs.org>
16098
16099         * gutter.c (output_gutter): add some debug.
16100
16101         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16102         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16103         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16104
16105         * redisplay-output.c (compare_runes): use display_hash to
16106         determine if glyphs really are not the same.
16107
16108         * glyphs.c (update_subwindow): check display_hash to see if
16109         anything really needs to be updated. If not then do
16110         nothing. Record the display_hash after updating.
16111         (image_instance_equal): compare the image_instance face also.
16112
16113 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16114
16115         * redisplay.h: Fix comment style.
16116
16117 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16118
16119         * consle-msw.h (struct mswindows_frame):
16120         Added new member paint_pending to indicate whether a WM_PAINT
16121         magic event has been queued for this frame.
16122
16123         * event-msw.c (mswindows_drain_windows_queue):
16124         Don't queue a WM_PAINT magic event if one is already queued.
16125         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16126
16127         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16128
16129 2000-03-07  Didier Verna  <didier@xemacs.org>
16130
16131         * dired.c: #include `regex.h' after `sysfile.h'.
16132
16133 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16134
16135         * sound.c (init_nas_sound): Fix compiler warning.
16136
16137         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16138         (FREE_STRUCT_P):
16139         (MARK_STRUCT_AS_FREE):
16140         (MARK_STRUCT_AS_NOT_FREE):
16141         Make `gcc -fstrict-aliasing' work properly.
16142
16143 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16144
16145         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16146         (mswindows_delete_device): Call CoUnnitialize().
16147
16148         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16149
16150 2000-02-25    <CraigL@DyCon.com>
16151
16152         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16153         <errno.h>.
16154
16155         * sysdep.c: This extern declaration for environ prevents MinGW
16156         from finding the variable in CRTDLL.DLL.
16157
16158         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16159         windows headers.
16160         (SHGFI_EXETYPE): ..
16161         (WM_MOUSEWHEEL): ..
16162         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16163         definitions.
16164         (MMRESULT): Removed, now defined in cygwin's windows headers.
16165         (TIMECAPS): ..
16166         (uid_t,gid_t,pid_t,ssize_t): ..
16167         (_timeb): Removed, MinGW defines both _timeb and timeb.
16168         (HAVE_H_ERRNO): Added.
16169         (HAVE_TZNAME): Added, configure is not detecting this.
16170
16171 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16172
16173         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16174         * syntax.c (syntax_match): Use it.
16175
16176         * cmds.c: Import auto-fill-chars from FSF Emacs.
16177         (Vauto_fill_chars): New variables.
16178         (internal_self_insert): Check Vauto_fill_chars.
16179         (vars_of_cmds):
16180         Declare auto-fill-chars as a Lisp variable and initialize it.
16181
16182 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16183
16184         * fileio.c (Fmake_symbolic_link):
16185         (Ffile_symlink_p):
16186         Run handlers even if local machine doesn't have symlinks.
16187
16188 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16189
16190         * event-msw.c (mswindows_drain_windows_queue):
16191         Don't generate paint magic events for non-XEmacs frames.
16192
16193 2000-03-05  Andy Piper  <andy@xemacs.org>
16194
16195         * redisplay.c (redisplay_frame): generate_displayable_area and
16196         friends assumes that we are not in GC, we therefore have to make
16197         sure that this doesn't happen.
16198
16199         * gutter.c (calculate_gutter_size): generate_displayable_area
16200         assumes that we are not in GC, we therefore have to make sure that
16201         this doesn't happen.
16202
16203 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16204
16205         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16206
16207 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16208
16209         * redisplay.c (regenerate_window): Make sure we set a sane value
16210         for end_pos even if we jump out of the loop.
16211         (regenerate_window): Answer Ben's question :-).
16212         (start_end_of_last_line): Add may_error argument.
16213         (start_of_last_line):
16214         (end_of_last_line): Pass may_error = 0.
16215         (end_of_last_line_may_error): New function.
16216         (pixel_to_glyph_translation): Use it, so we don't crash in
16217         event_to_glyph.
16218
16219 2000-03-04  Andy Piper  <andy@xemacs.org>
16220
16221         * window.h (struct window): add gutter_extent_modiff.
16222
16223         * window.c (allocate_window): zero out gutter_extent_modiff.
16224
16225         * redisplay.h: declare sync_display_line_structs.
16226
16227         * redisplay.c (add_glyph_rune): add a better comment.
16228
16229         * redisplay-output.c (sync_display_line_structs): made non-static.
16230         (compare_runes): remove unneccesary glyph cachel access.
16231
16232         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16233
16234         * gutter.c (output_gutter): don't output the gutter if extent
16235         changes only involve extents in buffers. use 4 sets of display
16236         lines.
16237         (gutter_extent_signal_changed_region_maybe): new function. Mark
16238         extents in gutters as changed.
16239         (update_frame_gutters): use 4 sets of display lines.
16240         (reset_gutter_display_lines): ditto.
16241         (free_frame_gutters): ditto.
16242         (redraw_exposed_gutter): force output of gutters.
16243
16244         * frame.h (struct frame): add 4 sets of gutter display lines.
16245
16246         * extents.c: (extent_changed_for_redisplay): signal changes to
16247         extents in strings in the gutter as well as extents in buffers.
16248
16249 2000-03-02  Andy Piper  <andy@xemacs.org>
16250
16251         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16252
16253         * frame.c (Fmake_frame): make sure the gutters get initialized
16254         after the frame is visible.
16255         (set_frame_selected_window): re-arrange compilation macros a
16256         little.
16257         (change_frame_size_1): mark gutters changed.
16258
16259         * device.c (Fset_device_class): mark gutters changed.
16260
16261 2000-03-01  Andy Piper  <andy@xemacs.org>
16262
16263         * window.c (window_top_frame_gutter_height): deleted.
16264         (window_bottom_frame_gutter_height): ditto.
16265         (window_left_frame_gutter_height): ditto.
16266         (window_right_frame_gutter_height): ditto.
16267         (window_top_gutter_height): don't use them.
16268         (window_bottom_gutter_height): ditto.
16269         (window_left_gutter_width): ditto.
16270         (window_right_gutter_width): ditto.
16271         (Fsplit_window): ditto.
16272         (Fwindow_pixel_edges): don't use border dimensions here.
16273
16274         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16275         (update_scrollbar_instance): ditto.
16276
16277         * redisplay.c (generate_modeline): don't take gutters into account.
16278         (generate_modeline): ditto.
16279         (redisplay_frame): small gutter display optimization.
16280
16281         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16282
16283         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16284         gutters into account.
16285
16286         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16287         for window position and type.
16288
16289         * gutter.c (get_gutter_coords): fix for frame gutters.
16290         (update_frame_gutters): update frame geometry if the gutters have
16291         changed.
16292         (init_frame_gutters): record current gutter geometries.
16293
16294         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16295         var.
16296         (mswindows_widget_instantiate): ditto.
16297
16298         * frame.h (struct frame): add current_gutter_bounds.
16299
16300         * frame.c (change_frame_size_1): position window and minibuffer
16301         appropriately taking into account the frame gutters.
16302
16303         * frame-x.c: (x_initialize_frame_size): take into account the
16304         frame gutters.
16305
16306 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16307
16308         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16309
16310 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16311
16312         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16313
16314 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16315
16316         * file-coding.c (reset_decoding_stream): Clear previous
16317         detection state when autodetect.
16318
16319 2000-02-29  Didier Verna  <didier@xemacs.org>
16320
16321         * extents.c (set_extent_glyph_1): don't require extents to be
16322         attached.
16323
16324 2000-02-27  Andy Piper  <andy@xemacs.org>
16325
16326         * gutter.c (Fset_default_gutter_position): don't default left and
16327         right gutter visibility to t.
16328         (Fset_default_gutter_position): run
16329         default-gutter-position-changed-hook.
16330         (syms_of_gutter): add default-gutter-position-changed-hook.
16331
16332 2000-02-26  Andy Piper  <andy@xemacs.org>
16333
16334         * specifier.c (Fmake_specifier): add gutter references.
16335
16336         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16337
16338         * lisp.h: declare Fvalid_plist_p.
16339
16340         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16341         as changed.
16342         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16343         well as its visibility so that it gets reconstructed.
16344         (construct_window_gutter_spec): new function. Construct a string
16345         to be displayed in the gutter from a plist of strings. Take care
16346         to only use elements that are declared as visible.
16347         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16348         WINDOW_GUTTER.
16349         (gutter_validate): allow plists of strings in the specifier.
16350         (gutter_specs_changed): construct the real_gutter from the gutter
16351         specs using construct_window_gutter_spec.
16352         (gutter_visible_validate): gutter-visible is a new specifier type.
16353         (Fgutter_visible_specifier_p): new function for the new specifier.
16354         (syms_of_gutter): declare gutter-visible and
16355         Fgutter_visible_specifier_p.
16356         (specifier_type_create_gutter): intitalize new gutter-visible
16357         specifier.
16358         (reinit_specifier_type_create_gutter): ditto.
16359         (specifier_vars_of_gutter): use new specifier type for gutter
16360         visibility.
16361         (init_frame_gutters): construct real_gutter correctly.
16362         (Fgutter_specifier_p): beef up documentation.
16363         (Fgutter_size_specifier_p): ditto.
16364
16365         * winslots.h: add real_gutter slots.
16366
16367 2000-02-25  Andy Piper  <andy@xemacs.org>
16368
16369         * device-msw.c: Be kind to older cygwin versions. From Raymond
16370         Toy <toy@rtp.ericsson.se>.
16371
16372         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16373         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16374
16375 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16376
16377         * elhash.c (MARK_OBJ): Practice macro hygiene.
16378
16379 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16380
16381         * miscplay.c: s/__inline__/inline/g;
16382         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16383         (get_device_compdc): INLINE ==> static inline
16384         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16385         find -name '*.h' | \
16386         xargs global-replace \
16387         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16388
16389 2000-02-25  Andy Piper  <andy@xemacs.org>
16390
16391         * window.c (window_top_frame_gutter_height): new function.
16392         (window_top_window_gutter_height): ditto.
16393         (window_top_gutter_height): use them.
16394         (window_bottom_frame_gutter_height): new function.
16395         (window_bottom_window_gutter_height): ditto.
16396         (window_bottom_gutter_height): use them.
16397         (window_left_window_gutter_width): new function.
16398         (window_left_frame_gutter_width): ditto.
16399         (window_left_gutter_width): use them.
16400         (window_right_window_gutter_width): new function.
16401         (window_right_frame_gutter_width): ditto.
16402         (window_right_gutter_width): use them.
16403         (window_pixel_height): new function. calulate window pixel height
16404         with frame gutter involvement.
16405         (Fsplit_window): calculate new sizes taking frame gutters into
16406         account.
16407         (window_char_height_to_pixel_height): don't include frame gutters.
16408         (window_char_height): use window_pixel_height.
16409         (window_pixheight): rename from window_pixel_height.
16410         (change_window_height): use it.
16411         (window_pixel_height_to_char_height): don't include frame gutters.
16412         (window_char_width_to_pixel_width): ditto.
16413
16414 2000-02-25  Andy Piper  <andy@xemacs.org>
16415
16416         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16417         if it is.
16418
16419 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16420
16421         * alloc.c (staticpro):
16422         (staticpro_nodump):
16423         (dumpstruct):
16424         (dumpopaque):
16425         (pdump_wire):
16426         (pdump_wire_list):
16427         (compact_string_chars):
16428         (pdump_dump_wired):
16429         Convert:  if (foo) abort();  ==>  assert (! foo);
16430
16431         * eldap.c (Fldap_search_basic):
16432         (Fldap_add):
16433         (Fldap_modify):
16434         (Fldap_delete):
16435         Fix compiler warnings, and possible crashes if (random) return
16436         value were to be used.
16437
16438 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16439
16440         * device-msw.c: Workaround ResetDC failure.
16441
16442         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16443         applying a devmode.
16444
16445         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16446         (mswindows_text_width): Do not start printer page.
16447
16448         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16449
16450         * glyphs-msw.c: Added image methods to msprinter console and
16451         msprinter-specific image instantiation.
16452
16453 2000-02-20  Mike Alexander  <mta@arbortext.com>
16454
16455         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16456         to avoid crashes when selection-sets-clipboard is on
16457         (mswindows_own_selection): ditto
16458
16459 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16460
16461         * glyphs-msw.c:
16462         * redisplay-msw.c (get_frame_dc):
16463         (get_frame_compdc):
16464         * console-msw.h:
16465         * device-msw.c (mswindows_init_device):
16466         (mswindows_delete_device):
16467         (msprinter_init_device):
16468         (msprinter_delete_device):
16469         * frame-msw.c (mswindows_init_frame_1):
16470         (mswindows_delete_frame):
16471         (msprinter_init_frame_3):
16472         (msprinter_delete_frame): Move compatible DC to device object from
16473         frame object, for both mswindows and msprinter. Only one at a time
16474         is needed, it is a real waste to have one per frame!
16475
16476 2000-02-23  Andy Piper  <andy@xemacs.org>
16477
16478         * glyphs.c: add dynamic width and height elements.
16479         (image_instance_equal): ditto.
16480
16481         * glyphs-widget.c (widget_query_geometry): calculate width and
16482         height dynamically if required.
16483         (initialize_widget_image_instance): initialize dynamic dimensions.
16484         (widget_instantiate): pick-up dynamic dimensions.
16485
16486         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16487         dynamic determination. Add appropriate macros.
16488
16489         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16490         dimensions safe.
16491         (WINDOW_GUTTER_SIZE): ditto.
16492         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16493
16494         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16495         inline.
16496         (get_frame_dc): ditto.
16497
16498         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16499         here.
16500
16501 2000-02-23  Martin Buchholz <martin@xemacs.org>
16502
16503         * XEmacs 21.2.31 is released.
16504
16505 2000-02-22  Ben Wing <ben@xemacs.org>
16506
16507         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16508
16509 2000-02-22  Andy Piper  <andy@xemacs.org>
16510
16511         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16512
16513 2000-02-21  Mike Sperber <mike@xemacs.org>
16514
16515         * .dbxrc:
16516         * .gdbinit:
16517         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16518         variables.
16519
16520 2000-02-21  Mike Sperber <mike@xemacs.org>
16521
16522         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16523
16524 2000-02-21  Martin Buchholz <martin@xemacs.org>
16525
16526         * XEmacs 21.2.30 is released.
16527
16528 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16529
16530         Performance hacking.
16531         * *.c (syms_of_*):
16532         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16533         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16534         * emacs.c (main_1):
16535         * lisp.h (DEFUN):
16536         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16537         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16538         * symeval.h (DEFVAR_SYMVAL_FWD):
16539         * symbols.c (guts_of_unbound_marker):
16540         Make all c_readonly objects also lisp_readonly and marked for life.
16541         * lrecord.h (struct lrecord_implementation):
16542         Document flags better.
16543         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16544         * lrecord.h (DECLARE_LRECORD):
16545         * lrecord.h (XSETRECORD):
16546         * lrecord.h (RECORDP):
16547         * lrecord.h (RECORD_TYPEP):
16548         * lrecord.h (RECORD_MARKER): New.
16549         * lrecord.h (error_check_*):
16550         * lrecord.h (CONCHECK_NONRECORD):
16551         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16552         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16553         * lrecord.h (set_lheader_implementation):
16554         * lrecord.h (enum lrecord_type): New.
16555         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16556         * alloc.c (disksave_object_finalization_1):
16557         * alloc.c (mark_object):
16558         * alloc.c (lrecord_type_index):
16559         * alloc.c (tick_lcrecord_stats):
16560         * alloc.c (Fgarbage_collect):
16561         * alloc.c (init_alloc_once_early):
16562         * alloc.c (pdump_load):
16563         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16564         * alloc.c (lrecord_type_index): Delete.
16565         Make lisp object type indexes be constant.
16566           Makes (byte-compile) 5% faster.
16567         Put all marker functions into their own array.
16568           Makes (garbage-collect) 5% faster.
16569         Optimize SYMBOL_VALUE_MAGIC_P.
16570           Makes (byte-compile) 2-3% faster.
16571         * config.h.in (gc_checking_assert): New.
16572         * alloc.c: Use gc_checking_assert().
16573         * .dbxrc: Make compatible with new object type implementation.
16574         * .gdbinit: Make compatible with new object type implementation.
16575         * alloc.c: Delete all symbols defined only for debugging, such as
16576         Lisp_Type_Vector and lrecord_charset.
16577
16578 2000-02-21  Andy Piper  <andy@xemacs.org>
16579
16580         * gui-msw.c (Fmswindows_shell_execute): fix file location
16581         problems.
16582
16583         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16584         unshowing so that set_window_buffer doesn't undo
16585         kill_buffer_hook's hard work.
16586
16587         * glyphs-widget.c (tab_control_query_geometry): don't count the
16588         first item when calculating geometry.
16589
16590         * glyphs.c (map_subwindow): remove redundant code.
16591         (update_frame_subwindows): be more circumspect about when to
16592         update subwindows.
16593
16594         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16595         when items haven't changed. Update faces if faces have changed as
16596         well as just the widget face.
16597         (x_tab_control_update): Update faces if faces have changed as well
16598         as just the widget face.
16599
16600 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16601
16602         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16603         registration.
16604         (build_syscolor_string): Use mswindows_color_to_string to try to
16605         get a named color.
16606         (mswindows_device_system_metrics): Reverse the foreground and
16607         background colors so that they match the documentation.
16608
16609         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16610         they match the default Windows palette.
16611         (mswindows_color_to_string): New function.
16612
16613 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16614
16615         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16616
16617 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16618
16619         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16620         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16621
16622         * symbols.c (init_symbols_once_early): Removed obsolete
16623         DATA_SEG_BITS related kludge.
16624         (defvar_magic): Ditto.
16625
16626         * malloc.c: Removed obsolete DATA_SEG_BITS
16627         * ralloc.c: Ditto.
16628         * mem-limits.h: Ditto.
16629
16630         * Makefile.in.in: Removed obsolete HAVE_SHM
16631         * emacs.c: Ditto.
16632
16633 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16634
16635         *  device-msw.c (mswindows_delete_device): Free DDE string
16636         handles.
16637
16638 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16639
16640         * keymap.c (get_keyelt):
16641         * unexnt.c (unexec):
16642         * vm-limit.c (memory_warnings):
16643         * ntheap.c (recreate_heap):
16644         * ntheap.h (UNINIT_PTR):
16645         * select-msw.c (Fmswindows_get_clipboard):
16646         (Fmswindows_set_clipboard):
16647         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16648         * objects-msw.c:
16649         * menubar-msw.c (displayable_menu_item):
16650         * glyphs-msw.c:
16651         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16652         * sysdep.c (sys_subshell):
16653         * process-nt.c (nt_create_process):
16654         * nt.c (normalize_filename):
16655         (dostounix_filename):
16656         (unixtodos_filename):
16657         * ntproc.c (win32_executable_type):
16658         * ntplay.c (play_sound_data_1):
16659         (play_sound_file):
16660         * editfns.c (get_home_directory):
16661         * event-msw.c (struct winsock_stream):
16662         (mswindows_dde_callback):
16663         * device-msw.c (msprinter_init_device):
16664         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16665
16666         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16667         mswindows_clear_toolbar were swapped!
16668
16669         * objects-msw.c:(colormap_t):
16670         (fontmap_t):
16671         * emacs.c (struct standard_args): Fixed const jumble.
16672
16673         * glyphs-widget.c (update_widget): Fixed comparison notation.
16674
16675         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16676
16677         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16678         __declspec(noreturn) syntax.
16679
16680 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16681
16682         * eldap.c (Fldap_open):
16683         (Fldap_search_basic):
16684         (Fldap_add):
16685         (Fldap_modify):
16686         Use new coding system conversion macros.
16687
16688 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16689
16690         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16691
16692 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16693
16694         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16695         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16696
16697         * eldap.c (Qadd, Qreplace): New constant symbols
16698         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16699         interruptions by XEmacs signals
16700         Remove unnecessary calls to slow_down_interrupts and
16701         speed_up_interrupts
16702         (Fldap_search_basic): Renamed from Fldap_search_internal
16703         Added new optional parameter VERBOSE that triggers the
16704         display of progress messages
16705         Remove unnecessary calls to slow_down_interrupts and
16706         speed_up_interrupts
16707         LDAP result code analysis rewritten
16708         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16709         (syms_of_eldap): Define the new symbols and functions
16710
16711
16712 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16713
16714         * realpath.c: Determine PATH_MAX maximally portably.
16715
16716         * insdel.c (bytecount_to_charcount): Optimize.
16717         The function used to be optimized for entirely ASCII sequences.
16718         Now it is optimized for successive characters from the same
16719         charset.  This also wins big for _mostly_ ASCII sequences.
16720
16721         * fileio.c (Ffile_truename): convert return from realpath() using
16722         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16723         - Rewrite GCPROing slightly.
16724
16725         * sysdep.c (sys_open): Do filename conversion, like all other
16726         sys_* functions.  Fixes bug:
16727         (let ((file-name-coding-system 'iso-8859-2))
16728            (write-region x y latin2-name))
16729         ==> writes filename using internal encoding.
16730
16731 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16732
16733         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16734         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16735         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16736         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16737         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16738         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16739         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16740         (CONST_IF_NOT_DEBUG): Delete.
16741         * alloc.c (this_one_is_unmarkable): Delete.
16742         (mark_object): Don't check for this_one_is_unmarkable. Use the
16743         c_readonly flag instead.
16744         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16745
16746 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16747
16748         * event-msw.c (mswindows_drain_windows_queue):
16749         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16750         away redundant repaint events.
16751
16752 2000-02-17  Andy Piper  <andy@xemacs.org>
16753
16754         * redisplay.h: declare mark_redisplay_structs.
16755
16756         * redisplay.c (redisplay_window):
16757         (redisplay_frame): don't check subwindows_state_changed.
16758         (mark_redisplay): mark gutters here.
16759
16760         * glyphs.c: (instantiate_image_instantiator): always layout if we
16761         haven't done so already.
16762         (allocate_image_instance): don't mark as dirty.
16763         (update_subwindow): bind inhibit_quit.
16764
16765         * gutter.c (mark_gutters): new function.
16766
16767         * glyphs-x.c (x_update_widget): Always resize to get round a
16768         widget bug.
16769
16770         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16771         breaking absolutely everything.
16772
16773         * gutter.h: declare mark_gutters.
16774
16775 2000-02-16  Martin Buchholz <martin@xemacs.org>
16776
16777         * XEmacs 21.2.29 is released.
16778
16779 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16780
16781         * fns.c (size_bit_vector): Fix computation of the size.
16782
16783 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16784
16785         * *.[ch]: Change CONST to const globally.
16786         find -name '*.[ch]' | \
16787         xargs global-replace \
16788         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16789         - Remove vestigial references to CONST_IS_LOSING
16790
16791 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16792
16793         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16794         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16795         events instead of dispatching them directly.
16796         (mswindows_handle_paint): New function to do repainting.
16797         (mswindows_wnd_proc):
16798         (emacs_mswindows_handle_magic_event): Call above function.
16799
16800 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16801
16802         * objects-msw.c (mswindows_create_font_variant): Return the new
16803         font handle.
16804         (initialize_font_instance): Get font metrics from the underlined
16805         variant of the font to cope with the case where the underlined
16806         font has a bigger descent.
16807
16808 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16809
16810         * gui.c (gui_item_accelerator): Return the first underlined
16811         character in item name.
16812
16813 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16814
16815         * lisp.h: Added Qprinter.
16816
16817         * general.c (syms_of_general): Initialized it.
16818
16819         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16820         (get_frame_dc):
16821         (get_frame_compdc): Made inline.
16822
16823         * console.h (struct console_methods): Added eject_page method.
16824
16825         * frame.h: Added FRAME_DISPLAY_P and friends.
16826         Aligned backslahes in many macros in more readable fashion.
16827         Added page_number to struct frame, and an accessor macro
16828         for it.
16829
16830         * defice.h: Added DEVICE_DISPLAY_P and friends.
16831
16832         * device.c (Fdevice_printer_p): Used these.
16833
16834         * frame.c (allocate_frame_core): Initialize page number.
16835         (Fprint_job_page_number):
16836         (Fprint_job_eject_page): Implemented.
16837
16838         * frame-msw.c (msprinter_eject_page): Added method.
16839         (msprinter_start_page): Added.
16840
16841         * window.c (Fwindow_truncated_p): Fixed docstring.
16842         (Fwindow_last_line_visible_height): Implemented.
16843
16844 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16845
16846         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16847
16848 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16849
16850         * syntax.c (scan_words): Always advance at least one character.
16851
16852 2000-02-13  Andy Piper  <andy@xemacs.org>
16853
16854         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16855         to make sure the glyph is in the cachels.
16856
16857         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16858         global image instance flag.
16859         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16860         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16861
16862         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16863         (Fset_image_instance_property): mark layout as changed.
16864         (invalidate_glyph_geometry_maybe): mark layout as changed.
16865         (glyph_width): use new NEEDS_LAYOUT macro.
16866         (glyph_ascent): ditto.
16867         (glyph_descent): ditto.
16868         (glyph_height): ditto.
16869         (image_instance_layout): mark layout as clean after laying out.
16870         (update_subwindow): don't mark layout as clean here.
16871
16872         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16873         should no longer be needed.
16874
16875         * glyphs-x.c (x_update_widget): sanitize asserts.
16876         (x_finalize_image_instance): sanitize assignment to widgets.
16877
16878         * glyphs-widget.c (widget_instantiate): don't need to clear the
16879         layout flag here.
16880
16881 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16882
16883         * sysdep.c (getcwd): Use standard prototype.
16884         * sysdep.h (getcwd): Use standard prototype.
16885
16886         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16887         (sequence, start, end).
16888         Remove redundant type checking.
16889         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16890         view of `caller-protects') to avoid a crash where the real fix was
16891         found elsewhere.
16892
16893 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16894
16895         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16896
16897         * s/sol2.h: Remove feature macro initialization.
16898
16899         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16900         (vector_hash): New.  Code from internal_hash.
16901         * lrecord.h:
16902         Fix up allocation subsystem comments.
16903
16904         * config.h.in: Add __EXTENSIONS__ for Solaris.
16905
16906         * systime.h (EMACS_GETTIMEOFDAY): New.
16907         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16908         Remove Solaris-specific code.
16909         Use void* for the (ignored) second arg for gettimeofday().
16910
16911         * elhash.c (hash_table_hash): Implement it, finally.
16912         * elhash.c:  Use hashcode_t.
16913
16914         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16915         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16916
16917         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16918         * fns.c (size_bit_vector):
16919         * alloc.c (size_vector):
16920         (make_vector_internal):
16921         (make_bit_vector_internal):
16922         (sweep_bit_vectors_1):
16923         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16924
16925 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16926
16927         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16928         Include strings.h to avoid warnings for bzero and strcasecmp.
16929
16930 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16931
16932         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16933         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16934
16935         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16936         sequence.
16937
16938 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16939
16940         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16941         use a value field instead.
16942         (symbol_value_forward_forward): Use value field.
16943         (DEFVAR_SYMVAL_FWD): Use value field.
16944         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16945         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16946         (DEFVAR_CONST_INT): Ditto.
16947         (DEFVAR_BOOL): Ditto.
16948         (DEFVAR_CONST_BOOL): Ditto.
16949         (DEFVAR_INT_MAGIC): Ditto.
16950         (DEFVAR_BOOL_MAGIC): Ditto.
16951
16952         * symbols.c (guts_of_unbound_marker): Use value field.
16953         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16954         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16955
16956         * lisp.h: Declare dumpopaque and noninteractive1.
16957
16958         * alloc.c (dumpopaque): Added.
16959         (pdump_dump_opaquevec): Added.
16960         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16961         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16962         noninteractive.
16963
16964 2000-02-10  Andy Piper  <andy@xemacs.org>
16965
16966         * glyphs.c (image_instance_layout): if the size changes, mark it
16967         as such.
16968
16969         * redisplay-output.c (redisplay_output_layout): Update the
16970         subwindow here.
16971         (redisplay_output_subwindow): ditto.
16972
16973         * glyphs.c (update_subwindow): make sure we reset flags for
16974         layouts as well as everything else.
16975
16976         * glyphs-widget.c (layout_layout): don't need to set the instances
16977         dimensions here.
16978
16979 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16980
16981         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16982         not HAVE_DLOPEN, which is a lower-level thing.
16983
16984         * .cvsignore: Ignore gmon.out
16985
16986 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16987
16988         * .cvsignore: Ignore portable dumper xemacs.dmp file
16989
16990 2000-02-09  Andy Piper  <andy@xemacs.org>
16991
16992         * redisplay-output.c (redisplay_output_layout): be more clever
16993         about when we output based on the changed flags.
16994
16995         * glyphs.h (struct image_instantiator_methods): add update_method.
16996         (struct Lisp_Image_Instance): add changed flags. Declare new
16997         macros for manipulating them.
16998
16999         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17000         (image_instance_parent_glyph): find an image_instance's parent
17001         glyph or image_instance.
17002         (image_instance_layout): mark the size as changed.
17003         (set_image_instance_dirty_p): new function. mark an image
17004         instance, plus all of its parents, as dirty.
17005         (Fset_image_instance_property): use it.
17006         (Fglyph_animated_timeout_handler): use it.
17007         (update_subwindow): call update_widget and device methods for
17008         update_subwindow. Mark all changed flags as clean.
17009         (Fresize_subwindow): mark size as changed.
17010
17011         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17012         failures.
17013         (x_update_subwindow): only resize subwindows here.
17014         (x_update_widget): new function. Update all changed properties of
17015         a widget.
17016         (x_resize_subwindow): deleted.
17017         (x_widget_set_property): deleted.
17018         (x_progress_gauge_set_property): deleted.
17019         (x_progress_gauge_update): new function. Implement recorded
17020         changes.
17021         (x_tab_control_update): ditto.
17022         (x_tab_control_set_property): deleted.
17023         (console_type_create_glyphs_x): declare new functions.
17024         (image_instantiator_format_create_glyphs_x): ditto.
17025
17026         * glyphs-widget.c (widget_set_property): mark text changed.
17027         (update_widget): new function. Update properties of a widget.
17028         (widget_instantiate): for layouts make sure we set their
17029         children's parent correctly.
17030         (tab_control_set_property): new function. Record changes that will
17031         take place under redisplay's control.
17032         (progress_gauge_set_property): ditto.
17033         (image_instantiator_progress_guage): declare new functions.
17034         (image_instantiator_tab_control): ditto.
17035
17036         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17037         now.
17038         (mswindows_update_widget): new function. Update all properties on
17039         a widget that have changed.
17040         (mswindows_button_update): new function. Update a button's set
17041         state.
17042         (mswindows_tab_control_update): new function. Update the items in
17043         a tab.
17044         (mswindows_tab_control_set_property): deleted.
17045         (mswindows_progress_gauge_update): new function. Update the
17046         progress gauge's progress.
17047         (mswindows_widget_set_property): deleted. This is all done
17048         asynchronously now.
17049         (mswindows_progress_gauge_set_property): ditto.
17050         (console_type_create_glyphs_mswindows): declare new methods.
17051         (image_instantiator_format_create_glyphs_mswindows): ditto.
17052
17053         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17054         (msprinter_set_frame_properties): ditto.
17055
17056         * console.h (struct console_methods): Add update_widget_method.
17057
17058 2000-02-09  Andy Piper  <andy@xemacs.org>
17059
17060         * gui-msw.c (Fmswindows_shell_execute): Make
17061         mswindows-shell-execute industrial strength.
17062
17063 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17064
17065         * lrecord.h: Make macro argument `props' match member function `plist'.
17066         * fns.c (Fget):
17067         * fns.c (Fput):
17068         * fns.c (Fremprop):
17069         * fns.c (Fobject_plist):
17070         * alloc.c:
17071         * symbols.c:
17072         Object property list frobbing cleanup.
17073         - Allow any lisp object (compared with `eq'), not just symbols, as
17074           keys in object plists.
17075         - Move symbol plist frobbing into symbols.c, where it belongs.
17076         - Move string plist frobbing into alloc.c, where it belongs.
17077         - Everything's an lrecord now, so no need to test for symbolp, etc.
17078         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17079
17080         * extents.c: Reorder code to remove declarations.
17081
17082         * frame.h (store_in_alist): Remove useless declaration.
17083
17084 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17085
17086         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17087         * config.h.in: Add HAVE_XCONVERTCASE.
17088
17089 2000-02-07  Andy Piper  <andy@xemacs.org>
17090
17091         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17092         it breaks many things.
17093
17094 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17095
17096         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17097         actually can start a common comment type.
17098         * src/syntax.h (SYNTAX_END_P): ditto for end.
17099
17100 2000-02-07  Martin Buchholz <martin@xemacs.org>
17101
17102         * XEmacs 21.2.28 is released.
17103
17104 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17105
17106         * event-Xt.c (x_keysym_to_character): New.
17107         (maybe_define_x_key_as_self_inserting_character): New.
17108         (x_has_keysym): New.
17109         Auto-define all keys on the keyboard as self-insert-key.
17110
17111 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17112
17113         * menubar.c (vars_of_menubar): A small code simplification.
17114
17115         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17116
17117         * ExternalShell.c:
17118         * ExternalClient.c:
17119         * EmacsShell-sub.c:
17120         * EmacsManager.c:
17121         * EmacsFrame.c:
17122         Use consistent style for specifying X resources.
17123
17124         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17125         This makes (dontusethis-set-symbol-value-handler) actually usable.
17126
17127         * lrecord.h (lrecord_decription_type):
17128         * alloc.c (pdump_register_sub):
17129         (pdump_dump_data):
17130         (pdump_reloc_one):
17131         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17132         Comply with XEmacs coding style.
17133         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17134         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17135
17136         * keymap.c (Faccessible_keymaps):
17137         Make (accessible-keymaps map "\C-h") do the Right Thing.
17138         Make (accessible-keymaps map []) do the Right Thing.
17139         Make (accessible-keymaps map "") do the Right Thing.
17140         (check_keymap_definition_loop): New function.
17141         (keymap_store_internal): Keep luser from shooting self in foot,
17142           via (define-key ctl-x-4-map "p" global-map).
17143         Remove fullness slot from struct Lisp_Keymap, since hash tables
17144         are now reliable.
17145         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17146
17147 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17148
17149         * redisplay.c (init_redisplay): Fix small memory leak.
17150         * elhash.h:
17151         * elhash.c (pdump_reorganize_hash_table):
17152         Rename from reorganize_hash_table. Change prototype.
17153         Reuse the original memory for hentries.  Save 100k.
17154         * alloc.c (PDUMP_READ): new macro.
17155         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17156         * alloc.c: No need to #ifndef before #undef.
17157
17158         * print.c: Allow debug_print() to print readably by modifying
17159         debug_print_readably.  Use consistent variable names.
17160
17161         * .dbxrc: Try to get things to work even if stopped in a function
17162         without source available by explicitly specifying source files.
17163 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17164
17165         * unexnt.c (_start): Removed bogus code which caused loading heap
17166         from differrent executable file.
17167         Removed bogus assignment to _fmode, which caused inconsistencies.
17168
17169 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17170
17171         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17172         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17173         Do not preliminary `#define signal sigset'.
17174
17175         * systime.h: Do not prototype environ on windows nt and cygwin,
17176         this conflicts with system header.
17177
17178         * syssignal.h: Use correct define for WINDOWSNT
17179
17180         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17181         with system header.
17182
17183         * sysdep.c (near start of file): Fixed commentary and rearranged
17184         ifdefs in readable order.
17185         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17186         (start_of_text):
17187         (end_of_text):
17188         (end_of_data): Do not compile in if using PDUMP.
17189
17190         * symsinit.h: Prototyped vars_of_nt().
17191
17192         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17193         (find_child_console): Use it.
17194         (sys_kill): Use it.
17195
17196         * ntheap.h: Do not extern os_subtype.
17197
17198         * ntheap.c (cache_system_info): Do not cache unneeded:
17199         nt_major_version, nt_minor_version and os_subtype.
17200         (recreate_heap): Do not compile in when PDUMPing.
17201
17202         * nt.c (geteuid and friends): Use the new varibale
17203         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17204         (init_user_info): Removed the above mentioned hackery.
17205         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17206         stat has been fixed in the C runtime.
17207         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17208
17209         * file-coding.c (struct file_coding_dump): Do not define
17210         ucs_to_mule_table in the struct if not MULE.
17211         (struct struct lrecord_description fcd_description_1): Do not dump
17212         the above.
17213
17214         * emacs.c (main_1): Call vars_of_nt().
17215         (right before Fdump_emacs_data): Don't need lastfile if using both
17216         portabe dumper and system malloc.
17217
17218         * alloc.c (Fmemory_limit): Conditionalized out.
17219         (pdump): Use OPEN_BINARY for the portable dump file.
17220         (pdump_load): Ditto.
17221
17222 2000-02-02  Mike Alexander  <mta@arbortext.com>
17223
17224         * nt.c (convert_time): Set tm_isdst before calling mktime and
17225         avoid calling it at all if the compiler supports 64 bit integers.
17226         Also initialize utc_base_ft before using it.
17227
17228 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17229
17230         * frame.c (change_frame_size_1): Take f->internal_border_width
17231         into consideration when calculating the width of the frame.
17232
17233 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17234
17235         * window.c (frame_min_height):
17236         (frame_size_valid_p):
17237         (frame_pixsize_valid_p): Added.
17238         (check_frame_size): Generalized.
17239
17240         * window.h: Prototyped the above.
17241
17242         * lisp.h:
17243         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17244         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17245         Deleted Vwin32_* and Vbinary_process_* unused variables.
17246
17247         * device-msw.c (msprinter_init_device): Do not get printer font
17248         list; Added DEVMODE functions.
17249
17250         * frame-msw.c: Added lots of printer code.
17251
17252         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17253         general.c.
17254
17255         * console-msw.h: Added more msprinter device private slots.
17256
17257 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17258
17259         * event-msw.c (key_needs_default_processing_p): Added.
17260         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17261
17262 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17263
17264         * glyphs.c (image_instance_layout): Mark image instance as clean
17265         after layout.
17266         (glyph_dirty_p): Removed redundant function.
17267         (invalidate_glyph_geometry_maybe): Added.
17268         (update_glyph_cachel_data): Call it.
17269
17270         * glyphs.h: Prototyped it.
17271
17272         * redisplay.c (add_glyph_rune): Call it.
17273         (redisplay_window): Reset glyphs cachels when frame faces have
17274         changed, thus forcing recomputation of built-in border glyphs.
17275
17276 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17277
17278         * Makefile.in.in: Make portable dumper and purify play well together.
17279         Add imperfect, but better than nothing, support for pdump.
17280         Remove xemacs.dmp when temacs is re-generated.
17281         Don't ignore errors when dumping xemacs.
17282
17283         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17284
17285 2000-01-28  Andy Piper  <andy@xemacs.org>
17286
17287         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17288         (setup_normal_frame): ditto.
17289         (setup_frame_without_minibuffer): ditto.
17290         (setup_minibuffer_frame): ditto.
17291         (delete_frame_internal): ditto.
17292         (Fmake_frame_invisible): ditto.
17293         (Ficonify_frame): ditto.
17294
17295         * window.h: change Fset_window_buffer signature.
17296
17297         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17298         (Fset_window_buffer): allow recording of buffer if the window is
17299         the selected window.
17300         (window_loop): Use new Fset_window signature.
17301
17302 2000-01-23  Daniel Pittman  <daniel@danann.net>
17303
17304         * config.h.in: Added template for `HAVE_ATHENA_3D'
17305
17306 2000-01-29  Andy Piper  <andy@xemacs.org>
17307
17308         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17309
17310         * gutter.c (output_gutter): Don't output if the window isn't live.
17311
17312 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17313
17314         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17315         of 01/12/00: Moved SetFocus back here where it belongs.
17316
17317 2000-01-23  Andy Piper  <andy@xemacs.org>
17318
17319         * s/cygwin32.h: declare printer things.
17320
17321 2000-01-26  Andy Piper  <andy@xemacs.org>
17322
17323         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17324         Alexander.
17325
17326 2000-01-24  Andy Piper  <andy@xemacs.org>
17327
17328         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17329         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17330
17331         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17332
17333         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17334
17335         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17336
17337         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17338         (mswindows_output_display_block): Avoid local shadows.
17339
17340         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17341         (mswindows_enqueue_mouse_button_event): ditto.
17342         (mswindows_handle_gui_wm_command): remove declaration.
17343
17344         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17345         warnings.
17346
17347         * console-msw.h: Avoid shadows.
17348         (mswindows_get_toolbar_button_text):
17349         (emacs_mswindows_create_stream_pair):
17350         (emacs_mswindows_delete_stream_pair):
17351         (mswindows_handle_toolbar_wm_command): declare.
17352
17353         * device-msw.c (build_syscolor_string): Avoid shadows.
17354
17355 2000-01-23  Andy Piper  <andy@xemacs.org>
17356
17357         * glyphs-widget.c (widget_instantiate): reverse the items for
17358         layouts so that children are in the expected order.
17359
17360 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17361
17362         * ralloc.c: safe_bcopy ==> memmove
17363         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17364         * s/msdos.h: Remove BCOPY macros.
17365         * insdel.c (gap_right): Remove BCOPY conditional code.
17366         * insdel.c (gap_left): Remove BCOPY conditional code.
17367         XEmacs demands a working ANSI C compiler - hence memmove.
17368
17369         * regex.c (regex_compile): Remove accidental use of trigraphs.
17370
17371 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17372
17373         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17374         event timestamp.
17375
17376 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17377
17378         * event-msw.c (mswindows_drain_windows_queue): Added the
17379         parameter.
17380         (mswindows_need_event): Commented the call to
17381         mswindows_drain_windows_queue().
17382         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17383         only.
17384
17385         * console-msw.h: Moved a few function prototypes here from
17386         event-msw.c.
17387
17388         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17389         parameter from unsigned short to unsigned long.
17390         (Fmswindows_shell_execute): Added return value.
17391
17392 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17393
17394         * sysdep.c (init_system_name):
17395           process-unix.c (unix_canonicalized_host_name):
17396         Don't call freeaddrinfo() if getaddrinfo() fails.
17397
17398         * process-unix.c (unix_open_unix_network_stream):
17399         Moved the code to get a port # into address loop.
17400
17401 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17402
17403         * buffer.c (reinit_vars_of_buffer):
17404         The right place to initialize conversion_in_dynarr and
17405         conversion_out_dynarr.
17406
17407         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17408
17409         * process-unix.c (unix_canonicalize_host_name): Muleize.
17410         (unix_open_network_stream): Muleize.
17411
17412         * buffer.h: Fix up prototypes for ralloc.c functions.
17413
17414 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17415         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17416         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17417                 instead of gethostbyname()
17418         * process-unix.c: In unix_canonicalize_host_name() and
17419                 unix_open_network_stream(), add code to use getaddrinfo()
17420                 instead of gethostbyname().
17421
17422 2000-01-27  Daniel Pittman <daniel@danann.net>
17423
17424         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17425         libs when built with flat Athena.
17426
17427 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17428
17429         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17430         Use coding standards for function prototypes.
17431
17432 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17433
17434         * dialog-msw.c (push_lisp_string_as_unicode):
17435         * doc.c (unparesseuxify_doc_string):
17436         * dired.c (Fuser_name_completion_1):
17437         * dired.c (Fuser_name_all_completions):
17438         * dired.c (free_user_cache):
17439         * dired.c (user_name_completion):
17440         * console-x.c (get_display_arg_connection):
17441         * minibuf.c (clear_echo_area_internal):
17442         * minibuf.c (echo_area_append):
17443         * eldap.c (Fldap_open):
17444         * eldap.c (Fldap_search_internal):
17445         * frame-x.c (x_set_frame_text_value):
17446         * frame-x.c (x_set_frame_properties):
17447         * frame-x.c (x_create_widgets):
17448         * redisplay-tty.c (term_get_fkeys_1):
17449         * objects-x.c (x_parse_nearest_color):
17450         * objects-x.c (x_valid_color_name_p):
17451         * objects-x.c (x_initialize_font_instance):
17452         * objects-x.c (x_list_fonts):
17453         * objects-x.c (x_find_charset_font):
17454         * tooltalk.c (Fadd_tooltalk_message_arg):
17455         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17456         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17457         * process-unix.c (unix_create_process):
17458         * ntproc.c (sys_spawnve):
17459         * sound.c (Fplay_sound_file):
17460         * sound.c (Fplay_sound):
17461         * buffer.c (init_initial_directory):
17462         * buffer.c (init_buffer):
17463         * editfns.c (init_editfns):
17464         * editfns.c (Ftemp_directory):
17465         * editfns.c (Fuser_full_name):
17466         * editfns.c (uncache_home_directory):
17467         * editfns.c (get_home_directory):
17468         * editfns.c (Fuser_home_directory):
17469         * editfns.c (Fformat_time_string):
17470         * editfns.c (Fcurrent_time_string):
17471         * gui-x.c (button_item_to_widget_value):
17472         * database.c (Fopen_database):
17473         * event-Xt.c (x_to_emacs_keysym):
17474         * event-Xt.c (x_event_to_emacs_event):
17475         * event-Xt.c (describe_event_window):
17476         * event-msw.c (mswindows_wnd_proc):
17477         * glyphs-eimage.c (jpeg_instantiate):
17478         * glyphs-eimage.c (gif_instantiate):
17479         * glyphs-eimage.c (png_instantiate):
17480         * glyphs-eimage.c (tiff_instantiate):
17481         * glyphs-x.c (xbm_instantiate_1):
17482         * glyphs-x.c (x_xbm_instantiate):
17483         * glyphs-x.c (x_xface_instantiate):
17484         * glyphs-x.c (autodetect_instantiate):
17485         * glyphs-x.c (cursor_font_instantiate):
17486         * glyphs-x.c (x_widget_instantiate):
17487         * glyphs-x.c (x_widget_set_property):
17488         * glyphs-x.c (x_widget_property):
17489         * glyphs-x.c (BUILD_GLYPH_INST):
17490         * print.c (write_string_to_stdio_stream):
17491         * print.c (output_string):
17492         * print.c (Falternate_debugging_output):
17493         * print.c (Fexternal_debugging_output):
17494         * glyphs-msw.c (extract_xpm_color_names):
17495         * glyphs-msw.c (mswindows_xpm_instantiate):
17496         * glyphs-msw.c (bmp_instantiate):
17497         * glyphs-msw.c (resource_name_to_resource):
17498         * glyphs-msw.c (mswindows_resource_instantiate):
17499         * glyphs-msw.c (xbm_instantiate_1):
17500         * glyphs-msw.c (mswindows_xbm_instantiate):
17501         * glyphs-msw.c (mswindows_xface_instantiate):
17502         * glyphs-msw.c (mswindows_widget_instantiate):
17503         * glyphs-msw.c (add_tree_item):
17504         * glyphs-msw.c (add_tab_item):
17505         * glyphs-msw.c (mswindows_combo_box_instantiate):
17506         * glyphs-msw.c (mswindows_widget_property):
17507         * glyphs-msw.c (mswindows_combo_box_property):
17508         * glyphs-msw.c (mswindows_widget_set_property):
17509         * console.c (stuff_buffered_input):
17510         * objects-msw.c (mswindows_initialize_color_instance):
17511         * objects-msw.c (mswindows_valid_color_name_p):
17512         * objects-msw.c (mswindows_list_fonts):
17513         * objects-msw.c (mswindows_font_instance_truename):
17514         * bytecode.c (optimize_compiled_function):
17515         * select-x.c (symbol_to_x_atom):
17516         * select-x.c (x_atom_to_symbol):
17517         * select-x.c (hack_motif_clipboard_selection):
17518         * select-x.c (selection_data_to_lisp_data):
17519         * select-x.c (lisp_data_to_selection_data):
17520         * select-x.c (Fx_get_cutbuffer_internal):
17521         * select-x.c (Fx_store_cutbuffer_internal):
17522         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17523         * buffer.h (TO_INTERNAL_FORMAT): New function.
17524         * emacs.c (make_arg_list_1):
17525         * emacs.c (make_argc_argv):
17526         * emacs.c (main_1):
17527         * emacs.c (Fdump_emacs):
17528         * emacs.c (split_string_by_emchar_1):
17529         * file-coding.h:
17530         * lisp.h:
17531         * lstream.h:
17532         * symsinit.h:
17533         * device-x.c (x_init_device):
17534         * device-x.c (Fx_valid_keysym_name_p):
17535         * device-x.c (Fx_get_font_path):
17536         * device-x.c (Fx_set_font_path):
17537         * glyphs.c (bitmap_to_lisp_data):
17538         * glyphs.c (pixmap_to_lisp_data):
17539         * alloc.c (make_ext_string): Use coding system arguments.  Update
17540         all callers.
17541         * alloc.c (build_string):
17542         * callproc.c (child_setup):
17543         * callproc.c (init_callproc):
17544         * fileio.c (lisp_strerror):
17545         * fileio.c (directory_file_name):
17546         * fileio.c (Fexpand_file_name):
17547         * fileio.c (Ffile_truename):
17548         * fileio.c (Fsysnetunam):
17549         * fileio.c (Fdo_auto_save):
17550         * sysdep.c (sys_readdir):
17551         * tests.c: New file.  Allow adding C tests.
17552         Replace GET_* macros with a more comprehensible and flexible
17553         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17554         Modify all calls.
17555         Any coding system can be used to do format conversion.
17556         Eliminate enum external_data_format.
17557         Eliminate convert_to_external_format.
17558         Eliminate convert_to_internal_format.
17559         Make sure file-name, keyboard, terminal, and ctext are always
17560         defined as coding systems or aliases.  Make
17561         file-name-coding-system, terminal-coding-system, and
17562         keyboard-coding-system magical variables that are equivalent to
17563         defining the corresponding coding system aliases.
17564
17565         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17566         * file-coding.c (Fcoding_system_alias_p): New function.
17567         * file-coding.c (Fcoding_system_aliasee): New function.
17568         * file-coding.c (append_suffix_to_symbol): New function.
17569         * file-coding.c (dangling_coding_system_alias_p): New function.
17570         * file-coding.c (Ffind_coding_system):
17571         * file-coding.c (Fcopy_coding_system):
17572         * file-coding.c (encode_coding_no_conversion):
17573         * file-coding.c (syms_of_file_coding):
17574         * file-coding.c (vars_of_file_coding):
17575         Rewrite coding system alias code.
17576         Allow nested aliases, like symbolic links.
17577         Allow redefinition of coding system aliases.
17578         Prevent existence of dangling coding system aliases.
17579
17580         * dired.c (Fuser_name_completion_1):
17581         * dired.c (Fuser_name_all_completions):
17582         A crash would happen if user did QUIT in the middle of building
17583         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17584
17585         * lisp.h:
17586         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17587
17588         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17589         an unsigned char *.  Update all callers.
17590
17591 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17592
17593         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17594
17595 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17596
17597         * elhash.c (hentry_description): Use more portable definition.
17598         (resize_hash_table): Initialize new hentries using
17599         xnew_array_and_zero, thereby simplifying the code.
17600
17601         * mule-charset.c (make_charset): Make sure entire object is
17602         initialized, to avoid Purify warnings.
17603
17604         * alloc.c (resize_string): Fix unlikely crash with big strings.
17605
17606 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17607
17608         * realpath.c (xrealpath):
17609         Don't call getwd().
17610
17611 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17612
17613         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17614
17615 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17616
17617         * unexelfsgi.c (unexec): Change the way we decide which segment
17618         should be extended.
17619
17620         Assumption that .bss section should be outside the PT_LOADable
17621         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17622         it's present) is inside the 'data' segment. This would fail the
17623         test which was used to find a segment to grow and cover new
17624         heap. Instead of this assumption, I created another one - on IRIX
17625         the segment to grow should start below .bss and it's address
17626         should extent above the end of .bss. Once this segment is
17627         identified, it's grown to accommodate the new heap and new
17628         zero-length .bss section is added at the end of .data2.
17629
17630 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17631
17632         * eval.c (Feval): Wrong number of arguments should use original
17633         function, not the indirect_function version of it.
17634
17635 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17636
17637         * glyphs-x.c (x_button_instantiate): Don't add image if
17638         it is not a pixmap.
17639         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17640         is relative.
17641
17642 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17643
17644         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17645         declaration.
17646         (DEFVAR_INT_MAGIC): Ditto.
17647         (DEFVAR_BOOL_MAGIC): Ditto.
17648         * glyphs.h: Reindent backslash.
17649
17650 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17651
17652         * glyphs-widget.c (layout_query_geometry):
17653         (layout_layout): Use correct types for gheight, gwidth.
17654
17655 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17656
17657         * EmacsManager.c (QueryGeometry): Purified.
17658
17659 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17660
17661         * alloc.c (make_float): Make sure entire object is initialized, to
17662         avoid Purify warnings.
17663         (pdump_register_sub): Remove useless assignment.
17664         (pdump): Use xmalloc, not malloc.
17665         (pdump_load): Use xmalloc, not malloc.
17666
17667 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17668
17669         * callproc.c:
17670         * dired-msw.c:
17671         * fileio.c:
17672         * process-nt.c:
17673         * redisplay-msw.c:
17674         * sysdep.c: Removed redundant #include <windows.h>
17675
17676 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17677
17678         * frame.c (delete_frame_internal): Do not delete device when its
17679         implementation so declares.
17680         (delete_frame_internal): Set device selected frame to nil when
17681         last frame goes away.
17682
17683         * device-msw.c (msprinter_device_system_metrics): Implemented.
17684         (mswindows_device_system_metrics): Added 'device-dpi property.
17685
17686         * device.c: (Fdevice_printer_p): Added.
17687         Added 'offset-workspace device metric.
17688
17689         * console.h (device_metrics): Declared DM_offset_workspace.
17690
17691 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17692
17693         * fileio.c (Ffile_truename): Remove pointless and confusing
17694         initialization of elen.
17695
17696         * glyphs-widget.c: Compiler warning fixes.
17697
17698 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17699
17700         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17701         instead of a Lisp_Object as argument to make it consistent with
17702         the other LIVE_P macros.
17703         (CHECK_LIVE_PROCESS): New macro.
17704
17705         * process.c: Declare Qprocess_live_p.
17706         (Fprocess_live_p): New function.
17707         (create_process): Use PROCESS_LIVE_P.
17708         (read_process_output): Ditto.
17709         (set_process_filter): Ditto.
17710         (Fdelete_process): Ditto.
17711         (kill_buffer_processes): Ditto
17712         (process_send_signal): Use CHECK_LIVE_PROCESS.
17713         (Fprocess_input_coding_system): Check whether process is still
17714         alive (fix PR#1061).
17715         (Fprocess_output_coding_system): Ditto.
17716         (Fprocess_coding_system): Ditto.
17717         (Fset_process_input_coding_system): Ditto.
17718         (Fset_process_output_coding_system): Ditto.
17719
17720 2000-01-23  Andy Piper  <andy@xemacs.org>
17721
17722         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17723         layout and widget.
17724
17725         * glyphs.c (mark_image_instance): take into account changed
17726         image_instance format.
17727         (image_instance_equal): ditto.
17728         (image_instance_hash): ditto.
17729
17730         * glyphs-widget.c (widget_instantiate): Incorporate layout
17731         instantiation here. Delay layout of the layout until later.
17732         (layout_instantiate): deleted.
17733         (layout_query_geometry): new function. get the geometry of a
17734         layout.
17735         (layout_layout): layout a layout dynamically.
17736         (image_instantiator_widget): New function - splitting up
17737         image_instantiator_format_create_glyphs_widget for netwinder
17738         compilation.
17739         (image_instantiator_buttons):
17740         (image_instantiator_edit_fields):
17741         (image_instantiator_combo_box):
17742         (image_instantiator_scrollbar):
17743         (image_instantiator_progress_guage):
17744         (image_instantiator_tree_view):
17745         (image_instantiator_tab_control):
17746         (image_instantiator_labels):
17747         (image_instantiator_layout): ditto.
17748         (image_instantiator_format_create_glyphs_widget): Call preceding
17749         functions.
17750
17751 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17752
17753         * process.c (Fset_process_coding_system):
17754         * device-x.c (Fx_keysym_hash_table):
17755         Docstring fixes.
17756
17757         * lstream.c (Lstream_write): Return documented value, not 0.
17758
17759         * fileio.c (directory_file_name):
17760         (Fsubstitute_in_file_name):
17761         (Fsubstitute_insert_file_contents_internal):
17762         (Fwrite_region_internal):
17763         * emacs.c:
17764         * sysdep.c:
17765         * getloadavg.c:
17766         * systty.h:
17767         Remove vestigial APOLLO-conditional code.
17768
17769 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17770
17771         * getpagesize.h: Add guard macros.
17772         * libsst.h: Add guard macros.
17773         * libst.h: Add guard macros.
17774         * line-number.h: Add guard macros.
17775         * ndir.h: Add guard macros.
17776         * sysfloat.h: Add guard macros.
17777         * sysfile.h: Add guard macros.
17778         * sysproc.h: Add guard macros.
17779         * syswait.h: Add guard macros.
17780         * xintrinsic.h: Add guard macros.
17781         * xintrinsicp.h: Add guard macros.
17782         * xmmanager.h: Add guard macros.
17783         * xmmanagerp.h: Add guard macros.
17784         * xmprimitive.h: Add guard macros.
17785         * xmu.h: Add guard macros.
17786         * gpmevent.h: Add copyright statement. Add guard macros.
17787         * miscplay.h: Add guard macros.
17788         * *.h: Use consistent C-standards-approved guard macro names.
17789
17790         * opaque.c (make_opaque): Switch parameter order.
17791         * opaque.h (make_opaque): Switch parameter order.
17792         Update all callers.
17793         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17794
17795         * config.h.in (type_checking_assert): Added.
17796         (bufpos_checking_assert): Added.
17797
17798 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17799
17800         * alloc.c: Harmless pdump changes.
17801         - Use countof().
17802         - spell alignment correctly.
17803         * sysdep.c: Use countof()
17804
17805 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17806
17807         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17808         initially_selected_for_input() console method, default to 0.
17809         (semi_canonicalize_console_connection): Try to delegate to
17810         canonicalize_console_connection if no such console method.
17811         (canonicalize_console_connection): Vice versa.
17812         (print_console): Do not print nil connection.
17813
17814         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17815         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17816         (XDEVIMPF_FRAMELESS_OK): Added.
17817         (CONSOLE_INHERITS_METHOD): Added.
17818
17819         * console-msw.c (mswindows_canonicalize_console_connection):
17820         Added.
17821         (mswindows_canonicalize_device_connection): Added.
17822
17823         * console-msw.h (struct msprinter_device): Added this struct and
17824         accessor macros.
17825         (mswindows_device): Made fontlist a lisp object.
17826
17827         * device.c (semi_canonicalize_device_connection):  Try to delegate
17828         to canonicalize_device_connection if no such console method.
17829         (canonicalize_device_connection): Vice versa.
17830         (print_device): Do not print nil connection.
17831
17832         * device-msw.c (mswindows_init_device): Call InitCommonControls
17833         when have widgets.
17834         (mswindows_delete_device): Removed fontlist deallocation.
17835         (mswindows_mark_device): Added.
17836
17837         * events.c (event_equal): Added abort() at unreached code.
17838         (event_hash): Ditto.
17839
17840         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17841         fallback tags of Windows devices.
17842
17843         * general.c (syms_of_general): Initialized Qmsprinter.
17844
17845         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17846         of fallback tags of Windows devices.
17847
17848         * lisp.h: Declared Qmsprinter.
17849
17850         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17851         of strings.
17852         (mswindows_list_fonts): Ditto.
17853         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17854         that it can be used by both mswindows and msprinter devices.
17855         (initialize_font_instance): Added.
17856         (mswindows_initialize_font_instance): Use it.
17857         (msprinter_initialize_font_instance): Added.
17858
17859         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17860         and implementation flags check.
17861         (redisplay_without_hooks): Changed the call to the above.
17862         (Fredraw_device): Ditto.
17863         (Fredisplay_device): Ditto.
17864
17865         * redisplay-msw.c (get_frame_dc): Implemented.
17866         (get_frame_compdc): Implemented.
17867         (many functions): Use the two functions above to get device
17868         contexts, ether for a window or a printer.
17869
17870 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17871
17872         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17873         initialization here.
17874         (init_symbols_once_early): Call it.
17875         * emacs.c (main_1): Call it.
17876         * symsinit.h: Declare it.
17877
17878 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17879
17880         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17881         Lisp_Object.
17882         (pdump_backtrace): Ditto.
17883         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17884         (pdump_get_entry): Abort if trying to register a null pointer.
17885         (pdump_dump_data): Cleanup types when relocating.
17886         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17887         (pdump_dump_rtables): Remove bad casts.
17888         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17889         Lisp_Object instead of a EMACS_INT for the hashtable
17890         reorganization.
17891
17892 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17893
17894         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17895
17896         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17897
17898         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17899
17900         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17901
17902 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17903
17904         * faces.h (FACE_STRIKETHRU_P): Added.
17905
17906         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17907         of font variants.
17908
17909         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17910         (mswindows_set_dc_font): New function, aware of font variants,
17911         separated from mswindows_update_dc.
17912
17913         * objects-msw.h (struct mswindows_font_instance_data): Added
17914         definition.
17915
17916         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17917         cached fonts and the data structure.
17918         (mswindows_initialize_font_instance): Added creation of font data
17919         structure.
17920         (mswindows_print_font_instance): Print at least something.
17921         (mswindows_create_font_variant): Implemented.
17922         (mswindows_get_hfont): Implemented.
17923
17924 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17925
17926         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17927         prototyping problem with msvc.
17928
17929         * emacs.c (main_1): added syms_of_gui_mswindows() call
17930
17931         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17932         syms_of_gui_mswindows() function
17933
17934         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17935
17936 2000-01-18  Martin Buchholz <martin@xemacs.org>
17937
17938         * XEmacs 21.2.27 is released.
17939
17940 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17941
17942         * glyphs-eimage.c (struct tiff_error_struct):
17943         (tiff_error_func):
17944         (tiff_warning_func):
17945         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17946
17947         * unexmips.c:
17948         * unexhp9k3.c:
17949         * unexfreebsd.c:
17950         * unexec.c: Remove vestigial Lucid C code.
17951         * unexalpha.c:
17952         * unexaix.c:
17953         * termcap.c:
17954         * libsst.c: Ansify.
17955         Remove declarations of errno and strerror().
17956
17957         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17958
17959         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17960
17961 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17962
17963         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17964         Optimize.
17965
17966 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17967
17968         * md5.c:
17969         * file-coding.c:
17970         * file-coding.h:
17971         Change enum eol_type to eol_type_t.
17972
17973 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17974
17975         * gui.c (get_gui_callback): Check cons before accessing car.
17976
17977 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17978
17979         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17980         (XSETSPECIFIER_TYPE): Ditto.
17981
17982 2000-01-17  Didier Verna  <didier@xemacs.org>
17983
17984         * redisplay.c (generate_fstring_runes): compute string size in
17985         characters, not bytes.
17986
17987 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17988
17989         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17990
17991 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17992
17993         * print.c (print_error_message): Call print_prepare().
17994
17995 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17996
17997         * .dbxrc: Renamed from dbxrc.
17998
17999         * events.c (event_to_character):
18000         Use `assert (foo)' instead of `if (!foo) abort()'
18001
18002         * .gdbinit (xtype): Add documentation.
18003         * .gdbinit (check-temacs): New function.
18004         * .gdbinit (check-xemacs): New function.
18005         * dbxrc (check-xemacs): New function.
18006         * dbxrc (check-xemacs): New function.
18007
18008 2000-01-14  Andy Piper  <andy@xemacs.org>
18009
18010         * glyphs-widget.c (widget_query_geometry): Make sure that we
18011         calculate default dimensions correctly.
18012
18013 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18014
18015         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18016
18017         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18018         pdump_wire'd variable.
18019
18020         * emacs.c: (main_1): Conditionalized calls to
18021         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18022
18023 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18024
18025         * window.c (Fset_window_configuration):
18026         * sysdep.c (_start):
18027         * input-method-motif.c (res):
18028         * event-Xt.c (Xt_process_to_emacs_event):
18029         Simple compiler warning fixes.
18030
18031         * bytecode.c (funcall_compiled_function): Use the original
18032         function symbol on the backtrace list in preference to the
18033         compiled_function object in error messages.
18034
18035 2000-01-13  Andy Piper  <andy@xemacs.org>
18036
18037         * glyphs-x.c (update_widget_face): Make sure we update the widget
18038         background as well as foreground.
18039
18040 2000-01-13  Andy Piper  <andy@xemacs.org>
18041
18042         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18043         fields to subwindow.
18044         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18045         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18046         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18047         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18048
18049         * glyphs-widget.c (check_valid_tab_orientation): new function.
18050         (initialize_widget_image_instance): zero orientation and
18051         justification.
18052         (widget_instantiate): pick up orientation.
18053         (tab_control_query_geometry): return appropriate values for
18054         vertical tabs.
18055
18056         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18057         appropriate creation flags for left, right and bottom tabs.
18058
18059         * s/cygwin32.h: add tab definitions.
18060
18061 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18062
18063         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18064         frame upon hiding a subwindow.
18065         (mswindows_button_instantiate): Changed the push button style to
18066         BS_PUSHBUTTON.
18067         (mswindows_button_instantiate): Removed button BS_NOTIFY
18068         style.
18069         (mswindows_button_instantiate): Removed redundant check for
18070         a disabled gui item.
18071         (mswindows_button_instantiate): Made use of WS_TABSTOP
18072         consistent: "operable" controls (edit, button, tree, scroll) have
18073         this style, "display-only" ones (static, progress gauge) do
18074         not. This style is currently ignored by XEmacs though. Also,
18075         removed the WS_EX_CONTROLPARENT style - it is not for children,
18076         it is for their parents!
18077         (mswindows_edit_field_instantiate): Ditto.
18078         (mswindows_progress_gauge_instantiate): Ditto.
18079         (mswindows_tree_view_instantiate): Ditto.
18080         (mswindows_tab_control_instantiate): Ditto.
18081         (mswindows_scrollbar_instantiate): Ditto.
18082         (mswindows_combo_box_instantiate): Ditto.
18083         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18084         style to the "clip" window.
18085         (mswindows_button_instantiate): Removed compilation warning by
18086         equally typing terms of the ?: operator.
18087
18088 2000-01-12  Didier Verna  <didier@xemacs.org>
18089
18090         * redisplay.c (generate_fstring_runes): new parameter holding the
18091         last modeline-format extent.
18092         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18093         extent, fill the glyph block with it.
18094         (generate_fstring_runes): handle these parameters.
18095         (generate_formatted_string_db): ditto.
18096
18097         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18098         glyphs'extents in the modeline.
18099
18100 1999-01-11  Mike Woolley  <mike@bulsara.com>
18101
18102         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18103         256Mb, as a workaround for the non-starting problem many people
18104         have experienced.
18105
18106 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18107
18108         * console-tty.c (Fset_console_tty_output_coding_system):
18109         Force redrawing tty frame.
18110
18111 2000-01-10  Didier Verna  <didier@xemacs.org>
18112
18113         * redisplay.c (generate_fstring_runes): fix size computation bug.
18114
18115 2000-01-09  William M. Perry <wmperry@aventail.com>
18116
18117         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18118
18119 2000-01-09  Andy Piper  <andy@xemacs.org>
18120
18121         * glyphs-msw.c: index -> i to avoid shadows.
18122         (xbm_create_bitmap_from_data): make static.
18123         (check_valid_string_or_int): deleted.
18124         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18125
18126         * glyphs-x.c (x_update_subwindow): remove unused args.
18127
18128         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18129         back pointer - this is done in allocate_image_instance.
18130         (query_string_font): return Qnil to make the compiler happy.
18131         (unmap_subwindow): set to ~0 to make the compiler happy.
18132         (glyph_query_geometry): comment out until used.
18133         (glyph_layout): ditto.
18134
18135 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18136
18137         * insdel.c (signal_after_change): Remove extraneous unbind_to().