update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c (print_concord_object): Don't display location of
4         data-source when `print-readably' is nil.
5
6 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
9         the default location of data-source.
10         (complex_vars_of_concord): Use Vchise_system_db_directory to
11         assign genre `character' and `feature'.
12
13         * chartab.h (Vchise_system_db_directory): New extern when
14         HAVE_CONCORD is defined.
15
16 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
19         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
20         (Qfeature): Ditto.
21         (Fconcord_object_genre): New function.
22         (syms_of_concord):
23         - Add new builtin symbols `character' and `feature' when
24           HAVE_LIBCHISE is defined.
25         - Add Add new builtin function `concord-object-genre'.  
26         (complex_vars_of_concord): New function; assign genres `character'
27         and `feature' when HAVE_LIBCHISE is defined.
28
29 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * emacs.c (main_1): Call `complex_vars_of_concord' when
32         HAVE_CONCORD is defined.
33
34         * symsinit.h (complex_vars_of_concord): New prototype.
35
36 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * chartab.c (allocate_character): Add `static'.
39
40 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
41
42         * chartab.c (allocate_character): New function.
43         (Fdefine_char): Use allocate_character().
44
45 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
48         (Ōkawara).
49
50 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * chartab.c (save_uint8_byte_table): Fixed problem when a property
53         is unloaded.
54         (save_uint16_byte_table): Likewise.
55
56 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * chartab.c (Fchar_feature_property): New function when LIBCHISE
59         is enabled.
60         (Fput_char_feature_property): Likewise.
61         (syms_of_chartab): Add new builtin functions
62         `char-feature-property' and `put-char-feature-property' when
63         LIBCHISE is enabled.
64
65 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
66
67         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
68         '=>iso-ir.
69         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
70
71 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
74         (make_charset): Add new argument `iso_ir'.
75         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
76         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
77         XEmacs CHISE.
78         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
79         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
80         XEmacs CHISE.
81         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
82         function `make_charset'.
83
84         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
85         (struct Lisp_Charset): Add new member `iso_ir'.
86         (CHARSET_ISO_IR): New macro.
87
88 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
91         code-point by GL charset.
92
93 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * concord.c (concord_id_validate): New function.
96         (structure_type_create_concord): Use `concord_id_validate' instead
97         of `concord_name_validate' to accept integer and character as =id.
98
99 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * concord.c (func_for_each_object): Fix bug about GC-protection.
102
103 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * concord.c (Fconcord_object_put): Check argument FEATURE is a
106         symbol.
107
108 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * text-coding.c (struct decoding_stream): Add new member
111         `bom_flag' in XEmacs CHISE.
112         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
113         in XEmacs CHISE.
114
115 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * mule-charset.c: Move definition of `=jis-x0208@1978' to
118         lisp/mule/mule-conf.el.
119
120 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
123         (make_charset): Add new argument `partial'.
124         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
125         (Fmake_reverse_direction_charset): Modify for `make_charset'.
126         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
127         CHISE.
128         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
129         `=jis-x0208' as a partial coded-charset.
130
131 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * text-coding.c (decode_add_er_char): Fix problem when a character
134         represented by an entity-reference is not defined.
135
136 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
139         Qrep_*.
140
141 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
144         (Kasagi).
145
146 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
149         is a relation feature.
150
151 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * chartab.c (syms_of_chartab): Define
154         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
155
156         * chartab.h (Q_denotational): New extern when UTF2000 or
157         HAVE_CONCORD is defined.
158         (Q_denotational_from): Likewise.
159         (Q_subsumptive): Likewise.
160         (Q_subsumptive_from): Likewise.
161
162 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
163
164         * concord.c (concord_object_put): New function.
165         (Fconcord_object_put): Use `concord_object_put'.
166
167 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * concord.c (Fconcord_define_object): New function.
170         (syms_of_concord): Add new builtin function
171         `concord-define-object'.
172
173 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
176         (Kamo).
177
178 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * concord.c: Add EXFUN for Fconcord_object_get.
181         (Vconcord_genre_object_hash_table): New variable.
182         (concord_genre_cache_get_object): New function.
183         (concord_genre_cache_put_object): New function.
184         (Fconcord_make_object): Use object cache; put object-ID into `=id'
185         feature.
186         (Fconcord_object_put): Call `concord_index_sync' after
187         `concord_index_strid_put_obj'.
188         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
189
190 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
191
192         * concord.c (Fconcord_decode_object): Do GCPRO for
193         Fconcord_make_object.
194         (func_for_each_object): Likewise; do GCPRO for
195         for_each_object_closure->function.
196         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
197         for_each_object_closure->function, for_each_object_closure->genre,
198         for_each_object_closure->ds and for_each_object_closure->ret.
199         (concord_object_validate): Do GCPRO for Fconcord_make_object.
200
201 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * concord.c: Add EXFUNs for Fconcord_decode_object and
204         Fconcord_object_put.
205         (Fconcord_make_object): Change order of arguments.
206         (Fconcord_decode_object): Modify for Fconcord_make_object.
207         (func_for_each_object): Likewise.
208         (concord_object_validate): Likewise.
209         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
210
211 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
214
215 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * concord.c (Fconcord_decode_object): Try to use readable print
218         form as a key of Concord-index.
219         (Fconcord_object_get): Try to use readable print form as an ID of
220         Concord-object.
221         (Fconcord_object_put): Try to use readable print form as an ID of
222         Concord-object and a feature value.
223         (Fconcord_object_spec): Try to use readable print form as an ID of
224         Concord-object.
225
226 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * concord.c (print_concord_object): Support readable form.
229
230 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
231
232         * emacs.c (main_1): Call `structure_type_create_concord' when
233         HAVE_CONCORD is defined.
234
235         * symsinit.h (structure_type_create_concord): New prototype.
236
237         * concord.c (Qconcord_object): New variable.
238         (Qgenre): Likewise.
239         (Q_id): Likewise.
240         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
241         for directory.
242         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
243         char*> for genre-name.
244         (Fconcord_feature_list): Likewise.
245         (Fconcord_make_object): Likewise.
246         (Fconcord_decode_object): Likewise; use <char*> instead of
247         <unsigned char*> for feature_name and strid.
248         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
249         c_obj and feature_name.
250         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
251         char*> for c_value.
252         (struct closure_for_object_spec): Use <char*> instead of <unsigned
253         char*> for member `object_id'.
254         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
255         char*> for feature-name.
256         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
257         for c_obj.
258         (func_for_each_object): Cast to avoid warnings.
259         (Fconcord_foreach_object_in_feature): Use <char*> instead of
260         <unsigned char*> for genre_name and feature_name.
261         (concord_name_validate): New function.
262         (concord_object_validate): Likewise.
263         (concord_object_instantiate): Likewise.
264         (syms_of_concord): Add new builtin symbols `concord-object',
265         `genre' and `=id'.
266         (structure_type_create_concord): New function.
267
268 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * concord.c (Vconcord_ds_hash_table): New variable.
271         (Vconcord_genre_hash_table): New variable.
272         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
273         (Fconcord_ds_directory): New function.
274         (Fconcord_assign_genre): New function.
275         (Fconcord_genre_directory): New function.
276         (Fconcord_genre_ds): New function.
277         (Fconcord_feature_list): Allow to omit `ds'.
278         (Fconcord_make_object): Likewise.
279         (Fconcord_decode_object): Likewise.
280         (Fconcord_foreach_object_in_feature): Likewise.
281         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
282         Fconcord_assign_genre, Fconcord_genre_directory and
283         Fconcord_genre_ds.
284         (vars_of_concord): Setup Vconcord_ds_hash_table and
285         Vconcord_genre_hash_table.
286
287 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * concord.c (struct closure_for_each_object): Add new member
290         `ret'.
291         (func_for_each_object): Setup the return value to
292         `for_each_object_closure->ret'.
293         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
294         returns the value instead of Qt.
295
296 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * concord.c: New file.
299
300 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
303         `lrecord_type_concord_object'.
304
305 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * symsinit.h (syms_of_concord): New prototype.
308         (vars_of_concord): New prototype.
309
310         * emacs.c (main_1): Setup symbols and variable about concord if
311         HAVE_CONCORD is defined.
312
313         * config.h.in (HAVE_CONCORD): New macro.
314
315 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * chartab.c (Fput_char_attribute): For each character relation
318         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
319
320 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * chartab.c (Fput_char_attribute): Use
323         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
324         calling `put_char_composition'.
325
326 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * chartab.c (Q_halfwidth_of): New variable.
329         (put_char_composition): Return `<-halfwidth' instead of
330         `=decomposition' for compatibility mapping to single character
331         tagged `narrow'.
332         (Fput_char_attribute): Convert char-specs in value of
333         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
334         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
335         for `<-halfwidth'.
336         (syms_of_chartab): Add new symbol `<-halfwidth'.
337
338 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * chartab.c (put_char_composition): Return
341         `<-formed@{isolated|initial|medial|final}' for compatibility
342         mapping to single character tagged
343         `{isolated|initial|medial|final}'.
344
345 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * chartab.c (Q_compat_of): Deleted.
348         (put_char_composition): Return `<-FOO' for compatibility mapping
349         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
350         of `symbol_name (XSYMBOL(...))'.
351         (Fput_char_attribute): Convert char-specs in value of
352         `{<-|->}font[^*]*' to characters and put reverse links.
353         (Fsave_char_attribute_table): Don't refer Q_compat_of.
354         (syms_of_chartab): Delete builtin symbol `<-compat'.
355
356 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * chartab.c (Q_circled_of): New variable.
359         (put_char_composition): Return `<-circled' instead of
360         `=decomposition' for compatibility mapping to single character
361         tagged `circle'.
362         (Fput_char_attribute): Convert char-specs in value of
363         `{<-|->}circled[^*]*' to characters and put reverse links.
364         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
365         for `<-circled'.
366         (syms_of_chartab): Add new symbol `<-circled'.
367
368 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * chartab.c (Qto_decomposition_at_circled): New variable.
371         (put_char_composition): Return `=>decomposition@circled' instead
372         of `=decomposition' for compatibility decomposition mapping tagged
373         `circle'.
374         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
375
376 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * chartab.c (Q_subscript_of): New variable.
379         (put_char_composition): Return `<-subscript' instead of
380         `=decomposition' for compatibility mapping to single character
381         tagged `sub'.
382         (Fput_char_attribute): Convert char-specs in value of
383         `{<-|->}subscript[^*]*' to characters and put reverse links.
384         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
385         for `<-subscript'.
386         (syms_of_chartab): Add new symbol `<-subscript'.
387
388 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
389
390         * chartab.c (Q_superscript_of): New variable.
391         (put_char_composition): Return `<-superscript' instead of
392         `=decomposition' for compatibility mapping to single character
393         tagged `super'.
394         (Fput_char_attribute): Convert char-specs in value of
395         `{<-|->}superscript[^*]*' to characters and put reverse links.
396         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
397         for `<-superscript'.
398         (syms_of_chartab): Add new symbol `<-superscript'.
399
400 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.c (Qto_decomposition_at_compat): Deleted.
403         (Qto_decomposition_at_superscript): New variable.
404         (put_char_composition): Use `=>decomposition@superscript' instead
405         of `=decomposition' for compatibility decomposition mapping tagged
406         `super'.
407         (Fput_char_attribute): Fix condition about `put_char_composition'.
408         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
409         add news symbol `=>decomposition@superscript'.
410
411 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
412
413         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
414         for compatibility decomposition mapping tagged FOO.
415         (Fput_char_attribute): Modify for `put_char_composition'.
416
417 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * chartab.c (Qto_decomposition_at_compat): New variable.
420         (Q_compat_of): Renamed from `Q_compatibility_of'.
421         (put_char_composition): Rename `Q_compatibility_of' to
422         `Q_compat_of'; return `=>decomposition@compat' for compatibility
423         decomposition mapping.
424         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
425         `Q_compat_of'.
426         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
427         `<-compatibility' to `<-compat'.
428
429 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
430
431         * chartab.c (Q_compatibility_of): New variable.
432         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
433         object is proved to be a cons cell; return `<-compatibility' if
434         the first element of argument `value' is `compat'.
435         (Fput_char_attribute): Eliminate the first value if
436         `put_char_composition' returns `<-compatibility'.
437         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
438         for `<-compatibility'.
439         (syms_of_chartab): Add new symbol `<-compatibility'.
440
441 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * chartab.c (Q_canonical): New variable.
444         (put_char_composition): Return a feature name: return
445         `->canonical' if argument `value' specifies single character.
446         (Fput_char_attribute): Use `put_char_composition' to determine
447         feature name for `=decomposition' or `->denotational'.
448         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
449         for `->canonical'.
450         (syms_of_chartab): Add new symbol `->canonical'.
451
452 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * chartab.c (Qmap_decomposition): New variable.
455         (Fput_char_attribute): Convert `->decomposition' to
456         `=decomposition'.
457         (syms_of_chartab): Add new symbol `=decomposition'.
458
459 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * chartab.c (Fget_range_char_table): Fix serious problem when
462         `range' is nil.
463
464 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * chartab.c (char_table_get_db): Use `read_from_c_string'.
467
468 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * lread.c (read_from_c_string): New function.
471
472         * lisp.h (read_from_c_string): New prototype.
473
474 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * chartab.c (Fput_char_attribute): Convert char-specs in value of
477         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
478         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
479         for `{<-|->}Oracle-Bones[^*]*'.
480
481 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
482
483         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
484         (Kizu).
485
486 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
487
488         * text-coding.c (Qccs_priority_list): New variable in XEmacs
489         CHISE.
490         (Fmake_coding_system): Support new property `ccs-priority-list' in
491         XEmacs CHISE.
492         (Fcoding_system_property): Likewise.
493         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
494         Vdefault_coded_charset_priority_list in XEmacs CHISE.
495         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
496         XEmacs CHISE.
497         (complex_vars_of_file_coding): Define new coding-system-property
498         `ccs-priority-list' in XEmacs CHISE.
499
500         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
501
502 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
505         changed to normal function.
506         (encode_char_2): Likewise.
507
508         * mule-charset.c (decoding_table_put_char): Copied from
509         char-ucs.h; changed to normal function.
510         (encode_char_2): Likewise.
511
512 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
515         New extern.
516         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
517         (encode_char_2_search_children): New inline function.
518         (encode_char_2): Refer
519         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
520         and use `encode_char_2_search_children'.
521
522 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * mule-charset.c
525         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
526         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
527         (vars_of_mule_charset): Add new variable
528         `display-coded-charset-priority-use-inheritance' and
529         `display-coded-charset-priority-use-hierarchy-order'.
530
531 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * char-ucs.h (Q_subsumptive): New extern.
534         (Q_denotational): Likewise.
535         (encode_char_2): Search children specified by `->subsumptive' and
536         `->denotational'.
537
538 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
539
540         * mule-charset.c (complex_vars_of_mule_charset): Modify the
541         X-registry of `ucs-bmp'.
542
543 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * chartab.c (char-variants): Refer `->subsumptive',
546         `->denotational' and `->identical' as same as `->ucs-unified'.
547
548 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * chartab.c (Fput_char_attribute): Convert char-specs in value of
551         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
552         links.
553
554 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * text-coding.c: Add EXFUN for `Fregexp_quote'.
557         (decode_add_er_char): Fix problem about infinite loop when a CCS
558         specified in `coded-charset-entity-reference-alist' is not
559         existed.
560
561 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * mule-charset.c (syms_of_mule_charset): Rename
564         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
565
566 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * fns.c (simplify_char_spec): Don't allocate new character-object
569         if specified char_spec does not have any CCS-features.
570
571         * chartab.h: Add EXFUN for Fdefine_char.
572
573         * chartab.c: Delete EXFUN for Fdefine_char.
574
575 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * fns.c (simplify_char_spec): Use Fdefine_char instead of
578         Ffind_char for char-spec.
579
580 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * lisp-disunion.h (XCHARVAL): Fix condition about
583         SIZEOF_EMACS_INT.
584
585 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
586
587         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
588         <int> for `code'.
589         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
590         point; use <Emchar> instead of <int> for character-id.
591
592 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
595         (make_char): Likewise.
596         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
597         environment.
598         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
599         instead of <int> as the type of return value; use <Lisp_Object>
600         instead of <Emchar> as the type of argument.
601         (XCHARVAL[macro version]): Cast the result into <Emchar>.
602
603         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
604         syntaxcode> instead of <int>.
605
606 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * chartab.c (put_char_composition): Use DECODE_CHAR to get
609         character corresponding with UCS code point.
610         (Fput_char_attribute): Likewise.
611
612         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
613         character in the UCS decoding-table if the char-id is not equal to
614         the UCS code point.
615
616 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
619         for aliases; write `description'; write
620         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
621         not 0.
622
623 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * chartab.c (Fsave_char_attribute_table): Don't use
626         `save_charset_properties'.
627
628         * mule-charset.c (Fsave_charset_properties): Renamed from
629         `save_charset_properties' and changed to Lisp function again;
630         write property `type' as `CCS'; write properties `final-byte' and
631         `mother' if they exists.
632         (syms_of_mule_charset): Revive builtin function
633         `save-charset-properties' when HAVE_LIBCHISE is defined.
634
635 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
636
637         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
638         instead of Vexec_directory.
639         (char_attribute_system_db_file): Likewise.
640
641 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * chartab.c (Fsave_char_attribute_table): Use
644         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
645         defined.
646
647         * mule-charset.c (save_charset_properties): Renamed from
648         `Fsave_charset_properties'; changed to non-Lisp function.
649         (syms_of_mule_charset): Abolish builtin function
650         `save-charset-properties'.
651
652 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * mule-charset.c (Fsave_charset_properties): New function when
655         HAVE_LIBCHISE is defined.
656         (syms_of_mule_charset): Add new builtin function
657         `save-charset-properties' when HAVE_LIBCHISE is defined.
658
659 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * chartab.c (Fput_char_attribute): Convert char-specs in value of
662         `{<-|->}ancient[^*]*' to characters and put reverse links.
663         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
664         for `{<-|->}ancient[^*]*'.
665
666 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
667
668         * chartab.c (Fput_char_attribute): Convert char-specs in value of
669         `{<-|->}original[^*]*' to characters and put reverse links.
670         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
671         for `{<-|->}original[^*]*'.
672
673 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
676
677 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * mule-charset.c (Qsystem_char_id): New variable.
680
681         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
682         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
683
684 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * chartab.c (Fput_char_attribute): When processing a reference of
687         a character, put into the end of the reversed reference of each
688         target character.
689
690 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
691
692         * chartab.c (Q_same): Deleted.
693         (Q_same_of): Deleted.
694         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
695         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
696         for `{<-|->}same'.
697         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
698
699 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * chartab.c (Q_vulgar): Deleted.
702         (Q_vulgar_of): Deleted.
703         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
704         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
705         for `{<-|->}vulgar'.
706         (syms_of_chartab): Don't define `{<-|->}vulgar'.
707
708 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * chartab.c (Fput_char_attribute): Convert char-specs in value of
711         `{<-|->}wrong[^*]*' to characters and put reverse links.
712         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
713         for `{<-|->}wrong[^*]*'.
714
715 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * chartab.c (Q_vulgar): New variable.
718         (Q_vulgar_of): New variable.
719         (Fput_char_attribute): Convert char-specs in value of
720         `{->|<-}vulgar' to characters and put reverse links.
721         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
722         for `{->|<-}vulgar'.
723         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
724
725 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * text-coding.c (decode_add_er_char): Must to quote prefix string
728         as regexp.
729
730 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * mule-charset.c (put_char_ccs_code_point): Store characters of
733         =ucs whose code_points >= 0xF0000.
734
735 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
736
737         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
738         CHISE.
739         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
740         CHISE.
741         (complex_vars_of_mule_charset): Add new coded-charset
742         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
743         builtin characters over 0xEFFFF.
744
745         * chartab.c (syms_of_chartab): Don't define symbol
746         `system-char-id' in every case.
747
748         * char-ucs.h (Qsystem_char_id): New extern variable.
749         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
750
751 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * text-coding.c (char_encode_utf8): Try to use entity-references
754         for U-000F0000 ...  U-0010FFFF.
755
756 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * text-coding.c (ER_BUF_SIZE): New macro.
759         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
760         `er_buf'.
761         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
762         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
763
764 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * chartab.c (find_char_feature_in_family): New function.
767         (Fchar_feature): Use `find_char_feature_in_family' with
768         `->identical', `<-subsumptive' and `<-denotational'.
769
770 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * text-coding.c (char_encode_as_entity_reference): Allow prefix
773         within 8 characters; fix infinite loop.
774
775 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
776
777         * chartab.c (Q_same): New variable.
778         (Q_same_of): New variable.
779         (Fput_char_attribute): Convert char-specs in value of
780         `{->|<-}same' to characters and put reverse links.
781         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
782         for `{->|<-}same'.
783         (syms_of_chartab): Add new symbols `{->|<-}same'.
784
785 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
786
787         * chartab.c (Q_component): New variable.
788         (Q_component_of): Likewise.
789         (Fput_char_attribute): Convert char-specs in value of
790         `{->|<-}ideographic-component-forms' to characters and put reverse
791         links.
792         (syms_of_chartab): Add new symbols
793         `{->|<-}ideographic-component-forms'.
794
795 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
796
797         * chartab.c (Q_identical): New variable.
798         (Q_identical_from): New variable.
799         (Fchar_feature): Regard `->identical' as a feature to find
800         ancestors.
801         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
802         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
803         for `{->|<-}identical'.
804         (syms_of_chartab): Add new symbols `{->|<-}identical'.
805
806 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
807
808         * char-ucs.h (encode_char_2): New inline function.
809         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
810
811 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
812
813         * chartab.c (Fput_char_attribute): Convert char-specs to
814         characters in value of `ideographic-structure'.
815         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
816         for `{<-|->}simplified(@...)'.
817         (Fdefine_char): Try to use predefined character's id.
818
819 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * fns.c (simplify_char_spec): Try to convert builtin chars to
822         defined chars.
823
824 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
825
826         * chartab.c (Fput_char_attribute): Convert char-specs in value of
827         `<-simplified[^*]*' to characters and put reverse links.
828
829 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * chartab.c (Q_subsumptive): Renamed from Q_unified.
832         (Q_subsumptive_from): Renamed from Q_unified_from.
833         (Fchar_feature): Use `Q_subsumptive_from' instead of
834         `Q_unified_from'.
835         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
836         `Q_unified'.
837         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
838         `<-unified' to `<-subsumptive'.
839
840 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
841
842         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
843         inheritance itself; fix typo; stop recursive search if cyclic
844         inheritance is found.
845
846 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * chartab.c (Q_denotational): New variable.
849         (Q_denotational_from): New variable.
850         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
851         (put_char_attribute): New function.
852         (Fput_char_attribute): Use `put_char_attribute'; regard
853         `->denotational' and `<-denotational' as same as `->unified' and
854         `<-unified'.
855         (syms_of_chartab): Add new symbols `->denotational' and
856         `<-denotational'.
857
858 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
859
860         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
861         `Fget_char_attribute'.
862         (Fchar_variants): Likewise.
863         (get_char_table): Likewise.
864         (Fchar_feature): New function.
865         (put_char_composition): Use `Fchar_feature' instead of
866         `Fget_char_attribute'.
867         (Fput_char_attribute): Likewise; don't put the target character
868         into its `->unified' value.
869         (syms_of_chartab): Add new builtin function `char-feature'.
870
871 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
872
873         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
874         `Fget_char_attribute'.
875         (char_encode_utf8): Likewise.
876
877         * chartab.h: Add an EXFUN for `Fchar_feature'.
878
879 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
880
881         * chartab.c (Vnext_defined_char_id): New variable.
882         (Fput_char_attribute): Accept characters in `->unified'.
883         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
884         new characters which are not related with builtin char-id ranges.
885         (vars_of_chartab): Add new variable `next-defined-char-id'.
886
887 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
888
889         * chartab.c (Q_unified): New variable.
890         (Q_unified_from): New variable.
891         (Fput_char_attribute): Add code for `->unified'.
892         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
893         XEmacs CHISE.
894
895 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * mule-charset.c (decode_ccs_conversion): New function.
898         (decode_defined_char): Use `decode_ccs_conversion'.
899         (decode_builtin_char): Likewise.
900
901 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
902
903         * char-ucs.h: Change some charset-ids of private coded-charsets.
904
905 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
906
907         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
908         (char_encode_as_entity_reference): Likewise.
909         (decode_coding_big5): Modify for `decode_defined_char' and
910         `DECODE_CHAR'.
911         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
912         avoid compiler warning.
913         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
914
915         * mule-charset.c (decode_defined_char): Add new argument
916         `without_inheritance'.
917         (Fdecode_char): Add new optional argument `without_inheritance'.
918         (Fdecode_builtin_char): Modify for `Fdecode_char'.
919
920         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
921         (simplify_char_spec): Likewise.
922
923         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
924         setting.
925
926         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
927         (map_char_table): Likewise.
928         (Fdefine_char): Use `Fdecode_char' without inheritance.
929         (Ffind_char): Modify for `Fdecode_char'.
930
931         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
932
933         * char-ucs.h (decode_defined_char): Add new argument
934         `without_inheritance'.
935         (DECODE_CHAR): Likewise.
936         (MAKE_CHAR): Modify for `DECODE_CHAR'.
937
938 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * chartab.c (Vchise_system_db_directory): New variable.
941         (vars_of_chartab): Add new variable `chise-system-db-directory'.
942
943 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
944
945         * chartab.c: EXFUN `Fmount_char_attribute_table'.
946         (print_chartab_range): Don't define when `UTF2000' is defined.
947         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
948         `CHISE_DS_open'.
949
950 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
951
952         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
953         and optional argument `rehash' is specified, call
954         `open_chise_data_source_maybe' before
955         `chise_ds_foreach_char_feature_name' is called.
956
957 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
958
959         * chartab.c (char_attribute_list_reset_map_func): New function
960         when HAVE_LIBCHISE is defined.
961         (Fchar_attribute_list): Add new optional argument `rehash' when
962         HAVE_LIBCHISE is defined.
963         (open_chise_data_source_maybe): Use "chise-db" instead of
964         "char-db".
965         (char_attribute_system_db_file): Likewise.
966         (Fload_char_attribute_table): Use
967         `chise_feature_foreach_char_with_value' instead of
968         `chise_char_feature_value_iterate'.
969
970 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * chartab.c (Vchise_db_directory): New variable.
973         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
974
975 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
978         instead of HAVE_CHISE to specify using with libchise.
979
980         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
981
982         * chartab.h: Don't use HAVE_CHISE_CLIENT.
983
984         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
985         defined or HAVE_LIBCHISE_LIBCHISE is defined.
986         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
987         is defined.
988         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
989         HAVE_CHISE to specify using with libchise.
990         (syms_of_chartab): Don't define symbol `system-char-id' when
991         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
992
993 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
996         specify CHISE DB support.
997         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
998         of `char_attribute_system_db_file' to check feature DB file.
999
1000         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1001         HAVE_CHISE_CLIENT to specify CHISE DB support.
1002
1003         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1004         specify CHISE DB support.
1005         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1006         not defined.
1007         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1008         instead of `char_attribute_system_db_file' to check feature DB
1009         file.
1010
1011 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1014         `HAVE_CHISE_CLIENT'.
1015
1016 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1017
1018         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1019         (Fsave_charset_mapping_table): Don't use
1020         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1021
1022         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1023         (HAVE_LIBCHISE): New macro.
1024
1025         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1026
1027         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1028         (Fsave_char_attribute_table): Don't use
1029         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1030
1031 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1032
1033         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1034         defined.
1035         (save_uint16_byte_table): Likewise.
1036         (save_byte_table): Likewise.
1037         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1038         instead of `chise_char_load_feature_value'.
1039         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1040
1041 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1042
1043         * chartab.h (struct Lisp_Char_Table): Delete member
1044         `feature_table' if CHISE is defined.
1045
1046         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1047         (Fcopy_char_table): Likewise.
1048         (char_table_open_db_maybe): Likewise.
1049         (char_table_close_db_maybe): Likewise.
1050         (char_table_get_db): Likewise.
1051         (Fmount_char_attribute_table): Likewise.
1052         (Fload_char_attribute_table): Likewise.
1053
1054 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * mule-charset.c (load_char_decoding_entry_maybe): Use
1057         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1058         `chise_ccs_decode'.
1059
1060 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1061
1062         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1063         instead of `chise_open_data_source'.
1064         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1065         `chise_ds_close'.
1066
1067 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1068
1069         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1070         instead of `chise_ds_open_feature_table'.
1071         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1072
1073 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * mule-charset.c (Fsave_charset_mapping_table): Use
1076         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1077         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1078         `chise_ccs_sync' instead of `chise_ccst_close'.
1079         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1080
1081         * chartab.c (open_chise_data_source_maybe): Modify for
1082         `chise_open_data_source'.
1083         (char_table_open_db_maybe): Modify for
1084         `chise_ds_open_feature_table'.
1085
1086 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1087
1088         * mule-charset.c (load_char_decoding_entry_maybe): Use
1089         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1090         `chise_ccst_close'.
1091
1092 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1093
1094         * mule-charset.c (Fsave_charset_mapping_table): Use
1095         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1096         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1097         `chise_dt_put_char' and `chise_dt_close'.
1098         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1099         `chise_ccs_decode' and `chise_ccst_close' instead of
1100         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1101         `chise_dt_close'.
1102
1103         * chartab.c (char_table_get_db): Use
1104         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1105         (load_char_attribute_table_map_func): Modify for
1106         `chise_char_feature_value_iterate'.
1107         (Fload_char_attribute_table): Use
1108         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1109
1110 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1111
1112         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1113
1114 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1115
1116         * chartab.c (put_char_table): Modify for inherited coded-charsets
1117         in XEmacs CHISE.
1118
1119 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1120
1121         * chartab.c (Fput_char_table_map_function): Fixed.
1122         (word_boundary_p): Don't check charset in XEmacs CHISE.
1123
1124 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1125
1126         * mule-charset.c (Fsave_charset_mapping_table): Use
1127         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1128         instead of `chise_open_decoding_table'; refer
1129         `default_chise_data_source'; use `chise_dt_close' instead of
1130         `chise_close_decoding_table'.
1131         (load_char_decoding_entry_maybe): Likewise.
1132
1133         * chartab.c (default_chise_data_source): New variable when `CHISE'
1134         is defined.
1135         (Fcopy_char_table): `ct->ds' is deleted.
1136         (open_chise_data_source_maybe): New function.
1137         (Fclose_char_data_source): New function.
1138         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1139         use `chise_ds_open_feature_table' instead of
1140         `chise_open_feature_table'.
1141         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1142         `chise_close_feature_table'; `cit->ds' is deleted.
1143         (syms_of_chartab): Add new builtin function
1144         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1145
1146         * chartab.h (default_chise_data_source): New extern variable.
1147         (open_chise_data_source_maybe): New prototype.
1148         (struct Lisp_Char_Table): Delete `ds'.
1149
1150 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1151
1152         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1153         `CHISE' is defined.
1154
1155 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1158         not defined; add code for non-libchise setting.
1159         (char_table_close_db_maybe): Likewise.
1160         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1161         defined.
1162         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1163         even if `CHISE' is not defined.
1164         (Freset_char_attribute_table): Likewise.
1165         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1166         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1167         `char_table_get_db'.
1168         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1169         `char_table_close_db_maybe' even if `CHISE' is not defined.
1170
1171 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1172
1173         * chartab.c (char_table_open_db_maybe): New function.
1174         (char_table_close_db_maybe): New function.
1175         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1176         (Freset_char_attribute_table): Likewise.
1177         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1178         `char_table_close_db_maybe'.
1179         (Fload_char_attribute_table): Likewise.
1180
1181 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * chartab.c: Don't include <chise.h> because it is included in
1184         chartab.h.
1185         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1186         defined.
1187         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1188         `CHISE' is defined.
1189         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1190         `CHISE' is defined.
1191         (Fclose_char_attribute_table): Close `ct->feature_table' and
1192         `ct->ds' when `CHISE' is defined.
1193         (Freset_char_attribute_table): Likewise.
1194         (load_char_attribute_maybe): Use `cit->ds' and
1195         `cit->feature_table' when `CHISE' is defined.
1196         (Fload_char_attribute_table): Likewise.
1197
1198         * chartab.h: Include <chise.h> when `CHISE' is defined.
1199         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1200         when `CHISE' is defined.
1201
1202 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1203
1204         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1205         is defined.
1206         (char_table_description): Likewise.
1207         (Fmake_char_table): Likewise.
1208         (Fcopy_char_table): Likewise.
1209         (Fmount_char_attribute_table): Likewise.
1210         (Fclose_char_attribute_table): Likewise.
1211         (Freset_char_attribute_table): Likewise.
1212         (load_char_attribute_maybe): Likewise.
1213         (Fload_char_attribute_table): Likewise.
1214
1215         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1216         defined.
1217
1218 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1219
1220         * chartab.c (load_char_attribute_table_map_func): New function
1221         when CHISE is defined.
1222         (Qload_char_attribute_table_map_function): Don't define when CHISE
1223         is defined.
1224         (Fload_char_attribute_table_map_function): Likewise.
1225         (Fload_char_attribute_table): Use libchise when `CHISE' is
1226         defined.
1227         (syms_of_chartab): Don't define
1228         `load-char-attribute-table-map-function' when CHISE is defined.
1229
1230 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1231
1232         * chartab.c: Include <chise.h> when `CHISE' is defined.
1233         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1234
1235 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1236
1237         * mule-charset.c (charset_code_point): Fix problem when searching
1238         in mother CCS fails with `defined_only' mode.
1239
1240 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1241
1242         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1243         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1244         (put_char_composition): Likewise.
1245         (Fput_char_attribute): Likewise.
1246         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1247
1248 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1249
1250         * chartab.c (Q_ucs): Deleted.
1251         (Fput_char_attribute): Don't refer `->ucs'.
1252         (Fdefine_char): Likewise.
1253         (Ffind_char): Likewise.
1254         (syms_of_chartab): Delete `->ucs'.
1255
1256 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1257
1258         * mule-charset.c (Qmap_cns11643_2): Renamed from
1259         `Qchinese_cns11643_2'.
1260         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1261         `chinese-cns11643-2'.
1262         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1263         `=cns11643-2'.
1264
1265 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1266
1267         * mule-charset.c (Qmap_cns11643_1): Renamed from
1268         `Qchinese_cns11643_1'.
1269         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1270         `chinese-cns11643-1'.
1271         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1272         `=cns11643-1'.
1273
1274 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1275
1276         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1277         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1278         `chinese-gb12345'.
1279         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1280         `=gb12345'.
1281
1282 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1283
1284         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1285         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1286         `chinese-gb2312'.
1287         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1288         `=gb2312'.
1289
1290 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1291
1292         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1293         (syms_of_mule_charset): Add new symbol `=big5' instead of
1294         `chinese-big5'.
1295         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1296
1297 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1298
1299         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1300         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1301         `korean-ksc5601'.
1302         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1303         `=ks-x1001'.
1304
1305 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1306
1307         * mule-charset.c (Qmap_jis_x0212): Renamed from
1308         `Qjapanese_jisx0212'.
1309         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1310         `japanese-jisx0212'.
1311         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1312         `=jis-x0212'.
1313
1314 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1315
1316         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1317         `Qjapanese_jisx0208'.
1318         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1319         of `japanese-jisx0208'.
1320         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1321         `=jis-x0208-1983'.
1322
1323 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1324
1325         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1326         `Qjapanese_jisx0208_1978'.
1327         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1328         of `japanese-jisx0208-1978'.
1329         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1330         `=jis-x0208-1978'.
1331
1332 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1333
1334         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1335         only for XEmacs CHISE.
1336
1337 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1338
1339         * char-ucs.h: Compact non-ISO-IR charset-ids.
1340         (LEADING_BYTE_UCS): Changed to -177.
1341         (LEADING_BYTE_CONTROL_1): Changed to -77.
1342         (LEADING_BYTE_UCS_BMP): Changed to -176.
1343         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1344
1345 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * mule-charset.c (Qiso_ir): New variable.
1348         (Fmake_charset): Recognise new property `iso-ir'.
1349         (syms_of_mule_charset): Add new symbol `iso-ir'.
1350
1351 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1352
1353         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1354         n to -n; charset-id of non ISO-IR sets are changed to positive
1355         numbers.
1356
1357 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1358
1359         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1360         for &MCS-XXXXXXXX; values.
1361
1362 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1363
1364         * mule.c (Vxemacs_chise_version): Renamed from
1365         `Vutf_2000_version'.
1366         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1367         `utf-2000-version' as an alias for `xemacs-chise-version'.
1368
1369 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1370
1371         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1372         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1373         defined.
1374
1375         * config.h.in (CHISE): New macro.
1376
1377 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1378
1379         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1380         of `ucs'.
1381         (Qmap_ucs): New variable.
1382         (syms_of_mule_charset): Add new symbol `=ucs'.
1383         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1384
1385         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1386         (simplify_char_spec): Likewise.
1387
1388         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1389
1390         * char-ucs.h (Qmap_ucs): New extern variable.
1391
1392 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1395         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1396         don't define it when UTF2000 is not defined.
1397         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1398         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1399         when UTF2000 is not defined.
1400         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1401         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1402
1403 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1404
1405         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1406
1407         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1408         (Qucs_gb): Deleted.
1409         (syms_of_mule_charset): Delete `ucs-gb'.
1410         (complex_vars_of_mule_charset): Likewise.
1411
1412 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1415
1416         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1417         (Qucs_cns): Deleted.
1418         (syms_of_mule_charset): Delete `ucs-cns'.
1419         (complex_vars_of_mule_charset): Likewise.
1420
1421 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1422
1423         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1424
1425         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1426         (Qucs_jis): Deleted.
1427         (syms_of_mule_charset): Delete `ucs-jis'.
1428         (complex_vars_of_mule_charset): Likewise.
1429
1430 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1431
1432         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1433
1434         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1435         (Qucs_ks): Deleted.
1436         (syms_of_mule_charset): Delete `ucs-ks'.
1437         (complex_vars_of_mule_charset): Likewise.
1438
1439 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1440
1441         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1442         (Qideograph_daikanwa_2): Deleted.
1443         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1444         (complex_vars_of_mule_charset): Likewise.
1445
1446         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1447         (LEADING_BYTE_DAIKANWA_1): Deleted.
1448         (LEADING_BYTE_DAIKANWA_2): Deleted.
1449         (MIN_CHAR_DAIKANWA): Deleted.
1450         (MAX_CHAR_DAIKANWA): Deleted.
1451
1452 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1453
1454         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1455         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1456         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1457
1458         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1459         (Vcharset_ideograph_daikanwa): Deleted.
1460         (Qideograph_hanziku_{1..12}): Deleted.
1461         (Qideograph_daikanwa): Deleted.
1462         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1463         Vcharset_ideograph_daikanwa.
1464         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1465         `ideograph-hanziku-{1..12}'.
1466         (complex_vars_of_mule_charset): Likewise.
1467
1468 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1469
1470         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1471
1472         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1473         (Qideograph_gt_pj_{1..11}): Deleted.
1474         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1475         (complex_vars_of_mule_charset): Likewise.
1476
1477 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1478
1479         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1480         (Vcharset_ideograph_gt): Deleted.
1481         (Qucs_big5): Deleted.
1482         (Qideograph_gt): Deleted.
1483         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1484         `ideograph-gt'.
1485         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1486         and `ideograph-gt'.
1487
1488         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1489         (LEADING_BYTE_GT): Deleted.
1490         (MIN_CHAR_GT): Deleted.
1491         (MAX_CHAR_GT): Deleted.
1492
1493 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1496
1497 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1498
1499         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1500         (save_uint16_byte_table): Likewise.
1501         (save_byte_table): Likewise; convert values by it.
1502         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1503         for `ideographic-structure'.
1504         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1505         as the filter for `ideographic-structure'.
1506
1507 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1508
1509         * chartab.c (put_char_composition): New function.
1510         (Fput_char_attribute): Use `put_char_composition'; use
1511         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1512
1513         * fns.c (simplify_char_spec): New function.
1514         (char_ref_simplify_spec): New function.
1515         (Fchar_refs_simplify_char_specs): New function.
1516         (syms_of_fns): Add new builtin function
1517         `char-refs-simplify-char-specs'.
1518
1519 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1520
1521         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1522         (Qideograph_cbeta): Deleted.
1523         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1524         (complex_vars_of_mule_charset): Likewise.
1525
1526         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1527         (MIN_CHAR_CBETA): Comment out.
1528         (MAX_CHAR_CBETA): Likewise.
1529
1530 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1531
1532         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1533         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1534         CHISE client feature.
1535
1536 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1537
1538         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1539
1540 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1541
1542         * mule-charset.c (charset_lookup_description_1): Use
1543         `NUM_LEADING_BYTES' in UTF-2000.
1544
1545 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1546
1547         * char-ucs.h (GC_CHARSETP): Deleted.
1548
1549 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1550
1551         * char-ucs.h (MAX_CHAR_GT): Updated.
1552
1553 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1554
1555         * text-coding.c: Sync with XEmacs 21.4.10.
1556
1557 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1558
1559         * mule-charset.c (Vcharset_china3_jef): Deleted.
1560         (Qchina3_jef): Deleted.
1561         (syms_of_mule_charset): Don't define `china3-jef'.
1562         (complex_vars_of_mule_charset): Likewise.
1563
1564         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1565         (MIN_CHAR_CHINA3_JEF): Comment out.
1566         (MAX_CHAR_CHINA3_JEF): Comment out.
1567
1568 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * mule-charset.c (Vcharset_ucs_gb): New variable.
1571         (Qucs_gb): New variable.
1572         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1573         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1574
1575         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1576
1577 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1578
1579         * mule-charset.c (charset_code_point): if a coded-charset has a
1580         final-byte, don't inherit the builtin range of the mother CCS.
1581
1582 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1583
1584         * mule-charset.c (charset_code_point): Fix problem about
1585         inheritance.
1586
1587 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * mule-charset.c (decode_builtin_char): Reorganized.
1590
1591 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1592
1593         * text-coding.c (char_encode_as_entity_reference): Modify for
1594         `charset_code_point'.
1595         (char_encode_shift_jis): Likewise.
1596         (char_encode_big5): Likewise.
1597         (char_encode_utf8): Likewise.
1598         (char_encode_iso2022): Likewise.
1599
1600         * mule-charset.c (charset_code_point): Add new argument
1601         `defined_only'.
1602         (Fencode_char): Add new optional argument `defined_only'.
1603
1604         * chartab.c (put_char_table): Modify for `charset_code_point'.
1605
1606         * char-ucs.h (charset_code_point): Add new argument
1607         `defined_only'.
1608         (encode_char_1): Modify for `charset_code_point'.
1609
1610 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1613         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1614
1615 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1618         (Qjis_x0208): Likewise.
1619         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1620         XCHARSET_FINAL(charset).
1621         (charset_code_point): Modify condition for final-byte based
1622         builtin-chars.
1623         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1624         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1625         in UTF-2000; specify `=jis-x0208' as the mother of
1626         `japanese-jisx0208-1978', `japanese-jisx0208' and
1627         `japanese-jisx0208-1990' in UTF-2000.
1628
1629 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1630
1631         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1632
1633 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1634
1635         * text-coding.c (decode_coding_utf16): Support UTF-16.
1636         (char_encode_utf16): Fixed.
1637
1638 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1639
1640         * text-coding.c (Qutf16): New variable in MULE.
1641         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1642         (Fcoding_system_type): Add `utf-16' in MULE.
1643         (struct detection_state): Add a structure for utf16 in MULE.
1644         (detect_coding_type): Setup st->utf16.mask in MULE.
1645         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1646         MULE.
1647         (reset_encoding_stream): Use `char_encode_utf16' and
1648         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1649         (detect_coding_utf16): New function [incomplete].
1650         (decode_coding_utf16): New function [support only UCS-2].
1651         (char_encode_utf16): New function.
1652         (char_finish_utf16): New function.
1653         (syms_of_file_coding): Add new symbol `utf-16'; setup
1654         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1655
1656         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1657         UTF-2000.
1658         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1659         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1660
1661 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1662
1663         * chartab.c (put_char_table): When a charset is specified as a
1664         range in UTF-2000, don't support builtin characters.
1665
1666 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1667
1668         * mule-charset.c (decode_defined_char): Don't refer external
1669         database if Qunbound or Qnil are found.
1670         (Fsave_charset_mapping_table): Don't define it if
1671         HAVE_CHISE_CLIENT is not defined.
1672         (Freset_charset_mapping_table): New function.
1673         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1674         found in external database.
1675         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1676         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1677         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1678
1679 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1680
1681         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1682         not.
1683
1684 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1685
1686         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1687         Q_lowercase, Q_uppercase in UTF-2000.
1688
1689         * chartab.c (get_char_table): Add special code for the standard
1690         case table to use character attribute `->downcase' and
1691         `->uppercase' for case operations in UTF-2000.
1692
1693         * casetab.c (Qflippedcase): New variable in UTF-2000.
1694         (Q_lowercase): Likewise.
1695         (Q_uppercase): Likewise.
1696         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1697         and `->uppercase' in UTF-2000.
1698         (complex_vars_of_casetab): Assign attribute name `downcase' to
1699         downcase and CANON table of Vstandard_case_table in UTF-2000;
1700         assign attribute name `flippedcase' to upcase and EQV table of
1701         Vstandard_case_table in UTF-2000.
1702
1703 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1704
1705         * text-coding.c (decode_add_er_char): Support isolated-chars.
1706         (char_encode_as_entity_reference): Likewise.
1707
1708 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1709
1710         * emacs.c (Vutf_2000_lisp_directory): New variable.
1711         (Vconfigure_utf_2000_lisp_directory): Likewise.
1712         (complex_vars_of_emacs): Add new variable
1713         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1714
1715 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1716
1717         * char-ucs.h (DECODE_CHAR): Delete special code for
1718         `chinese-big5-1' and `chinese-big5-2'.
1719
1720         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1721         (Qbig5_2): Likewise.
1722         (decode_defined_char): Support CONVERSION_BIG5_1 and
1723         CONVERSION_BIG5_2.
1724         (decode_builtin_char): Likewise.
1725         (charset_code_point): Likewise.
1726         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1727         'conversion in UTF-2000.
1728         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1729         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1730         `chinese-big5-2' as children of `chinese-big5'.
1731
1732         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1733         (CONVERSION_BIG5_2): New macro.
1734
1735 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1736
1737         * text-coding.c (char_encode_big5): Support entity-reference.
1738
1739 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1740
1741         * text-coding.c (char_encode_as_entity_reference): New function.
1742         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1743
1744 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1745
1746         * text-coding.c (decode_coding_big5): Support entity-reference
1747         decoding feature.
1748
1749 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1750
1751         * text-coding.c (allocate_coding_system): Initialize initial
1752         charsets for CODESYS_UTF8.
1753         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1754         charset-g2 for CODESYS_UTF8.
1755         (decode_coding_utf8): Use charset-g0.
1756         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1757         to force variants to map to UCS.
1758
1759 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1760
1761         * text-coding.c (Qutf_8_mcs): New variable.
1762         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1763         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1764         instead of `utf-8' in UTF-2000.
1765
1766 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1767
1768         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1769         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1770         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1771         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1772         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1773         CONVERSION_96x96x96x96 are introduced.
1774         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1775         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1776         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1777
1778         * char-ucs.h (CONVERSION_94): New macro.
1779         (CONVERSION_96): New macro.
1780         (CONVERSION_94x94): New macro.
1781         (CONVERSION_96x96): New macro.
1782         (CONVERSION_94x94x94): New macro.
1783         (CONVERSION_96x96x96): New macro.
1784         (CONVERSION_94x94x94x60): New macro.
1785         (CONVERSION_94x94x94x94): New macro.
1786         (CONVERSION_96x96x96x96): New macro.
1787
1788 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1789
1790         * chartab.c (Vcharacter_variant_table): Deleted.
1791         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1792         of `Vcharacter_variant_table'.
1793         (Fput_char_attribute): Likewise.
1794         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1795         (complex_vars_of_chartab): Likewise.
1796
1797 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1798
1799         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1800
1801         * fns.c (Qideographic_structure): New variable.
1802         (Qkeyword_char): New variable.
1803         (ids_format_unit): New function.
1804         (Fideographic_structure_to_ids): New function.
1805         (syms_of_fns): Add new symbols `ideographic-structure' and
1806         `:char'; add new builtin function `ideographic-structure-to-ids'.
1807
1808         * data.c (Fchar_ref_p): New function.
1809         (syms_of_data): Add new builtin function `char-ref-p'.
1810
1811         * chartab.h: Add an EXFUN for `Ffind_char'.
1812
1813 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1814
1815         * text-coding.c (Vcharacter_composition_table): Deleted.
1816         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1817         in every UTF-2000.
1818
1819         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1820         UTF-2000.
1821         (Vcharacter_composition_table): Deleted.
1822         (Fget_composite_char): Use the implementation for external-DB
1823         support in every UTF-2000.
1824         (Fput_char_attribute): Likewise.
1825         (char_attribute_system_db_file): Don't define if external-DB
1826         feature is not available.
1827         (Fsave_char_attribute_table): Likewise.
1828         (Fmount_char_attribute_table): Likewise.
1829         (Fclose_char_attribute_table): Likewise.
1830         (Freset_char_attribute_table): Likewise.
1831         (Fload_char_attribute_table): Likewise.
1832         (syms_of_chartab): Don't define `save-char-attribute-table',
1833         `mount-char-attribute-table', `reset-char-attribute-table',
1834         `close-char-attribute-table' and `load-char-attribute-table' if
1835         external-DB feature is not available.
1836         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1837
1838 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1839
1840         * text-coding.c (Qcomposition): Add extern if external-DB feature
1841         is supported.
1842         (Vcharacter_composition_table): Don't add extern if external-DB
1843         feature is supported.
1844         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1845         character composition rule if external-DB feature is supported.
1846
1847         * chartab.c (Vcharacter_composition_table): Don't define if
1848         external-DB feature is supported.
1849         (Qcomposition): New variable.
1850         (Fget_composite_char): New implementation for external-DB support.
1851         (Fput_char_attribute): Use `composition' property of each
1852         character instead of `Vcharacter_composition_table' to store
1853         character-composition rules if external-DB feature is supported.
1854         (syms_of_chartab): Add new symbol `composition'.
1855         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1856         external-DB feature is supported.
1857
1858 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1859
1860         * chartab.c (Vchar_db_stingy_mode): New variable.
1861         (load_char_attribute_maybe): Close database if
1862         Vchar_db_stingy_mode is not NIL.
1863         (Fload_char_attribute_table_map_function): Use
1864         `get_char_id_table_0' instead of `get_char_id_table'.
1865         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1866
1867         * chartab.h (get_char_id_table_0): New inline function.
1868         (get_char_id_table): Use `get_char_id_table_0'.
1869
1870 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1871
1872         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1873         and `COMPOSE_ADD_CHAR'.
1874         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1875
1876 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1877
1878         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1879         instead of `DECODE_ADD_UCS_CHAR'.
1880         (COMPOSE_ADD_CHAR): Likewise.
1881
1882 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1883
1884         * text-coding.c (decode_flush_er_chars): New inline function.
1885         (decode_add_er_char): New function.
1886         (decode_coding_utf8): Use `decode_flush_er_chars' and
1887         `decode_add_er_char'.
1888
1889 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1890
1891         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1892         done before `decode_output_utf8_partial_char'.
1893
1894         * mule-charset.c (complex_vars_of_mule_charset): Specify
1895         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1896         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1897
1898 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1899
1900         * mule-charset.c (decode_defined_char): New function; search
1901         mother.
1902         (decode_builtin_char): Don't search mother if
1903         XCHARSET_MAX_CODE(charset) == 0.
1904         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1905         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1906         (Fdecode_char): Use `decode_defined_char' instead of
1907         `DECODE_DEFINED_CHAR'.
1908         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1909         mother of `Vcharset_ucs_jis'.
1910
1911         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1912         instead of `DECODE_DEFINED_CHAR'.
1913
1914         * char-ucs.h (decode_defined_char): Renamed from
1915         `DECODE_DEFINED_CHAR'; changed to normal function.
1916         (DECODE_CHAR): Use `decode_defined_char' instead of
1917         `DECODE_DEFINED_CHAR'.
1918
1919         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1920
1921 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1922
1923         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1924
1925         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1926         variable.
1927         (Quse_entity_reference): New variable.
1928         (Qd): New variable.
1929         (Qx): New variable.
1930         (QX): New variable.
1931         (coding_system_description): Add description for
1932         `ccs_priority_list'.
1933         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1934         (allocate_coding_system): Initialize `ccs_priority_list' in
1935         UTF-2000.
1936         (Fmake_coding_system): Add description about
1937         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1938         (codesys).
1939         (Fcoding_system_property): Accept `disable-composition' and
1940         `use-entity-reference' in UTF-2000.
1941         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1942         in UTF-2000.
1943         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1944         (decode_coding_utf8): Decode entity-reference if
1945         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1946         (char_encode_utf8): Encode non-Unicode characters as
1947         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1948         (str->codesys).
1949         (syms_of_file_coding): Add new symbols `use-entity-reference',
1950         `d', `x', `X'.
1951         (vars_of_file_coding): Add new variable
1952         `coded-charset-entity-reference-alist'.
1953         (complex_vars_of_file_coding): Declare `disable-composition' and
1954         `use-entity-reference' to be coding-system-properties in UTF-2000.
1955
1956         * file-coding.h (struct Lisp_Coding_System): Add new member
1957         `use_entity_reference' and `ccs_priority_list'.
1958         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1959         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1960         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1961
1962 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1963
1964         * chartab.c (save_uint8_byte_table): Don't clear the table.
1965         (save_uint16_byte_table): Likewise.
1966         (save_byte_table): Likewise.
1967         (Fmount_char_attribute_table): New function.
1968         (syms_of_chartab): Add new builtin function
1969         `mount-char-attribute-table'.
1970
1971 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1972
1973         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1974         "w+" mode.
1975         (load_char_decoding_entry_maybe): Open database as read-only mode.
1976
1977         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1978         open database as "w+" mode.
1979         (load_char_attribute_maybe): Open database as read-only mode.
1980         (Fload_char_attribute_table): Likewise.
1981
1982 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1983
1984         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1985         (char_table_description): Delete member `db_file'.
1986         (Fmake_char_table): Don't refer `ct->db_file'.
1987         (Fcopy_char_table): Likewise.
1988         (Fsave_char_attribute_table): Likewise.
1989         (Fclose_char_attribute_table): Likewise.
1990         (Freset_char_attribute_table): Likewise.
1991         (load_char_attribute_maybe): Likewise.
1992         (Fload_char_attribute_table): Likewise.
1993
1994         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1995
1996 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1997
1998         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1999         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2000         `ct->db' is living.
2001         (load_char_attribute_maybe): Likewise.
2002         (Fload_char_attribute_table): Likewise.
2003
2004 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2005
2006         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2007         `ct->db_file' unconditionally.
2008
2009 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2010
2011         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2012         UTF-2000.
2013         (char_table_description): Add description for `db_file' and `db'
2014         in UTF-2000.
2015         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2016         UTF-2000.
2017         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2018         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2019         (Fclose_char_attribute_table): New function.
2020         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2021         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2022         and `cit->db'.
2023         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2024         (syms_of_chartab): Add new builtin function
2025         `Fclose_char_attribute_table'.
2026
2027 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2028
2029         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2030         `db' in UTF-2000.
2031         (load_char_attribute_maybe): Change interface.
2032         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2033
2034 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2035
2036         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2037
2038 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2039
2040         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2041         instead of `DECODE_CHAR' for mother; don't use special code for
2042         chinese-big5 to use code space of chinese-big5-1 and
2043         chinese-big5-2.
2044         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2045         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2046
2047         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2048         (MAX_CHAR_BIG5_CDP): Revival.
2049
2050 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2051
2052         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2053         the XLFD registry-encoding name of `chinese-big5'.
2054
2055 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2056
2057         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2058         (Qchinese_big5_cdp): Deleted.
2059         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2060         (complex_vars_of_mule_charset): Delete coded-charset
2061         `chinese-big5-cdp'.
2062
2063         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2064         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2065         `CHARSET_ID_OFFSET - n' for private CCS.
2066         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2067         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2068         of `MIN_LEADING_BYTE'.
2069         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2070         `(CHARSET_ID_OFFSET - 97)'.
2071         (MIN_CHAR_BIG5_CDP): Deleted.
2072         (MAX_CHAR_BIG5_CDP): Deleted.
2073
2074 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2075
2076         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2077
2078 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2079
2080         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2081         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2082         chartab.c].
2083
2084         * chartab.c (Vutf_2000_version): Moved to mule.c.
2085         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2086
2087 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2088
2089         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2090         when HAVE_CHISE_CLIENT is not defined.
2091
2092         * mule.c (vars_of_mule): Provide feature `chise' when
2093         HAVE_CHISE_CLIENT is defined.
2094
2095 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2096
2097         * config.h.in (UTF2000): Add comment.
2098         (HAVE_CHISE_CLIENT): New macro.
2099
2100 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2101
2102         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2103         CONSP.
2104         (Fput_char_attribute): Likewise.
2105         (char_attribute_system_db_file): Encode file-name of attribute.
2106         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2107         the initial value.
2108
2109 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2110
2111         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2112         (Fsave_charset_mapping_table): Use
2113         `char_attribute_system_db_file'.
2114         (load_char_decoding_entry_maybe): Likewise.
2115
2116         * chartab.h (Qsystem_char_id): New external variable.
2117         (char_attribute_system_db_file): New prototype.
2118
2119         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2120         (char_attribute_system_db_file): New function.
2121         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2122         (Freset_char_attribute_table): Likewise.
2123         (load_char_attribute_maybe): Likewise.
2124         (Fload_char_attribute_table): Likewise.
2125         (syms_of_chartab): Add new symbol `system-char-id'.
2126
2127 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2128
2129         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2130         `XCHARSET_GRAPHIC(ccs)'.
2131
2132 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2133
2134         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2135
2136 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2137
2138         * chartab.c (Q_ucs_variants): New variable.
2139         (syms_of_chartab): Add new symbol `->ucs-variants'.
2140         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2141         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2142         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2143
2144         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2145
2146         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2147         `HAVE_DATABASE' is defined.
2148         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2149         `HAVE_DATABASE' is defined.
2150
2151 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2152
2153         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2154         attribute-table.
2155         (Freset_char_attribute_table): New function.
2156         (syms_of_chartab): Add new builtin function
2157         `reset-char-attribute-table'.
2158
2159 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2160
2161         * chartab.c (load_char_attribute_maybe): Don't make directories.
2162
2163 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2164
2165         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2166
2167         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2168         for decoding-table.
2169
2170 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2171
2172         * mule-charset.c (Fsave_charset_mapping_table): Use
2173         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2174
2175         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2176         instead of `XCHARSET_CHARS'.
2177
2178 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2179
2180         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2181         (XCHARSET_BYTE_SIZE): Likewise.
2182
2183         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2184         mule-charset.c].
2185         (XCHARSET_BYTE_SIZE): Likewise.
2186
2187 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2188
2189         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2190         data-directory to store database.
2191         (Fsave_char_attribute_table): Likewise.
2192         (load_char_attribute_maybe): Likewise.
2193         (Fload_char_attribute_table): Likewise.
2194
2195 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2196
2197         * mule-charset.c (Fsave_charset_mapping_table): New function.
2198         (syms_of_mule_charset): Add new builtin function
2199         `save-charset-mapping-table'.
2200
2201 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2202
2203         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2204         (get_ccs_octet_table): New inline function.
2205         (put_ccs_octet_table): Likewise.
2206         (decoding_table_put_char): Use `get_ccs_octet_table' and
2207         `put_ccs_octet_table'.
2208         (decoding_table_remove_char): Use `decoding_table_put_char'.
2209         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2210
2211         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2212         into encoding_table.
2213         (make_charset): Use Qunbound instead Qnil as initial value of
2214         decoding_table.
2215
2216 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2217
2218         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2219         element is Qunloaded.
2220         (map_over_uint16_byte_table): Likewise.
2221         (map_over_byte_table): Likewise.
2222         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2223         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2224         database support, load encoding-table of the specified
2225         coded-charset if it is not loaded yet.
2226         (save_uint8_byte_table): New function of UTF-2000 with external
2227         database support.
2228         (save_uint16_byte_table): Likewise.
2229         (save_byte_table): Likewise.
2230         (Fput_char_attribute): Don't store value into external database
2231         even if the external database feature is supported in UTF-2000;
2232         set `attribute' as name of char-table if the external database
2233         feature is supported.
2234         (Fsave_char_attribute_table): New function in UTF-2000.
2235         (syms_of_chartab): Add new builtin function
2236         `save-char-attribute-table' in UTF-2000.
2237
2238 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2239
2240         * chartab.c (char_attribute_table_to_put): New variable in
2241         UTF-2000.
2242         (Qput_char_table_map_function): Likewise.
2243         (value_to_put): Likewise.
2244         (Fput_char_table_map_function): New function in UTF-2000.
2245         (put_char_table): Use `Fmap_char_attribute' for
2246         CHARTAB_RANGE_CHARSET in UTF-2000.
2247         (Fput_char_attribute): Store symbol instead of string in
2248         `XCHAR_TABLE_NAME (table)'.
2249         (load_char_attribute_maybe): Likewise.
2250         (syms_of_chartab): Add new symbol/function
2251         `put-char-table-map-function'.
2252
2253 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2254
2255         * database.h: Add new EXFUN for `Fmap_database'.
2256
2257         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2258         (syms_of_database): Likewise.
2259
2260         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2261         UTF-2000.
2262         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2263         (XCHAR_TABLE_UNLOADED): Likewise.
2264
2265         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2266         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2267         HAVE_DATABASE is defined.
2268         (char_attribute_table_to_load): New variable of UTF-2000 with
2269         external database support.
2270         (Qload_char_attribute_table_map_function): Likewise.
2271         (Fload_char_attribute_table_map_function): New function of
2272         UTF-2000 with external database support.
2273         (Fload_char_attribute_table): New function of UTF-2000.
2274         (Fmap_char_attribute): Call Fload_char_attribute_table if
2275         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2276         (syms_of_chartab): Add new symbol and function
2277         `load-char-attribute-table-map-function' in UTF-2000 with external
2278         database support; add new function `load-char-attribute-table' in
2279         UTF-2000.
2280
2281 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2282
2283         * chartab.h (load_char_attribute_maybe): New prototype for
2284         UTF-2000 with DATABASE support.
2285         (get_char_id_table): Use `load_char_attribute_maybe' if
2286         HAVE_DATABASE is defined.
2287
2288         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2289         with DATABASE support.
2290
2291 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * chartab.c (Fput_char_attribute): Use S-expression as key of
2294         external database.
2295
2296         * chartab.h (get_char_id_table): Use S-expression as key of
2297         external database.
2298
2299 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2300
2301         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2302         if an element is not loaded, load the corresponding attributes
2303         from an external database.
2304         (map_over_uint16_byte_table): Likewise.
2305         (map_over_byte_table): Likewise.
2306         (map_char_table): Modify for `map_over_uint8_byte_table',
2307         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2308         element is not loaded, load the corresponding attributes from an
2309         external database.
2310         (Fput_char_attribute): Change initial values to Qunloaded.
2311
2312         * chartab.h (get_char_id_table): If a character attribute is not
2313         loaded and the attribute value is not found in an external
2314         database, store Qunbound as the attribute value.
2315
2316 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2317
2318         * chartab.c (BT_UINT8_unloaded): New macro.
2319         (UINT8_VALUE_P): Accept Qunloaded.
2320         (UINT8_ENCODE): Likewise.
2321         (UINT8_DECODE): Likewise.
2322         (BT_UINT16_unloaded): New macro.
2323         (UINT16_VALUE_P): Accept Qunloaded.
2324         (UINT16_ENCODE): Likewise.
2325         (UINT16_DECODE): Likewise.
2326         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2327         BT_UINT16_unloaded.
2328         (mark_char_table): Mark `ct->name' in UTF-2000.
2329         (char_table_description): Add `name' in UTF-2000.
2330         (Fmake_char_table): Initialize `ct->name'.
2331         (Fcopy_char_table): Copy `ct->name'.
2332         (Fput_char_attribute): Store value into an external database if
2333         HAVE_DATABASE is defined.
2334
2335         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2336         UTF-2000.
2337         (CHAR_TABLE_NAME): New macro in UTF-2000.
2338         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2339         (get_char_id_table): Try to read an external database if Qunloaded
2340         is stored in a table.
2341
2342         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2343         Qunloaded.
2344
2345 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2346
2347         * database.h: Add EXFUN definitions for Fopen_database,
2348         Fput_database, Fget_database and Fclose_database.
2349
2350         * data.c (Qunloaded): New variable in UTF-2000.
2351
2352         * lisp.h (Qunloaded): New variable in UTF-2000.
2353
2354 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2355
2356         * mule-charset.c (put_char_ccs_code_point): Modify for
2357         `decoding_table_remove_char' and `decoding_table_put_char'.
2358         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2359
2360         * char-ucs.h (decoding_table_remove_char): Change arguments to
2361         hide decoding_table vector.
2362         (decoding_table_put_char): Likewise.
2363
2364 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2365
2366         * mule-charset.c (decoding_table_remove_char): Moved to
2367         char-ucs.h.
2368         (decoding_table_put_char): Likewise.
2369
2370         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2371         from mule-charset.c].
2372         (decoding_table_remove_char): New inline function [moved from
2373         mule-charset.c].
2374         (decoding_table_put_char): Likewise.
2375
2376 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2377
2378         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2379         extension.
2380
2381 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2382
2383         * mule-charset.c (decode_builtin_char): Support mother charsets.
2384
2385 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2386
2387         * mule-charset.c (Q94x94x60): New variable.
2388         (charset_code_point): Support conversion `94x94x60'.
2389         (Fmake_charset): Likewise.
2390         (syms_of_mule_charset): Add new symbol `94x94x60'.
2391
2392         * char-ucs.h (CONVERSION_94x94x60): New macro.
2393
2394 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2395
2396         * mule-charset.c (charset_code_point): Unify code about
2397         `code-offset'.
2398
2399 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2400
2401         * mule-charset.c (charset_code_point): Merge code about builtin
2402         characters into code about mother charsets; don't use
2403         `range_charset_code_point'.
2404         (range_charset_code_point): Deleted.
2405
2406 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2407
2408         * mule-charset.c (Qcode_offset): New variable.
2409         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2410         `max-code'; accept new property `code-offset'.
2411         (syms_of_mule_charset): Add new symbol `code-offset'.
2412
2413 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2414
2415         * mule-charset.c (range_charset_code_point): Fixed.
2416
2417 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2418
2419         * mule-charset.c (decode_builtin_char): Change semantics of
2420         code-offset of coded-charset.
2421         (charset_code_point): Likewise.
2422         (range_charset_code_point): Likewise.
2423         (complex_vars_of_mule_charset): Modify for the change.
2424
2425 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2426
2427         * mule-charset.c (Fencode_char): Reverse arguments.
2428
2429         * mule-charset.c (charset_code_point): Fixed.
2430
2431 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * mule-charset.c (Vcharset_mojikyo): Deleted.
2434         (Vcharset_mojikyo_2022_1): Deleted.
2435         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2436         (Qmin_code): New variable in UTF-2000.
2437         (Qmax_code): Likewise.
2438         (Qmother): Likewise.
2439         (Qconversion): Likewise.
2440         (Q94x60): Likewise.
2441         (Qmojikyo): Deleted.
2442         (Qmojikyo_2022_1): Deleted.
2443         (Qmojikyo_pj_{1..22}): Deleted.
2444         (mark_charset): Mark `cs->mother'.
2445         (charset_description): Add description for `mother'.
2446         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2447         new arguments `mother' and `conversion'; use
2448         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2449         (charset_code_point): Moved from char-ucs.h; support `mother'
2450         charset feature.
2451         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2452         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2453         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2454         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2455         allow 2 as the value of `graphic' in UTF-2000; add new properties
2456         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2457         require `final' in UTF-2000; modify for `make_charset'.
2458         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2459         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2460         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2461         (Fencode_char): New function.
2462         (syms_of_mule_charset): Add new builtin function `encode-char' in
2463         UTF-2000; add new symbols `min-code', `max-code', `mother',
2464         `conversion' and `94x60'; delete symbols `mojikyo',
2465         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2466         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2467         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2468         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2469
2470         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2471         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2472
2473         * char-ucs.h (Vcharset_mojikyo): Deleted.
2474         (Vcharset_mojikyo_2022_1): Deleted.
2475         (LEADING_BYTE_MOJIKYO): Deleted.
2476         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2477         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2478         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2479         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2480         add new member `mother'; add new member `conversion'.
2481         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2482         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2483         (CHARSET_MOTHER): New macro.
2484         (CHARSET_CONVERSION): New macro.
2485         (CONVERSION_IDENTICAL): New macro.
2486         (CONVERSION_94x60): New macro.
2487         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2488         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2489         (XCHARSET_MOTHER): New macro.
2490         (XCHARSET_CONVERSION): New macro.
2491         (MIN_CHAR_MOJIKYO): Deleted.
2492         (MAX_CHAR_MOJIKYO): Deleted.
2493         (DECODE_MOJIKYO_2022): Deleted.
2494         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2495         (charset_code_point): Changed to non-inline function.
2496         (encode_char_1): Use `charset_code_point'.
2497         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2498
2499 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2500
2501         * lread.c (read_compiled_function): Fix prototype.
2502         (read_vector): Likewise.
2503
2504 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2505
2506         * lrecord.h (struct lrecord_header): Delete `older'.
2507         (set_lheader_implementation): Delete code for `older'.
2508         (set_lheader_older_implementation): Deleted.
2509         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2510         (OLDER_RECORD_P): Deleted.
2511         (OLDER_RECORD_HEADER_P): Deleted.
2512         (alloc_older_lcrecord): Deleted.
2513         (alloc_older_lcrecord_type): Deleted.
2514
2515         * alloc.c (all_older_lcrecords): Deleted.
2516         (alloc_older_lcrecord): Deleted.
2517         (disksave_object_finalization_1): Delete code for older objects.
2518         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2519         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2520
2521 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2524         instead of `make_older_vector'.
2525         (put_char_ccs_code_point): Likewise.
2526         (mark_charset): Mark `cs->decoding_table'.
2527         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2528
2529         * lisp.h (make_older_vector): Deleted.
2530         (make_vector_newer): Deleted.
2531
2532         * config.h.in (HAVE_GGC): Deleted.
2533
2534         * alloc.c (make_older_vector): Deleted.
2535         (make_vector_newer_1): Deleted.
2536         (make_vector_newer): Deleted.
2537
2538 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2539
2540         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2541         (Qideograph_daikanwa_2): New variable.
2542         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2543         (complex_vars_of_mule_charset): Add new coded-charset
2544         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2545         `LEADING_BYTE_DAIKANWA'.
2546
2547         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2548         (LEADING_BYTE_DAIKANWA_1): New macro.
2549         (LEADING_BYTE_DAIKANWA_2): New macro.
2550         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2551
2552 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * mule-charset.c (complex_vars_of_mule_charset): Change
2555         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2556         the second revised version.
2557
2558 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2559
2560         * mule-charset.c (Vcharset_ucs_smp): New variable.
2561         (Vcharset_ucs_sip): New variable.
2562         (Qucs_smp): New variable.
2563         (Qucs_sip): New variable.
2564         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2565         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2566         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2567         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2568         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2569         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2570
2571         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2572         (LEADING_BYTE_UCS_SIP): New macro.
2573         (MIN_CHAR_SMP): New macro.
2574         (MAX_CHAR_SMP): New macro.
2575         (MIN_CHAR_SIP): New macro.
2576         (MAX_CHAR_SIP): New macro.
2577
2578 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2579
2580         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2581         utf-2000.
2582
2583 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2584
2585         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2586         value; don't store value into `encoding_table' of `Lisp_Charset'.
2587         (mark_charset): `encoding_table' was deleted.
2588         (charset_description): Likewise.
2589         (make_charset): Likewise.
2590         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2591         `put_char_ccs_code_point'.
2592
2593         * chartab.h (Fput_char_attribute): New EXFUN.
2594
2595         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2596         is unified with normal symbol space.
2597         (Fget_char_attribute): Likewise.
2598         (Fput_char_attribute): Likewise; behavior of
2599         `put_char_ccs_code_point' is changed.
2600
2601         * char-ucs.h: Include "elhash.h".
2602         (Vchar_attribute_hash_table): New external variable.
2603         (struct Lisp_Charset): Delete `encoding_table'.
2604         (CHARSET_ENCODING_TABLE): New implementation; refer
2605         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2606         `Lisp_Charset'.
2607
2608 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2611         (cs) == 0.
2612
2613 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2616         `chinese-big5'.
2617
2618 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2619
2620         * chartab.c (uint8_byte_table_description): New constant.
2621         (uint8-byte-table): Use `uint8_byte_table_description'.
2622         (uint16_byte_table_description): New constant.
2623         (uint16-byte-table): Use `uint16_byte_table_description'.
2624
2625 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2626
2627         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2628         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2629
2630 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2631
2632         * mule-charset.c (Vcharset_ucs_ks): New variable.
2633         (Qucs_ks): New variable.
2634         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2635         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2636
2637         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2638
2639 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2640
2641         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2642         (Fdecode_char): Likewise.
2643
2644         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2645         chartab.h.
2646         (Fdefine_char): Modify for Fdecode_char.
2647         (Ffind_char): Likewise.
2648
2649         * mule-charset.c (Fdecode_char): Add new optional argument
2650         `defined-only'.
2651         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2652
2653 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2654
2655         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2656         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2657         (allocate_coding_system): Initialize initial-charsets of
2658         CODESYS_BIG5 in XEmacs UTF-2000.
2659         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2660         CODESYS_BIG5 in XEmacs UTF-2000.
2661         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2662         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2663
2664         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2665         variables.
2666         (Qideograph_hanziku_{1 .. 12}): Likewise.
2667         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2668         .. 12}'.
2669         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2670         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2671         `ideograph-hanziku-{1 .. 12}'.
2672
2673         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2674         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2675         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2676         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2677         (DECODE_DEFINED_CHAR): New inline function.
2678         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2679
2680 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2681
2682         * mule-charset.c (Vcharset_china3_jef): Renamed from
2683         `Vcharset_japanese_jef_china3'.
2684         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2685         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2686         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2687         (syms_of_mule_charset): Rename `china3-jef' from
2688         `japanese-jef-china3'.
2689         (complex_vars_of_mule_charset): Likewise; rename
2690         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2691
2692         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2693         `LEADING_BYTE_JEF_CHINA3'.
2694         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2695         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2696
2697 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * mule-charset.c (encode_builtin_char_1): Comment out special code
2700         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2701
2702         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2703         (MAX_CHAR_MOJIKYO_0): Comment out.
2704         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2705         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2706         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2707         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2708
2709 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2710
2711         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2712         (Qideograph_cbeta): New variable.
2713         (encode_builtin_char_1): Comment out special code for
2714         coded-charset `mojikyo' and `japanese-jef-china3'.
2715         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2716         (complex_vars_of_mule_charset): Add new coded-charset
2717         `ideograph-cbeta'.
2718
2719         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2720         (MIN_CHAR_CBETA): New macro.
2721         (MAX_CHAR_CBETA): New macro.
2722
2723 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2724
2725         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2726         (LEADING_BYTE_JEF_CHINA3): New macro.
2727         (MIN_CHAR_JEF_CHINA3): New macro.
2728         (MAX_CHAR_JEF_CHINA3): Likewise.
2729         (DECODE_CHAR): Fixed.
2730
2731 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2732
2733         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2734         (Qjapanese_jef_china3): New variable.
2735         (encode_builtin_char_1): Support `japanese-jef-china3'.
2736         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2737         (complex_vars_of_mule_charset): Add new coded-charset
2738         `japanese-jef-china3'.
2739
2740 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2743         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2744         94^4, 96^3, 96^4, 128^n and 256^n set.
2745         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2746         (map_char_table): Likewise.
2747
2748 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2749
2750         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2751         UTF-2000.
2752
2753 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2754
2755         * chartab.h (get_char_id_table): New inline function.
2756
2757         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2758         function.
2759
2760 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * chartab.h (decode_char_table_range): New prototype in XEmacs
2763         UTF-2000.
2764         (put_char_id_table): New inline function in XEmacs UTF-2000.
2765
2766         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2767         function.
2768         (decode_char_table_range): Delete static declaration in XEmacs
2769         UTF-2000.
2770
2771 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2772
2773         * chartab.c (put_char_id_table): Use `put_char_table'.
2774
2775 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2776
2777         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2778         (map_over_uint16_byte_table): Likewise.
2779         (map_over_byte_table): Likewise.
2780         (map_char_table): Modify for `map_over_uint8_byte_table',
2781         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2782         UTF-2000.
2783
2784 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2785
2786         * chartab.c (struct map_char_table_for_charset_arg): New
2787         structure.
2788         (map_char_table_for_charset_fun): New function.
2789         (map_char_table): Use `map_char_table' for encoding_table of
2790         `range->charset'.
2791
2792 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2793
2794         * chartab.c (map_char_table): Check a character is found in
2795         range->charset instead of non default value is defined in
2796         char-table when range is CHARTAB_RANGE_ROW.
2797
2798 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2799
2800         * chartab.c (map_char_id_table): Deleted.
2801         (Fmap_char_attribute): Use `map_char_table' instead of
2802         `map_char_id_table'.
2803
2804 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2805
2806         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2807         UTF-2000.
2808         (update_syntax_table): Deleted in XEmacs UTF-2000.
2809
2810         * syntax.c (find_defun_start): Use `syntax_table' instead of
2811         `mirror_syntax_table' in XEmacs UTF-2000.
2812         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2813         UTF-2000.
2814         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2815         XEmacs UTF-2000.
2816         (Fmatching_paren): Likewise.
2817         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2818         in XEmacs UTF-2000.
2819         (find_start_of_comment): Likewise.
2820         (find_end_of_comment): Likewise.
2821         (Fforward_comment): Likewise.
2822         (scan_lists): Likewise.
2823         (char_quoted): Likewise.
2824         (Fbackward_prefix_chars): Likewise.
2825         (scan_sexps_forward): Likewise.
2826         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2827         (update_syntax_table): Likewise.
2828
2829         * search.c (skip_chars): Use `syntax_table' instead of
2830         `mirror_syntax_table' in XEmacs UTF-2000.
2831         (wordify): Likewise.
2832         (Freplace_match): Likewise.
2833
2834         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2835         `mirror_syntax_table' in XEmacs UTF-2000.
2836         (WORDCHAR_P_UNSAFE): Likewise.
2837         (re_match_2_internal): Likewise.
2838
2839         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2840         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2841
2842         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2843         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2844
2845         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2846         XEmacs UTF-2000.
2847
2848         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2849         UTF-2000.
2850         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2851         (char_table_description): Delete `mirror_table' in XEmacs
2852         UTF-2000.
2853         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2854         UTF-2000.
2855         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2856         (Fcopy_char_table): Likewise.
2857         (put_char_table): Don't call `update_syntax_table' in XEmacs
2858         UTF-2000.
2859
2860         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2861         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2862         (casify_region_internal): Likewise.
2863
2864         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2865
2866         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2867         `mirror_syntax_table' in XEmacs UTF-2000.
2868
2869         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2870         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2871         (Fexpand_abbrev): Likewise.
2872
2873 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2874
2875         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2876
2877 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2878
2879         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2880         (map_over_uint16_byte_table): Likewise.
2881         (map_over_byte_table): Likewise.
2882         (get_char_id_table): Refer `cit->default_value'.
2883         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2884         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2885         of character-id ranges.
2886         (mark_char_table): Mark `ct->default_value'.
2887         (char_table_description): Add `default_value'.
2888         (fill_char_table): Use `default_value'.
2889         (decode_char_table_range): Decode `nil' as
2890         `CHARTAB_RANGE_DEFAULT'.
2891         (get_char_id_table): Refer `cit->default_value'.
2892         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2893         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2894         temporary hack; check value of char-table is bound or not.
2895         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2896
2897         * chartab.h (struct Lisp_Char_Table): Add new member
2898         `default_value' in XEmacs UTF-2000.
2899         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2900         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2901         UTF-2000.
2902
2903 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2904
2905         * chartab.h (Lisp_Char_ID_Table): Deleted.
2906
2907         * chartab.c (char_table_description): Fix typo.
2908         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2909         `Lisp_Char_ID_Table'.
2910
2911 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2912
2913         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2914         `CHAR_ID_TABLE_P'.
2915
2916         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2917         `CHAR_ID_TABLE_P'.
2918
2919         * chartab.h (XCHAR_ID_TABLE): Deleted.
2920         (XSETCHAR_ID_TABLE): Deleted.
2921         (CHAR_ID_TABLE_P): Deleted.
2922
2923         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2924         `CHAR_ID_TABLE_P'.
2925         (Fget_composite_char): Likewise.
2926         (put_char_table): Likewise.
2927         (add_char_attribute_alist_mapper): Fixed.
2928         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2929         `CHAR_ID_TABLE_P'.
2930         (Fget_char_attribute): Likewise.
2931         (Fget_char_attribute): Likewise.
2932         (Fmap_char_attribute): Likewise.
2933
2934         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2935         `CHAR_ID_TABLE_P'.
2936         (encode_char_1): Likewise.
2937
2938 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2939
2940         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2941         `XCHAR_ID_TABLE'.
2942
2943         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2944         instead of `XCHAR_ID_TABLE'.
2945         (remove_char_ccs): Likewise.
2946
2947         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2948         `XCHAR_ID_TABLE'.
2949         (Fget_composite_char): Likewise.
2950         (Fchar_variants): Likewise.
2951         (put_char_table): Likewise.
2952         (add_char_attribute_alist_mapper): Likewise.
2953         (Fchar_attribute_alist): Likewise.
2954         (Fget_char_attribute): Likewise.
2955         (Fput_char_attribute): Likewise.
2956         (Fmap_char_attribute): Likewise.
2957         (Fmap_char_attribute): Likewise.
2958
2959         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2960         `XCHAR_ID_TABLE'.
2961         (encode_char_1): Likewise.
2962
2963 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2964
2965         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2966         `Lisp_Char_ID_Table'.
2967         (mark_char_id_table): Deleted.
2968         (print_char_id_table): Likewise.
2969         (char_id_table_equal): Likewise.
2970         (char_id_table_hash): Likewise.
2971         (char_id_table_description): Likewise.
2972         (char_id_table): Likewise.
2973         (make_char_id_table): Use `Fmake_char_table' and
2974         `fill_char_table'.
2975         (get_char_id_table): Use `Lisp_Char_Table' instead of
2976         `Lisp_Char_ID_Table'.
2977         (put_char_id_table): Likewise.
2978         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2979         `XCHAR_ID_TABLE'.
2980         (Fremove_char_attribute): Likewise.
2981         (syms_of_chartab): Don't define type `char-id-table'.
2982
2983         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2984         (char_id_table): Likewise.
2985         (GC_CHAR_ID_TABLE_P): Likewise.
2986         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2987         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2988         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2989         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2990         (get_char_id_table): Use `Lisp_Char_Table' instead of
2991         `Lisp_Char_ID_Table'.
2992         (put_char_id_table_0): Likewise.
2993         (put_char_id_table): Likewise.
2994
2995 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2996
2997         * chartab.h: Lisp_Byte_Table related codes are moved from
2998         chartab.h.
2999
3000         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3001
3002 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3003
3004         * chartab.h: Don't include "chartab.h".
3005         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3006         (Lisp_Char_ID_Table): Likewise.
3007         (char_id_table): Likewise.
3008         (XCHAR_ID_TABLE): Likewise.
3009         (XSETCHAR_ID_TABLE): Likewise.
3010         (CHAR_ID_TABLE_P): Likewise.
3011         (GC_CHAR_ID_TABLE_P): Likewise.
3012         (get_char_id_table): Likewise.
3013
3014         * char-ucs.h: Include "chartab.h".
3015         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3016         (Lisp_Char_ID_Table): Likewise.
3017         (char_id_table): Likewise.
3018         (XCHAR_ID_TABLE): Likewise.
3019         (XSETCHAR_ID_TABLE): Likewise.
3020         (CHAR_ID_TABLE_P): Likewise.
3021         (GC_CHAR_ID_TABLE_P): Likewise.
3022         (get_char_id_table): Likewise.
3023
3024 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3025
3026         * chartab.c (copy_uint8_byte_table): New function.
3027         (copy_uint16_byte_table): New function.
3028         (copy_byte_table): New function.
3029         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3030         characters to call.
3031         (map_over_uint16_byte_table): Likewise.
3032         (map_over_byte_table): Likewise.
3033         (get_byte_table): Move prototype to chartab.h.
3034         (put_byte_table): Likewise.
3035         (put_char_id_table_0): Moved to chartab.h.
3036         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3037         (char_table_entry_equal): Likewise.
3038         (char_table_entry_hash): Likewise.
3039         (char_table_entry_description): Likewise.
3040         (char_table_entry): Likewise.
3041         (make_char_table_entry): Likewise.
3042         (copy_char_table_entry): Likewise.
3043         (get_non_ascii_char_table_value): Likewise.
3044         (map_over_charset_ascii): Likewise.
3045         (map_over_charset_control_1): Likewise.
3046         (map_over_charset_row): Likewise.
3047         (map_over_other_charset): Likewise.
3048         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3049         (print_char_table): Likewise.
3050         (char_table_equal): Likewise.
3051         (char_table_hash): Likewise.
3052         (char_table_description): Likewise.
3053         (fill_char_table): Likewise.
3054         (Fcopy_char_table): Likewise.
3055         (get_char_table): Likewise.
3056         (Fget_range_char_table): Likewise.
3057         (put_char_table): Likewise.
3058         (map_char_table): Likewise.
3059         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3060         UTF-2000.
3061
3062 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3063
3064         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3065         `Vauto_fill_chars' in XEmacs UTF-2000.
3066
3067         * chartab.h (get_byte_table): New prototype [moved from
3068         chartab.c].
3069         (put_byte_table): Likewise [moved from chartab.c].
3070         (put_char_id_table_0): New inline function [moved from chartab.c].
3071         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3072         (Lisp_Char_Table_Entry): Likewise.
3073         (char_table_entry): Likewise.
3074         (XCHAR_TABLE_ENTRY): Likewise.
3075         (XSETCHAR_TABLE_ENTRY): Likewise.
3076         (CHAR_TABLE_ENTRYP): Likewise.
3077         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3078         (NUM_ASCII_CHARS): Likewise.
3079         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3080         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3081
3082 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3083
3084         * chartab.c (get_char_id_table): Change interface.
3085         (put_char_id_table_0): New function.
3086         (put_char_id_table): Change interface; new implementation.
3087         (Fget_composite_char): Modify for interface change of
3088         `get_char_id_table'.
3089         (Fchar_variants): Likewise.
3090         (add_char_attribute_alist_mapper): Likewise.
3091         (Fchar_attribute_alist): Likewise.
3092         (Fget_char_attribute): Likewise.
3093         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3094         as same as character as the first argument like `put-char-table';
3095         modify for interface change of `put_char_id_table'.
3096         (Fremove_char_attribute): Modify for interface change of
3097         `put_char_id_table'.
3098
3099 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3100
3101         * text-coding.c: Sync up with XEmacs 21.2.41.
3102         (COMPOSE_ADD_CHAR): Modify for interface change of
3103         `get_char_id_table'.
3104
3105         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3106         change of `put_char_id_table'.
3107         (remove_char_ccs): Likewise.
3108
3109         * chartab.h (put_char_id_table): Change interface.
3110
3111         * char-ucs.h (get_char_id_table): Change interface.
3112         (charset_code_point): Modify for interface change of
3113         `get_char_id_table'.
3114         (encode_char_1): Likewise.
3115
3116 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3117
3118         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3119         argument `ccs'.
3120         (map_over_uint16_byte_table): Likewise.
3121         (map_over_byte_table): Likewise.
3122         (map_char_id_table): Add new argument `range' like
3123         `map_char_table'.
3124         (Fmap_char_attribute): Add new argument `range' like
3125         `Fmap_char_table'.
3126
3127 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3128
3129         * chartab.c (map_over_uint8_byte_table): Change interface of
3130         mapping function to use struct chartab_range instead of Emchar.
3131         (map_over_uint16_byte_table): Likewise.
3132         (map_over_byte_table): Likewise.
3133         (map_char_id_table): Likewise.
3134         (struct slow_map_char_id_table_arg): Deleted.
3135         (slow_map_char_id_table_fun): Deleted.
3136         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3137         function `slow_map_char_table_fun' instead of struct
3138         `slow_map_char_id_table_arg' and function
3139         `slow_map_char_id_table_fun'.
3140
3141 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3142
3143         * mule-charset.c: Move char-it-table related codes to chartab.c.
3144         (Vutf_2000_version): Moved to chartab.c.
3145         (Fdefine_char): Likewise.
3146         (Ffind_char): Likewise.
3147         (syms_of_mule_charset): Move types `uint8-byte-table',
3148         `uint16-byte-table', `byte-table' and `char-id-table' to
3149         chartab.c; move functions `char_attribute_list,
3150         `find_char_attribute_table, `char_attribute_alist,
3151         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3152         `map_char_attribute, `define_char, `find_char, `char_variants and
3153         `get_composite_char to chartab.c; move symbols `=>ucs',
3154         `->decomposition', `compat', `isolated', `initial', `medial',
3155         `final', `vertical', `noBreak', `fraction', `super', `sub',
3156         `circle', `square', `wide', `narrow', `small' and `font' to
3157         chartab.c.
3158         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3159         setting codes for `Vcharacter_composition_table' and
3160         `Vcharacter_variant_table' to chartab.c.
3161         (complex_vars_of_mule_charset): Move setting code for
3162         `Vchar_attribute_hash_table' to chartab.c.
3163
3164         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3165         (make_char_id_table): New prototype.
3166         (put_char_id_table): Likewise.
3167         (Fget_char_attribute): Likewise.
3168
3169         * chartab.c: Move char-id-table related code from mule-charset.c.
3170         (Vutf_2000_version): Moved from mule-charset.c.
3171
3172         * char-ucs.h (Qucs): New external variable.
3173         (put_char_ccs_code_point): New prototype.
3174         (remove_char_ccs): Likewise.
3175
3176 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3177
3178         * mule-charset.c (Vcharset_ucs_jis): New variable.
3179         (Qucs_jis): Likewise.
3180         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3181         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3182
3183         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3184
3185 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3186
3187         * mule-charset.c (map_over_uint8_byte_table): New function.
3188         (map_over_uint16_byte_table): Likewise.
3189         (map_over_byte_table): Likewise.
3190         (map_char_id_table): Likewise.
3191         (slow_map_char_id_table_fun): Likewise.
3192         (Fmap_char_attribute): Likewise.
3193         (syms_of_mule_charset): Add new function `map-char-attribute'.
3194
3195 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3196
3197         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3198         (syms_of_mule_charset): Add new function `find-char'.
3199
3200 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3201
3202         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3203         XEmacs UTF-2000.
3204         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3205         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3206         XEmacs UTF-2000.
3207         (complex_vars_of_mule_charset): Add new coded-charset
3208         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3209         `ideograph-gt-pj-*'.
3210
3211         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3212
3213 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3214
3215         * mule-charset.c (encode_builtin_char_1): Purge codes about
3216         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3217         {MIN|MAX}_CHAR_HEBREW.
3218         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3219         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3220
3221         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3222         (MAX_CHAR_GREEK): Purged.
3223         (MIN_CHAR_CYRILLIC): Purged.
3224         (MAX_CHAR_CYRILLIC): Purged.
3225         (MIN_CHAR_HEBREW): Commented out.
3226         (MAX_CHAR_HEBREW): Likewise.
3227
3228 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3229
3230         * mule-charset.c (Qto_ucs): New variable.
3231         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3232         (Fdefine_char): Likewise.
3233         (syms_of_mule_charset): Add new symbol `=>ucs'.
3234
3235 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3236
3237         * mule-charset.c (Fdecode_char): Fixed.
3238
3239 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3240
3241         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3242         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3243         "tcvn5712-1".
3244
3245 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3246
3247         * mule-charset.c (Vcharset_ucs_big5): New variable.
3248         (Qucs_big5): Likewise.
3249         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3250         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3251
3252         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3253
3254 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3255
3256         * mule-charset.c (decode_builtin_char): Check Big5 code range
3257         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3258
3259 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3260
3261         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3262         (Qchinese_gb12345): Likewise.
3263         (Fdecode_builtin_char): Fixed.
3264         (syms_of_mule_charset): Add `chinese-gb12345'.
3265         (complex_vars_of_mule_charset): Add coded-charset
3266         `chinese-gb12345'.
3267
3268         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3269         (LEADING_BYTE_CHINESE_GB12345): New macro.
3270
3271 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3272
3273         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3274         and `latin-viscii-upper' for `latin-viscii'.
3275
3276 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3277
3278         * mule-charset.c (Fdecode_builtin_char): Comment out
3279         regularization code for ISO-IR GR representation.
3280
3281 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3282
3283         * mule-charset.c (decode_builtin_char): New function; renamed from
3284         `make_builtin_char'; return -1 instead of signal.
3285         (Fdecode_builtin_char): Use `decode_builtin_char'.
3286
3287         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3288         `make_builtin_char'.
3289         (DECODE_CHAR): Use `decode_builtin_char' instead of
3290         `make_builtin_char'; use mapping table of `chinese-big5' for
3291         `chinese-big5-{1,2}'.
3292
3293 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3294
3295         * text-coding.c (char_encode_big5): New function.
3296         (char_finish_big5): Likewise.
3297         (reset_encoding_stream): Use `char_encode_big5' and
3298         `char_finish_big5' for CODESYS_BIG5.
3299         (mule_encode): Don't use `encode_coding_big5'.
3300         (encode_coding_big5): Deleted.
3301
3302 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3303
3304         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3305         0x81- in XEmacs UTF-2000.
3306         (detect_coding_big5): Likewise.
3307
3308 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3309
3310         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3311         generate character-id if the CCS property does not have
3312         corresponding predefined character.
3313         (make_builtin_char): Return -1 if corresponding predefined
3314         character is not found.
3315         (Fdecode_char): Return nil if corresponding character is not
3316         found.
3317         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3318         don't map to builtin ucs space.
3319
3320 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3321
3322         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3323         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3324
3325 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3326
3327         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3328         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3329         (Qideograph_gt): Likewise.
3330         (Qideograph_gt_pj_{1..11}): Likewise.
3331         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3332         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3333         `ideograph-gt-pj-11'.
3334         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3335         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3336         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3337
3338         * char-ucs.h (LEADING_BYTE_GT): New macro.
3339         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3340         (MIN_CHAR_GT): Likewise.
3341         (MAX_CHAR_GT): Likewise.
3342
3343 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3346         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3347
3348         * doprnt.c (unsigned_int_converters): Add `c'.
3349         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3350
3351         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3352         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3353         `MIN_CHAR_MOJIKYO'.
3354         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3355         (MAX_CHAR_MOJIKYO_0): New macro.
3356         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3357
3358 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3359
3360         * mule-charset.c (Fdefine_char): Delete cemented out code.
3361         (encode_builtin_char_1): Modify for new allocation of builtin
3362         Mojikyo characters.
3363
3364         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3365
3366 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3367
3368         * mule-charset.c (Vcharset_ucs_cns): New variable.
3369         (Qucs_cns): New variable.
3370         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3371         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3372
3373 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3374
3375         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3376
3377 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3378
3379         * search.c (search_buffer): Make `charset_base_code' as
3380         character-id >> 6 to eliminate the corresponding last byte in
3381         UTF-8 representation [I'm not sure it is right thing].
3382         (boyer_moore): Likewise.
3383
3384 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3385
3386         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3387         representation in MULE.
3388
3389 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3390
3391         * text-coding.c (Fmake_coding_system): Use
3392         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3393         `EXTERNAL_PROPERTY_LIST_LOOP'.
3394
3395 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3396
3397         * text-coding.c (decode_output_utf8_partial_char): New function.
3398         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3399
3400 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3401
3402         * text-coding.c (decode_coding_utf8): Output original byte
3403         sequence if it is broken; change order of conditions.
3404
3405         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3406         of conditions.
3407
3408         * mb-multibyte.h (BYTE_ASCII_P):
3409         Use bit ops for char-signedness safety.
3410         (BYTE_C0_P): Use bit ops for char-signedness safety.
3411         (BYTE_C1_P): Use bit ops for char-signedness safety.
3412
3413         * character.h: (XCHAR_OR_CHAR_INT):
3414         Always use inline function.
3415         Remove redundant type checking assert() - XINT will abort quite
3416         nicely.
3417
3418 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3419
3420         * text-coding.c: (Fencode_shift_jis_char):
3421         (Fencode_big5_char):
3422         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3423         Replace 0 with '\0' when working with bytes.
3424         Replace initial "(" with "\(" in docstrings.
3425
3426         (Fmake_coding_system):
3427         When type is ccl and value is vector, register it with a proper
3428         symbol.  And checks whether the given ccl program is valid.
3429         (mule_decode): When calling ccl_driver, if src indicates
3430         NULL pointer, set an empty string instead.
3431         (mule_encode): Likewise.
3432
3433         (detect_eol_type):
3434         (detect_coding_sjis):
3435         (decode_coding_sjis):
3436         (detect_coding_big5):
3437         (decode_coding_big5):
3438         (detect_coding_ucs4):
3439         (decode_coding_ucs4):
3440         (detect_coding_utf8):
3441         (decode_coding_utf8):
3442         (detect_coding_iso2022):
3443         (decode_coding_iso2022):
3444         (decode_coding_no_conversion):
3445         (mule_decode):
3446         Make all detecting and decoding functions take an Extbyte * arg.
3447         (text_encode_generic):
3448         (encode_coding_big5):
3449         (encode_coding_no_conversion):
3450         (mule_encode):
3451         Make all encoding functions take a Bufbyte * arg.
3452         Use size_t instead of unsigned int for memory sizes.
3453         Only cast to unsigned char whenever dereferencing Extbyte *.
3454
3455         (struct lrecord_description fcd_description_1): Use countof.
3456         (complex_vars_of_file_coding):
3457         Use countof instead of sizeof.
3458         Use CHECK_NATNUM instead of CHECK_INT.
3459
3460 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3461
3462         * mule-charset.c (Fget_char_attribute): Add new optional argument
3463         `default-value'.
3464         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3465         (remove_char_ccs): Likewise.
3466
3467 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3468
3469         * text-coding.c (char_encode_shift_jis): New implementation in
3470         UTF-2000.
3471         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3472         ...)'.
3473
3474         * mule-charset.c (Vcharset_chinese_big5): New variable in
3475         UTF-2000.
3476         (Qchinese_big5): New variable in UTF-2000.
3477         (BIG5_SAME_ROW): New macro in UTF-2000.
3478         (make_builtin_char): Use builtin characters of
3479         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3480         characters of `Vcharset_chinese_big5'.
3481         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3482         (complex_vars_of_mule_charset): Add new coded-charset
3483         `chinese-big5' in UTF-2000.
3484
3485         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3486         (Vcharset_chinese_big5): New external variable declaration.
3487         (Vcharset_japanese_jisx0208_1990): Likewise.
3488
3489 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3490
3491         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3492         function.
3493         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3494
3495 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3496
3497         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3498         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3499         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3500         `mojikyo-pj-*'.
3501
3502 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3503
3504         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3505
3506 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3507
3508         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3509         to 0.17.
3510
3511 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3512
3513         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3514         for `CHARSET_BY_ATTRIBUTES'.
3515         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3516         `CHARSET_BY_ATTRIBUTES'.
3517
3518         * text-coding.c (struct decoding_stream): Rename member `CH' to
3519         `CPOS'.
3520         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3521         (decode_coding_sjis): Likewise.
3522         (decode_coding_big5): Likewise.
3523         (decode_coding_ucs4): Likewise.
3524         (decode_coding_utf8): Likewise.
3525         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3526         `CHARSET_BY_ATTRIBUTES'.
3527         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3528         `str->counter'; decode 3, 4 bytes sets.
3529         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3530         sets.
3531         (decode_coding_no_conversion): Use `str->cpos' instead of
3532         `str->ch'.
3533
3534         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3535         (Qmojikyo_2022_1): New variable.
3536         (make_charset): Don't use `CHARSET_TYPE_*'.
3537         (range_charset_code_point): Support coded-charset
3538         `mojikyo-2022-1'.
3539         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3540         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3541         `CHARSET_BY_ATTRIBUTES'.
3542         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3543         `CHARSET_BY_ATTRIBUTES'.
3544         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3545         (complex_vars_of_mule_charset): Add new coded-charset
3546         `mojikyo-2022-1'.
3547
3548         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3549         interface; changed to inline function.
3550
3551         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3552         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3553         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3554         (CHARSET_TYPE_94): Deleted.
3555         (CHARSET_TYPE_94X94): Deleted.
3556         (CHARSET_TYPE_96): Deleted.
3557         (CHARSET_TYPE_96X96): Deleted.
3558         (CHARSET_TYPE_128): Deleted.
3559         (CHARSET_TYPE_128X128): Deleted.
3560         (CHARSET_TYPE_256): Deleted.
3561         (CHARSET_TYPE_256X256): Deleted.
3562         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3563         to inline function.
3564         (DECODE_MOJIKYO_2022): New inline function.
3565         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3566         `Vcharset_mojikyo_2022_1'.
3567
3568 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3569
3570         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3571         instead of `EQ'.
3572         (put_byte_table): Likewise.
3573         (char_id_table_equal): Use `get_byte_table' [new implementation].
3574
3575 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3576
3577         * mule-charset.c: Include <limits.h> in UTF-2000.
3578         (BT_UINT8_MIN): New macro in UTF-2000.
3579         (BT_UINT8_MAX): New macro in UTF-2000.
3580         (BT_UINT8_t): New macro in UTF-2000.
3581         (BT_UINT8_nil): New macro in UTF-2000.
3582         (BT_UINT8_unbound): New macro in UTF-2000.
3583         (INT_UINT8_P): New inline function in UTF-2000.
3584         (UINT8_VALUE_P): New inline function in UTF-2000.
3585         (UINT8_ENCODE): New inline function in UTF-2000.
3586         (UINT8_DECODE): New inline function in UTF-2000.
3587         (mark_uint8_byte_table): New function in UTF-2000.
3588         (print_uint8_byte_table): New function in UTF-2000.
3589         (uint8_byte_table_equal): New function in UTF-2000.
3590         (uint8_byte_table_hash): New function in UTF-2000.
3591         (make_uint8_byte_table): New function in UTF-2000.
3592         (uint8_byte_table_same_value_p): New function in UTF-2000.
3593         (BT_UINT16_MIN): New macro in UTF-2000.
3594         (BT_UINT16_MAX): New macro in UTF-2000.
3595         (BT_UINT16_t): New macro in UTF-2000.
3596         (BT_UINT16_nil): New macro in UTF-2000.
3597         (BT_UINT16_unbound): New macro in UTF-2000.
3598         (INT_UINT16_P): New inline function in UTF-2000.
3599         (UINT16_VALUE_P): New inline function in UTF-2000.
3600         (UINT16_ENCODE): New inline function in UTF-2000.
3601         (UINT16_DECODE): New inline function in UTF-2000.
3602         (UINT8_TO_UINT16): New inline function in UTF-2000.
3603         (mark_uint16_byte_table): New function in UTF-2000.
3604         (print_uint16_byte_table): New function in UTF-2000.
3605         (uint16_byte_table_equal): New function in UTF-2000.
3606         (uint16_byte_table_hash): New function in UTF-2000.
3607         (make_uint16_byte_table): New function in UTF-2000.
3608         (uint16_byte_table_same_value_p): New function in UTF-2000.
3609         (print_byte_table): New function in UTF-2000.
3610         (byte-table): Use `print_byte_table' as printer.
3611         (make_byte_table): Delete second argument `older'.
3612         (byte_table_same_value_p): New function in UTF-2000.
3613         (copy_byte_table): Deleted.
3614         (get_byte_table): New function in UTF-2000.
3615         (put_byte_table): New function in UTF-2000.
3616         (print_char_id_table): New function in UTF-2000.
3617         (char-id-table): Use `print_char_id_table' as printer.
3618         (make_char_id_table): Delete second argument `older'.
3619         (get_char_id_table): Use `get_byte_table [new implementation].
3620         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3621         implementation].
3622         (Ffind_char_attribute_table): New function in UTF-2000.
3623         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3624         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3625         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3626         (syms_of_mule_charset): Add new function
3627         `find-char-attribute-table' in UTF-2000.
3628
3629         * lrecord.h (enum lrecord_type): Add
3630         `lrecord_type_uint16_byte_table' and
3631         `lrecord_type_uint8_byte_table'.
3632
3633         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3634         (Lisp_Uint8_Byte_Table): New type.
3635         (XUINT8_BYTE_TABLE): New macro.
3636         (XSETUINT8_BYTE_TABLE): New macro.
3637         (UINT8_BYTE_TABLE_P): New macro.
3638         (GC_UINT8_BYTE_TABLE_P): New macro.
3639         (struct Lisp_Uint16_Byte_Table): New structure.
3640         (Lisp_Uint16_Byte_Table): New type.
3641         (XUINT16_BYTE_TABLE): New macro.
3642         (XSETUINT16_BYTE_TABLE): New macro.
3643         (UINT16_BYTE_TABLE_P): New macro.
3644         (GC_UINT16_BYTE_TABLE_P): New macro.
3645
3646 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3647
3648         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3649         (Vcharacter_ideographic_strokes_table): Deleted.
3650         (Vcharacter_total_strokes_table): Deleted.
3651         (Vcharacter_morohashi_daikanwa_table): Deleted.
3652         (Vcharacter_decomposition_table): Deleted.
3653         (Qname): Deleted because it is duplicated.
3654         (Qideographic_radical): Deleted.
3655         (Qideographic_strokes): Deleted.
3656         (Qtotal_strokes): Deleted.
3657         (Qmorohashi_daikanwa): Deleted.
3658         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3659         `ideographic-radical', `ideographic-strokes', `total-strokes',
3660         `morohashi-daikanwa' and `->decomposition'.
3661         (Fget_char_attribute): Likewise.
3662         (Fput_char_attribute): Likewise; use `make-vector' instead of
3663         `make_older_vector' for `->decomposition' value.
3664         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3665         `ideograph-daikanwa'.
3666         (syms_of_mule_charset): Delete builtin symbols `name',
3667         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3668         `morohashi-daikanwa'.
3669         (vars_of_mule_charset): Don't setup
3670         `Vcharacter_ideographic_radical_table',
3671         `Vcharacter_ideographic_strokes_table',
3672         `Vcharacter_total_strokes_table',
3673         `Vcharacter_morohashi_daikanwa_table' and
3674         `Vcharacter_decomposition_table'.
3675
3676 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3677
3678         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3679         `make_older_vector', `make_vector_newer_1' and
3680         `make_vector_newer'.
3681
3682         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3683         `make_older_vector' and `make_vector_newer'.
3684
3685         * config.h.in (HAVE_GGC): New macro.
3686
3687 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3688
3689         * mule-charset.c (struct char_attribute_list_closure): New
3690         structure in UTF-2000.
3691         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3692         (Fchar_attribute_list): Likewise.
3693         (Fset_charset_mapping_table): Use `make_vector_newer'.
3694         (Fdecode_builtin_char): New function in UTF-2000.
3695         (syms_of_mule_charset): Add new function `char-attribute-list' and
3696         `decode-builtin-char' in UTF-2000.
3697
3698         * lisp.h (make_vector_newer): New prototype.
3699
3700         * alloc.c (make_vector_newer_1): New function.
3701         (make_vector_newer): New function.
3702
3703 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3704
3705         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3706         50100)'.
3707
3708 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3709
3710         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3711         (Vcharacter_attribute_table): Deleted.
3712         (Vcharacter_name_table): Deleted.
3713         (put_char_attribute): Deleted.
3714         (remove_char_attribute): Deleted.
3715         (struct char_attribute_alist_closure): New structure.
3716         (add_char_attribute_alist_mapper): New function.
3717         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3718         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3719         (Fget_char_attribute): Likewise.
3720         (Fput_char_attribute): Likewise.
3721         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3722         of `remove_char_attribute'.
3723         (Fdefine_char): Return character.
3724         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3725         and `Vcharacter_name_table'.
3726         (complex_vars_of_mule_charset): Likewise
3727         `Vchar_attribute_hash_table'.
3728
3729 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3730
3731         * character.h (CHARC_CHARSET): New macro.
3732         (CHARC_CHARSET_ID): New macro.
3733         (CHARC_CODE_POINT): New macro.
3734         (CHARC_COLUMNS): New macro.
3735         (CHARC_TO_CHAR): New inline function.
3736         (CHARC_EQ): New inline function.
3737         (CHARC_ASCII_EQ): New inline function.
3738         (CHARC_IS_SPACE): New inline function.
3739         (ASCII_TO_CHARC): New inline function.
3740
3741         * char-ucs.h (encode_char_2): Deleted.
3742         (ENCODE_CHAR): Use `encode_char_1' again.
3743         (breakup_char_1): Likewise.
3744         (CHAR_TO_CHARC): New inline function.
3745
3746         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3747
3748 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3749
3750         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3751         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3752         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3753         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3754         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3755         `CHARC_IS_SPACE'.
3756         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3757
3758         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3759         `CHARC_CODE_POINT'.
3760         (x_output_display_block): Use `CHARC_CHARSET' and
3761         `CHARC_ASCII_EQ'.
3762
3763         * redisplay-tty.c (tty_output_display_block): Use
3764         `CHARC_ASCII_EQ'.
3765         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3766
3767         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3768
3769         * insdel.c (find_charsets_in_charc_string): Use
3770         `CHARC_CHARSET_ID'.
3771         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3772         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3773         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3774         (convert_charc_string_into_malloced_string): Likewise.
3775
3776 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3777
3778         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3779         instead of <Emchar_dynarr *> for buf; use
3780         `convert_bufbyte_string_into_charc_dynarr' instead of
3781         `convert_bufbyte_string_into_emchar_dynarr'; use
3782         `find_charsets_in_charc_string' instead of
3783         `find_charsets_in_emchar_string'.
3784
3785         * redisplay.h:
3786         - Include "character.h".
3787         (struct rune): New member `cglyph'; delete member `chr'.
3788
3789         * redisplay.c (redisplay_text_width_charc_string): New function;
3790         delete `redisplay_text_width_emchar_string'.
3791         (rtw_charc_dynarr): New variable; renamed from
3792         `rtw_emchar_dynarr'.
3793         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3794         `rtw_emchar_dynarr'; use
3795         `convert_bufbyte_string_into_charc_dynarr' instead of
3796         `convert_bufbyte_string_into_emchar_dynarr'; use
3797         `redisplay_text_width_charc_string' instead of
3798         `redisplay_text_width_emchar_string'.
3799         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3800         instead of `rtw_emchar_dynarr'; use
3801         `convert_bufbyte_string_into_charc_dynarr' instead of
3802         `convert_bufbyte_string_into_emchar_dynarr'.
3803         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3804         `redisplay_text_width_charc_string' instead of
3805         `redisplay_text_width_emchar_string'.
3806         (create_text_block): Modify for <struct rune> change.
3807         (generate_formatted_string_db): Likewise.
3808         (create_string_text_block): Likewise.
3809         (pixel_to_glyph_translation): Likewise.
3810
3811         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3812         instead of <const Emchar *>.
3813         (x_text_width): Likewise.
3814         (x_output_display_block): Use <Charc_dynarr *> instead
3815         <Emchar_dynarr *>; modify for <structure rune> change.
3816         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3817         *>.
3818
3819         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3820         <const Emchar *>; use `charc_string_displayed_columns' instead of
3821         `emchar_string_displayed_columns'.
3822         (tty_output_display_block): Use <Charc_dynarr *> instead of
3823         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3824         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3825         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3826         `tty_output_emchar_dynarr_dynarr'.
3827         (tty_output_charc_dynarr): New function; delete
3828         `tty_output_charc_dynarr'.
3829
3830         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3831         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3832         <Emchar_dynarr *> for buf; use
3833         `convert_bufbyte_string_into_charc_dynarr' instead of
3834         `convert_bufbyte_string_into_emchar_dynarr'.
3835
3836         * frame.c (title_string_charc_dynarr): New variable; renamed from
3837         `title_string_emchar_dynarr'.
3838         (generate_title_string): Use `title_string_charc_dynarr' instead
3839         of `title_string_emchar_dynarr'; use
3840         `convert_charc_string_into_malloced_string' instead of
3841         `convert_emchar_string_into_malloced_string'.
3842         (init_frame): Use `title_string_charc_dynarr' instead of
3843         `title_string_emchar_dynarr'.
3844
3845         * console.h:
3846         - Include "character.h".
3847         (struct console_methods): Use <const Charc *> instead of <const
3848         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3849         <Emchar_dynarr *> in output_string_method.
3850
3851         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3852         <Emchar_dynarr *>.
3853
3854         * console-stream.c (stream_text_width): Use <const Charc *>
3855         instead of <const Emchar *>.
3856
3857         * character.h (Charc_dynarr): New type.
3858
3859         * char-ucs.h (structure Charc): New structure; define new type
3860         `Charc'.
3861
3862         * char-lb.h (DECODE_CHAR): New inline function.
3863         (encode_char_1): New inline function.
3864         (ENCODE_CHAR): New macro.
3865         (structure Charc): New structure; define new type `Charc'.
3866
3867         * char-1byte.h (Vcharset_control_1): New macro.
3868         (Vcharset_latin_iso8859_1): New macro.
3869         (DECODE_CHAR): New inline function.
3870         (encode_char_1): New inline function.
3871         (ENCODE_CHAR): New macro.
3872         (structure Charc): New structure; define new type `Charc'.
3873
3874         * insdel.c (find_charsets_in_charc_string): New function; delete
3875         `find_charsets_in_emchar_string'.
3876         (charc_string_displayed_columns): New function; delete
3877         `emchar_string_displayed_columns'.
3878         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3879         `convert_bufbyte_string_into_emchar_dynarr'.
3880         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3881         `convert_charc_string_into_bufbyte_dynarr'.
3882         (convert_charc_string_into_malloced_string): New function; delete
3883         `convert_charc_string_into_malloced_string'.
3884
3885         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3886         `find_charsets_in_emchar_string'.
3887         (charc_string_displayed_columns): New prototype; delete
3888         `emchar_string_displayed_columns'.
3889         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3890         `convert_charc_string_into_bufbyte_dynarr'.
3891         (convert_charc_string_into_malloced_string): New prototype; delete
3892         `convert_charc_string_into_malloced_string'.
3893
3894 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3895
3896         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3897
3898 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3899
3900         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3901
3902         * char-ucs.h: Use <short> for <Charset_ID>.
3903
3904         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3905         <Charset_ID>.
3906
3907 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3908
3909         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3910         to 0.16.
3911
3912 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3913
3914         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3915         variable.
3916         (Qmorohashi_daikanwa): New variable.
3917         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3918         for `morohashi-daikanwa' attribute.
3919         (Fget_char_attribute): Likewise.
3920         (Fput_char_attribute): Likewise.
3921         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3922         has the same value of `ideograph-daikanwa'.
3923         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3924         (vars_of_mule_charset): Setup
3925         `Vcharacter_morohashi_daikanwa_table'.
3926
3927 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3928
3929         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3930         attributes.
3931         (add_charset_to_list_mapper): Add `key' instead of
3932         `XCHARSET_NAME (value)' to return aliases.
3933
3934 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3935
3936         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3937         variable.
3938         (Vcharacter_ideographic_strokes_table): New variable.
3939         (Qideographic_radical): New variable.
3940         (Qideographic_strokes): New variable.
3941         (Fchar_attribute_alist): Use
3942         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3943         attribute; use `Vcharacter_ideographic_strokes_table' for
3944         `ideographic-strokes' attribute.
3945         (Fget_char_attribute): Likewise.
3946         (Fput_char_attribute): Likewise.
3947         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3948         `ideographic-strokes'.
3949         (vars_of_mule_charset): Setup
3950         `Vcharacter_ideographic_radical_table' and
3951         `Vcharacter_ideographic_strokes_table'.
3952
3953 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3954
3955         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3956         (Qtotal_strokes): New variable.
3957         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3958         `total-strokes' attribute.
3959         (Fget_char_attribute): Likewise.
3960         (Fput_char_attribute): Likewise.
3961         (syms_of_mule_charset): Add new symbol `total-strokes'.
3962         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3963
3964 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3965
3966         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3967         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3968         are found.
3969         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3970         `->decomposition' attribute.
3971         (Fput_char_attribute): Likewise.
3972         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3973
3974 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3975
3976         * mule-charset.c (decoding_table_check_elements): New function.
3977         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3978
3979 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3980
3981         * mule-charset.c (Fset_charset_mapping_table): Use
3982         `put_char_ccs_code_point'.
3983
3984 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3985
3986         * mule-charset.c (decoding_table_put_char): New inline function.
3987         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3988
3989 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3990
3991         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3992         (XCHARSET_BYTE_SIZE): New macro.
3993         (decoding_table_remove_char): New inline function.
3994         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3995         `decoding_table_remove_char'.
3996         (remove_char_ccs): Use `decoding_table_remove_char'.
3997         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3998
3999 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4000
4001         * mule-charset.c (Vcharacter_name_table): New variable.
4002         (Qname): New variable.
4003         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4004         attribute.
4005         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4006         `Vcharacter_name_table' for `name' attribute.
4007         (Fremove_char_attribute): Use function `remove_char_ccs'.
4008         (put_char_ccs_code_point): New function.
4009         (remove_char_ccs): New function.
4010         (syms_of_mule_charset): Add new symbol `name'.
4011         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4012
4013 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4014
4015         * mule-charset.c (make_byte_table): Add new argument `older'.
4016         (make_char_id_table): Likewise.
4017         (copy_char_id_table): Comment out because it is not used.
4018         (put_char_id_table): Modify for `make_byte_table'.
4019         (Fput_char_attribute): Make encoding_table as older object;
4020         inherit older bit of `Vcharacter_composition_table'.
4021         (mark_charset): Don't mark `cs->encoding_table'.
4022         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4023         normal object; make `Vcharacter_composition_table' as an older
4024         object; delete staticpro for `Vcharacter_composition_table'; make
4025         `Vcharacter_variant_table' as a normal object.
4026
4027         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4028         (mark_object): Don't check older object in UTF-2000.
4029
4030         * lrecord.h (struct lrecord_header): Add new member `older' in
4031         UTF-2000.
4032         (set_lheader_implementation): Setup `SLI_header->older' in
4033         UTF-2000.
4034         (set_lheader_older_implementation): New macro in UTF-2000.
4035         (OLDER_RECORD_P): New macro in UTF-2000.
4036         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4037         (alloc_older_lcrecord): New prototype in UTF-2000.
4038         (alloc_older_lcrecord_type): New macro in UTF-2000.
4039
4040 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4041
4042         * mule-charset.c (byte_table_description): Use
4043         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4044         (char_id_table_description): Delete bogus `, 1'.
4045         (Fget_char_attribute): Refer encoding_table of each coded-charset
4046         to get value of coded-charset attribute of a character.
4047         (Fput_char_attribute): Use `make_older_vector' instead of
4048         `make_vector'; use encoding_table of each coded-charset to store
4049         value of coded-charset attribute of a character.
4050         (Fremove_char_attribute): Use encoding_table of each coded-charset
4051         to store value of coded-charset attribute of a character.
4052         (mark_charset): Mark `cs->encoding_table'; don't mark
4053         `cs->decoding_table'.
4054         (charset_description): Add description of new member
4055         `encoding_table'.
4056         (make_charset): Initialize `encoding_table'.
4057
4058         * char-ucs.h (struct Lisp_Charset): Add new member
4059         `encoding_table'.
4060         (CHARSET_ENCODING_TABLE): New macro.
4061         (XCHARSET_ENCODING_TABLE): New macro.
4062         (charset_code_point): New implementation.
4063         (encode_char_1): Likewise.
4064
4065         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4066         (disksave_object_finalization_1): Call finalizers of
4067         `all_older_lcrecords' in UTF-2000.
4068         (make_older_vector): New function in UTF-2000.
4069         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4070         UTF-2000.
4071
4072         * lisp.h (make_older_vector): New prototype in UTF-2000.
4073
4074 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4075
4076         * lrecord.h (enum lrecord_type): Rename
4077         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4078
4079         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4080         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4081         `get_char_code_table'.
4082
4083         * mule-charset.c (mark_char_id_table): Renamed from
4084         `mark_char_code_table'.
4085         (char_id_table_equal): Renamed from `char_code_table_equal'.
4086         (char_id_table_hash): Renamed from `char_code_table_hash'.
4087         (make_char_id_table): Renamed from `make_char_code_table'.
4088         (copy_char_id_table): Renamed from `copy_char_code_table'.
4089         (get_char_id_table): Renamed from `get_char_code_table'.
4090         (put_char_id_table): Renamed from `put_char_code_table'.
4091         (to_char_id): Renamed from `to_char_code'.
4092
4093         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4094         `Lisp_Char_Code_Table'.
4095         (char_id_table): Renamed from `char_code_table'.
4096         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4097         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4098         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4099         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4100         (get_char_id_table): Renamed from `get_char_code_table'.
4101
4102 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4103
4104         * lrecord.h (enum lrecord_type): Rename
4105         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4106
4107         * mule-charset.c (mark_byte_table): Renamed from
4108         `mark_char_byte_table'.
4109         (byte_table_equal): Renamed from `char_byte_table_equal'.
4110         (byte_table_hash): Renamed from `byte_table_hash'.
4111         (make_byte_table): Renamed from `make_byte_table'.
4112         (copy_byte_table): Renamed from `copy_char_byte_table'.
4113
4114         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4115         `Lisp_Char_Byte_Table'.
4116         (byte_table): Renamed from `char_byte_table'.
4117         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4118         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4119         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4120         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4121
4122 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4123
4124         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4125         (dfc_convert_to_internal_format): Likewise.
4126         
4127         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4128         * text-coding.c (Fcoding_system_alias_p): New function.
4129         * text-coding.c (Fcoding_system_aliasee): New function.
4130         * text-coding.c (append_suffix_to_symbol): New function.
4131         * text-coding.c (dangling_coding_system_alias_p): New function.
4132         * text-coding.c (Ffind_coding_system):
4133         * text-coding.c (Fcopy_coding_system):
4134         * text-coding.c (encode_coding_no_conversion):
4135         * text-coding.c (syms_of_file_coding):
4136         * text-coding.c (vars_of_file_coding):
4137         Rewrite coding system alias code.
4138         Allow nested aliases, like symbolic links.
4139         Allow redefinition of coding system aliases.
4140         Prevent existence of dangling coding system aliases.
4141         Eliminate convert_to_external_format.
4142         Eliminate convert_to_internal_format.
4143         
4144         * text-coding.c: Change enum eol_type to eol_type_t.
4145
4146 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4147
4148         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4149         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4150
4151         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4152         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4153
4154 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4155
4156         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4157         `ideograph-daikanwa'.
4158
4159         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4160         (Vcharset_ucs_bmp): Likewise.
4161         (Vcharset_mojikyo): Add new extern variable definition.
4162         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4163         (Vcharset_latin_iso8859_3): Likewise.
4164         (Vcharset_latin_iso8859_4): Likewise.
4165         (Vcharset_latin_iso8859_9): Likewise.
4166         (Vcharset_latin_viscii_lower): Likewise.
4167         (Vcharset_latin_viscii_upper): Likewise.
4168         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4169         `mojikyo' code-point is used to decode.
4170         (encode_char_2): New function [to convert `mojikyo' code-point to
4171         Mojikyo font encoding].
4172         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4173         (breakup_char_1): Likewise.
4174         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4175
4176 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4177
4178         * text-coding.c (Fmake_coding_system): Add document about
4179         `disable-composition' property.
4180
4181 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4182
4183         * text-coding.c (Qdisable_composition): New variable; delete
4184         `Qcomposite'.
4185         (Fmake_coding_system): Add new property `disable-composite';
4186         delete property `composite'.
4187         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4188         instead of `!CODING_SYSTEM_COMPOSITE'.
4189         (syms_of_file_coding): Add new symbol `disable-composition';
4190         delete symbol `composite'.
4191
4192         * file-coding.h (struct Lisp_Coding_System): Add
4193         `disable_composition'; delete `enable_composition'.
4194         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4195         `CODING_SYSTEM_COMPOSITE'.
4196         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4197         `XCODING_SYSTEM_COMPOSITE'.
4198
4199 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4200
4201         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4202         to 0.15.
4203
4204 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4205
4206         * text-coding.c (Qcomposite): New variable.
4207         (Fmake_coding_system): Add new property `composite'.
4208         (struct decoding_stream): Add `combined_char_count',
4209         `combined_chars' and `combining_table' in UTF-2000.
4210         (COMPOSE_FLUSH_CHARS): New macro.
4211         (COMPOSE_ADD_CHAR): New macro.
4212         (reset_decoding_stream): Reset `str->combined_char_count' and
4213         `str->combining_table' in UTF-2000.
4214         (decode_coding_iso2022): Modify for character-decomposition.
4215         (syms_of_file_coding): Add new symbol `composite'.
4216
4217 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4218
4219         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4220         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4221         of `Vcharacter_composition_table' if `->decomposition' property
4222         has only 1 element.
4223         (Qlatin_tcvn5712): New variable.
4224         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4225         (complex_vars_of_mule_charset): Add new coded-charset
4226         `latin-tcvn5712'.
4227
4228         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4229
4230 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4231
4232         * file-coding.h (struct Lisp_Coding_System): Add
4233         `enable_composition'.
4234         (CODING_SYSTEM_COMPOSITE): New macro.
4235         (XCODING_SYSTEM_COMPOSITE): New macro.
4236
4237 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4238
4239         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4240
4241 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4242
4243         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4244         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4245
4246 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4247
4248         * mule-charset.c (Vcharset_mojikyo): New variable.
4249         (Fdefine_char): Don't use coded-charset which does not have
4250         non-builtin character range to allocate character-id.
4251         (Qmojikyo): New variable.
4252         (syms_of_mule_charset): Add new symbol `mojikyo'.
4253         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4254
4255         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4256         (LEADING_BYTE_MOJIKYO): New macro.
4257         (MIN_CHAR_MOJIKYO): New macro.
4258         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4259         (MAX_CHAR_MOJIKYO): New macro.
4260
4261 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4262
4263         * mule-charset.c (remove_char_attribute): Fixed.
4264
4265 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4266
4267         * mule-charset.c (remove_char_attribute): New function.
4268         (Fremove_char_attribute): New function.
4269         (encode_builtin_char_1): Comment out builtin-support for
4270         greek-iso8859-7 and cyrillic-iso8859-5.
4271         (Fdecode_char): Check `code' is an integer.
4272         (syms_of_mule_charset): Add `remove-char-attribute'.
4273         (MIN_CHAR_GREEK): Deleted.
4274         (MAX_CHAR_GREEK): Likewise.
4275         (MIN_CHAR_CYRILLIC): Likewise.
4276         (MAX_CHAR_CYRILLIC): Likewise.
4277         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4278         MAX_CHAR_GREEK for `greek-iso8859-7'.
4279
4280         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4281         (MAX_CHAR_GREEK): Likewise.
4282         (MIN_CHAR_CYRILLIC): Likewise.
4283         (MAX_CHAR_CYRILLIC): Likewise.
4284
4285 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4286
4287         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4288         format is used without `ucs' property.
4289         (Fdecode_char): Fix problem with GR representation.
4290         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4291         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4292
4293 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4294
4295         * mule-charset.c (make_builtin_char): New function.
4296         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4297         (Fset_charset_mapping_table): Modify for new representation of
4298         code-point.
4299         (Fdecode_char): New function.
4300         (syms_of_mule_charset): Add new builtin function `decode-char' in
4301         UTF-2000.
4302
4303         * char-ucs.h (make_builtin_char): New prototype.
4304         (DECODE_CHAR): New inline function.
4305         (MAKE_CHAR): Use `DECODE_CHAR'.
4306
4307 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4308
4309         * text-coding.c (parse_charset_conversion_specs): Use
4310         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4311         `XCHARSET_TYPE'.
4312         (iso2022_designate): Likewise.
4313
4314         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4315         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4316
4317         * mule-charset.c (Vcharset_ucs): New variable.
4318         (print_charset): Change design; use `CHARSET_CHARS' and
4319         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4320         (make_charset): Change signature to specify `chars' and
4321         `dimension' instead of `type'.
4322         (range_charset_code_point): Modify for 256^n-set.
4323         (encode_builtin_char_1): Encode as `ucs' in default.
4324         (Fmake_charset): Modify for `make_charset'.
4325         (Fmake_reverse_direction_charset): Likewise.
4326         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4327         UTF-2000.
4328         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4329         for `make_charset'.
4330
4331         * char-ucs.h (Vcharset_ucs): New variable.
4332         (LEADING_BYTE_UCS): New macro.
4333         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4334         and `chars' to `unsigned short' from `unsigned int'.
4335         (CHARSET_TYPE): Deleted.
4336         (XCHARSET_TYPE): Deleted.
4337
4338 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4339
4340         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4341
4342         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4343         (ENCODE_CHAR): New macro.
4344
4345 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4346
4347         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4348         to 0.14 (Kawachi-Katakami).
4349
4350 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4351
4352         * text-coding.c (char_encode_shift_jis): Modify for
4353         `charset_code_point'.
4354         (char_encode_iso2022): Likewise.
4355
4356         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4357         (integer) instead of list of <Lisp_Object>s (integers) as the
4358         format of code-point of a coded-charset.
4359         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4360         (encode_builtin_char_1): New function; delete
4361         `split_builtin_char'.
4362         (charset_code_point): Return <int> instead of <Lisp_Object>.
4363         (Fsplit_char): Don't use `SPLIT_CHAR'.
4364
4365         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4366         prototype for `split_builtin_char'.
4367         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4368         (charset_code_point): Likewise.
4369         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4370         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4371
4372 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4373
4374         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4375         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4376
4377 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4378
4379         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4380
4381         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4382         (MAX_CHAR_OBS_94x94): Deleted.
4383
4384 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4385
4386         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4387
4388         * char-ucs.h (MAX_CHAR_BMP): New macro.
4389
4390 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4391
4392         * text-coding.c: Sync with r21-2-24.
4393
4394 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4395
4396         * file-coding.c: Modify for UTF-2000.
4397
4398 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4399
4400         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4401         to 0.13 (Takaida).
4402
4403 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4404
4405         * mule-charset.c (split_builtin_char): Delete builtin support for
4406         `katakana-jisx0201'.
4407         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4408         BMP area in builtin representation.
4409
4410         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4411         `Vcharset_katakana_jisx0201'.
4412
4413 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4414
4415         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4416         (Qisolated): New variable.
4417         (Qinitial): New variable.
4418         (Qmedial): New variable.
4419         (Qfinal): New variable.
4420         (Qvertical): New variable.
4421         (Qsmall): New variable.
4422         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4423         `Qvertical' and `Qsmall'.
4424         (Qmojikyo_pj_[1 .. 21]): New variable.
4425         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4426         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4427         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4428         .. 21]'.
4429
4430 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4431
4432         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4433         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4434         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4435
4436 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4437
4438         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4439         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4440         BMP.
4441         (Qjapanese_jisx0208_1990): New variable.
4442         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4443         (complex_vars_of_mule_charset): Add new coded-charset
4444         `japanese-jisx0208-1990'.
4445
4446         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4447         (MIN_CHAR_JIS_X0208_1990): New macro.
4448         (MAX_CHAR_JIS_X0208_1990): New macro.
4449
4450 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4451
4452         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4453         coded-charset is not found.
4454
4455 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4456
4457         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4458         (Fdefine_char): Use `Fmake_char'.
4459
4460 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4461
4462         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4463         (Vcharset_hiragana_jisx0208): Deleted.
4464         (Vcharset_katakana_jisx0208): Deleted.
4465         (Qideograph_daikanwa): New variable.
4466         (Qhiragana_jisx0208): Deleted.
4467         (Qkatakana_jisx0208): Deleted.
4468         (split_builtin_char): Split `ideograph-daikanwa'.
4469         (Fsplit_char): New implementation for UTF-2000.
4470         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4471         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4472         (complex_vars_of_mule_charset): Add new coded-charset
4473         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4474         `katakana-jisx0208'.
4475
4476         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4477         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4478         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4479         (MIN_CHAR_DAIKANWA): New macro.
4480         (MAX_CHAR_DAIKANWA): New macro.
4481
4482 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4483
4484         * data.c (Fstring_to_number): Don't recognize floating point if
4485         base is not 10.
4486
4487 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4488
4489         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4490
4491 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4492
4493         * mule-charset.c (Qsquare): New variable.
4494         (to_char_code): Add `Qsquare'.
4495         (syms_of_mule_charset): Add new symbol `square'.
4496
4497 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4498
4499         * mule-charset.c (Qcircle): New variable.
4500         (to_char_code): Add `Qcircle'.
4501         (syms_of_mule_charset): Add new symbol `circle'.
4502
4503 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4504
4505         * mule-charset.c (Qfont): New variable.
4506         (to_char_code): Add `Qfont'.
4507         (syms_of_mule_charset): Add new symbol `font'.
4508
4509 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4510
4511         * mule-charset.c (Qsub): New variable.
4512         (to_char_code): Add `Qsub'.
4513         (syms_of_mule_charset): Add new symbol `sub'.
4514
4515 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4516
4517         * mule-charset.c (Fput_char_attribute): Convert each element of
4518         VALUE to GL position if ATTRIBUTE is a GR-set,
4519
4520 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4521
4522         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4523         coded-charset is a GR-set.
4524
4525 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4526
4527         * mule-charset.c (Fput_char_attribute): Check each element of
4528         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4529
4530 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4531
4532         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4533         UTF-2000.
4534         (Qethiopic_ucs): New variable in UTF-2000.
4535         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4536         (complex_vars_of_mule_charset): Add new coded-charset
4537         `ethiopic-ucs' in UTF-2000.
4538
4539         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4540         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4541         9)'.
4542         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4543         10)'.
4544         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4545
4546 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4547
4548         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4549         `ascii'.
4550
4551 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4552
4553         * mule-charset.c (Vcharacter_variant_table): New variable.
4554         (Q_ucs): New variable.
4555         (Fchar_variants): New function.
4556         (Fput_char_attribute): Register `->ucs' value to
4557         `Vcharacter_variant_table'.
4558         (syms_of_mule_charset): Add new function `char-variants' and new
4559         symbol `->ucs'.
4560         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4561
4562 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4563
4564         * mule-charset.c (get_char_code_table): Allow negative character
4565         code.
4566         (put_char_code_table): Likewise.
4567         (Vcharacter_composition_table): New variable.
4568         (Q_decomposition): New variable.
4569         (Qwide): New variable.
4570         (Qnarrow): New variable.
4571         (Qcompat): New variable.
4572         (QnoBreak): New variable.
4573         (Qsuper): New variable.
4574         (Qfraction): New variable.
4575         (to_char_code): New function.
4576         (Fget_composite_char): New function.
4577         (Fput_char_attribute): Register `->decomposition' value to
4578         `Vcharacter_composition_table'.
4579         (syms_of_mule_charset): Add new function `get-composite-char', new
4580         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4581         `super' and `fraction'.
4582         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4583
4584 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4585
4586         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4587         character; copy the return value.
4588
4589 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4590
4591         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4592
4593         * mule-charset.c (range_charset_code_point): Must use make_int.
4594         (split_builtin_char): New function.
4595
4596 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4597
4598         * mule-charset.c (char_byte_table): Change name from
4599         "char-code-table" to "char-byte-table".
4600         (mark_char_code_table): New function.
4601         (char_code_table_equal): New function.
4602         (char_code_table_hash): New function.
4603         (char_code_table_description): New constant.
4604         (char_code_table): New type.
4605         (make_char_code_table): New function.
4606         (copy_char_code_table): New function.
4607         (get_char_code_table): Modify for `char_code_table' type.
4608         (put_char_code_table): Likewise.
4609         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4610         (Kashiwara).
4611
4612         * char-ucs.h (char_code_table): New type.
4613         (XCHAR_CODE_TABLE): New macro.
4614         (XSETCHAR_CODE_TABLE): New macro.
4615         (CHAR_CODE_TABLE_P): New macro.
4616         (GC_CHAR_CODE_TABLE_P): New macro.
4617         (struct Lisp_Char_Code_Table): New structure.
4618
4619 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4620
4621         * mule-charset.c (Fmake_charset): Setup byte_offset for
4622         {94|96}^n-set.
4623
4624 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4625
4626         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4627         character.
4628
4629 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4630
4631         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4632         is found.
4633
4634 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4635
4636         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4637         charset, it is regarded as a charset.
4638         (put_char_attribute): New function in UTF-2000.
4639         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4640         charset, mapping-table of the charset is modified.
4641         (Fdefine_char): New function in UTF-2000.
4642         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4643         `Fput_char_attribute'.
4644         (syms_of_mule_charset): Add new function `define-char' and new
4645         symbol `ucs' in UTF-2000.
4646         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4647
4648 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4649
4650         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4651         non-UTF-2000 configuration.
4652
4653 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4654
4655         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4656         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4657
4658         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4659         deleted.
4660         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4661         (Fset_charset_mapping_table): Likewise.
4662
4663         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4664         (CHARSET_ENCODING_TABLE): Delete.
4665         (XCHARSET_ENCODING_TABLE): Delete.
4666         (charset_code_point): New interface.
4667
4668 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4669
4670         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4671         instead of `charset_get_byte1' and `charset_get_byte2'.
4672
4673         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4674         (charset_get_byte2): Deleted.
4675
4676 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4677
4678         * char-ucs.h (SPLIT_CHAR): New inline function.
4679         (breakup_char_1): Use `SPLIT_CHAR'.
4680
4681         * mule-charset.c (range_charset_code_point): New function.
4682         (charset_code_point): New function.
4683
4684         * char-ucs.h (range_charset_code_point): New interface.
4685         (breakup_char_1): Use `range_charset_code_point'.
4686
4687 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4688
4689         * mule-charset.c (Fmake_charset): Delete unused local variable
4690         `code_offset'.
4691
4692         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4693         (breakup_char_1): Find a charset and code-point in
4694         `Vcharacter_attribute_table'.
4695
4696 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4697
4698         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4699         to 0.10 (Yao).
4700
4701 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4702
4703         * mule-charset.c (Vcharacter_attribute_table): New variable.
4704         (Fchar_attribute_alist): New function.
4705         (Fget_char_attribute): New function.
4706         (Fput_char_attribute): New function.
4707         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4708         too.
4709         (syms_of_mule_charset): Add new function `char-attribute-alist',
4710         `get-char-attribute' and `put-char-attribute'.
4711         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4712
4713 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4714
4715         * mule-charset.c (Fmake_charset): Just use
4716         `get_unallocated_leading_byte'.
4717
4718         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4719         sets; don't use final-byte based number for private sets.
4720
4721 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4722
4723         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4724         integer.
4725
4726 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4727
4728         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4729         to 0.9.
4730
4731 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4732
4733         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4734         of `CHAR_LEADING_BYTE' in UTF-2000.
4735
4736         * insdel.c (find_charsets_in_bufbyte_string): Use
4737         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4738         (find_charsets_in_emchar_string): Likewise.
4739
4740         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4741         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4742
4743         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4744         (CHAR_CHARSET_ID): New macro.
4745
4746 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4747
4748         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4749         charset-id - MIN_LEADING_BYTE.
4750         (put_char_table): Likewise.
4751
4752 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4753
4754         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4755         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4756         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4757         (CHARSET_ID_OFFSET): New macro.
4758         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4759         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4760         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4761         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4762         4).
4763         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4764         5).
4765         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4766         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4767         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4768         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4769         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4770
4771 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4772
4773         * mule-charset.c (next_allocated_leading_byte): New variable in
4774         UTF-2000.
4775         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4776         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4777         (get_unallocated_leading_byte): Simply use
4778         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4779         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4780         UTF-2000.
4781
4782         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4783         (MAX_LEADING_BYTE_PRIVATE): New macro.
4784         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4785         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4786
4787 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4788
4789         * mule-charset.c (Fmake_charset): Allocate final-byte based
4790         charset-id for 94-set, 96-set and 94x94-set.
4791
4792 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4793
4794         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4795         ambiguous `else'.
4796         (Fmake_charset): Likewise.
4797         (complex_vars_of_mule_charset): Modify the font registry of
4798         `ucs-bmp' not to match `Ethiopic-Unicode'.
4799
4800 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4801
4802         * mule-charset.c (complex_vars_of_mule_charset): Add font
4803         registory of `ucs-bmp'.
4804
4805 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4806
4807         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4808         coded-charsets in `default-coded-charset-priority-list' when
4809         breaking up a character.
4810
4811         * mule-charset.c (Vcharset_latin_viscii): New variable.
4812         (Qlatin_viscii): New variable.
4813         (make_charset): Don't use `decoding_table'.
4814         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4815         byte_offset.
4816         (Fset_charset_mapping_table): New implementation.
4817         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4818         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4819         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4820         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4821         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4822         charset `latin_viscii'.
4823
4824         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4825         (CHARSET_TYPE_94X94): Change to 1 from 2.
4826         (CHARSET_TYPE_96): Change to 2 from 1.
4827         (CHARSET_TYPE_128): New macro.
4828         (CHARSET_TYPE_128X128): Change to 5 from 4.
4829         (CHARSET_TYPE_256): New macro.
4830         (CHARSET_TYPE_256X256): Change to 7 from 5.
4831         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4832
4833 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4834
4835         * text-coding.c (char_encode_shift_jis): Refer
4836         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4837         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4838
4839         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4840         (char_byte_table_equal): New function in UTF-2000.
4841         (char_byte_table_hash): New function in UTF-2000.
4842         (char_byte_table_description): New constant in UTF-2000.
4843         (char_byte_table): New type in UTF-2000.
4844         (make_char_byte_table): New function in UTF-2000.
4845         (copy_char_byte_table): New function in UTF-2000.
4846         (make_char_code_table): New macro in UTF-2000.
4847         (get_char_code_table): New function in UTF-2000.
4848         (put_char_code_table): New function in UTF-2000.
4849         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4850         (charset_description): Add setting in UTF-2000.
4851         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4852         `CHARSET_TO_BYTE1_TABLE(cs)'.
4853         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4854         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4855         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4856         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4857         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4858         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4859         `CHARSET_TO_BYTE2_TABLE(cs)'.
4860
4861         * char-ucs.h (char_byte_table): New type.
4862         (XCHAR_BYTE_TABLE): New macro.
4863         (XSETCHAR_BYTE_TABLE): New macro.
4864         (CHAR_BYTE_TABLE_P): New macro.
4865         (GC_CHAR_BYTE_TABLE_P): New macro.
4866         (struct Lisp_Char_Byte_Table): New structure.
4867         (get_char_code_table): New interface.
4868         (Emchar_to_byte_table): Deleted.
4869         (get_byte_from_character_table): Deleted.
4870         (struct Lisp_Charset): Add `encoding_table'; delete
4871         `to_byte1_table' and `to_byte2_table'.
4872         (CHARSET_ENCODING_TABLE): New macro.
4873         (CHARSET_TO_BYTE1_TABLE): Deleted.
4874         (CHARSET_TO_BYTE2_TABLE): Deleted.
4875         (XCHARSET_ENCODING_TABLE): New macro.
4876         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4877         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4878
4879 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4880
4881         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4882         `vietnamese-viscii-*'.
4883
4884 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4885
4886         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4887         (Qvietnamese_viscii_upper): New variable.
4888         (Fdefine_charset_alias): New function.
4889         (syms_of_mule_charset): Add new function `define-charset-alias'.
4890         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4891         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4892         `latin-viscii-*'.
4893
4894 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4895
4896         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4897         (MAX_CHAR_OBS_94x94): New macro.
4898         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4899         for 94x94 sets.
4900
4901         * mule-charset.c (put_byte_from_character_table): Change unit size
4902         from 128 to 256.
4903         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4904         not defined.
4905         (Fmake_reverse_direction_charset): Modify dummy argument of
4906         `make_charset' for non-UTF-2000 environment.
4907
4908 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4909
4910         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4911
4912         * mule-charset.c (destroy_byte_from_character_table): New macro.
4913         (latin_jisx0201_to_ucs): Deleted.
4914         (latin_iso8859_2_to_ucs): Deleted.
4915         (latin_iso8859_3_to_ucs): Deleted.
4916         (latin_iso8859_4_to_ucs): Deleted.
4917         (latin_iso8859_9_to_ucs): Deleted.
4918         (latin_viscii_lower_to_ucs): Deleted.
4919         (latin_viscii_upper_to_ucs): Deleted.
4920         (mark_charset): Mark `cs->decoding_table'.
4921         (Fcharset_mapping_table): Fix DOC-string.
4922         (Fset_charset_mapping_table): New function.
4923         (syms_of_mule_charset): Add nwe function
4924         `set-charset-mapping-table'.
4925         (complex_vars_of_mule_charset): Don't setup and use
4926         `latin_*_to_ucs'.
4927
4928 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4929
4930         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4931         charset.
4932
4933 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4934
4935         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4936         (Vcharset_katakana_jisx0208): New variable.
4937         (Qhiragana_jisx0208): New variable.
4938         (Qkatakana_jisx0208): New variable.
4939         (make_charset): Add new argument `byte_offset'.
4940         (charset_get_byte1): Modify for new coded-charset definition; use
4941         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4942         `XCHARSET_BYTE_OFFSET'.
4943         (Fmake_charset): Modify for `make_charset'.
4944         (Fmake_reverse_direction_charset): Likewise.
4945         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4946         `katakana-jisx0208'.
4947         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4948         `.'  in font registry of charset `katakana-jisx0201',
4949         `latin-jisx0201', `vietnamese-viscii-lower' and
4950         `vietnamese-viscii-upper'; modify DOC-string of charset
4951         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4952         registry of charset `japanese-jisx0208' not to use font for JIS
4953         X0208:1990; add new charset `hiragana-jisx0208' and
4954         `katakana-jisx0208'.
4955
4956         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4957         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4958         (struct Lisp_Charset): Add `byte_offset'.
4959         (CHARSET_BYTE_OFFSET): New macro.
4960         (XCHARSET_UCS_MIN): New macro.
4961         (XCHARSET_UCS_MAX): New macro.
4962         (XCHARSET_CODE_OFFSET): New macro.
4963         (XCHARSET_BYTE_OFFSET): New macro.
4964         (MIN_CHAR_HIRAGANA): New macro.
4965         (MAX_CHAR_HIRAGANA): New macro.
4966         (MIN_CHAR_KATAKANA): New macro.
4967         (MAX_CHAR_KATAKANA): New macro.
4968         (MAKE_CHAR): Modify for new coded-charset definition; use
4969         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4970         `XCHARSET_BYTE_OFFSET'.
4971
4972 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4973
4974         * mule-charset.c (CHAR96): Deleted.
4975         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4976         <Lisp_Object>.
4977         (latin_iso8859_2_to_ucs): Likewise.
4978         (latin_iso8859_3_to_ucs): Likewise.
4979         (latin_iso8859_4_to_ucs): Likewise.
4980         (latin_iso8859_9_to_ucs): Likewise.
4981         (latin_viscii_lower_to_ucs): Likewise.
4982         (latin_viscii_upper_to_ucs): Likewise.
4983         (latin_tcvn5712_to_ucs): Commented out.
4984         (make_charset): Change type of argument `decoding_table' from
4985         <Emchar*> to <Lisp_Object> [vector of characters].
4986         (Fmake_charset): Modify for `make_charset'.
4987         (Fmake_reverse_direction_charset): Likewise.
4988         (Fcharset_mapping_table): New function in UTF-2000.
4989         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4990         UTF-2000.
4991         (complex_vars_of_mule_charset): Modify for type change of
4992         `*_to_ucs'; modify for `make_charset'.
4993
4994         * char-ucs.h (struct Lisp_Charset): Change type of
4995         `decoding_table' from <Emchar*> to <Lisp_Object>.
4996         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4997
4998 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4999
5000         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5001         error with non-UTF-2000-Mule.
5002
5003 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5004
5005         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5006         in lisp again].
5007         (Vcharset_chinese_cns11643_4): Likewise.
5008         (Vcharset_chinese_cns11643_5): Likewise.
5009         (Vcharset_chinese_cns11643_6): Likewise.
5010         (Vcharset_chinese_cns11643_7): Likewise.
5011         (Qchinese_cns11643_3): Likewise.
5012         (Qchinese_cns11643_4): Likewise.
5013         (Qchinese_cns11643_5): Likewise.
5014         (Qchinese_cns11643_6): Likewise.
5015         (Qchinese_cns11643_7): Likewise.
5016         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5017         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5018         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5019         (complex_vars_of_mule_charset): Likewise.
5020
5021 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5022
5023         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5024         96-set.
5025         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5026         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5027
5028 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5029
5030         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5031         0xFF60.
5032         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5033         (breakup_char_1): Likewise.
5034
5035         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5036         one of them includes the specified character.
5037
5038 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5039
5040         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5041
5042 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5043
5044         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5045
5046 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5047
5048         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5049         definition for non-UTF-2000 Mule.
5050         (latin_iso8859_3_to_ucs): Likewise.
5051         (latin_iso8859_4_to_ucs): Likewise.
5052         (latin_iso8859_9_to_ucs): Likewise.
5053         (latin_jisx0201_to_ucs): Likewise.
5054         (MIN_CHAR_THAI): Likewise.
5055         (MAX_CHAR_THAI): Likewise.
5056         (MIN_CHAR_GREEK): Likewise.
5057         (MAX_CHAR_GREEK): Likewise.
5058         (MIN_CHAR_HEBREW): Likewise.
5059         (MAX_CHAR_HEBREW): Likewise.
5060         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5061         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5062         (MIN_CHAR_CYRILLIC): Likewise.
5063         (MAX_CHAR_CYRILLIC): Likewise.
5064
5065 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5066
5067         * char-ucs.h (breakup_char_1): Use
5068         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5069         thai-tis620 and katakana-jisx0201 area.
5070
5071 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5072
5073         * char-ucs.h (breakup_char_1): Use
5074         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5075         area.
5076
5077         * text-coding.c (reset_encoding_stream): Fixed.
5078         (char_encode_ucs4): Delete `& 255'.
5079
5080         * char-ucs.h (breakup_char_1): Use
5081         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5082
5083 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5084
5085         * file-coding.c (Fmake_coding_system): Don't set up
5086         `codesys->fixed.size'.
5087         (encode_coding_no_conversion): Don't refer
5088         `str->codesys->fixed.size'.
5089
5090 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5091
5092         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5093         (latin_a_char_to_byte1): Deleted.
5094         (latin_a_char_to_byte2): Deleted.
5095
5096 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5097
5098         * mule-charset.c (make_charset): Add new argument `ucs_min',
5099         `ucs_max' and `code_offset'.
5100         (charset_get_byte1): New implementation [delete specific charset
5101         depended implementations].
5102         (Fmake_charset): Modify for `make_charset'.
5103         (Fmake_reverse_direction_charset): Likewise.
5104         (complex_vars_of_mule_charset): Likewise.
5105
5106         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5107         `code_offset'.
5108         (CHARSET_UCS_MIN): New macro.
5109         (CHARSET_UCS_MAX): New macro.
5110         (CHARSET_CODE_OFFSET): New macro.
5111         (MAKE_CHAR): Delete charset depended definitions [except
5112         katakana-jisx0201].
5113
5114 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5115
5116         * char-ucs.h (breakup_char_1): Use
5117         `Vdefault_coded_charset_priority_list' for C0-Controls,
5118         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5119
5120 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5121
5122         * char-ucs.h (charset_get_byte1): New function.
5123         (XCHARSET_GET_BYTE1): Deleted.
5124         (charset_get_byte2): New function.
5125         (XCHARSET_GET_BYTE2): Deleted.
5126         (Vdefault_coded_charset_priority_list): New external variable.
5127         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5128         `Vdefault_preferred_coded_charset_list'.
5129
5130         * mule-charset.c (charset_get_byte1): New function.
5131         (charset_get_byte2): New function.
5132         (Vdefault_coded_charset_priority_list): New variable.
5133         (vars_of_mule_charset): Add new variable
5134         `default-coded-charset-priority-list'.
5135
5136 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5137
5138         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5139         (XCHARSET_GET_BYTE2): New inline function.
5140         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5141         `XCHARSET_GET_BYTE2'.
5142
5143 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5144
5145         * mule-charset.c (make_charset): Initialize
5146         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5147         NULL if table is not defined.
5148
5149 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5150
5151         * text-coding.c (char_encode_shift_jis): Use
5152         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5153         `ucs_to_latin_jisx0201'.
5154
5155         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5156         (ucs_to_latin_iso8859_2): Deleted.
5157         (ucs_to_latin_iso8859_3): Deleted.
5158         (ucs_to_latin_iso8859_4): Deleted.
5159         (ucs_to_latin_iso8859_9): Deleted.
5160         (ucs_to_latin_viscii_lower): Deleted.
5161         (ucs_to_latin_viscii_upper): Deleted.
5162         (ucs_to_latin_tcvn5712): Deleted.
5163         (make_charset): Add new argument `decoding_table'; set up
5164         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5165         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5166         `decoding_table' is defined in UTF-2000.
5167         (Fmake_charset): Modify for `make_charset'.
5168         (Fmake_reverse_direction_charset): Likewise.
5169         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5170         and `GENERATE_96_SET'.
5171
5172         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5173         (ucs_to_latin_jisx0201): Deleted.
5174         (latin_iso8859_2_to_ucs): Deleted.
5175         (ucs_to_latin_iso8859_2): Deleted.
5176         (latin_iso8859_3_to_ucs): Deleted.
5177         (ucs_to_latin_iso8859_3): Deleted.
5178         (latin_iso8859_4_to_ucs): Deleted.
5179         (ucs_to_latin_iso8859_4): Deleted.
5180         (latin_iso8859_9_to_ucs): Deleted.
5181         (ucs_to_latin_iso8859_9): Deleted.
5182         (latin_viscii_lower_to_ucs): Deleted.
5183         (ucs_to_latin_viscii_lower): Deleted.
5184         (latin_viscii_upper_to_ucs): Deleted.
5185         (ucs_to_latin_viscii_upper): Deleted.
5186         (struct Lisp_Charset): Renamed `encoding_table' to
5187         `to_byte1_table'; add `to_byte2_table'.
5188         (CHARSET_DECODING_TABLE): New macro.
5189         (CHARSET_TO_BYTE1_TABLE): New macro.
5190         (CHARSET_TO_BYTE2_TABLE): New macro.
5191         (XCHARSET_DECODING_TABLE): New macro.
5192         (XCHARSET_TO_BYTE1_TABLE): New macro.
5193         (XCHARSET_TO_BYTE2_TABLE): New macro.
5194         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5195         tables.
5196         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5197         don't use `ucs_to_*' tables.
5198
5199 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5200
5201         * text-coding.c (Fmake_coding_system): Don't set up
5202         `codesys->fixed.size'.
5203         (encode_coding_no_conversion): Use `if' instead of `switch'.
5204
5205         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5206
5207 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5208
5209         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5210         (Fmake_charset): Modify for `make_charset'.
5211         (Fmake_reverse_direction_charset): Likewise.
5212         (complex_vars_of_mule_charset): Likewise.
5213
5214 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5215
5216         * text-coding.c (char_encode_shift_jis): Use table
5217         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5218
5219 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5220
5221         * text-coding.c (text_encode_generic): Use `if' instead of
5222         `switch'.
5223         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5224         decode JIS-Latin.
5225
5226 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5227
5228         * text-coding.c (encode_coding_sjis): Deleted.
5229         (char_encode_shift_jis): New function.
5230         (char_finish_shift_jis): New function.
5231         (reset_encoding_stream): Set up `encode_char' and `finish' for
5232         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5233         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5234         (char_encode_utf8): Treat `eol_type'.
5235
5236 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5237
5238         * file-coding.c (decode_coding_iso2022): Use
5239         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5240
5241 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5242
5243         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5244         to 0.7 (Hirano).
5245
5246 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5247
5248         * char-lb.h (CHAR_COLUMNS): New macro.
5249
5250 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5251
5252         * text-coding.c (char_encode_ucs4): New function.
5253         (char_finish_ucs4): New function.
5254         (encode_coding_ucs4): Deleted.
5255         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5256         (text_encode_generic): Delete local variable `charset' and `half'.
5257         (ucs_to_mule_table): Deleted.
5258         (mule_to_ucs_table): Deleted.
5259         (Fset_ucs_char): Deleted.
5260         (ucs_to_char): Deleted.
5261         (Fucs_char): Deleted.
5262         (Fset_char_ucs): Deleted.
5263         (Fchar_ucs): Deleted.
5264         (decode_ucs4): Deleted.
5265         (mule_char_to_ucs4): Deleted.
5266         (encode_ucs4): Deleted.
5267         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5268         (decode_coding_utf8): Likewise.
5269         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5270         (char_encode_iso2022): Fixed.
5271         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5272         `Fset_char_ucs' and `Fchar_ucs'.
5273         (complex_vars_of_file_coding): Don't initialize
5274         `ucs_to_mule_table'.
5275
5276         * objects-tty.c (tty_initialize_font_instance): Don't use
5277         `XCHARSET_COLUMNS'.
5278
5279         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5280         UTF-2000.
5281
5282         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5283         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5284
5285         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5286         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5287         (emchar_string_displayed_columns): Likewise.
5288
5289         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5290         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5291         (string_column_at_point): Likewise.
5292         (Fmove_to_column): Likewise.
5293
5294         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5295         `encoding_table' and `decoding_table'.
5296         (CHARSET_REP_BYTES): Deleted.
5297         (XCHARSET_REP_BYTES): Deleted.
5298         (XCHARSET_COLUMNS): Deleted.
5299         (CHAR_COLUMNS): New macro.
5300         (lookup_composite_char): Deleted unconditionally.
5301         (composite_char_string): Likewise.
5302
5303 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5304
5305         * char-ucs.h (Emchar_to_byte_table): New type.
5306         (get_byte_from_character_table): New function interface.
5307         (Vcharset_latin_jisx0201): New variable.
5308         (latin_jisx0201_to_ucs): New variable.
5309         (ucs_to_latin_jisx0201): New variable.
5310         (Vcharset_latin_iso8859_2): New variable.
5311         (latin_iso8859_2_to_ucs): New variable.
5312         (ucs_to_latin_iso8859_2): New variable.
5313         (Vcharset_latin_iso8859_3): New variable.
5314         (latin_iso8859_3_to_ucs): New variable.
5315         (ucs_to_latin_iso8859_3): New variable.
5316         (Vcharset_latin_iso8859_4): New variable.
5317         (latin_iso8859_4_to_ucs): New variable.
5318         (ucs_to_latin_iso8859_4): New variable.
5319         (Vcharset_latin_iso8859_9): New variable.
5320         (latin_iso8859_9_to_ucs): New variable.
5321         (ucs_to_latin_iso8859_9): New variable.
5322         (Vcharset_latin_viscii_lower): New variable.
5323         (latin_viscii_lower_to_ucs): New variable.
5324         (ucs_to_latin_viscii_lower): New variable.
5325         (Vcharset_latin_viscii_upper): New variable.
5326         (latin_viscii_upper_to_ucs): New variable.
5327         (ucs_to_latin_viscii_upper): New variable.
5328         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5329         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5330         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5331         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5332         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5333         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5334         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5335         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5336         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5337         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5338
5339         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5340         (Vcharset_latin_viscii_upper): New variable.
5341         (make_byte_from_character_table): New function.
5342         (put_byte_from_character_table): New function.
5343         (get_byte_from_character_table): New function.
5344         (CHAR96): New macro.
5345         (ucs_to_latin_jisx0201): New variable.
5346         (latin_jisx0201_to_ucs): New variable.
5347         (ucs_to_latin_iso8859_2): New variable.
5348         (latin_iso8859_2_to_ucs): New variable.
5349         (ucs_to_latin_iso8859_3): New variable.
5350         (latin_iso8859_3_to_ucs): New variable.
5351         (ucs_to_latin_iso8859_4): New variable.
5352         (latin_iso8859_4_to_ucs): New variable.
5353         (ucs_to_latin_iso8859_9): New variable.
5354         (latin_iso8859_9_to_ucs): New variable.
5355         (ucs_to_latin_viscii_lower): New variable.
5356         (latin_viscii_lower_to_ucs): New variable.
5357         (ucs_to_latin_viscii_upper): New variable.
5358         (latin_viscii_upper_to_ucs): New variable.
5359         (ucs_to_latin_tcvn5712): New variable.
5360         (latin_tcvn5712_to_ucs): New variable.
5361         (Qlatin_viscii_lower): New variable.
5362         (Qlatin_viscii_upper): New variable.
5363         (syms_of_mule_charset): Set up new symbol
5364         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5365         (complex_vars_of_mule_charset): Set up new charset
5366         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5367         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5368         `ucs_to_<CHARSET>' tables.
5369
5370 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5371
5372         * text-coding.c: New file.
5373
5374 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5375
5376         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5377
5378         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5379         (MAKE_CHAR): Modify for `ucs-bmp'.
5380         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5381         non-MULE characters of BMP.
5382
5383 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5384
5385         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5386         to 0.6.
5387
5388 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5389
5390         * lstream.h:
5391         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5392         - Include character.h for `CHAR_ASCII_P'.
5393
5394         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5395
5396         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5397         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5398
5399         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5400         (BYTE_C0_P): Likewise.
5401         (BYTE_C1_P): Likewise.
5402         (Lstream_get_emchar_1): Likewise.
5403         (Lstream_fput_emchar): Likewise.
5404         (Lstream_funget_emchar): Likewise.
5405         (copy_internal_to_external): Likewise.
5406         (copy_external_to_internal): Likewise.
5407
5408         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5409         (BYTE_C0_P): Likewise.
5410         (BYTE_C1_P): Likewise.
5411         (Lstream_get_emchar_1): Likewise.
5412         (Lstream_fput_emchar): Likewise.
5413         (Lstream_funget_emchar): Likewise.
5414         (copy_internal_to_external): Likewise.
5415         (copy_external_to_internal): Likewise.
5416
5417         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5418         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5419
5420         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5421         (BYTE_ASCII_P): Moved to mb-1byte.h.
5422
5423 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5424
5425         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5426
5427         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5428         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5429         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5430         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5431         (VALIDATE_CHARPTR_FORWARD): Likewise.
5432         (simple_charptr_emchar): Moved to mb-multibyte.h.
5433         (simple_set_charptr_emchar): Likewise.
5434         (simple_charptr_copy_char): Likewise.
5435         (non_ascii_charptr_emchar): Likewise.
5436         (non_ascii_set_charptr_emchar): Likewise.
5437         (non_ascii_charptr_copy_char): Likewise.
5438         (charptr_emchar): Moved to mb-*byte.h.
5439         (set_charptr_emchar): Likewise.
5440         (charptr_copy_char): Likewise.
5441
5442         * mb-1byte.h, mb-multibyte.h: New files.
5443
5444 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5445
5446         * mb-utf-8.h (MULTIBYTE): New macro.
5447         (MAX_EMCHAR_LEN): Moved from buffer.h.
5448         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5449
5450         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5451
5452         * mb-lb.h, multibyte.h: New files.
5453
5454         * char-1byte.h (Charset_ID): Moved from buffer.h.
5455         (MIN_LEADING_BYTE): Likewise.
5456         (LEADING_BYTE_ASCII): Likewise.
5457         (NUM_LEADING_BYTES): Likewise.
5458         (CHARSETP): Likewise.
5459         (CHARSET_BY_LEADING_BYTE): Likewise.
5460         (XCHARSET_LEADING_BYTE): Likewise.
5461         (XCHARSET_GRAPHIC): Likewise.
5462         (XCHARSET_COLUMNS): Likewise.
5463         (XCHARSET_DIMENSION): Likewise.
5464         (CHAR_CHARSET): Likewise.
5465         (CHAR_LEADING_BYTE): Likewise.
5466         (BREAKUP_CHAR): Likewise.
5467         (Vcharset_ascii): Likewise.
5468
5469         * buffer.h: Include multibyte.h unconditionally.
5470         (VALID_CHARPTR_P): Moved to multibyte.h.
5471         (ASSERT_VALID_CHARPTR): Likewise.
5472         (REAL_INC_CHARPTR): Likewise.
5473         (REAL_INC_CHARBYTIND): Likewise.
5474         (REAL_DEC_CHARPTR): Likewise.
5475         (INC_CHARPTR): Likewise.
5476         (INC_CHARBYTIND): Likewise.
5477         (DEC_CHARPTR): Likewise.
5478         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5479         (VALIDATE_CHARPTR_FORWARD): Likewise.
5480         (charptr_n_addr): Likewise.
5481         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5482         (simple_charptr_emchar): Moved to multibyte.h.
5483         (simple_set_charptr_emchar): Likewise.
5484         (simple_charptr_copy_char): Likewise.
5485         (non_ascii_charptr_emchar): Likewise.
5486         (non_ascii_set_charptr_emchar): Likewise.
5487         (non_ascii_charptr_copy_char): Likewise.
5488         (charptr_emchar): Likewise.
5489         (set_charptr_emchar): Likewise.
5490         (charptr_copy_char): Likewise.
5491         (charptr_emchar_n): Likewise.
5492         (Charset_ID): Moved to char-1byte.h.
5493         (Vcharset_ascii): Likewise.
5494         (CHAR_CHARSET): Likewise.
5495         (CHAR_LEADING_BYTE): Likewise.
5496         (LEADING_BYTE_ASCII): Likewise.
5497         (NUM_LEADING_BYTES): Likewise.
5498         (MIN_LEADING_BYTE): Likewise.
5499         (CHARSETP): Likewise.
5500         (CHARSET_BY_LEADING_BYTE): Likewise.
5501         (XCHARSET_LEADING_BYTE): Likewise.
5502         (XCHARSET_GRAPHIC): Likewise.
5503         (XCHARSET_COLUMNS): Likewise.
5504         (XCHARSET_DIMENSION): Likewise.
5505         (BREAKUP_CHAR): Likewise.
5506
5507 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5508
5509         * character.h: Add document about interface for characters.
5510
5511         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5512         (MAKE_CHAR): Delete comment about
5513         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5514         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5515         (BREAKUP_CHAR): Modify name of arguments.
5516         (CHAR_CHARSET): Modify name of argument.
5517
5518         * buffer.h: Delete document about Emchar accessors.
5519
5520 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5521
5522         * character.h (CHAR_INTP): Moved from buffer.h
5523         (CHAR_OR_CHAR_INTP): Likewise.
5524         (XCHAR_OR_CHAR_INT): Likewise.
5525         (CHECK_CHAR_COERCE_INT): Likewise.
5526
5527         * buffer.h (CHAR_INTP): Moved to character.h
5528         (CHAR_OR_CHAR_INTP): Likewise.
5529         (XCHAR_OR_CHAR_INT): Likewise.
5530         (CHECK_CHAR_COERCE_INT): Likewise.
5531
5532 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5533
5534         * character.h:
5535         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5536         - Include char-1byte.h, char-lb.h or char-ucs.h.
5537
5538         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5539
5540         * buffer.h: Include character unconditionally.
5541         (valid_char_p): Moved to char-*.h.
5542         (non_ascii_valid_char_p): Moved to char-lb.h.
5543
5544         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5545
5546 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5547
5548         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5549         in UTF-2000 because it is not ported yet and not to use
5550         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5551         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5552         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5553
5554         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5555         (CHAR_ASCII_P): Moved from character.h.
5556
5557         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5558         (CHAR_ASCII_P): Likewise.
5559         (CHAR_FIELD1_MASK): Deleted.
5560         (CHAR_FIELD2_MASK): Deleted.
5561         (CHAR_FIELD3_MASK): Deleted.
5562         (MAX_CHAR_BASIC_LATIN): New macro.
5563         (CHAR_FIELD1): Deleted.
5564         (CHAR_FIELD2_INTERNAL): Deleted.
5565         (CHAR_FIELD3_INTERNAL): Deleted.
5566         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5567         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5568         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5569         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5570         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5571         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5572         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5573         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5574         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5575         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5576         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5577         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5578         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5579         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5580         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5581         (MIN_CHAR_COMPOSITION): Deleted.
5582         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5583         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5584
5585 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5586
5587         * buffer.h: Include mb-utf-8.h in UTF-2000.
5588
5589         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5590
5591         * mb-utf-8.h: New file.
5592
5593 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5594
5595         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5596         instead of `int'.
5597
5598         * mule-charset.h, buffer.h (Charset_ID): New type.
5599
5600 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5601
5602         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5603         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5604         instead of `MULE_CHAR_PRIVATE_OFFSET',
5605         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5606         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5607         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5608
5609         * character.h (Vcharset_japanese_jisx0212): New variable
5610         definition.
5611
5612 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5613
5614         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5615         (charset_by_attributes): Delete array about direction.
5616         (latin_a_char_to_charset): New variable in UTF-2000.
5617         (latin_a_char_to_byte1): New variable in UTF-2000.
5618         (latin_a_char_to_byte2): New variable in UTF-2000.
5619         (Qucs_bmp): New variable.
5620         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5621         `Bufbyte'.
5622         (next_allocated_2_byte_leading_byte): Likewise.
5623         (non_ascii_set_charptr_emchar): Likewise.
5624         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5625         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5626         `charset_by_attributes'.
5627         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5628         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5629         and `CHARSET_BY_LEADING_BYTE'.
5630         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5631         `utf-2000-version' to `vars_of_mule_charset'.
5632         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5633         define `leading-code-private-11' in UTF-2000; move setting of
5634         `utf-2000-version' from `syms_of_mule_charset'.
5635         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5636         UTF-2000.
5637
5638         * character.h (Charset_ID): New type.
5639         (LEADING_BYTE_UCS_BMP): New macro.
5640         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5641         (CHARSET_ID_OFFSET_94): New macro.
5642         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5643         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5644         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5645         final-byte.
5646         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5647         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5648         (CHARSET_ID_OFFSET_96): New macro.
5649         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5650         CHARSET_ID_OFFSET_96 and final-byte.
5651         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5652         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5653         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5654         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5655         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5656         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5657         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5658         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5659         (LEADING_BYTE_THAI_TIS620): Likewise.
5660         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5661         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5662         (CHARSET_ID_OFFSET_94x94): New macro.
5663         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5664         CHARSET_ID_OFFSET_94x94 and final-byte.
5665         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5666         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5667         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5668         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5669         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5670         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5671         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5672         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5673         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5674         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5675         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5676         (CHARSET_TYPE_128X128): New macro.
5677         (CHARSET_TYPE_256X256): New macro.
5678         (XCHARSET_PRIVATE_P): Delete unconditionally.
5679         (charset_by_attributes): Delete array about direction.
5680         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5681         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5682         (MIN_CHAR_94): New macro.
5683         (MAX_CHAR_94): New macro.
5684         (MIN_CHAR_96): New macro.
5685         (MAX_CHAR_96): New macro.
5686         (MIN_CHAR_94x94): New macro.
5687         (MAX_CHAR_94x94): New macro.
5688         (MIN_CHAR_96x96): New macro.
5689         (MAX_CHAR_96x96): New macro.
5690         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5691         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5692         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5693         - 32)'.
5694         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5695         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5696         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5697         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5698         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5699         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5700         `XCHARSET_LEADING_BYTE' to make code-point.
5701         (latin_a_char_to_charset): New variable.
5702         (latin_a_char_to_byte1): New variable.
5703         (latin_a_char_to_byte2): New variable.
5704         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5705         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5706         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5707
5708         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5709         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5710         (find_charsets_in_emchar_string): Likewise.
5711         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5712
5713         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5714         `int'.
5715         (decode_coding_iso2022): Likewise.
5716
5717         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5718         of `unsigned char'.
5719
5720         * redisplay.c (redisplay_text_width_emchar_string): Use
5721         `Charset_ID' instead of `unsigned char'.
5722         (redisplay_frame_text_width_string): Likewise.
5723
5724         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5725         `unsigned char'.
5726
5727         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5728         instead of `unsigned char'.
5729         (face_cachel_charset_font_metric_info): Likewise.
5730
5731         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5732         (get_non_ascii_char_table_value): Likewise.
5733         (get_char_table): Likewise.
5734         (put_char_table): Likewise.
5735         (map_over_other_charset): Likewise.
5736         (map_char_table): Likewise.
5737
5738         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5739         instead of `unsigned char'.
5740
5741 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5742
5743         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5744         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5745
5746         * mule-charset.c (leading_code_private_11): Don't define in
5747         UTF-2000.
5748
5749         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5750         in UTF-2000 because it is not ported yet and not to use
5751         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5752
5753 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5754
5755         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5756
5757 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5758
5759         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5760         in UTF-2000.
5761
5762         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5763         of unsigned char to store leading-byte.
5764
5765         * chartab.c (get_non_ascii_char_table_value): Don't use
5766         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5767
5768         * file-coding.c (encode_coding_big5): Delete bogus implementation
5769         in UTF2000.
5770
5771         * character.h (LEADING_BYTE_*): Delete definition for
5772         non-UTF-2000.
5773         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5774         (LEADING_BYTE_PREFIX_P): Deleted.
5775         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5776         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5777         (BUFBYTE_LEADING_BYTE_P): Deleted.
5778         (CHARSET_PRIVATE_P): Deleted unconditionally.
5779         (rep_bytes_by_first_byte): Deleted unconditionally.
5780         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5781         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5782         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5783         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5784         (CHAR_FIELD2): Deleted.
5785         (CHAR_FIELD3): Deleted.
5786         (MAKE_CHAR): Delete definition for non-UTF-2000.
5787         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5788         (breakup_char_1): New implementation.
5789         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5790         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5791
5792 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5793
5794         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5795         condition.
5796
5797 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5798
5799         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5800         (CHARSET_PRIVATE_P): Likewise.
5801         (XCHARSET_PRIVATE_P): Likewise.
5802         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5803
5804         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5805         UTF2000.
5806         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5807
5808 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5809
5810         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5811         (NUM_LEADING_BYTES): Changed from 128 to 256.
5812         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5813         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5814         UTF2000.
5815         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5816
5817         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5818         UTF2000.
5819         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5820         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5821         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5822         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5823         (Qchinese_cns11643_3): New variable in UTF2000.
5824         (Qchinese_cns11643_4): New variable in UTF2000.
5825         (Qchinese_cns11643_5): New variable in UTF2000.
5826         (Qchinese_cns11643_6): New variable in UTF2000.
5827         (Qchinese_cns11643_7): New variable in UTF2000.
5828         (syms_of_mule_charset): Define `chinese-cns11643-3',
5829         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5830         and `chinese-cns11643-7' in UTF2000.
5831         (vars_of_mule_charset): Initialize
5832         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5833         + 1 in UTF2000.
5834         (complex_vars_of_mule_charset): Setup charset
5835         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5836         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5837
5838 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5839
5840         * mule-charset.c: Move setting for `leading-code-private-11' from
5841         `syms_of_mule_charset' to `vars_of_mule_charset'.
5842
5843 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5844
5845         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5846         and `NUM_LEADING_BYTES' in assert.
5847
5848 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5849
5850         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5851         instead of 128.
5852         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5853         `NUM_LEADING_BYTES' instead of 128.
5854
5855 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5856
5857         * mule-charset.h (charset_by_leading_byte): Use
5858         `NUM_LEADING_BYTES' instead of 128.
5859         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5860
5861         * mule-charset.c (charset_by_leading_byte): Use
5862         `NUM_LEADING_BYTES' instead of 128.
5863         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5864
5865         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5866         128.
5867
5868 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5869
5870         * mule-charset.c (syms_of_mule_charset): Update to
5871         0.4 (Shin-Imamiya).
5872
5873 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5874
5875         * file-coding.c (encode_coding_sjis): New implementation for
5876         UTF2000.  (decode_coding_sjis): Ditto.
5877
5878 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5879
5880         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5881         Don't define in UTF2000.
5882
5883         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5884         defined.
5885
5886         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5887         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5888         MULE.
5889
5890 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5891
5892         * config.h.in (CHAR_IS_UCS4): New macro.
5893
5894         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5895         conventional MULE representation.
5896         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5897
5898         * mule-charset.h: Reverted to original.
5899
5900         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5901         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5902         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5903
5904         * character.h: New file.
5905
5906         * file-coding.c (Fmake_coding_system): Set 1 to
5907         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5908         defined.
5909         (encode_coding_no_conversion): New implementation for UTF2000.
5910
5911         * file-coding.h (struct Lisp_Coding_System): Add new member
5912         `fixed.size'.
5913
5914 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5915
5916         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5917         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5918         (encode_coding_iso2022): New implementation for UTF2000.
5919
5920 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5921
5922         * mule-canna.c (c2mu): New implementation for UTF2000.
5923         (m2c): Likewise.
5924
5925 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5926
5927         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5928
5929 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5930
5931         * file-coding.c (reset_encoding_stream): Set 0 to
5932         `str->iso2022.current_char_boundary' in UTF2000.
5933         (encode_utf8): Don't define in UTF2000.
5934         (encode_coding_utf8): New implementation for UTF-8 representation
5935         of UTF2000.
5936         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5937
5938 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5939
5940         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5941
5942         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5943         UTF2000.
5944         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5945
5946         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5947
5948         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5949         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5950         as UTF-8 in UTF2000.
5951         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5952         (non_ascii_valid_char_p): Don't define in UTF2000.
5953         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5954         (Lstream_get_emchar_1): Likewise.
5955         (utf-2000-version): New variable in UTF2000.
5956
5957         * lread.c (read_escape): Add new reader `u'.
5958
5959         * insdel.c (three_to_one_table): Don't define in UTF2000.
5960         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5961         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5962         UTF2000.
5963         (bytind_to_bufpos_func): Likewise.
5964         (buffer_mule_signal_inserted_region): Likewise.
5965         (vars_of_insdel): Don't initialize `three_to_one_table'.
5966         (init_buffer_text): Use `buf->text->mule_size' instead of
5967         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5968         UTF2000.
5969
5970         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5971         UTF-8 representation in UTF2000.
5972         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5973         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5974         (decode_coding_iso2022): Don't define local variable `lb' in
5975         UTF2000; don't use LEADING_BYTE in UTF2000; use
5976         `DECODE_ADD_UCS_CHAR' in UTF2000.
5977         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5978
5979         * config.h.in (UTF2000): New macro.
5980
5981         * buffer.h (struct buffer_text): Add new member `mule_size' and
5982         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5983         (valid_char_p): Return always 1 in UTF2000.
5984         (MAX_EMCHAR_LEN): 6 in UTF2000.
5985         (three_to_one_table): Don't define in UTF2000.
5986         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5987         UTF2000.
5988         (real_bytind_to_bufpos): Likewise.
5989
5990         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5991
5992 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5993
5994         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5995         representation change.
5996         (Vutf_2000_version): New variable.
5997         (leading_code_private_11): New variable.
5998         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5999         `leading-code-private-11'.
6000
6001         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6002         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6003         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6004         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6005         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6006         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6007         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6008         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6009         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6010         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6011         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6012         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6013         (MIN_CHAR_GREEK): New macro.
6014         (MAX_CHAR_GREEK): New macro.
6015         (MIN_CHAR_CYRILLIC): New macro.
6016         (MAX_CHAR_CYRILLIC): New macro.
6017         (MIN_CHAR_HEBREW): New macro.
6018         (MAX_CHAR_HEBREW): New macro.
6019         (MIN_CHAR_THAI): New macro.
6020         (MAX_CHAR_THAI): New macro.
6021         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6022         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6023         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6024         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6025         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6026         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6027         (CHAR_FIELD2): New inline function.
6028         (CHAR_FIELD3): New inline function.
6029         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6030         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6031         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6032         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6033         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6034         (MIN_CHAR_COMPOSITION): Likewise.
6035         (CHAR_LEADING_BYTE): Modified for character representation change.
6036         (MAKE_CHAR): Likewise.
6037
6038         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6039         (Vcharset_greek_iso8859_7): Likewise.
6040         (Vcharset_cyrillic_iso8859_5): Likewise.
6041         (Vcharset_hebrew_iso8859_8): Likewise.
6042         (Vcharset_thai_tis620): Likewise.
6043         (Vcharset_katakana_jisx0201): Likewise.
6044
6045 2008-12-28  Vin Shelton  <acs@xemacs.org>
6046
6047         * XEmacs 21.4.22 is released
6048
6049 2008-12-27  Vin Shelton  <acs@xemacs.org>
6050
6051         * syswindows.h: Don't define wide character interfaces for Cygwin
6052         1.7 and up.
6053
6054 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6055
6056         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6057
6058 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6059
6060         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6061         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6062
6063 2008-12-25  Vin Shelton  <acs@xemacs.org>
6064
6065         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6066         By Julian Bradfield in
6067         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6068
6069         * mule-ccl.c (ccl_driver): 
6070
6071 2007-10-07  Vin Shelton  <acs@xemacs.org>
6072
6073         * XEmacs 21.4.21 is released
6074
6075 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6076
6077         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6078
6079 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6080
6081         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6082         (png_instantiate): Initialize setjmp_buffer early, and avoid
6083         recursive entry to error handler.
6084
6085 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6086
6087         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6088         a typo fix.
6089
6090 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6091
6092         * event-Xt.c (x_reset_modifier_mapping):
6093         * event-gtk.c (gtk_reset_modifier_mapping):
6094         Zero out the device's modifier map once we've freed it, to prevent
6095         a double free on a re-entrant call. 
6096
6097 2007-05-17  Vin Shelton  <acs@xemacs.org>
6098
6099         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6100         64-bit linux.  Patch from Hans de Graaff.
6101
6102 2007-05-02  Vin Shelton  <acs@xemacs.org>
6103
6104         * dumper.c (pdump): Don't close pdump_fd (already closed by
6105         fclose() call.  Patch from Steve Higham.
6106         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6107         already closed.  Patch inspired by Steve Higham.
6108
6109 2007-05-01  Vin Shelton  <acs@xemacs.org>
6110
6111         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6112         (mswindows_fstat): Ditto.
6113         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6114
6115 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6116
6117         * postgresql.c: Update Steve Baur's email address by his request.
6118         * postgresql.h: Ditto.
6119
6120 2007-01-04  Vin Shelton  <acs@xemacs.org>
6121
6122         * fileio.c (check_writable): Check old-style readonly bit only for
6123         non-directories.
6124
6125 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6126
6127         * src/fileio.c (check_writable): 
6128         Cope with the fact that the read-only attribute trumps Windows NTFS
6129         ACLS.
6130
6131
6132 2006-12-09  Vin Shelton  <acs@xemacs.org>
6133
6134         * XEmacs 21.4.20 is released
6135
6136 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6137
6138         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6139         relocated the definitions to be used sooner in file.
6140         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6141         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6142         overflow.
6143
6144 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6145
6146         * sound.c (init_native_sound):
6147         Only X11 and GTK devices can possibly not be on the console of the
6148         associated machine. Fixes a crash when init_native_sound is called
6149         on a msprinter device. 
6150
6151 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6152
6153         * buffer.c (buffer-file-name): Document invariant.
6154         (buffer-file-truename): Sync wording to buffer-file-name.
6155         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6156         and discussion.
6157
6158 2006-11-19  Benson Margulies  <benson@dchbk.us>
6159
6160         * fileio.c: Add code to use full Win32 API to check for write
6161         access.  Win32 has the general design policy that you aren't
6162         supposed to ask this question, since security checks change
6163         depending on asynchronous processes.  Nonetheless, there is a way,
6164         by acting as if we are a server doing interpretive access
6165         control.
6166
6167 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6168
6169         * bytecode.c: Use xnew_array instead of alloca.
6170
6171 2006-07-04  Vin Shelton  <acs@xemacs.org>
6172
6173         * redisplay-msw.c: Fix tiny, but crucial typo.
6174
6175 2006-06-22  Jerry James  <james@xemacs.org>
6176
6177         * EmacsShell-sub.c (ChangeManaged):
6178         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6179         NULL.
6180         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6181         checking if it is NULL.  Also fix a memory leak.
6182         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6183         dereference it, not the other way around.
6184         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6185         overflow check.
6186         * dumper.c (pdump_register_struct): Ditto.
6187         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6188         to (short) warnpath overflow warnpath.
6189         * extents.c (detach_all_extents): Call extent_list_delete_all with
6190         a non-NULL parameter only.
6191         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6192         NULL width and height.
6193         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6194         xic before checking if they are NULL.
6195         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6196         allocated array.
6197         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6198         * nas.c (Err): Fix a memory leak.
6199         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6200         Don't create the buffer if there is nothing to do.
6201         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6202         * redisplay-output.c (redisplay_output_layout): Ditto.
6203         * redisplay-tty.c (tty_output_display_block): Ditto.
6204         * redisplay-x.c (x_output_display_block): Ditto.
6205         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6206         dereference instance->scrollbar_data if it is NULL.
6207         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6208         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6209         for sb->scrollbar_data.
6210         * sound.c (init_native_sound): Avoid a buffer overflow by
6211         allocating a buffer with the appropriate size.
6212
6213 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6214
6215         * EmacsShell-sub.c (RootGeometryManager):
6216         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6217         Based on a suggestion by Francois L'Archeveque.
6218
6219 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6220
6221         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6222         current values found in GNU Emacs.
6223
6224 2006-03-17  Vin Shelton  <acs@xemacs.org>
6225
6226         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6227         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6228
6229         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6230         'hex_initialized' because it conflicts with 'initialized' in
6231         lisp.h.
6232
6233 2006-01-28  Vin Shelton  <acs@xemacs.org>
6234
6235         * XEmacs 21.4.19 is released
6236
6237 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6238
6239         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6240
6241 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6242
6243         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6244         5000 to INT_MAX.
6245
6246 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6247
6248         * database.c: Suppress compiler warning under Cygwin.
6249         * database.c: Removed __FreeBSD__ check, should be handled by
6250         HAVE_U_xxx_T defines.
6251
6252 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6253
6254         * console.c (stuff_buffered_input): Compile body only if
6255         HAVE_TTY.
6256
6257 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6258
6259         * callproc.c: #include sysdir.h, so that any appropriate Mule
6260         magic happens with the chdir() call when calling a subprocess. 
6261
6262 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6263
6264         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6265         * mule-ccl.c: Check that a character set exists before using it
6266         to create a character. 
6267
6268 2005-12-06  Vin Shelton  <acs@xemacs.org>
6269
6270         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6271         to INT_MAX.
6272
6273 2005-12-03  Vin Shelton <acs@xemacs.org>
6274
6275         * XEmacs 21.4.18 is released
6276
6277 2005-11-27  Kean Johnston <kean@armory.com>
6278
6279         * redisplay-tty.c (set_tty_modes):
6280         (reset_tty_modes): disable auto-margins if the terminal supports
6281         them.
6282         (init_tty_for_redisplay): fix cursor shape.
6283
6284 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6285
6286         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6287         for control-1 characters properly, both when reading multibyte
6288         characters and writing them. 
6289
6290 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6291
6292         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6293         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6294         were seeing with incremental selection transfer failing. 
6295
6296 2005-11-26  Vin Shelton  <acs@xemacs.org>
6297
6298         * callproc.c (Fold_call_process_internal): Create the buffer if it
6299         does not already exist.  The original patch came from Ben Wing in
6300         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6301
6302 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6303
6304         * callproc.c: Process-related docstring improvements spurred by
6305         Norbert Koch.
6306
6307 2005-11-25  Vin Shelton  <acs@xemacs.org>
6308
6309         * depend: Regenerated.
6310
6311 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6312
6313         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6314         says it clashes with a global with the same name.
6315
6316 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6317
6318         * sysdll.c (dll_open): Under MacOS X return NULL under the
6319         filename is NULL.  Fixes problems finding local symbols under 10.4
6320         (Tiger)
6321
6322 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6323         
6324         * config.h.in: New HAVE_U_INT*_T defines.
6325         
6326         * database.c: Only use u_int*_t typedefs if not already
6327         defined.
6328
6329 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6330
6331         * src/process-unix.c (unix_open_network_stream): moved
6332           'portbuf' buffer out of an inner block as it is used in the
6333           entire function. With gcc4, the stack may get corrupted
6334           after leaving this block. This patches adjusts the size of
6335           the used buffer also; static '128' bytes are far too much
6336           currently and might not suffice for future architectures
6337           (e.g. for 512 bit ones ;)). Instead of, use only the really
6338           required space (max octets * ln(256)/ln(10) chars + space
6339           for '\0' and the sign)
6340
6341 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6342
6343         * callproc.c: Include sysdir.h, so any necessary Mule processing
6344         is done on the current directory name before starting a new
6345         process.
6346
6347 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6348
6349         * chartab.c (Fchar_table_p):
6350         (Fget_range_char_table):
6351         (Fput_char_table):
6352         (Fmap_char_table):
6353         Describe range representation and fix typo.
6354
6355 2005-02-12  Vin Shelton  <acs@xemacs.org>
6356
6357         * emacs.c (shut_down_emacs): Advise users to send email to the
6358         xemacs-beta list instead of crashes@xemacs.org.
6359
6360 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6361
6362         * process-unix.c (unix_send_process): Flush the last chunk, even
6363         when the pipe is blocked.
6364
6365 2005-02-06  Vin Shelton <acs@xemacs.org>
6366
6367         * XEmacs 21.4.17 is released
6368
6369 2005-01-31  Ben Wing  <ben@xemacs.org>
6370
6371         * emacs.c:
6372         Define assert_failed() always.
6373         * lisp.h:
6374         Always define ABORT().
6375
6376 2005-01-25  Ben Wing  <ben@xemacs.org>
6377
6378         * Makefile.in.in:
6379         * Makefile.in.in (%.o):
6380         Don't compile executable as Windows (-mwindows) under Cygwin.
6381         Semi-recent changes to Cygwin's executable-startup handling make
6382         it impossible to access the TTY this way.
6383
6384         Don't use special linker file under Cygwin (cygwin.sc) except
6385         when non-PDUMP (even in this case it is highly questionable); you
6386         get errors like
6387
6388       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6389    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6390
6391 2005-01-29  Ben Wing  <ben@xemacs.org>
6392
6393         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6394
6395         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6396
6397 2005-01-29  Ben Wing  <ben@xemacs.org>
6398
6399         * bytecode.c (optimize_compiled_function):
6400         * print.c (FROB):
6401         * print.c (long_to_string):
6402         Add casts to avoid warning.
6403         
6404         * glyphs-eimage.c:
6405         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6406         #### The better solution is to move the TIFF and JPEG code to
6407         different files.
6408         
6409         * glyphs-msw.c (mswindows_xbm_instantiate):
6410         Define __STDC__ to avoid problems with compface.h.
6411         
6412         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6413         * EmacsShell-sub.c:
6414         * EmacsShell-sub.c (ABORT):
6415         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6416         * EmacsShell-sub.c (RootGeometryManager):
6417         * EmacsShell.c:
6418         * EmacsShell.c (ABORT):
6419         * EmacsShell.c (EmacsShellUpdateSizeHints):
6420         * alloc.c (free_lcrecord):
6421         * alloca.c (i00afunc):
6422         * buffer.c (delete_from_buffer_alist):
6423         * buffer.c (MARKED_SLOT):
6424         * bytecode.c (execute_rare_opcode):
6425         * bytecode.c (optimize_byte_code):
6426         * bytecode.c (Ffetch_bytecode):
6427         * chartab.c (char_table_type_to_symbol):
6428         * chartab.c (Freset_char_table):
6429         * chartab.c (decode_char_table_range):
6430         * chartab.c (Fget_range_char_table):
6431         * chartab.c (check_valid_char_table_value):
6432         * chartab.c (map_char_table):
6433         * chartab.c (slow_map_char_table_fun):
6434         * chartab.c (chartab_instantiate):
6435         * cm.c (cmcheckmagic):
6436         * console-msw.c (DHEADER):
6437         * console.c (MARKED_SLOT):
6438         * data.c (finish_marking_weak_lists):
6439         * data.c (encode_weak_list_type):
6440         * debug.h (DASSERT):
6441         * device-gtk.c (gtk_init_device):
6442         * device-msw.c (mswindows_get_default_margin):
6443         * device-tty.c (tty_init_device):
6444         * device-x.c (get_device_from_display):
6445         * device-x.c (x_get_visual_depth):
6446         * doprnt.c (parse_doprnt_spec):
6447         * doprnt.c (get_doprnt_args):
6448         * dumper.c (pdump_get_indirect_count):
6449         * dumper.c (pdump_register_sub):
6450         * dumper.c (pdump_register_object):
6451         * dumper.c (pdump_register_struct):
6452         * dumper.c (pdump_dump_data):
6453         * dumper.c (pdump_reloc_one):
6454         * elhash.c (print_hash_table):
6455         * elhash.c (make_standard_lisp_hash_table):
6456         * elhash.c (hash_table_instantiate):
6457         * emacs.c:
6458         * emacs.c (Fforce_debugging_signal):
6459         * emacs.c (sort_args):
6460         * emacs.c (main):
6461         * emacs.c (assert_failed):
6462         * eval.c (throw_or_bomb_out):
6463         * eval.c (signal_1):
6464         * eval.c (Fsignal):
6465         * event-Xt.c:
6466         * event-Xt.c (emacs_Xt_mapping_action):
6467         * event-Xt.c (Xt_process_to_emacs_event):
6468         * event-msw.c:
6469         * event-stream.c (check_event_stream_ok):
6470         * event-stream.c (Fadd_timeout):
6471         * event-stream.c (Fadd_async_timeout):
6472         * event-stream.c (Fdiscard_input):
6473         * event-stream.c (execute_internal_event):
6474         * event-stream.c (Frecent_keys):
6475         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6476         * event-stream.c (lookup_command_event):
6477         * event-unixoid.c (poll_fds_for_input):
6478         * events.c:
6479         * events.c (mark_event):
6480         * events.c (event_equal):
6481         * events.c (event_hash):
6482         * events.c (Fmake_event):
6483         * events.c (Fdeallocate_event):
6484         * events.c (event_chain_find_previous):
6485         * events.c (event_to_character):
6486         * events.c (format_event_object):
6487         * events.c (Fevent_type):
6488         * events.c (event_pixel_translation):
6489         * events.c (Fevent_properties):
6490         * extents.c (extent_in_region_p):
6491         * extents.c (print_extent):
6492         * extents.c (process_extents_for_insertion_mapper):
6493         * extents.c (report_extent_modification_mapper):
6494         * extents.c (glyph_layout_to_symbol):
6495         * faces.c (face_validate):
6496         * file-coding.c (eol_type_to_symbol):
6497         * file-coding.c (subsidiary_coding_system):
6498         * file-coding.c (Fcoding_system_type):
6499         * file-coding.c (Fcoding_system_property):
6500         * file-coding.c (mule_decode):
6501         * file-coding.c (mule_encode):
6502         * file-coding.c (encode_coding_ucs4):
6503         * file-coding.c (encode_coding_utf8):
6504         * file-coding.c (parse_iso2022_esc):
6505         * file-coding.c (encode_coding_iso2022):
6506         * fileio.c:
6507         * fns.c (concat):
6508         * fns.c (Fsubseq):
6509         * fns.c (mapcar1):
6510         * fns.c (Fbase64_encode_region):
6511         * fns.c (Fbase64_encode_string):
6512         * fns.c (Fbase64_decode_region):
6513         * fns.c (Fbase64_decode_string):
6514         * font-lock.c (find_context):
6515         * font-lock.c (context_to_symbol):
6516         * frame-gtk.c (gtk_set_frame_pointer):
6517         * frame-gtk.c (gtk_update_frame_external_traits):
6518         * frame-x.c (x_wm_mark_shell_size_user_specified):
6519         * frame-x.c (x_wm_mark_shell_position_user_specified):
6520         * frame-x.c (x_wm_set_shell_iconic_p):
6521         * frame-x.c (x_wm_set_cell_size):
6522         * frame-x.c (x_wm_set_variable_size):
6523         * frame-x.c (x_wm_store_class_hints):
6524         * frame-x.c (x_wm_maybe_store_wm_command):
6525         * frame-x.c (x_initialize_frame_size):
6526         * frame-x.c (x_update_frame_external_traits):
6527         * frame.c:
6528         * frame.c (delete_frame_internal):
6529         * frame.c (mouse_pixel_position_1):
6530         * frame.c (change_frame_size_1):
6531         * free-hook.c (check_free):
6532         * free-hook.c (check_realloc):
6533         * free-hook.c (note_block_input):
6534         * free-hook.c (log_gcpro):
6535         * gccache-gtk.c (gc_cache_lookup):
6536         * glyphs-eimage.c (tiff_memory_write):
6537         * glyphs-gtk.c (gtk_finalize_image_instance):
6538         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6539         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6540         * glyphs-gtk.c (gtk_xpm_instantiate):
6541         * glyphs-gtk.c (gtk_unmap_subwindow):
6542         * glyphs-gtk.c (gtk_map_subwindow):
6543         * glyphs-gtk.c (gtk_button_redisplay):
6544         * glyphs-msw.c:
6545         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6546         * glyphs-x.c (init_image_instance_from_xbm_inline):
6547         * glyphs-x.c (extract_xpm_color_names):
6548         * glyphs-x.c (x_xpm_instantiate):
6549         * glyphs.c (get_image_instantiator_governing_domain):
6550         * glyphs.c (print_image_instance):
6551         * glyphs.c (image_instance_equal):
6552         * glyphs.c (image_instance_hash):
6553         * glyphs.c (encode_image_instance_type):
6554         * glyphs.c (make_image_instance_1):
6555         * glyphs.c (inherit_instantiate):
6556         * glyphs.c (image_instantiate):
6557         * glyphs.c (allocate_glyph):
6558         * glyphs.c (Fglyph_type):
6559         * glyphs.c (redisplay_subwindow):
6560         * glyphs.c (display_table_entry):
6561         * gtk-glue.c (xemacs_list_to_gtklist):
6562         * gtk-glue.c (xemacs_gtklist_to_list):
6563         * gtk-glue.c (xemacs_list_to_array):
6564         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6565         * gutter.c (gutter_was_visible):
6566         * gutter.c (get_gutter_coords):
6567         * input-method-xlib.c (get_XIM_input):
6568         * insdel.c (bufpos_to_bytind_func):
6569         * insdel.c (bytind_to_bufpos_func):
6570         * insdel.c (move_gap):
6571         * intl.c (x_get_composed_input):
6572         * keymap.c (keymap_lookup_directly):
6573         * keymap.c (keymap_delete_inverse_internal):
6574         * keymap.c (ensure_meta_prefix_char_keymapp):
6575         * keymap.c (accessible_keymaps_mapper_1):
6576         * keymap.c (where_is_recursive_mapper):
6577         * lisp.h:
6578         * lisp.h (ABORT):
6579         * lread.c (read_atom):
6580         * lstream.c (Lstream_delete):
6581         * lstream.c (make_lisp_buffer_stream_1):
6582         * macros.c (pop_kbd_macro_event):
6583         * malloc.c (malloc):
6584         * malloc.c (free):
6585         * marker.c (bi_marker_position):
6586         * marker.c (set_bi_marker_position):
6587         * menubar-gtk.c (menu_descriptor_to_widget_1):
6588         * menubar-msw.c (prune_menubar):
6589         * menubar-x.c (set_frame_menubar):
6590         * mule-charset.c (get_unallocated_leading_byte):
6591         * mule-charset.h (CHAR_LEADING_BYTE):
6592         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6593         * nt.c (init_environment):
6594         * nt.c (generate_inode_val):
6595         * ntproc.c (delete_child):
6596         * ntproc.c (_sys_read_ahead):
6597         * ntproc.c (create_child):
6598         * objects.c (color_instantiate):
6599         * objects.c (font_instantiate):
6600         * objects.c (face_boolean_instantiate):
6601         * print.c (printing_major_badness):
6602         * process-nt.c (nt_send_process):
6603         * process-unix.c (unix_send_process):
6604         * process.c (get_process):
6605         * ralloc.c (obtain):
6606         * ralloc.c (relinquish):
6607         * ralloc.c (relocate_blocs):
6608         * ralloc.c (resize_bloc):
6609         * ralloc.c (r_alloc_free):
6610         * ralloc.c (r_re_alloc):
6611         * ralloc.c (r_alloc_thaw):
6612         * ralloc.c (init_ralloc):
6613         * ralloc.c (Free_Addr_Block):
6614         * ralloc.c (r_alloc):
6615         * redisplay-gtk.c (gtk_output_display_block):
6616         * redisplay-msw.c (mswindows_output_display_block):
6617         * redisplay-output.c (get_next_display_block):
6618         * redisplay-output.c (get_cursor_size_and_location):
6619         * redisplay-output.c (redisplay_output_layout):
6620         * redisplay-output.c (redisplay_clear_region):
6621         * redisplay-tty.c (tty_output_display_block):
6622         * redisplay-x.c (x_output_display_block):
6623         * redisplay.c (add_propagation_runes):
6624         * redisplay.c (add_glyph_rune):
6625         * redisplay.c (create_text_block):
6626         * redisplay.c (add_margin_runes):
6627         * redisplay.c (create_left_glyph_block):
6628         * redisplay.c (create_right_glyph_block):
6629         * redisplay.c (create_string_text_block):
6630         * redisplay.c (regenerate_window):
6631         * redisplay.c (REGEN_INC_FIND_START_END):
6632         * redisplay.c (redisplay_frame):
6633         * redisplay.c (point_in_line_start_cache):
6634         * regex.c:
6635         * regex.c (ABORT):
6636         * regex.c (re_compile_fastmap):
6637         * regex.c (re_match_2_internal):
6638         * regex.c (regerror):
6639         * scrollbar-gtk.c (gtk_scrollbar_loop):
6640         * scrollbar-gtk.c (scrollbar_cb):
6641         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6642         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6643         * scrollbar-x.c (x_update_scrollbar_instance_status):
6644         * scrollbar-x.c (x_scrollbar_loop):
6645         * scrollbar-x.c (x_update_frame_scrollbars):
6646         * search.c (search_command):
6647         * search.c (Fmatch_data):
6648         * select-x.c (motif_clipboard_cb):
6649         * signal.c (interrupt_signal):
6650         * specifier.c (specifier_add_spec):
6651         * specifier.c (specifier_instance_from_inst_list):
6652         * specifier.c (specifier_instance):
6653         * specifier.h:
6654         * specifier.h (struct specifier_methods):
6655         * strftime.c (add_num_time_t):
6656         * sunplay.c (init_device):
6657         * symbols.c (Fsetplist):
6658         * symbols.c (do_symval_forwarding):
6659         * symbols.c (store_symval_forwarding):
6660         * symbols.c (Fset):
6661         * symbols.c (Fbuilt_in_variable_type):
6662         * symbols.c (decode_magic_handler_type):
6663         * symbols.c (handler_type_from_function_symbol):
6664         * syntax.c (update_syntax_cache):
6665         * sysdep.c (init_baud_rate):
6666         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6667         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6668         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6669         * toolbar.c (get_toolbar_coords):
6670         * ui-gtk.c (build_gtk_boxed):
6671         * ui-gtk.c (describe_gtk_arg):
6672         * ui-gtk.c (gtk_type_to_lisp):
6673         * ui-gtk.c (lisp_to_gtk_type):
6674         * ui-gtk.c (lisp_to_gtk_ret_type):
6675         * ui-gtk.c (lisp_to_flag):
6676         * unexnt.c (read_in_bss):
6677         * unexnt.c (map_in_heap):
6678         * window.c (real_window):
6679         * window.c (window_display_lines):
6680         * window.c (window_display_buffer):
6681         * window.c (set_window_display_buffer):
6682         * window.c (window_modeline_height):
6683         * window.c (unshow_buffer):
6684         * window.c (window_loop):
6685         * window.c (Fget_lru_window):
6686         * window.c (Fsplit_window):
6687         * window.c (Fset_window_configuration):
6688         * window.c (saved_window_index):
6689         * xgccache.c (gc_cache_lookup):
6690         abort() -> ABORT().  Eliminate preprocessor games with abort()
6691         since it creates huge problems in VC7, solvable only by including
6692         massive amounts of files in every compile (and not worth it).
6693
6694         * sysdep.c:
6695         * sysproc.h:
6696         Inclusion of process.h does not need to be before lisp.h any more.
6697         Move later and remove comment about abort().
6698
6699 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6700
6701         * regex.c (re_match_2_internal):
6702         Correctly initialize loop which clears uninitialized registers.
6703
6704 2005-01-28  Vin Shelton  <acs@xemacs.org>
6705
6706         * sheap.c (more_static_core): Applied Ben's version of the long
6707         string patch.
6708
6709 2005-01-24  Vin Shelton  <acs@xemacs.org>
6710
6711         * sheap.c (more_static_core): Reformatted printf string so
6712         gcc-3.3.3 will compile this on Cygwin.
6713
6714 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6715
6716         * console.c (function_key_map): Reference `key-binding'.
6717
6718         * keymap.c (Vkey_translation_map): Improve docstring.
6719
6720 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6721
6722         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6723         * window.c (window_loop): [fix] Take into account
6724         `allow-deletion-of-last-visible-frame' variable.
6725         * window.c (replace-buffer-in-windows): Ditto.
6726
6727 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6728
6729         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6730
6731 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6732
6733         * event-gtk.c: Recognise AltGr as a valid modifier.
6734
6735 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6736
6737         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6738
6739 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6740
6741         Fix backreference bug caught by test suite.
6742
6743         * regex.c (regex_compile):
6744         Make backref duplicate internal register.
6745
6746 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6747
6748         Documentation, code clarification, and warning suppression.
6749         
6750         * regex.c (regex_compile):
6751         Improve comments.
6752         (re_match_2_internal):
6753         Improve comments and avoid redundant braces.  [Most of the big hunk
6754         at l. 4710 is indentation; use diff -w to see the real changes.]
6755         (alt_match_null_string_p):
6756         (common_op_match_null_string_p):
6757         Avoid shadowing global on Mac OS X 10.4, at least.
6758
6759 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6760
6761         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6762         introduced with shy groups fix).  [Already applied, probably
6763         with the second "fix shy groups" patch of 2004-10-07.] 
6764
6765 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6766
6767         From Andrey Slusar <anrays@gmail.com>:
6768
6769         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6770
6771 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6772
6773         * Makefile (RECURSIVE_MAKE): Removed.
6774         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6775         handling parallel builds.
6776
6777 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6778
6779         * Makefile.in.in: Enable support for parallel builds.
6780
6781 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6782
6783         From Andrey Slusar <anrays@gmail.com>:
6784
6785         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6786         FreeBSD version is >= 199701 _and_ < 600006.
6787
6788 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6789
6790         * scrollbar.c (compute_scrollbar_instance_usage):
6791         Only call device method compute_scrollbar_instance_usage() if it
6792         is defined.
6793
6794 2004-12-05  Vin Shelton <acs@xemacs.org>
6795
6796         * XEmacs 21.4.16 is released
6797
6798 2004-12-04  Vin Shelton  <acs@xemacs.org>
6799
6800         * depend: Regenerated.
6801
6802 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6803
6804         * regex.c (re_match_2_internal): Map internal to external
6805         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6806         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6807
6808 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6809
6810         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6811         to fix a crash.  Also, check the buffer is live and it
6812         really exists in buffer_list.  If the buffer is not in the list,
6813         prepend it.
6814
6815 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6816
6817         Fix shy groups by implementing recording of all groups for
6818         repetition and backtracking.  Backport from 21.5.
6819         
6820         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6821         external_to_internal_register, external_to_internal_register_size,
6822         and update comments for re_nsub.
6823
6824         * regex.c (re_opcode_t): Update comments.
6825         (print_compiled_pattern): Ouput external_to_internal_register,
6826         external_to_internal_register_size, and re_ngroups for debugging.
6827         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6828         (regex_compile): Update header comment.
6829         Ensure that all groups are recorded so that repeat matches and
6830         backtracking work correctly.  Comment related warning for groups >
6831         255.
6832         (re_search_2): Construct map of API indexes (which count only
6833         nonshy groups) to internal register numbers, and keep it updated.
6834
6835 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6836
6837         * frame-gtk.c (gtk_make_frame_visible):
6838         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6839         show/hide.  This is what X uses and is prevents previously hidden
6840         widgets from suddenly reappearing.
6841         * gtk-xemacs.c (gtk_xemacs_paint):
6842         * gtk-xemacs.c (gtk_xemacs_draw):
6843         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6844         drawable.
6845         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6846         size and location changes so that they can be seen before the next
6847         idle event.  Without this rapid changes to scrollbar properties
6848         are not seen.
6849
6850 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6851
6852         * console-gtk.h:
6853         * console-gtk.h (struct gtk_frame):
6854         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6855           Add hash tables track tab_control callback data.
6856           Added #defines for GTK object data names.
6857           Declaration of gtk_widget_to_frame().
6858         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6859         * frame-gtk.c (gtk_widget_to_frame): New.
6860         * frame-gtk.c (gtk_create_widgets):
6861         * frame-gtk.c (allocate_gtk_frame_struct):
6862         * frame-gtk.c (gtk_mark_frame):
6863         Manage frame callbakc hash tables.
6864         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6865         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6866         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6867         of widget size.
6868         * glyphs-gtk.c (gtk_widget_query_geometry): New
6869         * glyphs-gtk.c (gtk_register_gui_item): New
6870         * glyphs-gtk.c (gtk_add_tab_item): New
6871         * glyphs-gtk.c (gtk_tab_control_callback): New
6872         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6873         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6874         Use correct list when loading item.
6875         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6876         Register new methods.
6877         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6878         default size, for widgets.
6879         * gui-x.c:  Improved comment.
6880         * menubar-gtk.c (__generic_button_callback): Use
6881         gtk_widget_to_frame instead of __get_channel.
6882         * scrollbar-gtk.c:
6883         * ui-gtk.c: Use symbolic names for GTK object data.
6884
6885 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6886
6887         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6888
6889 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6890
6891         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6892
6893 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6894
6895         * malloc.c (morecore): siz is a long because in some architectures
6896         (eg ia-64) an int cannot hold the address range.  Additional patch
6897         from the SuSe distribution.
6898
6899 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6900
6901         * emacs.c:
6902         * malloc.c: lim_data is a long because in some architectures
6903         (eg ia-64) an int cannot hold the address range.
6904         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6905         instead of ulimit() because ulimit() always returns -1.
6906
6907 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6908
6909         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6910
6911 2004-06-11  David Kastrup  <dak@gnu.org>
6912
6913         * search.c (match_limit): Don't flag an error if match-data
6914         exceeding the allocated search_regs.num_regs gets requested, just
6915         return Qnil.
6916
6917 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6918
6919         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6920         replace symbolic color entries with the real colors specified in
6921         xpm-color-symbols, before passing the XPM to gtk.
6922         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6923         instead of a GTK specific field, so that it is used in by generic
6924         code.
6925
6926 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6927
6928        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6929         coredump from deref of NULL ptr (ExtData)
6930
6931 2004-04-19  Jerry James  <james@xemacs.org>
6932
6933         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6934         VALBITS to compute the location of the sign bit.
6935         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6936         of VALBITS with EMACS_INT_MAX.
6937         * events.c (Fevent_timestamp): Ditto.
6938         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6939         compute the halfway point to timestamp wraparound.
6940         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6941         EMACS_INT_MIN instead of using VALBITS.
6942         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6943         incorrect number with VALBITS.
6944         * fns.c (Frandom): Correct number of integer bits in docstring.
6945         Use INT_VALBITS instead of VALBITS to compute the denominator.
6946         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6947         build random numbers.
6948
6949 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6950         * event-gtk.c:
6951         * event-gtk.c (gtk_event_to_emacs_event):
6952         * menubar-gtk.c:
6953         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6954         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6955         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6956         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6957         * menubar-gtk.c (__activate_menu):
6958         * menubar-gtk.c (convert_underscores):
6959         * menubar-gtk.c (remove_underscores):
6960         * menubar-gtk.c (menu_convert):
6961         * menubar-gtk.c (menu_descriptor_to_widget_1):
6962         * menubar-gtk.c (menu_descriptor_to_widget):
6963         * menubar-gtk.c (menu_can_reuse_widget):
6964         * menubar-gtk.c (menu_create_menubar):
6965         * menubar-gtk.c (gtk_popup_menu):
6966         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6967         Added support for Gtk menu bar and menu item mnemonics.
6968
6969 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6970
6971         * sysdll.c: (dll_function): Added support for finding symbols in
6972         Darwin shared libraries as well in Darwin bundles.
6973         * sysdll.c (image_for_address): New
6974         * sysdll.c (my_find_image): New
6975         * sysdll.c (search_linked_libs): New
6976
6977 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6978
6979         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6980         return to GTK requires a different API to marshalling data to use
6981         as GTK parameters.
6982         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6983
6984 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6985
6986         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6987
6988 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6989
6990         * glyphs.c (process_image_string_instantiator):
6991         (Fset_console_type_image_conversion_list):
6992         Stop GCC from warning about shadowing of `exp'.
6993
6994         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6995
6996 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6997
6998         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6999
7000 2004-02-03  Vin Shelton  <acs@xemacs.org>
7001
7002         * glyphs.c (image_instance_layout): Remove pointless assertion.
7003         * regex.c (regex_grow_registers): Return type is void.
7004
7005 2004-02-02  Vin Shelton <acs@xemacs.org>
7006
7007         * XEmacs 21.4.15 is released
7008
7009 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7010
7011         * device-x.c (x_error_handler): Don't call stderr_out
7012
7013 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7014
7015         * buffer.c (other-buffer): Clarify documentation of order of
7016         arguments for FSF Emacs.
7017
7018 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7019
7020         * window.c (Fdelete_window): Dirty the mirror structure _before_
7021         marking the window deleted.
7022
7023 2003-09-15  Jerry James  <james@xemacs.org>
7024
7025         * event-msw.c (debug_mswin_messages): Conditionally compile
7026         messages missing from the Cygwin headers.
7027
7028 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7029
7030         * data.c (eq_with_ebola_notice): Fix typo in comment.
7031         (Ftrue_list_p): Improve docstring.
7032
7033 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7034
7035         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7036
7037 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7038
7039         * search.c (trivial_regexp_p): Regexps containing "\{" are
7040         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7041         Stefan Monnier for suggesting a diagnosis.
7042
7043 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7044
7045         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7046
7047 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7048
7049         * search.c (Fsearch_forward):
7050         (Fsearch_backward):
7051         Document negative count.
7052
7053 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7054
7055         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7056
7057 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7058
7059         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7060
7061 2003-09-15  Vin Shelton  <acs@xemacs.org>
7062
7063         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7064         21.5.
7065
7066 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7067
7068         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7069         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7070         (re_match_2_internal): Use TRANSLATE instead of
7071         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7072         non-ASCII char case conversion.
7073
7074 2003-09-08  Mike Sperber  <mike@xemacs.org>
7075
7076         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7077         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7078
7079 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7080
7081        * .gdbinit (pobj): fix printing of symbol name.
7082
7083 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7084
7085         * frame-x.c (x_layout_widgets): When resizing is about to cause
7086         frame size slip, mark it for redisplay.
7087
7088 2003-08-18  Jerry James  <james@xemacs.org>
7089
7090         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7091
7092 2003-09-03  Vin Shelton <acs@xemacs.org>
7093
7094         * XEmacs 21.4.14 is released
7095
7096 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7097
7098         * config.h.in (REGEX_MALLOC): Make it configure'able.
7099
7100 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7101
7102         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7103         linking.
7104         * sysdll.c (dll_init):
7105         * sysdll.c (dll_open):
7106         * sysdll.c (dll_close):
7107         * sysdll.c (dll_function):
7108         * sysdll.c (dll_variable):
7109         * sysdll.c (dll_error):
7110         Add support for loading bundles using Darwin/MacOSX
7111         native API.
7112
7113 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7114
7115         * process.c (start-process-internal): Document coding systems.
7116
7117 2003-07-30  Jerry James  <james@xemacs.org>
7118
7119         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7120
7121 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7122
7123         * event-msw.c (mswindows_enqueue_mouse_button_event):
7124         * event-msw.c (mswindows_wnd_proc):
7125           enqueue button event when scrollwheel event isn't handled by 
7126           mswindows_handle_mousewheel_event, such as when the scrollbars
7127           are not showing.
7128
7129 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7130
7131         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7132
7133 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7134
7135         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7136
7137 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7138
7139         * regex.c (re_match_2_internal): Fix matching degenerate word
7140         boundaries.
7141
7142 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7143
7144         * XEmacs 21.4.13 is released
7145
7146 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7147
7148         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7149         * lisp.h (<inttypes.h>):
7150         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7151         the definition.
7152
7153 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7154
7155         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7156         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7157         Result: "temacs can only be run in -batch mode."
7158         Fix: Check xemacs executable candidate for directory-ness.
7159
7160 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7161
7162         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7163           they conflict with <sys/types.h>.
7164
7165 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7166
7167         * database.c: Berkeley DB wants __STDC__ to be defined.
7168
7169 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7170
7171         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7172
7173 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7174
7175         * process-unix.c (unix_send_process): Fix C++ compile error.
7176
7177 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7178
7179         * Added .dylib as an acceptable shared library file extension
7180         * to support MacOSX.
7181
7182 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7183
7184         * EmacsFrameP.h (EmacsFramePart):
7185         Kludge to allow compiling with Motif1, but linking with Motif2.
7186
7187 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7188
7189         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7190
7191
7192 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7193
7194         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7195
7196 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7197
7198         * sysdll.c: Included lisp.h to define needed alloca_array.
7199
7200 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7201
7202         Make XEmacs redisplay 10 times faster.
7203         If, that is, you're using a slow X connection and MoveOpaque.
7204         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7205         Use compress_motion = TRUE.
7206         * EmacsFrame.c (emacsFrameClassRec): 
7207         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7208         * EmacsManager.c (emacsManagerClassRec):
7209         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7210
7211 2003-01-30  Vin Shelton  <acs@xemacs.org>
7212
7213         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7214
7215 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7216
7217         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7218         Patch by Martin Buchholz.
7219
7220 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7221
7222         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7223         Thanks to icc for warning and Martin Buchholz for reporting.
7224
7225 2003-01-29  Vin Shelton <acs@xemacs.org>
7226
7227         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7228
7229         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7230         remember to multiply by the element size.
7231
7232 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7233
7234         * XEmacs 21.4.12 "Portable Code" is released.
7235
7236 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7237
7238         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7239         * s/cygwin.sc: new linker file.
7240
7241 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7242
7243         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7244
7245         * redisplay-x.c (x_output_string): Use X11-specified types.
7246         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7247         * emacs.c (__free_hook): Use typeof with Intel compiler.
7248         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7249
7250 2003-01-08  Andy Piper  <andy@xemacs.org>
7251
7252         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7253         reserve size during unexec().
7254
7255 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7256
7257         * process-unix.c (unix_create_process): Don't let outchannel block.
7258
7259 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7260
7261         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7262         Needed for IsBadReadPtr().
7263
7264 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7265
7266         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7267
7268 2002-12-14  Ben Wing  <ben@xemacs.org>
7269
7270         * callint.c: Declaration error.
7271         * dumper.c (pdump):
7272         * dumper.c (pdump_load): Warning fix.
7273         * process.c: GCPRO error.
7274         * glyphs.c (unmap_subwindow):
7275         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7276         * event-stream.c (maybe_kbd_translate): Wrong argument to
7277         character_to_event().
7278
7279         * alloc.c (garbage_collect_1):
7280         * emacs.c:
7281         * emacs.c (debug_can_access_memory):
7282         * emacs.c (fatal_error_signal):
7283         * emacs.c (mswindows_handle_hardware_exceptions):
7284         * emacs.c (main_1):
7285         * emacs.c (main):
7286         * emacs.c (assert_failed):
7287         * emacs.c (syms_of_emacs):
7288         * lisp.h:
7289         * print.c:
7290         * print.c (std_handle_out_va):
7291         * print.c (write_string_to_stdio_stream):
7292         * print.c (write_fmt_string):
7293         * print.c (printing_badness):
7294         * print.c (printing_major_badness):
7295         * print.c (print_internal):
7296         * print.c (debug_print_no_newline):
7297         * print.c (debug_backtrace):
7298         Be more defensive in handling bad values when printing.  Add code
7299         from trunk involving inhibit_non_essential_printing_operations.
7300         When going down or in debug_print(), don't do external conversion
7301         and such and try really, really hard when printing to avoid core
7302         dumping.  Add force-debugging-signal, debug_break().
7303
7304 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7305
7306         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7307         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7308
7309 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7310
7311         * database.c: Fix open_database. Berkeley DB API has changed in
7312         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7313
7314 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7315
7316         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7317
7318 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7319
7320         * event-Xt.c (Xt_timeout):
7321         (Xt_timeout_callback):
7322         (emacs_Xt_add_timeout):
7323         (emacs_Xt_remove_timeout):
7324         (Xt_timeout_to_emacs_event):
7325         Turn completed_timeouts from a stack into a queue.  Fixes
7326         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7327
7328 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7329
7330         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7331         * emacs.c (main): Assert that mmap'd allocation is disabled.
7332
7333 2002-10-14  Andy Piper  <andy@xemacs.org>
7334
7335         * glyphs-widget.c (layout_query_geometry): add in fiddle
7336         factor. Include border text in width layout calculation.
7337         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7338
7339 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7340
7341         * XEmacs 21.4.10 "Military Intelligence" is released.
7342
7343 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7344
7345         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7346         using the NAS private array SoundFileInfo that no longer exists in
7347         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7348         and earlier.  This is broken for some versions between 1.5a and
7349         1.5f.
7350
7351 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7352
7353         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7354
7355         * emacs.c (shut_down_emacs): Improve crash message.
7356
7357 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7358
7359         * file-coding.c (determine_real_coding_system): Check for coding
7360         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7361         shebangs and Python PEP 263.
7362
7363 2002-10-08  Andy Piper  <andy@xemacs.org>
7364
7365         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7366         if static sizes haven't been set.
7367
7368 2002-08-30  Mike Alexander  <mta@arbortext.com>
7369
7370         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7371         to close a socket.
7372
7373 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7374
7375         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7376
7377 2002-09-20  Mike Sperber <mike@xemacs.org>
7378
7379         (This partially gets back my patch from 2002-07-20 without the
7380         bug.)
7381         * callproc.c (child_setup): Remove Ben's comment noting confusion
7382         over the file descriptors >= 3: close_process_descs() doesn't
7383         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7384         * process-unix.c (unix_create_process): Call
7385         begin_dont_check_for_quit to inhibit unwanted interaction (and
7386         thus breaking of X event synchronicity) in the child.
7387
7388 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7389
7390         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7391         widget.
7392
7393 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7394
7395         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7396         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7397         the xemacs process did not exit, but looped infinitely here.  This
7398         fixes that problem.
7399
7400 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7401
7402         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7403         (find_context): Improve comments.
7404
7405         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7406         (re_match_2): An XCHAR_TABLE operation was missing.
7407
7408         Many of the following changes were inspired by Andy Piper's (now
7409         obsolete) patch to make syntax-table text property lookup optional.
7410
7411         [Documentation]
7412
7413         * syntax.h (top level): Document semantics of syntax flags.
7414         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7415         * syntax.c, syntax.h (top level): Document syntax cache better in
7416         comments.
7417
7418         [Instrument syntax caching (temporary change)]
7419
7420         * syntax.h (enum syntax_cache_statistics_functions, struct
7421         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7422         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7423         * syntax.c (scan_words, Fforward_comment, scan_lists,
7424         Fbackward_prefix_characters):
7425         * font-lock.c (find_context):
7426         Use them to instrument syntax caching. 
7427         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7428         syntax_cache_statistics_function_names): New type and variables.
7429         * syntax.c (update_syntax_cache): Update and report statistics.
7430
7431         [Major syntax cache optimizations]
7432
7433         syntax.c (lookup_syntax_properties): Default off.
7434
7435         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7436         * syntax.c (update_syntax_cache):
7437         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7438
7439         [Minor syntax cache optimizations and code clarifications]
7440
7441         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7442         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7443         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7444         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7445         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7446         (Code clarification.)
7447
7448         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7449         scan_lists): Compute code from syncode, use Boolean macros instead
7450         of redundant masking operations.  (Code clarification; any decent
7451         compiler can do this optimization.)
7452
7453         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7454         for clarity.
7455
7456         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7457         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7458         use F*_single_property_change instead of F*_extent_change.
7459         Currently F*_single_property_change is _much_ less efficient.
7460
7461         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7462         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7463         syntax_cache.object properly, don't leave Qt or Qnil.
7464         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7465         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7466         tests for Qt or Qnil.
7467
7468 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7469
7470         * redisplay.c (point_in_line_start_cache): 
7471         * extents.c (print_extent_1):
7472         Fix warnings.
7473
7474         * extents.c (Fset_extent_property): Document `syntax-table' property.
7475
7476         * extents.h (Fnext_single_property_change): EXFUN it.
7477
7478 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7479
7480         * search.c (clear_unused_search_regs): New static function.
7481         (search_buffer): 
7482         (simple_search): 
7483         (boyer_moore):
7484         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7485         Minor clarifications in comments.
7486
7487         * regex.c (re_match_2_internal): Ensure no stale submatches.
7488
7489 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7490
7491         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7492
7493 2002-08-29  Jerry James  <james@xemacs.org>
7494
7495         * lisp.h: structrures -> structures.
7496
7497 2002-06-03  Andy Piper  <andy@xemacs.org>
7498
7499         * frame.c (frame_conversion_internal): add conversion appropriate
7500         for setting frame dimensions in pixels.
7501
7502         * console.h (struct console_methods): add device-specific widget
7503         layout functions.
7504
7505         * emacs.c (main_1): initialize glyph vars.
7506
7507         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7508         (handle_focus_event_2): new function. Allow focus to
7509         be set to a particular window and widget.
7510         (enqueue_focus_event): new function. Create a
7511         synthetic focus event.
7512         (emacs_Xt_handle_magic_event): call
7513         handle_focus_event_2.
7514
7515         * frame.c (Fset_frame_pixel_height): new function. Allow
7516         pixel-based sizing. Does the right thing on character-oriented
7517         displays.
7518         (Fset_frame_pixel_width): ditto.
7519         (Fset_frame_pixel_size): ditto.
7520         (syms_of_frame): declare.
7521
7522         * general-slots.h: add :vertically-justify and
7523         :horizontally-justify.
7524
7525         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7526         (mswindows_widget_border_width): new function.
7527         (mswindows_combo_box_instantiate): set border widths.
7528         (console_type_create_glyphs_mswindows): declare.
7529
7530         * glyphs-widget.c:
7531         (check_valid_justification): allow vertical and horizontal
7532         justification.
7533         (widget_border_width): new function. Call device methods.
7534         (widget_instance_border_width): ditto.
7535         (logical_unit_height): new function. Determine the height of a
7536         logical-unit. Logical units are intended to provide grid-like
7537         layout for subcontrols in a layout. If the layout is
7538         :vertically-justify top then subcontrols will be positioned on
7539         logical-unit boundaries, thus allowing adjacent subcontrols to
7540         line up.
7541         (widget_logical_unit_height): ditto for widgets.
7542         (redisplay_widget): misc cleanup.
7543         (widget_spacing): new function. Call device specific
7544         methods. Intended to be the default gap between adjacent widgets.
7545         (widget_query_geometry): use new spacing functions to determine
7546         appropriate geometry.
7547         (initialize_widget_image_instance): initialize horizontal and
7548         vertical justification.
7549         (widget_instantiate): use logica-units where appropriate for
7550         sizing large widgets.
7551         (button_query_geometry): use widget_instance_border_width.
7552         (tree_view_query_geometry): ditto.
7553         (tab_control_query_geometry): ditto.
7554         (edit_field_query_geometry): new function.
7555         (layout_update): pick up :justify, :horizontally-justify and
7556         :vertically-justify none of which worked previously. :justify is
7557         used as a fallback for both horizontal and vertical justification.
7558         (layout_query_geometry): use logical units to size appropriately.
7559         (layout_layout): ditto.
7560         (Fwidget_logical_to_character_width): new function. Allow users to
7561         convert from logical units to characters so that frame sizes can
7562         be set appropriately.
7563         (Fwidget_logical_to_character_height): ditto.
7564         (syms_of_glyphs_widget): declare.
7565         (image_instantiator_edit_fields): add edit_field_query_geometry.
7566         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7567         :horizontally-justify.
7568         (specifier_vars_of_glyphs_widget): new function. Declare
7569         Vwidget_border_width which is not yet used.
7570
7571         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7572         (x_widget_border_width): new function.
7573         (x_widget_instantiate): create a sensible name for widgets.
7574         (console_type_create_glyphs_x): declare x_widget_border_width.
7575
7576         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7577         (struct Lisp_Image_Instance): add :vertically-justify and
7578         :horizontally-justify.
7579         (LAYOUT_JUSTIFY_TOP): new.
7580         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7581         (ROUND_UP): new macro. Round argument up to next integral
7582         interval.
7583
7584         * redisplay-output.c (redisplay_output_layout): misc formatting.
7585
7586         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7587
7588 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7589
7590         * XEmacs 21.4.9 "Informed Management" is released.
7591
7592 2002-08-19  Andy Piper  <andy@xemacs.org>
7593
7594         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7595         win32 format.
7596
7597         * realpath.c (xrealpath): normalize drive spec also so that dir
7598         sep chars are not mixed on cygwin.
7599
7600 2002-08-06  Jerry James  <james@xemacs.org>
7601
7602         * window.c (Fsplit_window): Count only half of the divider width
7603         against the left window when splitting horizontally. 
7604
7605 2002-06-24  Andy Piper  <andy@xemacs.org>
7606
7607         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7608         toolbar was cleared.
7609
7610         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7611         function. Split out from mswindows_output_frame_toolbars.
7612         (mswindows_output_frame_toolbars): move clear pieces to
7613         mswindows_output_frame_toolbars.
7614
7615         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7616         out from gtk_output_frame_toolbars.
7617         (gtk_output_frame_toolbars): move clear pieces to
7618         gtk_clear_frame_toolbars.
7619
7620         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7621         the frame is cleared. How this ever worked before is a mystery.
7622         (x_output_frame_toolbars): Only output toolbars.
7623         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7624
7625         * gutter.c (update_gutter_geometry):
7626         Mark frame layout changed.
7627         (update_frame_gutter_geometry, update_frame_gutters):
7628         Respect frame_layout_changed.
7629
7630         * console.h (struct console_methods): add
7631         clear_frame_toolbars_method.
7632
7633         * redisplay.c (redisplay_frame): call
7634         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7635
7636         * toolbar.h: declare update_frame_toolbars_geometry.
7637
7638         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7639         out from update_frame_toolbars.  Call clear_frame_toolbars.
7640         (update_frame_toolbars): only output, do not change geometry.
7641
7642         * redisplay.c: add frame_layout_changed.
7643
7644         * redisplay.h: add frame_layout_changed.
7645         (CLASS_RESET_CHANGED_FLAGS): set it.
7646         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7647         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7648         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7649
7650         * device.h (struct device): add frame_layout_changed.
7651         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7652
7653         * frame.h (struct frame): add frame_layout_changed.
7654         (MARK_FRAME_LAYOUT_CHANGED): new.
7655
7656 2002-06-30  Mike Alexander  <mta@arbortext.com>
7657
7658         * event-msw.c (mswindows_need_event): Don't wait for a new message
7659         if the queue is not empty.  Suggested by Paul Moore.
7660
7661 2002-06-12  Andy Piper  <andy@xemacs.org>
7662
7663         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7664         for printing on accurately.
7665
7666 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7667
7668         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7669         WM_ACTIVATE message. Make sure that the frame is visible if the
7670         window is visible. This seemss to fix the problem where XEmacs
7671         appears to freeze after switching desktops with certain virtual
7672         window managers.
7673         (debug_output_mswin_message): Added code to output message
7674         parameters for WM_WINDOWPOSCHANGED, 
7675         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7676
7677 2002-05-25  Andy Piper  <andy@xemacs.org>
7678
7679         * select-x.c (vars_of_select_x): Fix docstring of
7680         x-selection-strict-motif-ownership
7681
7682 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7683
7684         * keymap.c (get_keymap):
7685         Add comment about do_autoload GCPROs own args.
7686
7687 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7688
7689         * bytecode.c (execute_optimized_program): check_opcode ifdef
7690         ERROR_CHECK_BYTE_CODE.
7691
7692 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7693
7694         Thanks to Ben Wing and Michael Sperber.
7695
7696         * eval.c (Fcommand_execute):
7697         (Feval):
7698         (Ffuncall):
7699         (Fmacroexpand_internal):
7700         (function_argcount):
7701         callint.c (Fcall_interactively):
7702         Add comment about do_autoload GCPROs own args.
7703
7704         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7705
7706         * eval.c (Ffuncall): Extra braces to placate GCC.
7707
7708 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7709
7710         * backtrace.h (grow_specpdl):
7711         (SPECPDL_RESERVE):
7712         * EmacsFrame.c (EmacsFrameSetValues):
7713         * eval.c (grow_specpdl):
7714         * ExternalShell.c (hack_event_masks_1):
7715         * glyphs-x.c (convert_EImage_to_XImage): 
7716         (x_finalize_image_instance):
7717         * ralloc.c (page_size):
7718         (r_alloc_sbrk):
7719         * xgccache.c (gc_cache_hash):
7720         Fix unsigned comparison warnings.
7721
7722 2002-07-29  Jerry James  <james@xemacs.org>
7723
7724         * lread.c (locate_file): Any nonnegative return value indicates
7725         success if MODE is nonnegative.
7726
7727 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7728
7729         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7730         argument. 
7731
7732 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7733
7734         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7735
7736         * dumper.c (pdump_get_indirect_count):
7737         (pdump_scan_by_alignment):
7738         (pdump_dump_root_struct_ptrs):
7739         (pdump_dump_rtables):
7740         (pdump_dump_root_objects):
7741         (pdump):
7742         * nas.c (WaveOpenDataForReading):
7743         * fns.c (print_bit_vector):
7744         * font-lock.c (SINGLE_SYNTAX_STYLE):
7745         * glyphs.c (check_for_ignored_expose):
7746         (find_matching_subwindow):
7747         * glyphs-eimage.c:
7748         * imgproc.c (get_histogram):
7749         * redisplay.c (point_in_line_start_cache):
7750         * redisplay-output.c (redisplay_unmap_subwindows):
7751         * symbols.c (defsymbol_massage_name_1):
7752         (defkeyword_massage_name):
7753         (deferror_massage_name_and_message):
7754         * redisplay-x.c (x_output_string): 
7755         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7756         * frame.h (struct frame):
7757         * filelock.c (current_lock_owner):
7758         * doprnt.c (emacs_doprnt_1):
7759         * lisp.h (struct Lisp_Bit_Vector):
7760         (DO_REALLOC):
7761         Fix warnings.
7762
7763 2002-02-13  Ben Wing  <ben@xemacs.org>
7764
7765         * event-stream.c (reset_key_echo):
7766         * event-stream.c (reset_this_command_keys):
7767         * event-stream.c (execute_command_event):
7768         If console is dead as a result of C-x 5 0, then post-command stuff
7769         needs to be careful and do only non-console-specific stuff.
7770
7771 2002-07-01  Mike Sperber <mike@xemacs.org>
7772
7773         * process-unix.c (unix_send_process): Mark coding_outstream as
7774         non-open upon SIGPIPE.
7775
7776         * event-stream.c (Fnext_event): Reorder switch cases to something
7777         that makes sense.
7778
7779 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7780
7781         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7782         Don't bogusly reinitialize ascii_character property.
7783
7784 2002-07-08  Mike Sperber <mike@xemacs.org>
7785
7786         * process.c (Fstart_process_internal): Do error checking before we
7787         fork off the child, so the child can't muck with the state of the
7788         parent.
7789
7790 2002-07-08  Mike Sperber <mike@xemacs.org>
7791
7792         * ralloc.c (init_ralloc): Allocate properly for pdump.
7793
7794 2002-06-12  Andy Piper  <andy@xemacs.org>
7795
7796         * glyphs.c (query_string_geometry): check the string.
7797
7798         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7799         widget names.
7800
7801 2002-06-17  Jerry James  <james@xemacs.org>
7802
7803         * sysdll.c: Remove RTLD_GLOBAL initialization.
7804         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7805
7806 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7807
7808         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7809
7810 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7811
7812         * sysdep.c (sys_rename): Make sys_rename work for the case where
7813         Windows rename sets errno to EACCES if target file exists.
7814
7815 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7816
7817         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7818         Fix detection of metric units to work on Win95
7819
7820 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7821
7822         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7823
7824 2002-04-25  Andy Piper  <andy@xemacs.org>
7825
7826         * redisplay.c (create_text_block): Remove extra comment trailer.
7827
7828 2002-04-24  Andy Piper  <andy@xemacs.org>
7829
7830         * redisplay.c (create_text_block): Don't actually add propagation
7831         data if the line ends after we have added a glyph.
7832
7833 2002-04-22  Andy Piper  <andy@xemacs.org>
7834
7835         * extents.c (extent_fragment_update): check for glyphs we have
7836         previously displayed.
7837         * extents.c (print_extent_1): warning removal.
7838         * extents.h: change prototype.
7839         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7840         widths correctly for wide glyphs.
7841         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7842         * redisplay.c (prop_type): add PROP_GLYPH.
7843         * redisplay.c (struct prop_block): add glyph type
7844         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7845         to the propagation data.
7846         * redisplay.c (create_text_block): if there is a glyph in the
7847         propagation data use it to salt extent_fragment_update.
7848         * redisplay.c (create_string_text_block): ditto.
7849
7850 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7851
7852         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7853         * redisplay-output.c (compare_runes): Compare them.
7854         * redisplay.c: Update copyright date.
7855         * redisplay.c (pos_data): Add need_baseline_computation field.
7856         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7857         need_baseline_computation; zero yoffset. Set max_pixmap_height
7858         for all pixmaps, not just automatically positioned ones.
7859         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7860         * redisplay.c (calculate_baseline): New, compute textual baseline.
7861         * redisplay.c (add_glyph_rune): Call them.
7862         * redisplay.c (create_text_block): Likewise.
7863         * redisplay.c (create_overlay_glyph_block): Likewise.
7864         * redisplay.c (add_margin_runes): Likewise.
7865         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7866
7867         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7868         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7869         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7870         * redisplay-msw.c (mswindows_output_string): Likewise.
7871         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7872         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7873         * redisplay-x.c (x_output_display_block): Likewise.
7874
7875 2002-03-28  Ben Wing  <ben@xemacs.org>
7876
7877         * redisplay.c: Fixed bug in redisplay
7878         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7879         and down of the lines, since they're bigger than the line
7880         size. (It was seen most obviously when there's a horizontal scroll
7881         bar, e.g. do C-h a glyph or something like that.) The problem was
7882         that the glyph-contrib-p setting on glyphs was ignored even if it
7883         was set properly, which it wasn't until now.
7884
7885 2002-04-24  Andy Piper  <andy@xemacs.org>
7886
7887         * lisp.h (Dynarr_end): Fix definition.
7888
7889 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7890
7891         * redisplay.c (mark_redisplay): Remove call to
7892         update_frame_window_mirror.
7893
7894 2001-11-15  Andy Piper  <andy@xemacs.org>
7895
7896         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7897         cygwin (again).
7898
7899 2002-02-13  Andy Piper  <andy@xemacs.org>
7900
7901         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7902         we did in fact enqueue the XM_MAPFRAME event.
7903
7904 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7905
7906         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7907         to fix problem switching between virtual desktops under virtuawin
7908         virtual window manager.
7909
7910 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7911
7912         * event-msw.c: Typo fix.
7913         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7914         magic XM_MAPFRAME event has been sent.
7915
7916 2001-11-23  Andy Piper  <andy@xemacs.org>
7917
7918         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7919
7920 2001-11-21  Andy Piper  <andy@xemacs.org>
7921
7922         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7923         mouse events outside the frame.
7924
7925 2002-03-20  Andy Piper  <andy@xemacs.org>
7926
7927         * menubar-msw.c (mswindows_popup_menu): warning removal.
7928         * dialog-msw.c (dialog_popped_down): ditto.
7929
7930 2001-12-11  Andy Piper  <andy@xemacs.org>
7931
7932         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7933         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7934         popup_up_p.
7935         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7936         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7937         * menubar-msw.c (mswindows_popup_menu): ditto.
7938
7939 2001-10-29  Andy Piper  <andy@xemacs.org>
7940
7941         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7942         cancels.
7943
7944 2002-01-03  Andy Piper  <andy@xemacs.org>
7945
7946         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7947         letters.
7948         (xrealpath): ditto.
7949
7950 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7951
7952         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7953         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7954         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7955         Detect and handle case where machine is set up for metric units
7956
7957 2002-04-02  Andy Piper  <andy@xemacs.org>
7958
7959         * dired-msw.c (mswindows_get_files): 
7960         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7961         completely handled by XEmacs. Suggested by Thomas Vogler
7962         <mail@thomas-vogler.de>.
7963
7964 2001-11-14  Andy Piper  <andy@xemacs.org>
7965
7966         * nt.c (REG_ROOT): change registry key to XEmacs.
7967
7968 2002-04-27  Andy Piper  <andy@xemacs.org>
7969
7970         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7971
7972 2002-04-26  Andy Piper  <andy@xemacs.org>
7973
7974         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7975         behavior.
7976
7977 2002-03-14  Mike Alexander  <mta@arbortext.com>
7978
7979         * event-msw.c (mswindows_unwait_process): New, remove process from
7980         wait list
7981         * process-nt.c (nt_finalize_process_data): Call
7982         mswindows_unwait_process
7983         * console-msw.h: Declare mswindows_unwait_process
7984
7985 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7986
7987         * editfns.c (Fdecode_time):
7988         (Fformat_time_string):
7989         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7990         (make_time): Warning elimination (change arg name).
7991
7992 2001-11-24  Andy Piper  <andy@xemacs.org>
7993
7994         * window.c (Fsplit_window): Doc return type.
7995
7996 2002-04-01  Andy Piper  <andy@xemacs.org>
7997
7998         * emacs.c (Fkill_emacs): Only output message box in interactive
7999         mode.
8000
8001 2002-04-26  Andy Piper  <andy@xemacs.org>
8002  
8003         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8004         cygwin.
8005
8006 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8007
8008         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8009         bit platform.
8010
8011 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8012
8013         * XEmacs 21.4.8 "Honest Recruiter" is released.
8014
8015 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8016
8017         Supersedes 2002-04-17 patch.
8018
8019         * process.h (PROCESS_LIVE_P): Use the process status as
8020         evidence of health, not the state of the input stream.
8021         (PROCESS_READABLE_P): Say if the process is readable
8022         from. (It may be dead nonetheless.)
8023         (CHECK_READABLE_PROCESS): Test for that condition.
8024
8025         * process.c (create_process): Use PROCESS_READABLE_P.
8026         (read_process_output, set_process_filter): Likewise.
8027
8028         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8029         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8030
8031         This code is #if 0'd, this is not the time to add new functions:
8032
8033         * process.c (Fprocess_readable_p): Report readability status.
8034         * process.c (Qprocess_readable_p): New, associated symbol...
8035         * process.c (syms_of_process): ... initialize it.
8036
8037 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8038
8039         * XEmacs 21.4.7 "Economic Science" is released.
8040
8041 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8042
8043         * process.h (PROCESS_LIVE_P): Use the process status as
8044         evidence of health, not the state of the input stream.
8045
8046 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8047
8048         * sysdep.c (sys_siglist): change "signum" to "signal"
8049
8050 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8051
8052         * s/darwin.h: New file.
8053         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8054         
8055 2002-04-23  Andreas Jaeger  <aj@suse.de>
8056
8057         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8058         which use lib64 for 64-bit libs.
8059         (START_FILES): Likewise.
8060
8061 2002-02-11  Mike Sperber  <mike@xemacs.org>
8062
8063         * device-x.c: 
8064         (x_IO_error_handler):
8065         (x_init_device): Temporarily keep device in static variable
8066         `device_being_initialized' so we can recover gracefully from
8067         internal XOpenDevice failure.  (XOpenDevice is documented to
8068         return NULL on failure, but sometimes calls the IO error handler
8069         instead.)
8070
8071 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8072
8073         * dired.c (Ffile_name_all_completions): Change documentation --
8074         remove reference to completion-ignored-extensions.
8075         * dired.c (vars_of_dired): Change documentation for
8076         completion-ignored-extensions -- remove reference to
8077         file-name-all-completions.
8078
8079 2002-03-06  Jerry James  <james@xemacs.org>
8080
8081         * emodules.c (emodules_load): Fix multiple loading of same module.
8082
8083 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8084         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8085         RTLD_LAZY to avoid incorrect symbol binding when using nested
8086         shared libraries on Solaris.
8087
8088 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8089
8090         * fileio.c (Ffind_file_name_handler): Improve docstring.
8091
8092 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8093
8094         * fns.c (Fmapconcat): Improve docstring.
8095
8096 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8097
8098         * device-gtk.c: Add prototype for
8099         emacs_gtk_selection_clear_event_handle.
8100         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8101         selection.  Setup signal handler for "selection_clear_event"
8102         (emacs_gtk_selection_clear_event_handle).
8103
8104         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8105         other applications owning the clipboard (based on
8106         x_handle_selection_clear).
8107
8108 2001-12-23  William M. Perry  <wmperry@gnu.org>
8109
8110         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8111         
8112 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8113
8114         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8115
8116 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8117
8118         * XEmacs 21.4.6 "Common Lisp" is released.
8119
8120 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8121
8122         * search.c (Freplace_match): Add missing sub-expression functionality.
8123
8124         * buffer.c (decode_buffer): Add a check for pointer type to
8125         decode_buffer, before gcc's CSE optimization reorders a
8126         dereference in front of the allow_string test.
8127
8128 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8129
8130         * window.c (window_loop): Fix bug that sometimes prevented
8131         window_loop() from iterating across multiple devices.  Also, at
8132         Ben's request, changed infloop-detecting code to abort() instead
8133         of silently terminating window_loop().
8134
8135 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8136
8137         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8138         * editfns.c (make_time): New function.
8139         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8140         * lisp.h (make_time): Prototype and comment it.
8141         * dired.c (wasteful_word_to_lisp): Deprecate.
8142         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8143
8144 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8145
8146         * fileio.c (auto_save_1): Use current coding system, not
8147         escape-quoted.
8148
8149 2001-11-13  Ben Wing  <ben@xemacs.org>
8150
8151         * window.c:
8152         * window.c (window_truncation_on):
8153         * window.c (syms_of_window):
8154         truncate-partial-width-windows should respect the buffer being
8155         displayed, like other redisplay vars.
8156
8157 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8158
8159         * event-stream.c (Fread_key_sequence): save current buffer.
8160
8161 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8162
8163         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8164
8165 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8166
8167         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8168
8169 2001-10-26  Mike Alexander  <mta@arbortext.com>
8170
8171         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8172
8173 2001-10-25  Andy Piper  <andy@xemacs.org>
8174
8175         * ChangeLog:
8176         * dialog-msw.c (handle_directory_proc): new function.
8177          (handle_directory_dialog_box): new fucntion.
8178          (handle_file_dialog_box): use new directory dialog support.
8179          (mswindows_make_dialog_box_internal): ditto.
8180         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8181         handling.
8182         (mswindows_find_frame): make global.
8183         * fileio.c (Fexpand_file_name): build fix.
8184         * general-slots.h: add Qdirectory.
8185         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8186         handling.
8187         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8188         cygwin not leaving win32 paths unchanged.
8189         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8190         cygwin runtime to do path conversion.
8191         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8192         (syms_of_win32): add new function.
8193         * window.c (window_loop): build fix.
8194
8195 2001-10-15  Andy Piper  <andy@xemacs.org>
8196
8197         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8198
8199 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8200
8201         * XEmacs 21.4.5 "Civil Service" is released.
8202
8203 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8204
8205         * glyphs-x.c: Force buffer-tab highlight update when moving the
8206         buffer, avoiding an ugly black border, used for keyboard focus
8207         indication, on a widget that can never have keyboard focus, the
8208         buffer tab.
8209
8210 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8211
8212         * process-unix.c (unix_open_multicast_group): Remove too much
8213         conversion between host and network byte order.
8214
8215 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8216
8217         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8218         before replacing them.
8219
8220         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8221         operation.
8222
8223         * src/window.c (undedicate_windows): Use it.
8224         * src/window.h: Add prototype.
8225
8226 2001-09-17  Ben Wing  <ben@xemacs.org>
8227
8228         * fileio.c (normalize_filename):
8229         * fileio.c (Fexpand_file_name):
8230         Fix various C++ compile errors in Andy's recent code.
8231         
8232         * callint.c (Fcall_interactively):
8233         * editfns.c (Ftemp_directory):
8234         * editfns.c (Fuser_full_name):
8235         * emacs.c (argmatch):
8236         * lread.c (locate_file_map_suffixes):
8237         * redisplay-x.c (x_ring_bell):
8238         Fix sign-compare warnings.
8239         
8240 2001-09-08  Andy Piper  <andy@xemacs.org>
8241
8242         * fileio.c (normalize_filename): copied from nt.c
8243         * (Ffile_name_directory): enable win32 paths under cygwin.
8244         * (Ffile_name_nondirectory): ditto.
8245         * (directory_file_name): ditto.
8246         * (Fexpand_file_name): ditto.
8247         * (Ffile_truename): ditto.
8248         * (Fsubstitute_in_file_name): ditto.
8249         * (Ffile_name_absolute_p): ditto.
8250         * (Ffile_readable_p): ditto.
8251
8252 2001-09-08  Andy Piper  <andy@xemacs.org>
8253
8254         * device-msw.c (mswindows_finish_init_device): remove dde
8255         initialization.
8256         * device-msw.c (mswindows_init_dde): factor out from
8257         mswindows_finish_init_device()
8258         * device-msw.c (init_mswindows_very_early): new function
8259         initialize but don't enable dde.
8260         * emacs.c (main_1): call init_mswindows_very_early.
8261         * event-msw.c:
8262         * event-msw.c (mswindows_dde_callback): only execute when we are
8263         ready.
8264         * symsinit.h: declare init_mswindows_very_early.
8265
8266 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8267
8268         [sjt: This has been in 21.5 for months with no complaints.]
8269
8270         * console.h (struct console_methods): Added flags member.
8271         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8272         (CONMETH_IMPL_FLAG):
8273         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8274         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8275
8276         * device.c (window_system_pixelated_geometry): Use the above macros.
8277
8278         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8279         implememntation flag.
8280         * device.h (DEVICE_DISPLAY_P): Use it.
8281
8282         * frame.c (delete_frame_internal): Use the above macro.
8283
8284         * redisplay.c (redisplay_device): Use it.
8285         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8286         (redisplay_frame): Ditto.
8287
8288         * device-msw.c (mswindows_device_implementation_flags): Removed.
8289         (msprinter_device_implementation_flags): Removed.
8290         (console_type_create_device_mswindows): Removed references to
8291         implementation_flags methods, set implementation flags here.
8292         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8293
8294         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8295         (console_type_create_device_gtk): Removed method declaration.
8296         Added commented out statement which semantically matches the
8297         commented out statement in the above removed method.
8298
8299 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8300
8301         The attached patch fixes a few warnings. 
8302
8303         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8304         * src/frame-gtk.c: guard against GNOME calls in GTK only
8305         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8306         * src/select-gtk.c: prototype lisp_to_time
8307
8308 2001-06-08  Ben Wing  <ben@xemacs.org>
8309
8310         ------ gc-in-window-procedure fixes ------
8311         
8312         * alloc.c:
8313         * alloc.c (struct post_gc_action):
8314         * alloc.c (register_post_gc_action):
8315         * alloc.c (run_post_gc_actions):
8316         * alloc.c (garbage_collect_1):
8317         Create "post-gc actions", to avoid those dreaded "GC during window
8318         procedure" problems.
8319
8320         * event-msw.c:
8321         Abort, clean and simple, when GC in window procedure.  We want
8322         to flush these puppies out.
8323
8324         * glyphs-msw.c:
8325         * glyphs-msw.c (finalize_destroy_window):
8326         * glyphs-msw.c (mswindows_finalize_image_instance):
8327         Use a post-gc action when destroying subwindows.
8328
8329         * lisp.h:
8330         Declare register_post_gc_action().
8331
8332         * scrollbar-msw.c:
8333         * scrollbar-msw.c (unshow_that_mofo):
8334         Use a post-gc action when unshowing scrollbar windows, if in gc.
8335
8336         * redisplay.c (mark_redisplay):
8337         Add comment about the utter evilness of what's going down here.
8338
8339         ------ cygwin setitimer fixes ------
8340         
8341         * Makefile.in.in (sheap_objs):
8342         * Makefile.in.in (profile_objs):
8343         * Makefile.in.in (objs):
8344         Compile profile.c only when HAVE_SETITIMER.
8345         
8346         * nt.c (mswindows_sigset):
8347         * nt.c (mswindows_sighold):
8348         * nt.c (mswindows_sigrelse):
8349         * nt.c (mswindows_sigpause):
8350         * nt.c (mswindows_raise):
8351         * nt.c (close_file_data):
8352         Style fixes.
8353         
8354         * nt.c:
8355         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8356         
8357         * profile.c:
8358         * profile.c (Fstart_profiling):
8359         * profile.c (Fstop_profiling):
8360         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8361         instead of just plain setitimer().
8362         
8363         * signal.c:
8364         * signal.c (set_one_shot_timer):
8365         * signal.c (alarm):
8366         Define qxe_setitimer() as an encapsulation around setitimer() --
8367         call setitimer() directly unless Cygwin or MS Win, in which case
8368         we use our simulated version in win32.c.
8369         
8370         * systime.h:
8371         * systime.h (struct itimerval):
8372         * systime.h (ITIMER_REAL):
8373         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8374         comment about "qxe" and the policy regarding encapsulation.
8375
8376         * win32.c:
8377         * win32.c (setitimer_helper_proc):
8378         * win32.c (setitimer_helper_period):
8379         * win32.c (setitimer_helper):
8380         * win32.c (mswindows_setitimer):
8381         Move setitimer() emulation here, so Cygwin can use it.
8382         Rename a couple of functions and variables to be longer and more
8383         descriptive.  In setitimer_helper_proc(), send the signal
8384         using either mswindows_raise() or (on Cygwin) kill().  If for
8385         some reason we are still getting lockups, we'll change the kill()
8386         to directly invoke the signal handlers.
8387
8388         ------ windows shell fixes ------
8389         
8390         * callproc.c:
8391         * ntproc.c:
8392         Comments about how these two files must die.
8393
8394         * callproc.c (init_callproc):
8395         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8396         not just COMSPEC. (more correct and closer to FSF.) Don't
8397         force a value for SHELL into the environment. (Comments added
8398         to explain why not.)
8399         
8400         * nt.c (init_user_info):
8401         Don't shove a fabricated SHELL into the environment.  See above.
8402
8403 2001-06-01  Ben Wing  <ben@xemacs.org>
8404
8405         * Makefile.in.in (ldflags):
8406         eliminate that pesky "defaulting to 00401000" warning.
8407         * nt.h:
8408         eliminate warnings.
8409
8410 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8411
8412         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8413         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8414
8415 2001-04-24  Jerry James <james@xemacs.org>
8416
8417         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8418         correct order.
8419
8420 2001-06-01  Ben Wing  <ben@xemacs.org>
8421
8422         * event-msw.c (debug_mswin_messages):
8423         conditionalize the messages that were causing compile errors.
8424         (if only macros could generate #ifdef statements ...)
8425
8426 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8427
8428         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8429
8430 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8431
8432         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8433
8434 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8435
8436         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8437         * process-unix.c (unix_canonicalize_host_name):
8438         sysdep.c (init_system_name):
8439         Use it to conditionally support IPv6 canonicalization.
8440
8441 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8442
8443         * event-msw.c:
8444         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8445
8446 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8447
8448         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8449         attempt is made to scroll when no scroll bar is available.
8450
8451 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8452
8453         * input-method-motif.c (XIM_delete_frame): New callback.
8454         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8455         got deleted from 21.4.3.)
8456
8457 2001-06-01  Ben Wing  <ben@xemacs.org>
8458
8459         * nt.c (mswindows_utime):
8460         * nt.c (close_file_data):
8461         fix off-by-one-indirection error.
8462
8463 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8464
8465         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8466         because set_file_times() now takes Lisp_Object path, instead of
8467         char*.
8468         * nt.c: Include buffer.h.
8469         * nt.c (convert_from_time_t): New.
8470         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8471         not set mtime correctly.
8472         * nt.h: Declare mswindows_utime().
8473         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8474         path, instead of char*.
8475         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8476
8477 2001-05-30  Ben Wing  <ben@xemacs.org>
8478
8479         For 21.4:
8480
8481         (Stephen, just take all event-msw.c patches.  This includes
8482         the "iconify" fix below.)
8483
8484         * event-msw.c:
8485         * event-msw.c (mswindows_dequeue_dispatch_event):
8486         * event-msw.c (assert):
8487         * event-msw.c (emacs_mswindows_quit_p):
8488         * event-msw.c (debug_mswin_messages):
8489         * event-msw.c (debug_output_mswin_message):
8490         * event-msw.c (vars_of_event_mswindows):
8491         Fix yet more problems with C-g handling.
8492         Implement debug-mswindows-events.
8493         
8494 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8495
8496         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8497         
8498 2001-05-23  Ben Wing  <ben@xemacs.org>
8499
8500         * event-msw.c (winsock_writer):
8501         * event-msw.c (winsock_closer):
8502         prior kludgy code was clobbering the buffer, thinking it was
8503         "unused" space to store an unneeded return value; instead, use
8504         the variable we've already got staring us in the face.
8505
8506 2001-05-17  Andy Piper  <andy@xemacs.org>
8507
8508         * sysfile.h: don't assume that file attributes are boolean
8509
8510 2001-05-23  Ben Wing  <ben@xemacs.org>
8511
8512         * device-msw.c (msprinter_init_device):
8513         signal an error rather than crash with an unavailable network
8514         printer (from Mike Alexander).
8515         
8516         * event-msw.c:
8517         * event-msw.c (struct winsock_stream):
8518         * event-msw.c (winsock_writer):
8519         * event-msw.c (winsock_closer):
8520         * event-msw.c (make_winsock_stream_1):
8521         cleanup headers.  fix (hopefully) an error with data corruption
8522         when sending to a network connection.
8523
8524         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8525         to handle the ~user prefix by (a) always assuming we're referencing
8526         ourselves and not even verifying the user -- hence any file with
8527         a tilde as its first char is invalid! (b) if there wasn't a slash
8528         following the filename, the pointer was set *past* the end of
8529         file and we started reading from uninitialized memory.  Now we
8530         simply treat these as files, always.
8531
8532         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8533         
8534 2001-05-19  Ben Wing  <ben@xemacs.org>
8535
8536         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8537
8538         * process-nt.c:
8539         * process-nt.c (vars_of_process_nt):
8540         remove unused mswindows-quote-process-args.  rec for 21.4.
8541         
8542 2001-05-12  Ben Wing  <ben@xemacs.org>
8543
8544         * event-msw.c (mswindows_dde_callback):
8545         * event-msw.c (mswindows_wnd_proc):
8546         eliminate cygwin warnings.
8547
8548 2001-05-06  Ben Wing  <ben@xemacs.org>
8549
8550         * console-msw.h:
8551         * device-msw.c:
8552         * device-msw.c (print_dialog_worker):
8553         * device-msw.c (mswindows_handle_print_dialog_box):
8554         * device-msw.c (syms_of_device_mswindows):
8555         * dialog-msw.c (mswindows_make_dialog_box_internal):
8556         * general-slots.h:
8557         implement printing the selection when it's selected.
8558
8559 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8560
8561         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8562
8563 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8564
8565         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8566         EMACS_INT is signed.
8567
8568 2001-04-15  Michael Lausch  <mla@1012surf.net>
8569
8570         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8571         gtk_widget_request_size() to give scrollbar >0 width for
8572         GTK >1.2.8.
8573
8574 2001-05-30  William M. Perry  <wmperry@gnu.org>
8575
8576         * event-gtk.c: Check for buttons as modifier keys.
8577
8578 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8579
8580         * s\mingw32.h:
8581         Properly find MinGW's <process.h> inside Cygwin's restructured
8582         include directories.  Don't try to include <cygwin/version.h>
8583         since we are dropping support for MinGW in versions of Cygwin
8584         earlier than b21.
8585         * nt.c:
8586         Drop support for MinGW in versions of Cygwin before b21.
8587         * sysdep.c:
8588         Properly find MinGW's <process.h> inside Cygwin's restructured
8589         include directories.
8590         * syswindows.h:
8591         Drop support for MinGW in versions of Cygwin before b21.
8592         * unexcw.c:
8593         Even though a.out.h is no longer detected by configure, allow
8594         MinGW to use it until we figure out how to do the job with Win32.
8595
8596 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8597
8598         * syntax.c (find_start_of_comment):
8599         Fix `unbalanced parentheses' bug when dealing with mixed comment
8600         styles in c++/java/etc. mode
8601
8602 2001-05-29  Mike Alexander  <mta@arbortext.com>
8603
8604         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8605         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8606
8607 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8608
8609         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8610
8611 2001-03-31  Mike Sperber <mike@xemacs.org>
8612
8613         * search.c (Freplace_match): Support FSF-style specification of
8614         match subexpression when applied to a buffer.
8615
8616 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8617
8618         * event-stream.c (is_scrollbar_event): add missing semicolon
8619
8620 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8621
8622         * Makefile.in.in: Use TAR macro instead of hardcoding
8623           tar.  Allows use of GNU tar instead of system tar
8624
8625 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8626
8627         * event-stream.c (is_scrollbar_event): add missing semicolon
8628
8629 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8630
8631         * XEmacs 21.4.3 "Academic Rigor" is released.
8632
8633 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8634
8635         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8636
8637 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8638
8639         * buffer.c (Vcase_fold_search): Remove obsolete
8640           comment about non ASCII case-fold-search.  This
8641           bug has been fixed by case-table changes.
8642
8643 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8644
8645         * event-msw.c: Restore include of events-mod.h.
8646
8647 2001-04-22   zhaoway  <zw@debian.org>
8648
8649         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8650         !HAVE_SCROLLBARS.
8651
8652 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8653
8654         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8655
8656 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8657
8658         * mule-charset.c (Fmake_charset): Add missing else.
8659
8660 2001-04-23  Ben Wing  <ben@xemacs.org>
8661
8662         * event-msw.c (FAKE_MOD_QUIT):
8663         * event-msw.c (mswindows_dequeue_dispatch_event):
8664         * event-msw.c (mswindows_wnd_proc):
8665         * event-msw.c (emacs_mswindows_quit_p):
8666         Get critical quit working.
8667
8668 2001-05-05  Ben Wing  <ben@xemacs.org>
8669
8670         * console-msw.h:
8671         * device-msw.c:
8672         * device-msw.c (mswindows_get_default_margin):
8673         * frame-msw.c (mswindows_size_frame_internal):
8674         * frame-msw.c (msprinter_init_frame_1):
8675         * frame-msw.c (vars_of_frame_mswindows):
8676         Change top/bottom margin defaults to 0.5 inches.
8677
8678 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8679
8680         Fix link error with gcc 3.0 on Linux.
8681         * terminfo.c (UP): Remove.
8682         * terminfo.c (BC): Remove.
8683         * terminfo.c (PC): Remove.
8684         They weren't used, and in any case, these symbols should be
8685         defined in the *library*.
8686
8687 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8688
8689         * s/aix4.h: Fix crash with xlc -O3.
8690         Improve comment explaining how -O3 works.
8691
8692 2001-04-15  Ben Wing  <ben@xemacs.org>
8693
8694         * event-stream.c:
8695         * event-stream.c (Fnext_event):
8696         * event-stream.c (is_scrollbar_event):
8697         * event-stream.c (execute_command_event):
8698         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8699         crash' problem.  His fix introduces other problems.  We filter
8700         out scrollbar events specifically, making them somewhat invisible
8701         to command-building, and not appearing in `this-command-keys'.
8702         More work is still needed (see comments in event-stream.c), but
8703         this fixes all the major problems.
8704
8705 2001-04-20  Ben Wing  <ben@xemacs.org>
8706
8707         * .cvsignore: Added stuff for Windows.
8708
8709 2001-04-28  Ben Wing  <ben@xemacs.org>
8710
8711         * buffer.c (Ferase_buffer):
8712         * editfns.c (buffer_insert1):
8713         * editfns.c (Finsert_before_markers):
8714         * editfns.c (Finsert_string):
8715         * editfns.c (Finsert_char):
8716         * editfns.c (Fdelete_region):
8717         * editfns.c (Fwiden):
8718         * editfns.c (Fnarrow_to_region):
8719         remove bogus lines setting zmacs_region_stays to 0.
8720         
8721 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8722
8723         * process-unix.c (unix_open_network_stream): If connect() fails
8724         invalidate file descriptor after closing it.
8725
8726 2001-03-08  Mike Alexander  <mta@arbortext.com>
8727
8728         * event-msw.c (mswindows_need_event_in_modal_loop):
8729         Don't dispatch a message if we didn't get one.
8730         (mswindows_need_event):
8731         Terminate the correct process when one exits instead of the first
8732         one on Vprocess_list and look for process termination when in
8733         mswindows_protect_modal_loop.
8734
8735 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8736
8737         * XEmacs 21.4.1 "Copyleft" is released.
8738
8739 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8740
8741         * input-method-motif.c (XIM_delete_frame): New callback.
8742         (XIM_init_frame): Register it.
8743
8744 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8745
8746         * XEmacs 21.4.0 "Solid Vapor" is released.
8747
8748 2001-04-15  Ben Wing  <ben@xemacs.org>
8749
8750         * cmdloop.c (call_command_loop):
8751         Fix braino in bit-rotting code.
8752         
8753 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8754
8755         * extents.c (Fset_extent_endpoints): Force creation of extent info
8756         in buffer_or_string.
8757
8758         * extents.c (process_extents_for_insertion_mapper): Correctly
8759         check for open-open zero-length extents.
8760
8761 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8762
8763         * lisp.h: New typedefs Memory_count, Element_count.
8764         * regex.c:
8765         * regex.h:
8766         Sign-compare warning elimination: several unsigned -> signed.
8767         Based on work by Ben Wing <ben@xemacs.org>.
8768
8769 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8770
8771         * XEmacs 21.2.47 "Zephir" is released.
8772
8773 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8774
8775         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8776
8777 2001-04-03  Mike Sperber <mike@xemacs.org>
8778
8779         * search.c: Revert previous patch due because of release.
8780
8781 2001-03-30  Ben Wing  <ben@xemacs.org>
8782
8783         * s\cygwin32.h:
8784         Add missing killpg prototype.
8785
8786         * elhash.c:
8787         Add a comment about fixing problems when a new entry is added
8788         while mapping.
8789
8790         * frame-msw.c (mswindows_init_frame_1):
8791         Fix compile warnings.
8792
8793         * menubar.c (vars_of_menubar):
8794         Provide `menu-accelerator-support' to indicate that we properly
8795         support %_ in menu specifications, so that package code can
8796         conditionalize on this (and remove %_ from menu specifications
8797         on older versions).
8798
8799         * event-msw.c:
8800         * scrollbar-msw.c:
8801         * scrollbar-msw.c (can_scroll):
8802         * scrollbar-msw.h:
8803         Fix handling of mouse wheel under Windows to follow standards --
8804         now scrolls window under pointer, not selected window.
8805
8806 2001-03-31  Mike Sperber <mike@xemacs.org>
8807
8808         * search.c (Freplace_match): Support FSF-style specification of
8809         match subexpression when applied to a buffer.
8810
8811 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8812
8813         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8814         function to modify KEYMAP, so map over a copy of the hash table.
8815
8816 2001-03-21  Martin Buchholz <martin@xemacs.org>
8817
8818         * XEmacs 21.2.46 "Urania" is released.
8819
8820 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8821
8822         * realpath.c (xrealpath): Make file-truename work with symlinks to
8823         /cygdrive paths on cygwin. Always lowercase drive-letters on
8824         native windows.
8825         (cygwin_readlink): Don't try to find canonical filename unless
8826         file exists.
8827
8828 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8829
8830         * ChangeLog: Log GTK merge.
8831
8832         * dumper.c:
8833         * select-x.c:
8834         * specifier.c:
8835         * symeval.h:
8836         Revert gratuitous whitespace changes from GTK merge.
8837
8838         * emacs.c: Document end of complex #ifdef @ l. 1495.
8839
8840
8841 2001-03-12  Andy Piper  <andy@xemacs.org>
8842
8843         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8844         have to do likewise.
8845
8846 2001-03-12  Andy Piper  <andy@xemacs.org>
8847
8848         * sysdep.c: we only support mingw now.
8849
8850 2001-03-09  Andy Piper  <andy@xemacs.org>
8851
8852         * unexcw.c (copy_executable_and_dump_data_section): making approx
8853         overrun a warning only.
8854
8855 2001-03-10  William M. Perry  <wmperry@aventail.com>
8856
8857         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8858         satisfy Stephen's identical-after-cpp plea.
8859
8860 2001-03-02  Ben Wing  <ben@xemacs.org>
8861
8862         * cmds.c:
8863         * cmds.c (Fforward_char):
8864         * syntax.c:
8865         * window.c:
8866
8867         Augment documentation of the most common motion commands to make
8868         note of the shifted-motion support.
8869         
8870 2001-03-02  Ben Wing  <ben@xemacs.org>
8871
8872         * nt.c (mswindows_fstat):
8873         * nt.c (mswindows_stat):
8874         * search.c (boyer_moore):
8875         Fix compile warnings under Windows.
8876         
8877         * sysdep.c (sys_readdir):
8878         Fix buggy filename-conversion code under Mule.
8879
8880 2001-03-09  William M. Perry  <wmperry@aventail.com>
8881
8882         * Makefile.in.in:
8883         * config.h.in:
8884         * console.c:
8885         * console.h:
8886         * device.c:
8887         * device.h:
8888         * dragdrop.c:
8889         * emacs.c:
8890         * event-stream.c:
8891         * events.c:
8892         * events.h:
8893         * faces.c:
8894         * frame.h:
8895         * general-slots.h:
8896         * glyphs.c:
8897         * gutter.c:
8898         * inline.c:
8899         * lisp.h:
8900         * lrecord.h:
8901         * make-src-depend:
8902         * redisplay-output.c:
8903         * redisplay.c:
8904         * symsinit.h:
8905         * sysfile.h:
8906         * toolbar.c:
8907         * window.c:
8908         The Great GTK Merge.
8909
8910         * ChangeLog.GTK:
8911         * console-gtk.c:
8912         * console-gtk.h:
8913         * device-gtk.c:
8914         * emacs-marshals.c:
8915         * emacs-widget-accessors.c:
8916         * event-gtk.c:
8917         * frame-gtk.c:
8918         * gccache-gtk.c:
8919         * gccache-gtk.h:
8920         * glade.c:
8921         * glyphs-gtk.c:
8922         * glyphs-gtk.h:
8923         * gtk-glue.c:
8924         * gtk-xemacs.c:
8925         * gtk-xemacs.h:
8926         * gui-gtk.c:
8927         * gui-gtk.h:
8928         * menubar-gtk.c:
8929         * native-gtk-toolbar.c:
8930         * objects-gtk.c:
8931         * objects-gtk.h:
8932         * redisplay-gtk.c:
8933         * scrollbar-gtk.c:
8934         * scrollbar-gtk.h:
8935         * select-gtk.c:
8936         * toolbar-gtk.c:
8937         * ui-byhand.c:
8938         * ui-gtk.c:
8939         * ui-gtk.h:
8940         The Great GTK Merge: new files.
8941
8942 2001-02-26  Ben Wing  <ben@xemacs.org>
8943
8944         Reapplied Lstream change.
8945
8946 2001-02-26  Ben Wing  <ben@xemacs.org>
8947
8948         Undid the last change, since it is more controversial than I
8949         thought.  It should be back in at some point soon.
8950         
8951 2001-02-25  Ben Wing  <ben@xemacs.org>
8952
8953         * buffer.c:
8954         * callproc.c (Fold_call_process_internal):
8955         * event-msw.c (ntpipe_slurp_reader):
8956         * event-msw.c (ntpipe_shove_writer):
8957         * event-msw.c (winsock_reader):
8958         * event-msw.c (winsock_writer):
8959         * file-coding.c:
8960         * file-coding.c (detect_eol_type):
8961         * file-coding.c (detect_coding_type):
8962         * file-coding.c (determine_real_coding_system):
8963         * file-coding.c (Fdetect_coding_region):
8964         * file-coding.c (decoding_reader):
8965         * file-coding.c (decoding_writer):
8966         * file-coding.c (mule_decode):
8967         * file-coding.c (Fdecode_coding_region):
8968         * file-coding.c (encoding_reader):
8969         * file-coding.c (encoding_writer):
8970         * file-coding.c (mule_encode):
8971         * file-coding.c (Fencode_coding_region):
8972         * file-coding.c (detect_coding_sjis):
8973         * file-coding.c (decode_coding_sjis):
8974         * file-coding.c (encode_coding_sjis):
8975         * file-coding.c (detect_coding_big5):
8976         * file-coding.c (decode_coding_big5):
8977         * file-coding.c (encode_coding_big5):
8978         * file-coding.c (detect_coding_ucs4):
8979         * file-coding.c (decode_coding_ucs4):
8980         * file-coding.c (encode_coding_ucs4):
8981         * file-coding.c (detect_coding_utf8):
8982         * file-coding.c (decode_coding_utf8):
8983         * file-coding.c (encode_coding_utf8):
8984         * file-coding.c (detect_coding_iso2022):
8985         * file-coding.c (decode_coding_iso2022):
8986         * file-coding.c (encode_coding_iso2022):
8987         * file-coding.c (decode_coding_no_conversion):
8988         * file-coding.c (encode_coding_no_conversion):
8989         * glyphs-x.c (write_lisp_string_to_temp_file):
8990         * gpmevent.c (tty_get_foreign_selection):
8991         * lisp.h:
8992         * lstream.c:
8993         * lstream.c (Lstream_flush_out):
8994         * lstream.c (Lstream_adding):
8995         * lstream.c (Lstream_write_1):
8996         * lstream.c (Lstream_write):
8997         * lstream.c (Lstream_raw_read):
8998         * lstream.c (Lstream_read_more):
8999         * lstream.c (Lstream_read):
9000         * lstream.c (Lstream_unread):
9001         * lstream.c (Lstream_fputc):
9002         * lstream.c (stdio_reader):
9003         * lstream.c (stdio_writer):
9004         * lstream.c (filedesc_reader):
9005         * lstream.c (filedesc_writer):
9006         * lstream.c (lisp_string_reader):
9007         * lstream.c (struct fixed_buffer_stream):
9008         * lstream.c (make_fixed_buffer_input_stream):
9009         * lstream.c (make_fixed_buffer_output_stream):
9010         * lstream.c (fixed_buffer_reader):
9011         * lstream.c (fixed_buffer_writer):
9012         * lstream.c (struct resizing_buffer_stream):
9013         * lstream.c (resizing_buffer_writer):
9014         * lstream.c (dynarr_writer):
9015         * lstream.c (lisp_buffer_reader):
9016         * lstream.c (lisp_buffer_writer):
9017         * lstream.h:
9018         * lstream.h (lstream_implementation):
9019         * lstream.h (struct lstream):
9020         * md5.c (Fmd5):
9021         * process-nt.c (nt_send_process):
9022         * process-unix.c (unix_send_process):
9023         
9024         Correct Lstream lossage due to mixing of signed and unsigned
9025         quantities.  All Lstream uses of size_t and ssize_t are now a
9026         single signed data type Lstream_data_count.  This fixes problems
9027         under Windows with sending large quantities of data to a process,
9028         and may well fix other subtle bugs.
9029
9030 2001-02-23  Martin Buchholz <martin@xemacs.org>
9031
9032         * XEmacs 21.2.45 "Thelxepeia" is released.
9033
9034 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9035
9036         * lisp-union.h (XSETINT): 
9037         (XSETCHAR):
9038         (XSETOBJ): 
9039         Reverse previous change of 2001-02-06.
9040
9041 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9042
9043         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9044         buffers.
9045         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9046         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9047         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9048         * regex.c (POS_AS_IN_BUFFER): removed
9049         * regex.c (re_search_2):
9050         * regex.c (re_match_2):
9051         Don't use an offset of 1 when calculating buffer positions, since
9052         `BI_BUF_BEGV' does it already.
9053
9054 2001-02-18  Wim Dumon  <wim@easics.be>
9055
9056         * insdel.c (prepare_to_modify_buffer): Also check for
9057         supersession when clash-detection is enabled. 
9058
9059 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9060
9061         * regex.c (re_match_2_internal):
9062         Convert temp characters from 'const unsigned char' to 're_char'.
9063         Fix crashing bug with extended characters under mule.
9064         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9065         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9066         font-lock, pdump, and new syntax-table code.
9067         * syntax.c (find_start_of_comment):
9068         (find_end_of_comment):
9069         (forward-comment):
9070         Fix crashing bugs involving moving beyond end of buffer.
9071         * syntax.c (find_start_of_comment):
9072         Fixed logic to allow proper detection of cases where the same
9073         character is used to end both a two-char comment start and a
9074         two-char comment end sequence. Fixes `(forward-comment -1)'.
9075         * syntax.c (find_start_of_comment):
9076         Return position just past last comment-end character for all cases
9077         (previously was only done for two-char comment-end sequences).
9078         * syntax.c (forward-comment):
9079         Take value returned from `find_end_of_comment', rather than
9080         incrementing it.
9081         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9082         Properly deal with BUFFERP (syntax_cache.object)
9083
9084 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9085
9086         * alloc.c (Fgarbage_collect): 
9087         * alloc.c (make_bit_vector_from_byte_vector):
9088         -Wsign-compare-correctness.
9089
9090 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9091
9092         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9093         (XSETCHAR): Likewise.
9094         (XSETOBJ): Likewise.
9095
9096 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9097
9098         * mule-canna.c (canna-func-delete_previous): 
9099         Rename to canna-func-delete-previous.
9100
9101 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9102
9103         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9104
9105 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9106
9107         * font-lock.c (find_context): Fix C++ compile errors introduced by
9108         recent patch
9109
9110 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9111
9112         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9113         pragma, but earlier ones barf on the same pragma.
9114
9115 2001-02-06  Mike Sperber <mike@xemacs.org>
9116
9117         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9118         `configure-mule-lisp-directory'.
9119
9120 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9121
9122         Make sure dump-id.c is compiled in the same way as other .c's.
9123         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9124         * dump-id.h: Remove.
9125         * emacs.c: Move dump-id.h into dumper.h.
9126         * dumper.h: Move dump-id.h into dumper.h.
9127         * Makefile.in.in:
9128         Use standard .c.o rule for building dump-id.o.
9129         Remove preprocessor flags from link command.
9130         Add dump-id.o to ${otherobjs} if PDUMP.
9131
9132 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9133
9134         Port FSF 20.7 syntax table improvements.
9135         * syntax.c.
9136         * syntax.h.
9137
9138         Fixups for new syntax table stuff.
9139         * dired.c: Include syntax.c.
9140         (Fdirectory_files): Initialize regex_match_object and
9141         regex_emacs_buffer.
9142         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9143         and Fget_char_property.
9144
9145         Use ported FSF 20.7 syntax table improvements.
9146         * font-lock.c.
9147         * regex.c.
9148         * search.c.
9149         
9150 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9151
9152         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9153         Unixware's enum boolean from sys/types.h.
9154
9155 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9156
9157         Fix support for building with latest Purify.
9158         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9159         (PURIFY_FLAGS): Likewise.
9160
9161 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9162
9163         * fileio.c (lisp_string_set_file_times): New.
9164         * fileio.c (Fcopy_file): Use it.
9165         Fixes bug:
9166         (copy-file filename non-ascii-filename t t)
9167         ==> No such file or directory, non-ascii-filename
9168
9169 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9170
9171         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9172         USHRT_MAX seems clearer than ~0 anyways.
9173
9174 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9175
9176         dumper improvements.  Inspired by Olivier.
9177         * dumper.c (pdump_max_align): New.
9178         * dumper.c (pdump_add_entry): Use pdump_max_align.
9179         * dumper.c (pdump_get_entry_list): Likewise.
9180         * dumper.c (pdump_scan_by_alignment): Likewise.
9181         Don't iterate through unnecessary alignments.
9182         * dumper.c (pdump_file_get): No need to align result of malloc().
9183         * dumper.c (pdump_mallocadr): Remove.  
9184         The result of malloc() is guaranteed to be maximally aligned.
9185         * dumper.c: s/elmt/elt/g;
9186         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9187         * dumper.c (pdump_alert_undump_object): Likewise.
9188         * dumper.c (pdump_align_table): 
9189         Don't support alignments > 64.
9190         Store ALIGNOF's, not shift counts, in table.
9191
9192 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9193
9194         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9195         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9196         * systime.h: Use HAVE_UTIME.
9197         * sysdep.c (struct utimbuf): Remove.
9198         * sysdep.c (set_file_times): Prefer utime() to utimes().
9199         * config.h.in (HAVE_UTIME): New.
9200         * config.h.in (HAVE_UTIME_H): Remove.
9201         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9202
9203 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9204
9205         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9206
9207 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9208
9209         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9210
9211 2001-02-08  Martin Buchholz <martin@xemacs.org>
9212
9213         * XEmacs 21.2.44 "Thalia" is released.
9214
9215 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9216
9217         Fixes crashes in kill-emacs on some systems.
9218         * process-unix.c (unix_kill_child_process):
9219         It's OK for kill() to fail with ESRCH.
9220
9221 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9222
9223         Contortions to make .gdbinit tricks work on most systems.
9224         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9225         * alloc.c (dbg_valmask): Make non-const.
9226         * alloc.c (dbg_typemask): Make non-const.
9227         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9228         * alloc.c (dbg_valbits): Make non-const.
9229         * alloc.c (dbg_gctypebits): Make non-const.
9230         * .gdbinit (decode_object): Make it work with AIX cc.
9231
9232 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9233
9234         * elhash.c (make_general_lisp_hash_table):
9235         Use simpler and more efficient calloc to clear entries.
9236
9237 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9238
9239         * window.c (window_scroll): Work around an AIX C compiler bug.
9240         Fixes 'scroll-up' does nothing problem with xlC.
9241
9242 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9243
9244         * .gdbinit: Remove obsolete comment.
9245
9246 2001-01-31  Mike Alexander  <mta@arbortext.com>
9247
9248         * select.c (Fown_selection_internal): Set owned_p for device
9249         method correctly.
9250
9251 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9252
9253         Port to g++ 2.97.
9254         "not" cannot be used as a macro name as it is an operator in C++
9255         * config.h.in: Stop #defining `not'.
9256         * chartab.c (check_category_char): not ==> not_p
9257         * chartab.h: Likewise.
9258         * regex.c (re_match_2_internal): Likewise.
9259
9260 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9261
9262         * lisp-disunion.h: Fix up comments.
9263
9264 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9265
9266         * keymap.c (define_key_check_and_coerce_keysym):
9267         (syms_of_keymap):
9268         Support mouse-6 and mouse-7 bindings in the obvious way.
9269
9270 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9271
9272         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9273
9274 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9275
9276         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9277         Previous patch missed DEFVAR_INT_MAGIC.
9278         Make sure future DEFVAR_foo use correct types.
9279         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9280         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9281         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9282         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9283         * (DEFVAR_INT): Likewise.
9284         * redisplay.c (vertical_clip): Should be of type Fixnum.
9285         * redisplay.c (horizontal_clip): Likewise.
9286         * lisp.h (dump_add_opaque_int): New.
9287         (dump_add_opaque_fixnum): New.
9288
9289 2001-01-29  Andy Piper  <andy@xemacs.org>
9290
9291         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9292         since they can be eval'ed
9293
9294 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9295
9296         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9297         Oops, XEmacs redefines `class'.  Use `typename' instead.
9298
9299 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9300
9301         * dumper.c: Fix C++ compile errors.
9302
9303 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9304
9305         * tparam.c: Use correct prototypes.
9306
9307 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9308
9309         * sysproc.h: #include util.h for NetBSD's openpty.
9310
9311 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9312
9313         More 64-bit correctness.
9314         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9315         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9316         Fix up comments.
9317         This finally finishes the 64-bit SGI port.
9318         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9319         * symbols.c: Fix up comments and type casts.
9320         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9321         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9322         * symeval.h (Fixnum): New type.
9323         * symeval.h (symbol_value_type): Fix up comment.
9324
9325         * commands.h:
9326         * nt.c:
9327         * emacs.c:
9328         * data.c:
9329         * redisplay.c:
9330         * abbrev.c:
9331         * dired-msw.c:
9332         * event-Xt.c:
9333         * eldap.c:
9334         * window.c:
9335         * sound.c:
9336         * event-stream.c:
9337         * eval.c:
9338         * buffer.c:
9339         * mule-canna.c: A million DEFVAR_INTs here...
9340         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9341         * extents.c:
9342         * cmdloop.c:
9343         * lisp.h:
9344         * select-x.c:
9345         * console-x.h:
9346         * event-msw.c:
9347         * mule-wnnfns.c:
9348         * hpplay.c:
9349         * ralloc.c:
9350         * alloc.c:
9351         * keymap.c:
9352         * profile.c:
9353         s/int/Fixnum/g in DEFVAR_INT declarations.
9354
9355 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9356
9357         Port pdump to SGI alignment-sensitive environment.
9358         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9359         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9360         properly aligned.
9361         Define and use aligned reading and writing macros.
9362         Use buffered stdio instead of posix i/o for faster dumping.
9363         Eliminate kludgy 256 byte space for header.
9364         Read and write from dump file using structs for alignment safety.
9365         * dumper.c (pdump_align_stream): New.
9366         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9367         * dumper.c (PDUMP_READ_ALIGNED): New.
9368         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9369         * dumper.c (pdump_static_Lisp_Object): New struct.
9370         * dumper.c (pdump_static_pointer): New struct.
9371         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9372         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9373         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9374         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9375
9376         * dumper.c (pdump_backtrace):
9377         * dumper.c (pdump_get_indirect_count):
9378         * dumper.c (pdump_register_object):
9379         * dumper.c (pdump_register_struct):
9380         * dumper.c (pdump_reloc_one):
9381         * dumper.c (pdump_scan_by_alignment):
9382         * dumper.c (pdump_dump_from_root_struct_ptrs):
9383         * dumper.c (pdump_dump_opaques):
9384         * dumper.c (pdump_dump_rtables):
9385         * dumper.c (pdump_dump_from_root_objects):
9386         * dumper.c (pdump):
9387         * dumper.c (pdump_load_finish):
9388         Use aligned reading and writing.
9389
9390         * dumper.c (pdump_free): Make static.
9391         * dumper.c (pdump_hFile): Likewise.
9392         * dumper.c (pdump_hMap): Likewise.
9393
9394 2001-01-26  Martin Buchholz <martin@xemacs.org>
9395
9396         * XEmacs 21.2.43 "Terspichore" is released.
9397
9398 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9399
9400         Type fiddling for window_config.saved_windows_count
9401         * window.c (struct window_config): 
9402         Make saved_windows_count member unsigned.
9403         * window.c (sizeof_window_config_for_n_windows): 
9404         Make parameter unsigned.
9405         * window.c (mark_window_config):
9406         * window.c (window_config_equal):
9407         * window.c (free_window_configuration):
9408         * window.c (Fset_window_configuration):
9409         * window.c (count_windows):
9410         * window.c (Fcurrent_window_configuration):
9411         * window.c (reinit_vars_of_window):
9412         Update all callers and users.
9413
9414 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9415
9416         Alignment correctness for flexible arrays.
9417         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9418         Make alignment-correct. Add interesting comments.
9419         * alloc.c (size_vector):
9420         * alloc.c (make_vector_internal):
9421         * alloc.c (make_bit_vector_internal):
9422         * alloc.c (sweep_bit_vectors_1):
9423         * fns.c (size_bit_vector):
9424         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9425         * window.c (sizeof_window_config_for_n_windows): 
9426         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9427
9428 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9429
9430         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9431
9432 2001-01-23  Andy Piper  <andy@xemacs.org>
9433
9434         * select.c (Fown_selection_internal): pass owned_p
9435
9436         * select-msw.c (mswindows_own_selection): New Signature.
9437
9438         * console.h (struct console_methods): add owned_p to
9439         _own_selection.
9440
9441         * select-x.c (x_own_selection): pass owned_p
9442         (hack_motif_clipboard_selection): use owned_p
9443         (vars_of_select_x): new variable -
9444         x_selection_strict_motif_ownership.
9445
9446 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9447
9448         * specifier.h (specifier_data_offset): Remove pointless parens.
9449         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9450
9451 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9452
9453         Make Lisp_Object sizeof methods be alignment-correct.
9454         pdump must restore objects to the same alignment as the C compiler
9455         assumes.  It really matters on SGIs.
9456         * lstream.c (aligned_sizeof_lstream): New.
9457         (sizeof_lstream): Use aligned_sizeof_lstream.
9458         (Lstream_new): Likewise.
9459         * opaque.c (aligned_sizeof_opaque): New.
9460         (sizeof_opaque): Use aligned_sizeof_opaque.
9461         (make_opaque): Likewise.
9462         * specifier.c (aligned_sizeof_specifier): New.
9463         (sizeof_specifier): Use aligned_sizeof_specifier.
9464         (make_specifier_internal): Likewise.
9465
9466 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9467
9468         * lstream.h (struct lstream): Use max_align_t for trailing data.
9469         * specifier.h (struct Lisp_Specifier): Likewise.
9470
9471 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9472
9473         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9474         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9475         (CCL_SUSPEND): Likewise.
9476         (CCL_INVALID_CMD): Likewise.
9477         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9478         (ccl_driver): Likewise.
9479         (CCL_WRITE_CHAR): Macro hygiene.
9480         (CCL_WRITE_STRING): Macro hygiene.
9481
9482 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9483
9484         Port "portable" dumper to SunOS 4 and HP-UX.
9485         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9486         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9487         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9488
9489 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9490
9491         * lisp.h (ALIGNOF): A better definition for C++.
9492
9493 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9494
9495         Macro hygiene.
9496         Fix printf warnings: int format, long int arg.
9497         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9498         (PUSH_FAILURE_POINT): Use correct printf formats.
9499         (POP_FAILURE_POINT): Use correct printf formats.  
9500         Use do {...} while (0)
9501
9502 2001-01-20  Martin Buchholz <martin@xemacs.org>
9503
9504         * XEmacs 21.2.42 "Poseidon" is released.
9505
9506 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9507
9508         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9509
9510 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9511
9512         De-kludgify FIXED_TYPE free list frobbing.
9513         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9514         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9515         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9516         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9517         * alloc.c (LRECORD_FREE_P): New.
9518         * alloc.c (MARK_LRECORD_AS_FREE): New.
9519         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9520         * alloc.c (STRUCT_FREE_P): Deleted.
9521         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9522         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9523         * alloc.c (STRING_CHARS_FREE_P): New.
9524         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9525         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9526         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9527         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9528         * alloc.c (resize_string): Use new definitions.
9529         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9530         * alloc.c (verify_string_chars_integrity): Use new definitions.
9531         * alloc.c (compact_string_chars): Use new definitions.
9532         * alloc.c: Update monster comments.
9533         * lrecord.h (lrecord_type): Add some new lrecord types for
9534         alloc.c's use.
9535
9536 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9537
9538         Improve alignment hackery.
9539         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9540         (max_align_t): Moved from opaque.h - general purpose.
9541         (ALIGN_PTR): Use size_t, not long.
9542         * opaque.h (max_align_t): Move to lisp.h.
9543
9544 2001-01-18  Norbert Koch  <nk@LF.net>
9545
9546         * gui.h: Fix and add prototypes to fix build problems.
9547
9548 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9549
9550         temacs is going away, so `dump-temacs' is now a bad name.
9551         * .dbxrc (dump-temacs): Rename to `dmp'.
9552         * .gdbinit (dump-temacs): Rename to `dmp'.
9553
9554 2001-01-17  Andy Piper  <andy@xemacs.org>
9555
9556         * glyphs.c (print_image_instance): comment to make martin happy.
9557
9558         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9559         change.
9560
9561         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9562         activation.
9563         (mswindows_tab_control_redisplay): warning suppression.
9564
9565         * glyphs-widget.c (widget_update): re-write to cope with updated
9566         items.
9567         (widget_instantiate): use new gui_item functions.
9568         (tab_control_update): deleted.
9569         (progress_gauge_update): deleted.
9570         (image_instantiator_progress_guage): take out update reference.
9571         (image_instantiator_tree_view): ditto.
9572         (image_instantiator_tab_control): ditto.
9573
9574         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9575         Right the new way.
9576         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9577         return whether anything was changed.
9578         (update_gui_item_keywords): as it sounds.
9579
9580         * gui.h: declare widget_gui_parse_item_keywords.
9581
9582         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9583         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9584
9585 2001-01-17  Martin Buchholz <martin@xemacs.org>
9586
9587         * XEmacs 21.2.41 "Polyhymnia" is released.
9588
9589 2001-01-16  Didier Verna  <didier@xemacs.org>
9590
9591         * glyphs.c (image_instantiate): don't use fallbacks when
9592         instantiating a face's background pixmap by inheritance.
9593
9594 2001-01-14  Mike Sperber <mike@xemacs.org>
9595
9596         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9597         Conditionalize accordingly.
9598
9599 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9600
9601         * dumper.c (pdump_file_get): Fix a compiler warning.
9602
9603 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9604
9605         Make Purify happy when pdumping.
9606         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9607         iniitalizing all bits of new lisp object memory.
9608         * symbols.c (Fmake_local_variable): Likewise.
9609         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9610         * symbols.c (Fdefvaralias): Likewise.
9611         * mule-charset.c (vars_of_mule_charset): Likewise.
9612
9613 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9614         Add the `-nd' flag when running pre-dump operations under the debugger.
9615         * .dbxrc (run-temacs): Add `-nd'.
9616         * .dbxrc (update-elc): Likewise.
9617         * .dbxrc (dump-temacs): Likewise.
9618         * .gdbinit (run-temacs): Likewise.
9619         * .gdbinit (check-temacs): Likewise.
9620         * .gdbinit (update-elc): Likewise.
9621         * .gdbinit (dump-temacs): Likewise.
9622
9623 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9624
9625         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9626         export OBJECT_MODE=64
9627         configure --pdump --use-union-type=no
9628         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9629         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9630
9631         * miscplay.c (sndcnv8U_2mono):
9632         Avoid two uses of `++' in the same expression.
9633         Suppresses a GCC warning.
9634
9635 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9636
9637         Make sure future compilers don't miscompile alloc.c.
9638         * alloc.c:
9639         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9640         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9641
9642 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9643
9644         * dumper.c: A little post-pdump-rename comment fixup.
9645
9646 2001-01-09  Jerry James  <james@eecs.ku.edu>
9647
9648         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9649
9650 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9651
9652         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9653         script:
9654         #!/bin/sh
9655         replace_symbol () {
9656           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9657         }
9658
9659         replace_symbol pdump_wire_lists pdump_weak_object_chains
9660         replace_symbol pdump_wire_list dump_add_weak_object_chain
9661
9662         replace_symbol pdump_wires pdump_root_objects
9663         replace_symbol pdump_wire dump_add_root_object
9664
9665         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9666         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9667
9668         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9669         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9670         replace_symbol dumpstructinfo pdump_root_struct_ptr
9671         replace_symbol dumpstruct dump_add_root_struct_ptr
9672
9673         replace_symbol dumpopaque dump_add_opaque
9674         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9675         replace_symbol dumpopaqueinfos pdump_opaques
9676         replace_symbol dumpopaqueinfo pdump_opaque
9677
9678         replace_symbol nb_structdump nb_root_struct_ptrs
9679         replace_symbol nb_opaquedump nb_opaques
9680
9681         replace_symbol align_table pdump_align_table
9682         replace_symbol dump_header pdump_header
9683
9684         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9685         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9686
9687
9688 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9689
9690         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9691         optimizing bytecount_to_charcount().
9692
9693 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9694
9695         * config.h.in:
9696         (HAVE_DLFCN_H): Removed.
9697         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9698
9699 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9700
9701         Portable dumper maintainability improvements.
9702         * alloc.c (staticpro):
9703         * alloc.c (staticpro_nodump):
9704         * alloc.c (garbage_collect_1):
9705         * alloc.c (reinit_alloc_once_early):
9706         * alloc.c (init_alloc_once_early):
9707         * alloc.c: Move dumper functions to alloc.c.
9708         * dumper.c (pdump_backtrace):
9709         * dumper.c (pdump_dump_structs):
9710         * dumper.c (pdump_dump_opaques):
9711         * dumper.c (pdump_dump_rtables):
9712         * dumper.c (pdump_dump_wired):
9713         * dumper.c (pdump):
9714         * dumper.c (pdump_load_check):
9715         * dumper.c (pdump_load_finish):
9716         * dumper.c (pdump_file_unmap):
9717         * dumper.c (pdump_file_get):
9718         * dumper.c (pdump_resource_free):
9719         * dumper.c (pdump_resource_get):
9720         * dumper.c (pdump_file_free):
9721         * dumper.c (pdump_file_try):
9722         * dumper.c (pdump_load):
9723         Remove fixed size limits on staticpro(), staticpro_nodump(),
9724         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9725         Remove custom code for dumping lrecord_implementations_table - use
9726         dumpopaque instead.
9727         Remove (most of the) custom code for dumping staticpros - dump it
9728         like any other dynarr.
9729
9730         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9731         * dumper.c: Moved functions from alloc.c.
9732         * alloc.c (dumpstruct): Moved to dumper.c.
9733         * alloc.c (dumpopaque): Likewise.
9734         * alloc.c (pdump_wire): Likewise.
9735         * alloc.c (pdump_wire_list): Likewise.
9736
9737         * lisp.h (Dynarr_sizeof): New.
9738         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9739         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9740         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9741
9742         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9743         * lisp.h (dumpopaque): ditto.
9744         * lisp.h (pdump_wire): ditto.
9745         * lisp.h (pdump_wire_list): ditto.
9746
9747 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9748
9749         * make-src-depend (PrintPatternDeps):
9750         Use `sort' to make output independent of perl version.
9751
9752 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9753
9754         Port to Netbsd 1.5.
9755         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9756         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9757
9758 2001-01-03  Didier Verna  <didier@xemacs.org>
9759
9760         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9761         that `focus_frame' is alive before thinking of calling
9762         `redisplay_redraw_cursor' on it.
9763
9764 2001-01-08  Martin Buchholz <martin@xemacs.org>
9765
9766         * XEmacs 21.2.40 is released.
9767
9768 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9769
9770         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9771
9772 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9773
9774         * alloc.c (dbg_valmask): Make const.
9775         * alloc.c (dbg_typemask): Make const.
9776         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9777         * alloc.c (dbg_valbits): Make const.
9778         * alloc.c (dbg_gctypebits): Make const.
9779
9780 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9781
9782         * redisplay-x.c (x_bevel_area):
9783         redisplay.h (struct rune):
9784         Typo fixes in comments.
9785
9786 2001-01-05  Andy Piper  <andy@xemacs.org>
9787
9788         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9789         adjustment.
9790
9791         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9792
9793 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9794
9795         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9796
9797         * mule-ccl.c (stack_idx_of_map_multiple):
9798         Non const global data must not be initialized!
9799         Found by MIYASHITA Hisashi.
9800
9801 2001-01-02  Andy Piper  <andy@xemacs.org>
9802
9803         * frame.c (change_frame_size): make sure frame size is always
9804         marked as changed.
9805
9806         * glyphs.c (image_instance_layout): minor code reuse.
9807
9808         * window.c (Fcurrent_window_configuration): revert previous
9809         change.
9810
9811 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9812
9813         * glyphs.h:
9814         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9815
9816 2000-12-31  Andy Piper  <andy@xemacs.org>
9817
9818         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9819         when widget gets unmapped.
9820
9821         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9822         function. Make sure widgets losing focus don't just drop it.
9823         (handle_focus_event_1): record the widget with focus.
9824
9825 2000-12-31  Andy Piper  <andy@xemacs.org>
9826
9827         * window.c (allocate_window): use
9828         make_image_instance_cache_hash_table.
9829         (make_dummy_parent): ditto.
9830         (Fset_window_configuration): ditto.
9831
9832         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9833
9834         * glyphs.c (process_image_string_instantiator): use
9835         INSTANTIATOR_TYPE.
9836         (get_image_instantiator_governing_domain): ditto.
9837         (normalize_image_instantiator): ditto.
9838         (instantiate_image_instantiator): ditto.
9839         (make_image_instance_1): ditto.
9840         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9841         (instantiator_eq_equal): new function for use with instance hash
9842         tables.
9843         (instantiator_eq_hash): ditto.
9844         (make_image_instance_cache_hash_table): create a suitable hash
9845         table for storing image instances.
9846
9847         * elhash.h (hash_table_weakness): new internal weakness type
9848         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9849         declare new functions.
9850
9851         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9852         another weakness type for glyphs.
9853         (make_standard_lisp_hash_table): new function split out from
9854         make_general_lisp_hash_table.
9855         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9856         (hash_table_instantiate): ditto.
9857         (Fmake_hash_table): ditto.
9858
9859 2000-12-31  Martin Buchholz <martin@xemacs.org>
9860
9861         * XEmacs 21.2.39 is released.
9862
9863 2000-12-29  Andy Piper  <andy@xemacs.org>
9864
9865         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9866
9867         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9868         the frame has changed so that we pick up geometry changes such as
9869         menubar visibility.
9870
9871 2000-12-28  Andy Piper  <andy@xemacs.org>
9872
9873         * lastfile.c (my_ebss): make a char array so we can pad the
9874         bss. Fixes cygwin unexec.
9875
9876         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9877
9878 2000-12-26  Andy Piper  <andy@xemacs.org>
9879
9880         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9881         comments and try and be more precise about a non-/SIGIO world.
9882         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9883         SIGIO.
9884
9885         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9886         we don't normalize to zero width or height.
9887
9888 2000-12-24  Andy Piper  <andy@xemacs.org>
9889
9890         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9891
9892 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9893
9894         * s/sco5.h: SCO 5 has pty support.
9895
9896 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9897
9898         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9899         input-method-xlib.c contains whole contents of input-method-xfs.c,
9900         so we can use input-method-xlib.c's code for USE_XFONTSET
9901         using #ifdefs.
9902         * input-method-xfs.c: removed.
9903
9904 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9905
9906         * file-coding.h (enum coding_category_type): reorder enumerators to
9907         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9908         (now one greater than largest real coding_category_type enumerator).
9909         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9910         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9911         Fcoding_category_list, Fset_coding_priority_list,
9912         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9913         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9914
9915 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9916
9917         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9918         * redisplay-output.c (redisplay_output_window): Clear top of window
9919         when face is changed.
9920         * redisplay-x.c (x_redraw_exposed_window): Call
9921         redisplay_clear_top_of_window.
9922         * redisplay.h: Publish redisplay_clear_top_of_window.
9923
9924 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9925
9926         * buffer.c (Fkill_buffer): Map over all devices.
9927         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9928         (list_windows): New function.
9929         (list_all_windows): Ditto.
9930         (Freplace_buffer_in_windows): Use them.
9931
9932 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9933
9934         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9935         (Fopen_database): Use `db_create' instead of `db_open'.
9936         (syms_of_database): Initialize Qqueue.
9937
9938 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9939
9940         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9941         buffer_local_face_property.
9942         * buffer.h (struct buffer): New member buffer_local_face_property.
9943         * window.c (Fset_window_buffer):  Mark window's face as changed
9944         when buffer has buffer local face.
9945         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9946         * objects.c (color_after_change): Set buffer_local_face_property
9947         when locale of face specifier is buffer.
9948         * objects.c (font_after_change): Ditto.
9949         * objects.c (face_boolean_after_change): Ditto.
9950         * glyphs.c (image_after_change): Ditto.
9951
9952 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9953
9954         * nt.c (mswindows_fstat): Report file permissions, volume serial
9955         number, etc. Code adapted from FSF Emacs 20.7.
9956
9957 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9958
9959         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9960         of stat when we don't have symbolic links, to make sure
9961         mswindows_stat is called on mswindows.
9962
9963 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9964
9965         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9966
9967 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9968
9969         * doprnt.c (emacs_doprnt_1): More printing fixes.
9970         Make printing of numbers compatible with libc and FSF Emacs.
9971         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9972         Use the system printf to do most of the hard work of formatting,
9973         instead of doprnt_1().
9974         Calculate memory to allocate for format string.
9975         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9976         (doprnt_1): Cleaner code and documentation.
9977
9978 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9979
9980         * Makefile.in.in: Use the loop variable to install headers.
9981
9982 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9983
9984         * window.c (Fsplit_window): Don't invalidate face cache.
9985
9986 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9987
9988         * minibuf.c (Fall_completions): Undo the previous change
9989         which removed checking elements start with space.
9990
9991 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9992
9993         * mule-canna.c: Didier suppression.
9994
9995 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9996
9997         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9998         (warning suppression).  Add English comment translations.
9999
10000 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10001
10002         * unexelfsgi.c (unexec): Better test for mmap failure.
10003
10004 2000-12-05  Martin Buchholz <martin@xemacs.org>
10005
10006         * XEmacs 21.2.38 is released.
10007
10008 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10009
10010         * redisplay.c (bar-cursor): Make a user variable.
10011
10012         * symsinit.h: Add init_postgresql_from_environment.
10013
10014 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10015
10016         * regex.c: Convert to clean C.
10017
10018 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10019
10020         * realpath.c:
10021         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10022         initialization.
10023         (sys_readlink): renamed to system_readlink to avoid conflict with
10024         the other sys_readlink.
10025
10026 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10027
10028         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10029
10030 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10031
10032         * postgresql.c (init_postgresql_from_environment): new function.
10033         (vars_of_postgresql): Move code initializing Lisp variables out and
10034         into init_postgresql_from_environment.
10035         emacs.c (main_1): Call init_postgresql_from_environment if and only
10036         if running a dumped XEmacs.
10037
10038 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10039
10040         * buffer.c: Make find-file-compare-truenames default to true on
10041         windows.
10042
10043         * realpath.c (win32_abs_start):
10044         (cygwin_readlink):
10045         (win32_readlink): New functions.
10046         (xrealpath): Return really real filenames on windows.
10047
10048         * fileio.c (Ffile_truename): Make file-truename work on windows.
10049
10050 2000-11-29  Didier Verna  <didier@xemacs.org>
10051
10052         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10053         * faces.c (update_face_cachel_data): use it.
10054         * faces.c (add_face_cachel): use it. Complete background pixmap
10055         frobbing in face cache if `update_face_cachel_data' has not done so.
10056
10057 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10058
10059         * search.c (string_match_1): Don't set last_thing_searched
10060         when search failed.
10061
10062 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10063
10064         * buffer.c: Include casetab.h
10065         (common_init_complex_vars_of_buffer): Use new case-table object.
10066         * buffer.h: Include casetab.h
10067         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10068         (DOWNCASE_TABLE_OF): Ditto.
10069         * bufslots.h: Remove char-tables and add case-table.
10070         * casetab.c: Include casetab.h
10071         (CASE_TABLE_P): Removed.
10072         (mark_case_table): New function.
10073         (allocate_case_table): New function.
10074         (Fcase_table_p): Use new case-table.
10075         (case_table_char): New function.
10076         (Fget_case_table): Ditto.
10077         (Fput_case_table): Ditto.
10078         (Fput_case_table_pair): Ditto.
10079         (Fcopy_case_table): Ditto.
10080         (Fcurrent_case_table): Return case-table.
10081         (Fstandard_case_table): Return case-table.
10082         (Fset_case_table): Fix doc-string.
10083         (set_case_table): Use case-table
10084         (syms_of_casetab): DEFSUBR new functions.
10085         (complex_vars_of_casetab): Set up standard case-table.
10086         * casetab.h: New file.
10087         * editfns.c: Include casetab.h
10088         (Fcompare_buffer_substrings): Use case-table.
10089         * inline.c: Include casetab.h
10090         * lisp.h: Remove bogus extern.
10091         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10092         * search.c: Include casetab.h
10093         (TRANSLATE_ASCII): Removed.
10094         (TRANSLATE): Unconditionally translate character.
10095         (looking_at_1): Use case-table.
10096         (string_match_1): Ditto.
10097         (fast_string_match): Ditto.
10098         (search_command): Ditto.
10099         (search_buffer): Separate boyer_moore.  Check whether
10100         boyer_moore is possible.
10101         (simple_search): New function.
10102         (boyer_moore): Separated from search_buffer. Translate char.
10103
10104 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10105
10106         * regex.c (RE_TR_ASCII): Removed.
10107         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10108         (PATFETCH): Call PATFETCH_RAW.
10109         (PATFETCH_RAW): Fetch Emchar.
10110         (PATUNFETCH): Decrement charptr.
10111         (GET_BUFFER_SPACE): Rename b to buf_end.
10112         (BUF_PUSH): Ditto.
10113         (BUF_PUSH_2): Ditto.
10114         (BUF_PUSH_3): Ditto.
10115         (EXTEND_BUFFER): Ditto.
10116         (SET_LIST_BIT): Ditto.
10117         (regex_compile): Ditto.  Translate non ASCII char.
10118         (compile_range): Ditto.
10119         (re_search_2): Ditto.
10120         (re_match_2_internal): Compare Emchar.
10121         (bcmp_translate): Ditto.
10122
10123 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10124
10125         * lisp.h (basic char/int typedefs):  comment improvement.
10126
10127 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10128
10129         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10130         unstomp inhibit_site_lisp.  Improve comments.
10131
10132 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10133
10134         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10135
10136 2000-11-28  Andy Piper  <andy@xemacs.org>
10137
10138         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10139         clipped display for windows in the gutter also.
10140         (redisplay_display_boxes_in_window_p): change semantics of return
10141         codes to be more intuitive.
10142
10143         * gutter.h: declare display_boxes_in_gutter_p.
10144
10145         * gutter.c (display_boxes_in_gutter_p): new function for
10146         redisplay.
10147
10148 2000-11-22  Andy Piper  <andy@xemacs.org>
10149
10150         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10151         autodetect domain.
10152
10153 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10154
10155         * callproc.c (Fold_call_process_internal):
10156         * gpm.c (Freceive_gpm_event):
10157         (tty_get_foreign_selection): Might be just warning supression.
10158         * fileio.c (Fwrite_region_internal):
10159         (Fset_visited_file_modtime):
10160         * keymap.c (event_matches_key_specifier_p):
10161         Initialize GCPROed variable.
10162
10163         * menubar-x.c (command_builder_find_menu_accelerator):
10164         Initialize before use.
10165
10166 2000-11-23  Andy Piper  <andy@xemacs.org>
10167
10168         * unexcw.c (unexec): make the resulting executable executable.
10169
10170 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10171
10172         * doc.c (get_doc_string):
10173         Use size_t, not int, for result of XSTRING_LENGTH.
10174
10175         * cmds.c (Fdelete_char):
10176         * cmds.c (Fpoint_at_eol):
10177         * cmds.c (Fself_insert_command):
10178         Use EMACS_INT, not int, for result of XINT.
10179         Someday, someone will want to insert more than 2**31 identical characters.
10180
10181         * cmds.c (Fdelete_char):
10182         * cmds.c (Fdelete_backward_char):
10183         * syntax.c (Fforward_word):
10184         * syntax.c (Fforward_comment):
10185         Make COUNT argument optional, for consistency with forward-char et al.
10186
10187 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10188
10189         * lisp.h:
10190         * print.c (long_to_string):
10191         Return a useful value: the pointer at end of data written.
10192
10193         * doprnt.c:
10194         Use `static const char * const' for constant strings.
10195         (union printf_arg): Delete `i', `ui' members.
10196         (get_doprnt_args):
10197         (emacs_doprnt_1):
10198         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10199         Do all printf-ing via the `l' specifier.
10200         Use EMACS_INT instead of int.
10201         Optimize.
10202
10203 2000-11-20  Didier Verna  <didier@xemacs.org>
10204
10205         * faces.c (update_face_cachel_data): don't frob the background
10206         pixmap when the window is being created. The face is needed but
10207         does not exist yet.
10208
10209 2000-11-20  Andy Piper  <andy@xemacs.org>
10210
10211         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10212         messing with a debug environment.
10213
10214 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10215
10216         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10217
10218 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10219
10220         * casetab.c (Fcase_table_p): Fix compile error and crash.
10221
10222 2000-11-18  Philip Aston  <philipa@mail.com>
10223
10224         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10225
10226 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10227
10228         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10229         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10230
10231 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10232
10233         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10234         * unexelf.c: Use HAVE_ELF_H.
10235         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10236         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10237         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10238         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10239         for testing.
10240         So this is an unexelfsgi.c from a different line of development.
10241
10242 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10243
10244         * regex.c (RE_TR_ASCII): New function.
10245         (RE_TRANSLATE): Call it.
10246
10247 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10248
10249         * buffer.h (TRT_TABLE_OF): Remove assert.
10250         (IN_TRT_TABLE_DOMAIN): Removed.
10251
10252 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10253
10254         * free-hook.c (log_gcpro):
10255         (show_gcprohist): Add support for GCPRO5.
10256
10257 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10258
10259         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10260
10261 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10262
10263         * symeval.h: Declare flush_all_buffer_local_cache.
10264
10265         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10266         (flush_buffer_local_cache): Added.
10267         (flush_all_buffer_local_cache): Added.
10268
10269         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10270
10271         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10272         (pdump_dump_data): Ditto.
10273         (pdump_reloc_one): Ditto.
10274         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10275         before dumping.
10276
10277
10278 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10279
10280         * buffer.c: Remove if 0'ed entry.
10281         * buffer.h: Rewrite TRT to use char-table.
10282         * bufslots.h: Remove mirror tables.
10283         * casetab.c: Remove mirror tables.
10284         (CASE_TABLE_P): New macro.
10285         (Fcase_table_p): Element of a case table is string or char-table.
10286         (make_mirror_trt_table): Removed.
10287         (set_case_table): Setup char-table from strings for backward
10288         compatibility.
10289         * dired.c (Fdirectory_files):
10290         * dired-msw.c: (mswindows_get_files):
10291         * lisp.h: Change prototype of re_pattern_buffer.
10292         * regex.c: (RE_TRANSLATE): New macro.
10293         (TRANSLATE_P): Ditto.
10294         Change translate to type RE_TRANSLATE_TYPE.
10295         * regex.h: Define RE_TRANSLATE_TYPE
10296         * search.c (TRANSLATE): New macro.
10297         (TRANSLATE_ASCII): New macro.
10298         Translate table is changed to Lisp_Object.
10299         (signal_failure): Inhibit return.
10300
10301 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10302
10303         * device-msw.c:
10304         * eldap.c:
10305         * event-Xt.c:
10306         * event-stream.c:
10307         * print.c:
10308         Do UNGCPRO before return.
10309
10310 2000-11-14  Martin Buchholz <martin@xemacs.org>
10311
10312         * XEmacs 21.2.37 is released.
10313
10314 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10315
10316         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10317         Add comments about discarded return value.
10318
10319 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10320
10321         * callint.c:
10322         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10323
10324 2000-10-27  Andy Piper  <andy@xemacs.org>
10325
10326         * gutter.c (Fset_default_gutter_position): default left and right
10327         gutters to visible.
10328         (calculate_gutter_size): calculate resonable heuristic for left
10329         and right gutter sizes.
10330         (specifier_vars_of_gutter): change left and right gutter sizes to
10331         autodetect.
10332         (calculate_gutter_size_from_display_lines): new function.
10333         (output_gutter): check for resizing on left and right gutters.
10334         (clear_gutter): don't special case top and left gutters.
10335         (specifier_vars_of_gutter): use new signature for
10336         set_specifier_caching.
10337
10338         * glyphs-x.c (x_redisplay_widget): spelling fix.
10339         * glyphs.c (specifier_vars_of_glyphs):
10340         * menubar.c (specifier_vars_of_menubar):
10341         * redisplay.c (specifier_vars_of_redisplay):
10342         * toolbar.c (specifier_vars_of_toolbar):
10343         * window.c (specifier_vars_of_window):
10344         * scrollbar.c (specifier_vars_of_scrollbar):
10345         (complex_vars_of_scrollbar): use new signature for
10346         set_specifier_caching.
10347
10348         * specifier.c (set_specifier_caching): include recompute flag.
10349         (recompute_one_cached_specifier_in_window): always recompute if
10350         flag set.
10351         (recompute_one_cached_specifier_in_frame): ditto.
10352
10353         * specifier.h (struct specifier_caching): add recompute flag.
10354
10355 2000-10-24  Andy Piper  <andy@xemacs.org>
10356
10357         * unexcw.c (copy_executable_and_dump_data_section): add new
10358         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10359         5.0 happy.
10360
10361 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10362
10363         * console-x.h (x_device): New member modifier_release_time.
10364         * event-Xt.c (x_handle_sticky_modifiers):
10365         Bound interval modifier keys are sticky.
10366         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10367         * events.h: extern it.
10368
10369 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10370
10371         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10372
10373 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10374
10375         * event-stream.c (execute_command_event): Preserve current_events
10376         and the like when event is misc-user-event.
10377         Inhibit quit during the call to maybe_echo_keys.
10378
10379 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10380
10381         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10382         symlink when buffer is killed.
10383         (inhibit_clash_detection): New variable.
10384
10385 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10386
10387         * console.c (Fset_input_method): Trigger redisplay on tty.
10388
10389 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10390
10391         * process.c (Fprocess_status): Revert to previous behavior:
10392         (process-status "nosuchprocess") ==> nil
10393
10394 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10395
10396         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10397         Work around another GCC 2.95.2 optimizer bug.
10398
10399 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10400
10401         * process.c (Fget_process): Use LIST_LOOP_2.
10402         (kill_buffer_processes): Use LIST_LOOP_2.
10403
10404         * minibuf.c (Fall_completions):
10405         Delete old non-functional code for FSF fourth argument.
10406
10407         * frame.c (frame_matches_frame_spec):
10408         Renamed from `frame_matches_frametype'.  Update all callers.
10409         (device_matches_device_spec):
10410         Renamed from 'device_matches_console_spec'.  Update all callers.
10411
10412         * doc.c (Fsubstitute_command_keys):
10413         Remove buffer overflow crash.  Small code cleanups.
10414
10415         * casetab.c (check_case_table): Simpler code.
10416
10417         * window.c (Freplace_buffer_in_windows):
10418         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10419         (and similar implementation) as Fdelete_windows_on.
10420         Update all callers.
10421
10422         * alloc.c (Fmake_list):
10423         * alloc.c (make_vector):
10424         * alloc.c (Fmake_vector):
10425         * alloc.c (make_bit_vector):
10426         * alloc.c (Fmake_bit_vector):
10427         * alloc.c (Fbit_vector):
10428         * alloc.c (Fmake_string):
10429         * alloc.c (Fpurecopy):
10430         * alloc.c (Fmemory_limit):
10431         * buffer.c:
10432         * buffer.c (Fget_buffer):
10433         * buffer.c (Fkill_buffer):
10434         * buffer.c (complex_vars_of_buffer):
10435         * bytecode.c (Fcompiled_function_stack_depth):
10436         * callint.c (Fprefix_numeric_value):
10437         * event-stream.c:
10438         * event-stream.c (Fread_key_sequence):
10439         * casetab.c:
10440         * casetab.c (Fcase_table_p):
10441         * casetab.c (check_case_table):
10442         * casetab.c (Fset_case_table):
10443         * casetab.c (Fset_standard_case_table):
10444         * chartab.c:
10445         * chartab.c (Fchar_table_type):
10446         * chartab.c (Freset_char_table):
10447         * chartab.c (Fget_char_table):
10448         * chartab.c (Fget_range_char_table):
10449         * chartab.c (Fput_char_table):
10450         * chartab.c (Fmap_char_table):
10451         * chartab.c (Fcategory_table_p):
10452         * chartab.c (Fcheck_category_at):
10453         * chartab.c (Fchar_in_category_p):
10454         * chartab.c (Fcategory_table):
10455         * chartab.c (Fcopy_category_table):
10456         * chartab.c (Fset_category_table):
10457         * chartab.c (Fcategory_designator_p):
10458         * chartab.c (Fcategory_table_value_p):
10459         * cmds.c (Fdelete_char):
10460         * cmds.c (Fdelete_backward_char):
10461         * cmds.c (Fself_insert_command):
10462         * cmds.c (Fself_insert_internal):
10463         * console.c (Fvalid_console_type_p):
10464         * console.c (Fcdfw_console):
10465         * console.c (Fconsole_type):
10466         * console.c (Fconsole_name):
10467         * console.c (Fconsole_device_list):
10468         * console.c (Fconsole_on_window_system_p):
10469         * data.c:
10470         * data.c (Feq):
10471         * data.c (Fold_eq):
10472         * data.c (Fsubr_interactive):
10473         * data.c (Fchar_to_int):
10474         * data.c (Fint_to_char):
10475         * data.c (Fsetcar):
10476         * data.c (Fsetcdr):
10477         * data.c (Fnumber_to_string):
10478         * data.c (Fstring_to_number):
10479         * data.c (Frem):
10480         * database.c (mark_database):
10481         * database.c (finalize_database):
10482         * database.c (Fdatabase_live_p):
10483         * database.c (Fdatabasep):
10484         * device-x.c (Fx_get_resource):
10485         * device.c (Fdfw_device):
10486         * dired.c:
10487         * dired.c (Ffile_name_completion):
10488         * dired.c (Ffile_name_all_completions):
10489         * dired.c (Fuser_name_completion):
10490         * dired.c (Fuser_name_completion_1):
10491         * dired.c (Fuser_name_all_completions):
10492         * doc.c (Fdocumentation):
10493         * doc.c (Fdocumentation_property):
10494         * doc.c (Fsubstitute_command_keys):
10495         * editfns.c:
10496         * editfns.c (Fchar_to_string):
10497         * editfns.c (Fstring_to_char):
10498         * editfns.c (Ftemp_directory):
10499         * editfns.c (Finsert_char):
10500         * editfns.c (Fbuffer_substring_no_properties):
10501         * editfns.c (Fnarrow_to_region):
10502         * editfns.c (Fchar_equal):
10503         * editfns.c (Fchar_Equal):
10504         * editfns.c (Ftranspose_regions):
10505         * emacs.c (Fdump_emacs):
10506         * eval.c (Fthrow):
10507         * eval.c (Fcommand_execute):
10508         * eval.c (Fautoload):
10509         * eval.c (Fbacktrace):
10510         * eval.c (Fbacktrace_frame):
10511         * events.c:
10512         * events.c (Fcopy_event):
10513         * events.c (Fcharacter_to_event):
10514         * events.c (Fevent_button):
10515         * events.c (Fevent_process):
10516         * extents.c:
10517         * extents.c (Fnext_extent_change):
10518         * extents.c (Fextent_property):
10519         * faces.c (Ffacep):
10520         * faces.c (Fmake_face):
10521         * file-coding.c:
10522         * file-coding.c (Fencode_shift_jis_char):
10523         * file-coding.c (Fencode_big5_char):
10524         * fileio.c (Ffile_name_directory):
10525         * fileio.c (Ffile_name_nondirectory):
10526         * fileio.c (Ffile_name_as_directory):
10527         * fileio.c (Fdirectory_file_name):
10528         * fileio.c (Ffile_truename):
10529         * fileio.c (Fsubstitute_in_file_name):
10530         * fileio.c (Ffile_modes):
10531         * fileio.c (Fset_file_modes):
10532         * fileio.c (Fset_default_file_modes):
10533         * fileio.c (Fverify_visited_file_modtime):
10534         * floatfns.c (Facos):
10535         * floatfns.c (Fasin):
10536         * floatfns.c (Fatan):
10537         * floatfns.c (Fcos):
10538         * floatfns.c (Fsin):
10539         * floatfns.c (Ftan):
10540         * floatfns.c (Fbessel_j0):
10541         * floatfns.c (Fbessel_j1):
10542         * floatfns.c (Fbessel_jn):
10543         * floatfns.c (Fbessel_y0):
10544         * floatfns.c (Fbessel_y1):
10545         * floatfns.c (Fbessel_yn):
10546         * floatfns.c (Ferf):
10547         * floatfns.c (Ferfc):
10548         * floatfns.c (Flog_gamma):
10549         * floatfns.c (Fexp):
10550         * floatfns.c (Fexpt):
10551         * floatfns.c (Flog):
10552         * floatfns.c (Flog10):
10553         * floatfns.c (Fsqrt):
10554         * floatfns.c (Fcube_root):
10555         * floatfns.c (Facosh):
10556         * floatfns.c (Fasinh):
10557         * floatfns.c (Fatanh):
10558         * floatfns.c (Fcosh):
10559         * floatfns.c (Fsinh):
10560         * floatfns.c (Ftanh):
10561         * floatfns.c (Fabs):
10562         * floatfns.c (Ffloat):
10563         * floatfns.c (Flogb):
10564         * floatfns.c (Fceiling):
10565         * floatfns.c (Ffloor):
10566         * floatfns.c (Fround):
10567         * floatfns.c (Ftruncate):
10568         * floatfns.c (Ffceiling):
10569         * floatfns.c (Fffloor):
10570         * floatfns.c (Ffround):
10571         * floatfns.c (Fftruncate):
10572         * fns.c (Fstring_equal):
10573         * fns.c (Fstring_lessp):
10574         * fns.c (concat2):
10575         * fns.c (concat3):
10576         * fns.c (vconcat2):
10577         * fns.c (vconcat3):
10578         * fns.c (Fsubstring):
10579         * fns.c (Fassoc):
10580         * fns.c (Fold_assoc):
10581         * fns.c (assoc_no_quit):
10582         * fns.c (Fassq):
10583         * fns.c (Fold_assq):
10584         * fns.c (assq_no_quit):
10585         * fns.c (Frassoc):
10586         * fns.c (Fold_rassoc):
10587         * fns.c (Frassq):
10588         * fns.c (Fold_rassq):
10589         * fns.c (rassq_no_quit):
10590         * fns.c (Fremassoc):
10591         * fns.c (remassoc_no_quit):
10592         * fns.c (Fremassq):
10593         * fns.c (remassq_no_quit):
10594         * fns.c (Fremrassoc):
10595         * fns.c (Fremrassq):
10596         * fns.c (remrassq_no_quit):
10597         * fns.c (Fsort):
10598         * fns.c (Fplist_get):
10599         * fns.c (Fplist_put):
10600         * fns.c (Fplist_remprop):
10601         * fns.c (Fplist_member):
10602         * fns.c (Flax_plist_get):
10603         * fns.c (Flax_plist_put):
10604         * fns.c (Flax_plist_remprop):
10605         * fns.c (Flax_plist_member):
10606         * fns.c (Fequal):
10607         * fns.c (Fold_equal):
10608         * fns.c (Frequire):
10609         * fns.c (Fbase64_encode_region):
10610         * fns.c (Fbase64_encode_string):
10611         * fns.c (Fbase64_decode_region):
10612         * frame.c:
10613         * frame.c (frame_matches_frame_spec):
10614         * frame.c (device_matches_device_spec):
10615         * frame.c (next_frame):
10616         * frame.c (previous_frame):
10617         * frame.c (Fnext_frame):
10618         * frame.c (Fprevious_frame):
10619         * frame.c (Fframe_property):
10620         * frame.c (Fset_frame_height):
10621         * frame.c (Fset_frame_size):
10622         * frame.h:
10623         * glyphs.c:
10624         * glyphs.c (if):
10625         * glyphs.c (decode_error_behavior_flag):
10626         * glyphs.c (Fmake_image_instance):
10627         * indent.c (Findent_to):
10628         * intl.c (Fignore_defer_gettext):
10629         * keymap.c (Fkeymapp):
10630         * keymap.c (Flookup_key):
10631         * lread.c:
10632         * lread.c (Fload_internal):
10633         * lread.c (Feval_buffer):
10634         * lread.c (Feval_region):
10635         * macros.c (Fexecute_kbd_macro):
10636         * marker.c (set_marker_internal):
10637         * marker.c (Fset_marker):
10638         * marker.c (set_marker_restricted):
10639         * marker.c (Fcopy_marker):
10640         * marker.c (noseeum_copy_marker):
10641         * menubar.c:
10642         * menubar.c (Fpopup_menu):
10643         * minibuf.c:
10644         * mule-charset.c (Fcharset_name):
10645         * mule-charset.c (Fchar_charset):
10646         * mule-charset.c (Fchar_octet):
10647         * mule-charset.c (Fsplit_char):
10648         * mule-wnnfns.c (Fwnn_open):
10649         * mule-wnnfns.c (Fwnn_dict_comment):
10650         * mule-wnnfns.c (Fwnn_quit_henkan):
10651         * mule-wnnfns.c (Fwnn_word_toroku):
10652         * mule-wnnfns.c (Fwnn_word_sakujo):
10653         * mule-wnnfns.c (Fwnn_word_use):
10654         * mule-wnnfns.c (Fwnn_hindo_set):
10655         * objects.c:
10656         * objects.c (Fmake_color_instance):
10657         * objects.c (Fmake_font_instance):
10658         * print.c (Fwrite_char):
10659         * process.c:
10660         * process.c (mark_process):
10661         * process.c (print_process):
10662         * process.c (get_process_from_usid):
10663         * process.c (Fprocessp):
10664         * process.c (Fprocess_live_p):
10665         * process.c (Fget_process):
10666         * process.c (Fget_buffer_process):
10667         * process.c (get_process):
10668         * process.c (Fprocess_id):
10669         * process.c (Fprocess_name):
10670         * process.c (Fprocess_command):
10671         * process.c (init_process_io_handles):
10672         * process.c (start_process_unwind):
10673         * process.c (Fstart_process_internal):
10674         * process.c (Fopen_multicast_group_internal):
10675         * process.c (Fset_process_window_size):
10676         * process.c (read_process_output):
10677         * process.c (send_process):
10678         * process.c (Fprocess_tty_name):
10679         * process.c (Fset_process_buffer):
10680         * process.c (Fprocess_buffer):
10681         * process.c (Fprocess_mark):
10682         * process.c (set_process_filter):
10683         * process.c (Fset_process_filter):
10684         * process.c (Fprocess_filter):
10685         * process.c (Fprocess_send_region):
10686         * process.c (Fprocess_send_string):
10687         * process.c (exec_sentinel):
10688         * process.c (Fset_process_sentinel):
10689         * process.c (Fprocess_sentinel):
10690         * process.c (status_notify):
10691         * process.c (Fprocess_status):
10692         * process.c (Fprocess_exit_status):
10693         * process.c (process_send_signal):
10694         * process.c (Fprocess_send_eof):
10695         * process.c (deactivate_process):
10696         * process.c (remove_process):
10697         * process.c (Fdelete_process):
10698         * process.c (kill_buffer_processes):
10699         * process.c (Fprocess_kill_without_query):
10700         * process.c (Fprocess_kill_without_query_p):
10701         * rangetab.c:
10702         * rangetab.c (Fget_range_table):
10703         * rangetab.c (Fput_range_table):
10704         * rangetab.c (Fremove_range_table):
10705         * rangetab.c (Fclear_range_table):
10706         * search.c:
10707         * search.c (Fskip_chars_forward):
10708         * search.c (Fskip_chars_backward):
10709         * search.c (Fskip_syntax_forward):
10710         * search.c (Fskip_syntax_backward):
10711         * search.c (search_command):
10712         * search.c (Freplace_match):
10713         * search.c (Fregexp_quote):
10714         * select.c (Fown_selection_internal):
10715         * select.c (Fselection_owner_p):
10716         * select.c (Fselection_exists_p):
10717         * select.c (Fget_selection_internal):
10718         * specifier.c:
10719         * symbols.c:
10720         * symbols.c (Fintern):
10721         * symbols.c (Fintern_soft):
10722         * symbols.c (Funintern):
10723         * symbols.c (Fapropos_internal):
10724         * symbols.c (Fset_default):
10725         * syntax.c:
10726         * syntax.c (Fsyntax_table_p):
10727         * syntax.c (Fcopy_syntax_table):
10728         * syntax.c (Fset_syntax_table):
10729         * syntax.c (Fchar_syntax):
10730         * syntax.c (syntax_match):
10731         * syntax.c (Fmatching_paren):
10732         * syntax.c (Fforward_word):
10733         * syntax.c (scan_lists):
10734         * syntax.c (Fscan_lists):
10735         * syntax.c (Fscan_sexps):
10736         * syntax.c (Fparse_partial_sexp):
10737         * toolbar.c (Fcheck_toolbar_button_syntax):
10738         * tooltalk.doc:
10739         * window.c:
10740         * window.c (Fwindowp):
10741         * window.c (Fwindow_live_p):
10742         * window.c (Fwindow_point):
10743         * window.c (Fdelete_window):
10744         * window.c (Fnext_window):
10745         * window.c (Fprevious_window):
10746         * window.c (Fother_window):
10747         * window.c (window_loop):
10748         * window.c (Fget_lru_window):
10749         * window.c (Fsplit_window):
10750         * window.c (Fenlarge_window):
10751         * window.c (Fenlarge_window_pixels):
10752         * window.c (Fshrink_window):
10753         * window.c (Fshrink_window_pixels):
10754         * window.c (change_window_height):
10755         * window.c (Fwindow_configuration_p):
10756         * window.c (Fcurrent_window_configuration):
10757         * window.h:
10758         * casefiddle.c (casify_object):
10759         * casefiddle.c (Fupcase):
10760         * casefiddle.c (Fdowncase):
10761         * casefiddle.c (Fcapitalize):
10762         * casefiddle.c (Fupcase_initials):
10763         * casefiddle.c (casify_region_internal):
10764         * casefiddle.c (casify_region):
10765         * casefiddle.c (Fupcase_region):
10766         * casefiddle.c (Fdowncase_region):
10767         * casefiddle.c (Fcapitalize_region):
10768         * casefiddle.c (Fupcase_initials_region):
10769         * casefiddle.c (Fupcase_word):
10770         * casefiddle.c (Fdowncase_word):
10771         * casefiddle.c (Fcapitalize_word):
10772         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10773         Replace 0 with '\0' when working with bytes.
10774         Replace initial "(" with "\(" in docstrings.
10775
10776 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10777
10778         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10779
10780         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10781
10782 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10783
10784         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10785
10786 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10787
10788         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10789         correctly.
10790
10791 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10792
10793         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10794         (inhibit_auto_save_session): New variable.
10795         (vars_of_fileio): Declare and initialize them.
10796         * fileio.c (Fdo_auto_save): Don't create session file if
10797         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10798
10799 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10800
10801         * sgiplay.c (play_internal): C++ compilability.
10802         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10803         * callproc.c (Fold_call_process_internal):
10804         Remove unused vars `env', `first'.
10805         * scrollbar.c (update_scrollbar_instance):
10806         #### unused var `current_window'.
10807         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10808         etc. within #ifdef NOT_YET.
10809         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10810         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10811         * specifier.c (specifier_instance):
10812         #### unused var `tag'.
10813         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10814
10815 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10816
10817         * fns.c (Fbutlast):
10818         * fns.c (list_sort):
10819         * fns.c (Ffillarray):
10820         * fns.c (bytecode_nconc2):
10821         * fns.c (Fnconc):
10822         * fns.c (mapcar1):
10823         * fns.c (Fmapconcat):
10824         Be pedantically 64-bit correct.  For the time when someone will
10825         want to have a list with length > 2**32.
10826
10827         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10828         Work around MIPSpro compiler bug.
10829
10830         * process-unix.c (unix_kill_child_process): Add snarky comment.
10831         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10832
10833         * config.h.in: Oops, _getpt ==> _getpty
10834
10835 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10836
10837         * config.h.in:
10838         * regex.c:
10839         Use void*, not char*, as return type of alloca().
10840
10841         * alloc.c (free_marker): Side effect inside assert expression!
10842
10843 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10844
10845         * mule-charset.c (Fset_charset_ccl_program): To check
10846         if the given ccl program is valid, use setup_ccl_program()
10847         instead of CHECK_VECTOR().
10848         (Fmake_charset): Likewise.
10849
10850 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10851
10852         * faces.c (get_extent_fragment_face_cache_index):
10853         Fix cachel.merged_faces memory leak.
10854
10855 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10856
10857         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10858         Reset MSB of octets obtained by DECODE_SJIS
10859         because of the incompatibility with Emacs.
10860         (ccl_driver)<CCL_ENCODE_SJIS>:
10861         Set MSB of octets before passing them to
10862         ENCODE_SJIS because of the incompatibility
10863         with Emacs.
10864
10865 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10866
10867         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10868         (DECLARE_LRECORD): Undo the last change.
10869         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10870
10871 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10872
10873         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10874         the implementation to lrecord_implementations_table.
10875
10876 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10877
10878         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10879         initial value of `lrecord_type_##c_name' and
10880         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10881         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10882         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10883         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10884         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10885
10886 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10887
10888         * miscplay.c (sndcnv8S_2mono):
10889         (sndcnv2monounsigned):
10890         (sndcnvULaw_2linear):
10891         (sndcnv16swap):
10892         Remove implementation-defined behavior.
10893
10894 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10895
10896         * input-method-xlib.c: Warning suppression.
10897
10898 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10899
10900         * mule-ccl.c: Sync up with Emacs 21.0.90.
10901         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10902         Do nothing.
10903         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10904         Likewise.
10905         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10906         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10907         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10908         leading char belongs to official 2-dimensional charset.
10909         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10910         write the given character as is.  Otherwise,
10911         if it is a multibyte char, convert it by
10912         non_ascii_set_charptr_emchar, then write it.
10913         (CCL_WRITE_STRING): Likewise.
10914         (ccl_get_compiled_code): New function.
10915         (setup_ccl_program): When ccl_prog is invalid,
10916         return -1.
10917         (Fregister_code_conversion_map): New function.
10918         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10919
10920         * mule-ccl.h: Sync up with Emacs 21.0.90.
10921         (Fregister_ccl_program): export it.
10922
10923         * redisplay-msw.c (separate_textual_runs):
10924         If ccl program is not valid, don't do ccl conversion.
10925
10926         * redisplay-x.c (separate_textual_runs): Ditto.
10927
10928         * file-coding.c (Fmake_coding_system):
10929         When type is ccl and value is vector, register it
10930         with a proper symbol.  And checks whether the
10931         given ccl program is valid.
10932         (mule_decode): When calling ccl_driver, if src indicates
10933         NULL pointer, set an empty string instead.
10934         (mule_encode): Likewise.
10935
10936 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10937
10938         The following large batch of changes gets us back to a state of
10939         C++ compilability.  Extbyte is now a char, which means that
10940         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10941
10942         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10943
10944         * sound.c (Fplay_sound): Type correctness.
10945
10946         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10947         (x_get_window_property): Type correctness.
10948         (receive_incremental_selection): unsigned char ==> Extbyte
10949         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10950         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10951         (Fx_store_cutbuffer_internal): Type correctness.
10952
10953         * process-unix.c (try_to_initialize_subtty): Type correctness.
10954
10955         * objects-x.c (x_print_color_instance): Type correctness.
10956         (x_print_font_instance): Type correctness.
10957         (x_list_fonts): SExtbyte ==> Extbyte.
10958         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10959         (x_find_charset_font): SExtbyte ==> Extbyte.
10960         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10961         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10962         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10963         Use bufbyte_strcmp.
10964
10965         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10966         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10967         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10968         (BYTE_C0_P): Use bit ops for char-signedness safety.
10969         (BYTE_C1_P): Use bit ops for char-signedness safety.
10970         (CHARSET_BY_LEADING_BYTE):
10971         (CHARSET_BY_ATTRIBUTES):
10972         Always use inline function.
10973         Use type_checking_assert.
10974         Hide chlook.
10975
10976         * mule-charset.c (non_ascii_charptr_copy_char):
10977         Modify to work with both ASCII and non-ASCII characters.
10978         Improve docs and variable names.
10979         Replace over-clever fall-through switch with a simple loop.
10980         (Lstream_get_emchar_1):
10981         Replace over-clever fall-through switch with a simple loop.
10982
10983         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10984         Warning suppression.
10985
10986         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10987         the return value of Lstream_getc, which could be EOF as well.
10988
10989         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10990
10991         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10992         APIs can be used on Extbytes without casts.  Risky!
10993         (SExtbyte): Remove.
10994         (UExtbyte): Remove.
10995
10996         * input-method-xlib.c (XIM_init_device):
10997         Use Xlib.h instead of IntrinsicP.h.
10998         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10999         which will break in X11R7.
11000         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11001         to call XRegisterIMInstantiateCallback with correct types.
11002
11003         * gui-x.c (button_item_to_widget_value): Type correctness.
11004
11005         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11006
11007         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11008         (xbm_instantiate_1): Type correctness.
11009         (BUILD_GLYPH_INST):  Type correctness.
11010
11011         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11012
11013         * file-coding.c:
11014         (decode_coding_sjis):
11015         (decode_coding_big5):
11016         (decode_coding_ucs4):
11017         (decode_coding_utf8):
11018         (decode_coding_iso2022):
11019         (decode_coding_no_conversion):
11020         Make all decoding functions take an Extbyte * arg.
11021         (encode_coding_sjis):
11022         (encode_coding_big5):
11023         (encode_coding_ucs4):
11024         (encode_coding_utf8):
11025         (encode_coding_iso2022):
11026         (encode_coding_no_conversion):
11027         Make all encoding functions take a Bufbyte * arg.
11028         Use size_t instead of unsigned int for memory sizes.
11029         Only cast to unsigned char whenever dereferencing Extbyte *.
11030
11031         * doc.c (unparesseuxify_doc_string): Type correctness.
11032
11033         * console-x.c (split_up_display_spec):
11034         Rewrite without using details of internal string representation.
11035         (x_semi_canonicalize_device_connection): Type correctness.
11036
11037         * config.h.in:
11038         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11039         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11040         (HAVE_XFREE386): Removed.
11041
11042         * buffer.h (DEC_CHARPTR): `const' correctness.
11043         (bufbyte_strcmp): New.
11044         (bufbyte_memcmp): New.
11045
11046         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11047
11048         * buffer.h (XCHAR_OR_CHAR_INT):
11049         Always use inline function.
11050         Remove redundant type checking assert() - XINT will abort quite nicely.
11051
11052 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11053
11054         * search.c (Freplace_match): Set newtext to an empty string.
11055
11056 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11057
11058         * s/decosf1-3.h: Remove #include of stropts.h
11059         * s/ptx.h: Remove #include of stropts.h
11060         * s/usg5-4.h: Remove #include of stropts.h
11061         * sysproc.h:
11062         * config.h.in:
11063         Use stropts.h, not sys/stropts.h.
11064         Use strtio.h, not sys/strtio.h.
11065
11066 2000-10-04  Martin Buchholz <martin@xemacs.org>
11067
11068         * XEmacs 21.2.36 is released.
11069
11070 2000-09-21  Andy Piper  <andy@xemacs.org>
11071
11072         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11073         changes still involve copying the widget tree.
11074         (update_widget_face): make sure a change is register in the widget
11075         tree. Call update_tab_widget_face appropriately.
11076         (update_tab_widget_face): ditto.
11077         (x_tab_control_redisplay): make sure non-structural changes still
11078         involve copying the widget tree.
11079
11080 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11081
11082         * lread.c (locate_file): Check the path element is non-nil.
11083
11084 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11085
11086         * lisp.h: Warning suppression for SCO compilers.
11087
11088         * redisplay-tty.c (reset_tty_modes): Fix crash.
11089         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11090
11091 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11092
11093         Big signal/process handling overhaul.  Bugs fixed:
11094         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11095         M-x comint-kill-subjob should work for both values nil and t of
11096         process-connection-type. It was broken on most platforms.
11097         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11098         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11099         * process-unix.c: Signal/Process handling overhaul.
11100         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11101         (allocate_pty): Use all available modern methods of allocating
11102         ptys, falling back to old style BSD allocation as a last resort.
11103         Use allegedly more secure Unix98 pty allocation by default.
11104         (allocate_pty_the_old_fashioned_way): New. the last resort.
11105         (unix_create_process): Push ptem, ldterm, ttcompat where
11106         available.  Autoconfiscate.
11107         (try_to_initialize_subtty): New.
11108         (unix_kill_child_process): Proper signal handling for ptys on most
11109         platforms, using special knowledge of AIX, BSD, etc...
11110         (unix_create_process): Always disconnect_controlling_terminal() for
11111         subprocesses, whether using ptys or not.
11112         * process.h: Remove old getpt-dependent PTY code.
11113         * process.c (Fprocess_send_signal): New, obvious generic function.
11114         (decode_signal): New.
11115         (Finterrupt_process):
11116         (Fkill_process):
11117         (Fquit_process):
11118         (Fstop_process):
11119         (Fcontinue_process):
11120         (Fsignal_process): Use decode_signal.
11121         (process_send_signal):
11122         Many docstring corrections.
11123         Allow any signal to be sent to a process object.
11124         * config.h.in: Add symbols for big signal/process overhaul.
11125         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11126         * sysproc.h: Include process-related headers, where available:
11127         sys/stropts.h sys/strtio.h pty.h libutil.h
11128         * s/irix4-0.h:
11129         * s/irix5-0.h:
11130         * s/cygwin32.h:
11131         * s/gnu.h:
11132         * s/linux.h:
11133         * s/hpux.h:
11134         * s/aix3-1.h:
11135         Remove old S&M pty stuff.
11136         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11137         * systty.h: Simplify cpp hackery, improve comments.
11138         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11139
11140         * editfns.c (Fformat_time_string):
11141         Be a little more paranoid with the return value of ctime.
11142
11143         * fileio.c (check_executable):
11144         (check_writable):
11145         Use symbolic constants X_OK, W_OK.
11146
11147         * console-x.c (split_up_display_spec): Fix a warning.
11148
11149 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11150
11151         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11152         * ntproc.c (sys_spawnve): make_string ==> build_string
11153         Small clarity improvements.
11154
11155 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11156
11157         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11158
11159         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11160
11161         * config.h.in (HAVE_STRCASECMP): Remove.
11162
11163 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11164
11165         * redisplay-output.c (redisplay_output_pixmap):
11166         Cleaner and possibly more 64-bit correct code.
11167
11168 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11169
11170         * dumper.c (pdump_load_finish): move restoration of
11171         `noninteractive1' to emacs.c (main_1).
11172         * emacs.c (main_1): protect LISP-visible command-line flags
11173         from pdump_load().
11174
11175 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11176
11177         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11178         DUMP_TARGET instead of literal program names.
11179
11180 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11181
11182         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11183
11184 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11185
11186         * *: Spelling mega-patch
11187
11188 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11189
11190         * fns.c (bad_bad_turtle):
11191         Delete "Eek!" comment, since we fixed the bug to which it refers.
11192
11193 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11194
11195         * alloca.c: Replace REGISTER with register.
11196
11197 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11198
11199         * file-coding.c (ucs_to_char): Use countof.
11200
11201 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11202
11203         * file-coding.c: (ucs_to_char):
11204         (complex_vars_of_file_coding):
11205         Use countof instead of sizeof.
11206         Use CHECK_NATNUM instead of CHECK_INT.
11207
11208         * sysdep.c (strcasecmp): Remove.
11209         * device-x.c (ascii_strcasecmp): New.
11210         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11211         Avoid using non-standard non-portable strcasecmp.
11212
11213 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11214
11215         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11216         * font-lock.c: remove reference to emacsfns.h.
11217         * search.c: small doc improvement.
11218         * event-Xt.c: correct file names in comments.
11219         * console-x.h Correct file names in comments.
11220         * frame.c: Correct file names in comments.
11221         * event-stream.c: remove Energize from comments.
11222
11223 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11224
11225         * symeval.h (DEFERROR_STANDARD):
11226         (DEFERROR):
11227         (DEFSYMBOL):
11228         (DEFSYMBOL_NO_DUMP):
11229         (DEFSYMBOL_MULTIWORD_PREDICATE):
11230         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11231         (DEFKEYWORD):
11232         The construct &##name is not sensible C.
11233         Fixes compilation errors with Unixware native compiler.
11234
11235 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11236
11237         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11238         (next_frame_internal): Removed.  We now just have next_frame.
11239         (next_frame):
11240         Write a simpler and cleaner one-pass algorithm.
11241         Remove called_from_delete_device arg and #ifdefed-out code.
11242         (previous_frame):
11243         Renamed from prev_frame.  Update callers.
11244         Cleaned up to have an analogous implementation to next_frame.
11245         (other_visible_frames_internal): Remove the
11246         called_from_delete_device bogus arg, and hence, remove this
11247         function.  Just use other_visible_frames().
11248
11249         * window.c (Fnext_window):
11250         Prettify docstring.
11251         Since next_frame() is guaranteed to return a frame, remove check
11252         for nil inserted in previous patch.
11253         (Fprevious_window):
11254         Prettify docstring.
11255         Make code look more like Fnext_window.
11256         (window_loop):
11257         Respect the `console' arg when iterating through windows.
11258         Fixes bug: (get-buffer-window buffer t device) not respecting
11259         the `device' arg.
11260         This function needs more work, as others have pointed out.
11261
11262         * frame.h: Rename prev_frame to previous_frame.
11263         device_matches_console_spec no longer takes a `frame' arg.
11264
11265         * s/gnu.h:
11266         * s/linux.h:
11267         * s/hpux.h:
11268         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11269         From "Golubev I. N." <gin@mo.msk.ru>.
11270
11271         * make-src-depend: Fix typo.
11272
11273 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11274
11275         * window.c (Fnext_window):
11276         next_frame() might return nil, not a frame.
11277         Fixes this crash:
11278         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11279
11280         * frame.c (next_frame_internal):
11281         We've passed a frame if we've passed its device.
11282         Fixes this crash:
11283         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11284 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11285
11286 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11287
11288         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11289         Allow option to suppress accelerators in menu/dialog items.
11290         (populate_or_checksum_helper): Pass dialog title through above.
11291
11292 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11293
11294         * event-msw.c (mswindows_key_to_emacs_keysym):
11295         Add "pause" key, fix "menu" key.
11296
11297 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11298
11299         * eval.c (reinit_vars_of_eval):
11300         Increase max_lisp_eval_depth to 1000,
11301         required for thai-xtis.el to byte-compile under some circumstances.
11302
11303 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11304
11305         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11306         From Kenichi Handa.
11307
11308 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11309
11310         * make-src-depend: Make the generated Makefiles smaller.
11311
11312         * s/hpux.h (SETUP_SLAVE_PTY):
11313         Provide a %d in the format string for the errno argument.
11314
11315         * editfns.c (Ftemp_directory):
11316         Warning fix.
11317         Avoid buffer overrun on very long file name.
11318
11319         * input-method-xlib.c (XIM_init_device):
11320         6th parameter of XRegisterIMInstantiateCallback has different
11321         pointer types on different OSes, so simply cast to (void *).
11322
11323         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11324
11325         * sysdll.c (dll_open):
11326         shl_load will hang hard if passed a NULL filename.
11327         Simply return NULL for compatibility with dlopen.
11328         * sysdll.c: Conform to XEmacs coding standards.
11329
11330         * sysdep.c (get_pty_max_bytes):
11331         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11332
11333 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11334
11335         * tooltalk.c: Add #include <syssignal.h>
11336
11337 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11338
11339         * s/hpux.h: Don't use undefined function sigunblock().
11340
11341 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11342
11343         * config.h.in: Add HAVE_BALLOON_HELP.
11344         * emacs.c: Use HAVE_BALLOON_HELP.
11345         * Makefile.in.in (x_objs):
11346         Make Balloon Help conditional on finding shape.h.
11347
11348 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11349
11350         * syntax.c (regex_emacs_buffer_p): New variable.
11351         * syntax.h (regex_emacs_buffer_p): extern.
11352         * search.c (looking_at_1):
11353         (string_match_1):
11354         (fast_string_match):
11355         (search_buffer): Set regex_emacs_buffer_p.
11356         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11357         when before_dot, at_dot, after_dot.
11358
11359 2000-08-23  Andy Piper  <andy@xemacs.org>
11360
11361         * gui-x.c (popup_selection_callback): Only set action_occurred
11362         when we really have an image instance.
11363         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11364
11365 2000-08-23  Andy Piper  <andy@xemacs.org>
11366
11367         * gui-msw.c (mswindows_handle_gui_wm_command): set
11368         action_occurred.
11369         * gui-x.c (popup_selection_callback): ditto.
11370
11371         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11372         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11373         (struct Lisp_Image_Instance): add action_occurred flag.
11374
11375         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11376         (image_instance_changed): ditto.
11377         (reset_frame_subwindow_instance_cache): only unmap windows - do
11378         not remove them from the cache also.
11379
11380         * glyphs-widget.c (tab_control_update): better debug.
11381         (progress_gauge_update): ditto.
11382         (layout_update): ditto.
11383         (layout_instantiate): ditto.
11384         (tab_control_order_only_changed): cope with null pending items.
11385
11386         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11387         debug. Force selection of an item when an action occurred. Cope
11388         with null pending_items.
11389         (mswindows_progress_gauge_redisplay): better debug.
11390         * glyphs-x.c (x_tab_control_redisplay): ditto.
11391
11392         * redisplay.c (redisplay_frame): reset the frame cache if the
11393         frame is garbaged.
11394
11395         * window.c (Fset_window_configuration): potentially re-enable
11396         frame cache reset.
11397         (window_unmap_subwindows): need to finalize instances here since
11398         it is only used in mark_window_as_deleted.
11399
11400 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11401
11402         * nas.c (SndOpenDataForReading):
11403         nas.c (WaveOpenDataForReading):
11404         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11405         Somehow escaped from the 2000-08-14 patch.
11406
11407 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11408
11409         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11410         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11411
11412 2000-08-21  Andy Piper  <andy@xemacs.org>
11413
11414         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11415         window if it is not already displayed.
11416
11417         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11418         it is not already displayed.
11419
11420         * window.c (Fset_window_configuration): don't reset the frame
11421         cache.
11422
11423         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11424         instances from the frame cache if we are actually finalizing them.
11425         (reset_frame_subwindow_instance_cache): reset frame cache only
11426         after unmapping everything.
11427         (map_subwindow): set displayed flag after mapping.
11428
11429 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11430
11431         * data.c (indirect_function):
11432         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11433
11434         * eval.c (function_argcount):
11435         Use original function when signaling errors.
11436
11437 2000-08-18  Andy Piper  <andy@xemacs.org>
11438
11439         * frame.c (delete_frame_internal): use new
11440         free_frame_subwindow_instances name.
11441
11442         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11443         (add_tab_item): make return type correct.
11444         (mswindows_tab_control_instantiate): assert index of tab.
11445         (mswindows_tab_control_redisplay): Re-code to use
11446         gui_item_equal_sans_selected and gui_item_list_find_selected.
11447
11448         * glyphs-widget.c (tab_control_update): Correct comment.
11449
11450         * window.c (window_unmap_subwindows): use new
11451         unmap_subwindow_instance_cache_mapper.
11452         (window_unmap_subwindows_cache_mapper): deleted.
11453         (Fset_window_configuration): comparisons should now be with
11454         EQ. Preserve the subwindow instance cache across configuration
11455         changes.
11456         (allocate_window): ditto.
11457         (make_dummy_parent): ditto.
11458
11459         * glyphs.c (free_frame_subwindow_instances): rename from
11460         free_frame_subwindow_instance_cache. finalize all instances rather
11461         than just those in the display cache.
11462         (finalize_all_subwindow_instances): walk windows unmapping and
11463         finalizing subwindows.
11464         (unmap_subwindow_instance_cache_mapper): moved from
11465         window.c. Allow finalization as well as unmapping.
11466
11467         * gui.c (gui_item_list_find_selected): new function.
11468
11469         * gui.h (gui_item_list_find_selected): declare.
11470
11471         * glyphs-x.c (x_tab_control_redisplay): pick tab
11472         explicitly. Re-code to use gui_item_equal_sans_selected and
11473         gui_item_list_find_selected.
11474
11475         * glyphs-x.h: add lwlib-utils.h
11476
11477         * buffer.c (Frecord_buffer): undo previous change.
11478
11479 2000-08-09  Vin Shelton  <acs@xemacs.org>
11480
11481         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11482         possible.  Create temporary files more securely.  The patch was
11483         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11484         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11485         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11486         for details.
11487
11488 2000-08-07  Ben Wing  <ben@xemacs.org>
11489
11490         * getloadavg.c: remove duplicate (and windows-breaking)
11491         includes of fcntl.h and sys/file.h.
11492
11493         * nt.c: remove duplicate getloadavg() definition.
11494
11495         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11496         encodings.
11497
11498 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11499
11500         * eval.c (function_argcount): If function needs to be autoloaded
11501         actually use the loaded definition.
11502         GCPRO function.
11503
11504 2000-08-05  Ben Wing  <ben@xemacs.org>
11505
11506         * getloadavg.c: add prototype for getloadavg().  remove
11507         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11508         of the code).  remove duplicate header includes.
11509
11510         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11511
11512         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11513         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11514         useful load average.
11515
11516         * alloc.c (reinit_alloc_once_early): removed references to
11517         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11518         the lisp vars are the only things referencing the malloc_sbrk_*
11519         vars, and they were already if 0'd out.  these vars only exist
11520         in the older malloc.c, which is basically unused, and they're
11521         only for informational purposes.
11522
11523         * m\*.h: removed useless VIRT_ADDR_VARIES.
11524
11525         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11526
11527 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11528
11529         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11530         color if the image is a mono pixmap.
11531
11532 2000-07-30  Ben Wing  <ben@xemacs.org>
11533
11534         * Makefile.in.in (release):
11535         Remove stray @.
11536
11537         * buffer.c (directory_is_current_directory):
11538         * dired-msw.c (mswindows_get_files):
11539         * dired.c:
11540         * dired.c (Fdirectory_files):
11541         * dired.c (file_name_completion_stat):
11542         * dired.c (Ffile_attributes):
11543         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11544         preprocessor tricks, to avoid problems on some machines
11545         (e.g. SCO).
11546
11547         * callproc.c (egetenv): GC docs.
11548
11549         * console-msw.h:
11550         * console-msw.h (struct mswindows_dialog_id):
11551         * lrecord.h (lrecord_type):
11552         New object for use with MSW dialogs.
11553
11554         * console.h (struct console_methods):
11555         New enable/disable frame methods, for proper modal dialogs.
11556
11557         * device-msw.c (msprinter_default_printer): Fix to follow
11558         proper Mule conventions.
11559
11560         * device-msw.c:
11561         * device-msw.c (signal_open_printer_error):
11562         * device-msw.c (msprinter_init_device):
11563         * device-msw.c (ensure_not_printing):
11564         * device-msw.c (plist_get_margin):
11565         * device-msw.c (Fmsprinter_select_settings):
11566         * device-msw.c (finalize_devmode):
11567         * device-msw.c (Fmsprinter_settings_despecialize):
11568         * device-msw.c (signal_enum_priner_error):
11569         * extents.c (decode_extent):
11570         * extents.c (decode_map_extents_flags):
11571         * extents.c (decode_extent_at_flag):
11572         * extents.c (Fextent_at):
11573         * extents.c (Fextents_at):
11574         * extents.c (symbol_to_glyph_layout):
11575         [[[[2]]]] Use structured errors.
11576
11577         * dialog-msw.c:
11578         * dialog-msw.c (mswindows_is_dialog_msg):
11579         * dialog-msw.c (mark_mswindows_dialog_id):
11580         * dialog-msw.c (dialog_proc):
11581         * dialog-msw.c (handle_question_dialog_box):
11582         * dialog-msw.c (syms_of_dialog_mswindows):
11583         Define new object to clean up marking; use it as a dialog identifier.
11584         Call new delete-dialog-box-hook.
11585
11586         * dialog-x.c (dbox_selection_callback):
11587         * dialog-x.c (dbox_descriptor_to_widget_value):
11588         * dialog-x.c (x_make_dialog_box_internal):
11589         Call new delete-dialog-box-hook.
11590         Return an id.
11591
11592         * dialog.c:
11593         * dialog.c (syms_of_dialog):
11594         * dialog.c (vars_of_dialog):
11595         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11596
11597         * eval.c:
11598         * eval.c (signal_call_debugger):
11599         when noninteractive, output stack traces on the console instead
11600         of in a (never-seen) buffer.
11601
11602         * eval.c (signal_type_error):
11603         * eval.c (invalid_argument_2):
11604         * lisp.h:
11605         new funs for use w/structured errors.
11606
11607         * event-Xt.c:
11608         * event-Xt.c (x_to_emacs_keysym):
11609         * event-Xt.c (describe_event):
11610         * event-Xt.c (emacs_Xt_event_handler):
11611         * event-Xt.c (vars_of_event_Xt):
11612         * event-msw.c:
11613         * event-msw.c (mswindows_wnd_proc):
11614         * event-msw.c (vars_of_event_mswindows):
11615         rename {x,mswindows}-debug-events to debug-{}-events for
11616         consistency with other debug-foo variables.
11617
11618         * event-stream.c:
11619         document next-event more clearly.
11620
11621         * fileio.c (Ffile_name_directory):
11622         * fileio.c (Ffile_name_nondirectory):
11623         * fileio.c (Funhandled_file_name_directory):
11624         * fileio.c (file_name_as_directory):
11625         * fileio.c (Ffile_name_as_directory):
11626         * fileio.c (directory_file_name):
11627         * fileio.c (Fdirectory_file_name):
11628         * fileio.c (Fmake_temp_name):
11629         * fileio.c (Ffile_truename):
11630         * fileio.c (Fsubstitute_in_file_name):
11631         * fileio.c (expand_and_dir_to_file):
11632         * fileio.c (barf_or_query_if_file_exists):
11633         * fileio.c (check_executable):
11634         * fileio.c (Ffile_exists_p):
11635         * fileio.c (Ffile_writable_p):
11636         * fileio.c (Ffile_directory_p):
11637         * fileio.c (Ffile_regular_p):
11638         * fileio.c (Ffile_modes):
11639         * fileio.c (Ffile_newer_than_file_p):
11640         * fileio.c (Fverify_visited_file_modtime):
11641         * fileio.c (Fset_visited_file_modtime):
11642         * fileio.c (auto_save_1):
11643         (1). (2).
11644         fix up gcpro's.
11645
11646         * frame-msw.c:
11647         * frame-msw.c (mswindows_init_frame_1):
11648         * frame-msw.c (mswindows_enable_frame):
11649         * frame-msw.c (error_frame_unsizable):
11650         * frame-msw.c (msprinter_init_frame_1):
11651         * frame-msw.c (msprinter_init_frame_3):
11652         * frame-msw.c (console_type_create_frame_mswindows):
11653         (2).
11654         implement new enable/disable frame methods.
11655
11656         * frame-x.c:
11657         * frame-x.c (x_enable_frame):
11658         * frame-x.c (console_type_create_frame_x):
11659         implement new enable/disable frame methods.
11660
11661         * frame.c:
11662         * frame.c (Fdisable_frame):
11663         * frame.c (syms_of_frame):
11664         * frame.h (struct frame):
11665         implement new enable/disable frame methods/functions.
11666
11667         * general-slots.h:
11668         add initial-focus.
11669
11670         * glyphs-msw.c (mswindows_widget_instantiate):
11671         comment that initial-focus should be implemented.
11672
11673         * glyphs-widget.c:
11674         * glyphs-widget.c (check_valid_instantiator):
11675         * glyphs-widget.c (check_valid_orientation):
11676         * glyphs-widget.c (check_valid_tab_orientation):
11677         * glyphs-widget.c (check_valid_justification):
11678         * glyphs-widget.c (check_valid_border):
11679         * glyphs-widget.c (check_valid_callback):
11680         * glyphs-widget.c (check_valid_int_or_function):
11681         * glyphs-widget.c (check_valid_string_or_vector):
11682         * glyphs-widget.c (check_valid_item_list_1):
11683         * glyphs-widget.c (widget_validate):
11684         * glyphs-widget.c (combo_box_validate):
11685         * glyphs-widget.c (widget_instantiate):
11686         * glyphs-widget.c (syms_of_glyphs_widget):
11687         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11688         * glyphs-widget.c (image_instantiator_combo_box):
11689         * glyphs-widget.c (image_instantiator_scrollbar):
11690         * glyphs-widget.c (image_instantiator_tab_control):
11691         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11692         (2).
11693         support (unimplemented) keyword initial-focus.
11694         reindent long macros.
11695
11696         * glyphs-x.c (x_redisplay_widget):
11697         * glyphs-x.c (x_button_instantiate):
11698         * glyphs-x.c (x_button_redisplay):
11699         * glyphs-x.c (x_progress_gauge_instantiate):
11700         * glyphs-x.c (x_edit_field_instantiate):
11701         * glyphs-x.c (x_combo_box_instantiate):
11702         * glyphs-x.c (x_tab_control_instantiate):
11703         * glyphs-x.c (x_label_instantiate):
11704         * gui-x.c:
11705         * gui-x.c (button_item_to_widget_value):
11706         * gui-x.c (gui_items_to_widget_values_1):
11707         * gui-x.c (gui_item_children_to_widget_values):
11708         * gui-x.c (gui_items_to_widget_values):
11709         * gui-x.h:
11710         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11711         add new flag to gui-parsing routines to indicate whether
11712         accelerator specs should be supported.
11713
11714         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11715
11716         * glyphs.h (struct Lisp_Image_Instance):
11717         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11718         add initial-focus flag.
11719
11720         * gui.c:
11721         * gui.c (syms_of_gui):
11722         * gui.c (vars_of_gui):
11723         clean up menu-no-selection-hook.
11724
11725         * gui.h:
11726         support delete-dialog-box-hook.
11727
11728         * lread.c (Fload_internal):
11729         * lread.c (locate_file_in_directory_mapper):
11730         (1).
11731
11732         * lrecord.h:
11733         * lrecord.h (struct toolbar_button):
11734         * lrecord.h (syms_of_toolbar):
11735         document how to create a new object.
11736
11737         * menubar-msw.c (mswindows_char_is_accelerator):
11738         may be called on frames w/o menus.
11739
11740         * menubar.c (vars_of_menubar):
11741         clean up :filter docs.
11742
11743         * nt.c (readdir):
11744         * ntproc.c:
11745         (1).
11746
11747         * process-nt.c:
11748         * process-nt.c (validate_signal_number):
11749         * process-nt.c (signal_cannot_launch):
11750         * process-nt.c (nt_create_process):
11751         * process-nt.c (nt_send_process):
11752         * process-nt.c (nt_kill_child_process):
11753         * process-nt.c (nt_open_network_stream):
11754         * process-nt.c (syms_of_process_nt):
11755         (2).
11756         delete quote-handling.  call new lisp code that does it better.
11757
11758         * process-unix.c (connect_to_file_descriptor):
11759         * process-unix.c (allocate_pty):
11760         * process-unix.c (unix_send_process):
11761         * process-unix.c (unix_kill_child_process):
11762         * process-unix.c (unix_open_network_stream):
11763         * process-unix.c (unix_open_multicast_group):
11764         (1). (2).
11765
11766         * process.c:
11767         * process.c (Fstart_process_internal):
11768         (2).  need to canonicalize process path even if absolute.
11769
11770         * select-msw.c (symbol_to_ms_cf):
11771         * select-msw.c (ms_cf_to_symbol):
11772         * select-msw.c (cf_is_autofreed):
11773         * select-msw.c (mswindows_destroy_selection):
11774         * select.c:
11775         * select.c (syms_of_select):
11776         * select.h:
11777         support dibv5, fix bugs. (from Mike Alexander)
11778
11779         * select.c (Fget_selection_internal):
11780         * select.c (select_convert_out):
11781
11782         * sysdep.c:
11783         * sysdep.c (xemacs_stat):
11784         renamed.
11785
11786         * sysdep.c (mkdir):
11787         * sysdep.c (rmdir):
11788         but keep original stat() here because we provide encapsulation
11789         around these funs.
11790
11791         * sysfile.h:
11792         * sysfile.h (fstat):
11793         remove stat garbage.
11794
11795         * syswindows.h:
11796         fix X/MSW conflict.
11797         don't include tchar.h.  it's inappropriate because it makes
11798         compile-time distinctions when we want runtime distinctions.
11799         (we provide our own tchar replacements)
11800
11801         * toolbar.c:
11802         use default object printer for toolbar-button.
11803
11804         * unexcw.c:
11805         make sure we don't encapsulate.
11806
11807         * window.c (vars_of_window):
11808         emphasize that temp-buffer-show-hook is obsolete.
11809
11810 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11811
11812         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11813         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11814
11815         * events.c (Fevent_timestamp_lessp):
11816         Not 64-bit clean.  Use EMACS_INT, not int.
11817
11818 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11819
11820         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11821         unsigned int and changed the last enum to
11822         lrecord_type_last_built_in_type.
11823         (lrecord_implementations_table): changed prototype to know how
11824         long the array is supposed to be.
11825         (lrecord_type_count): new unsigned int to keep track of the
11826         current number of lisp lrecord types.
11827         (DEFINE_EXTERNAL_LRECORD):
11828         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11829         dynamic-modules to declare new lisp types. They are the same
11830         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11831         int for each new type, and increment lrecord_type_count by 1.
11832
11833         * alloc.c (lrecord_implementations_table): Changed to reference
11834         lrecord_type_last_built_in_type for the size of the array.
11835         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11836
11837 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11838
11839         * glyphs.h (check_valid_item_list): Renamed from
11840         check_valid_item_list_1.
11841
11842 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11843
11844         * select.c (Qselect_coerce): New.
11845         * select.c (Vselection_coercion_alist): New.
11846         * select.c (syms_of_select): Declare.
11847         * select.c (get-selection-internal): Use it.
11848         Use the new select-coerce functionality.
11849
11850         * select.c (select_coerce): New.
11851         * select.h (select_coerce): Declare.
11852         New function to coerce one type of data into another.
11853
11854 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11855
11856         * callproc.c (Fcall_process_internal):
11857         (Fcall_process_internal):
11858         * process-unix.c (unix_create_process):
11859         Save and restore the value of errno, so that error messages are accurate.
11860
11861 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11862
11863         * elhash.c (print_hash_table):
11864         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11865         Prettify docstrings and indentation.
11866
11867 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11868
11869         * window.c (Fwindow_pixel_edges): Subtract frame border and
11870         gutter size.
11871
11872 2000-07-31  Andy Piper  <andy@xemacs.org>
11873
11874         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11875         will acknowledge the change.
11876
11877         * glyphs.h: declare tab_control_order_only_changed.
11878
11879         * glyphs-x.c (x_tab_control_redisplay): use
11880         tab_control_order_only_changed.
11881
11882         * glyphs-widget.c (tab_control_order_only_changed): new function.
11883
11884         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11885         tab_control_order_only_changed.
11886
11887         * gui.c (gui_item_equal_sans_selected): new function.
11888         (gui_item_equal): use it.
11889
11890         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11891         :properties in favor of :items..
11892
11893         * glyphs-widget.c (check_valid_item_list): rename from
11894         check_valid_item_list_1.
11895         (check_valid_item_list_1): renamed.
11896         (combo_box_validate): deprecate :properties in favor of :items.
11897         (widget_instantiate): ditto.
11898         (tab_control_update): ditto.
11899         (image_instantiator_combo_box): ditto.
11900         (image_instantiator_tree_view): ditto.
11901         (image_instantiator_tab_control): ditto.
11902         (layout_post_instantiate): remove dead code.
11903
11904         * print.c (debug_print_no_newline): only write to debugger if in
11905         WIN32_NATIVE.
11906
11907         * elhash.c (Fmake_hash_table): update doc string.
11908
11909         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11910         messages whilst in GC. This at least stops XEmacs crashing but has
11911         the potential for wierd behaviour.
11912
11913 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11914
11915         * config.h.in:
11916         Make existence of s&m files optional.
11917
11918         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11919         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11920         * s/gnu.h: Remove HAVE_GETLOADAVG.
11921         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11922         * s/sol2.h: Remove HAVE_GETLOADAVG.
11923         * lisp.h: Remove getloadavg() declaration.
11924         * fns.c:
11925         Include <sys/loadavg.h> if available.
11926         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11927         * config.h.in:  Group together getloadavg()-related macros.
11928         Use only configure-time tests to detect getloadavg().
11929
11930 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11931
11932         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11933
11934 2000-07-25  Andy Piper  <andy@xemacs.org>
11935
11936         * syswindows.h: add tchar.h for native builds.
11937
11938         * frame.c (syms_of_frame): remove set-glyph-image.
11939
11940         * general-slots.h: add Qset_glyph_image.
11941
11942         * glyphs-widget.c (layout_update): add domain arg to
11943         set-glyph-image.
11944         (syms_of_glyphs_widget): remove set-glyph-image.
11945
11946 2000-07-23  Ben Wing  <ben@xemacs.org>
11947
11948         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11949         Vpopup_frame_list.
11950
11951 2000-07-22  Andy Piper  <andy@xemacs.org>
11952
11953         * symsinit.h: add syms_of_win32().
11954
11955         * gui-msw.c (syms_of_gui_mswindows): remove
11956         Fmswindows_shell_execute.
11957         (Fmswindows_shell_execute): moved to win32.c.
11958
11959         * emacs.c (main_1): add syms_of_win32 ().
11960
11961         * win32.c (init_potentially_nonexistent_functions): rewrite in
11962         compiler-friendly terms.
11963         (Fmswindows_shell_execute): move here from gui-msw.c.
11964         (syms_of_win32): new.
11965
11966         * device-msw.c (Fmswindows_printer_list): clean up args to
11967         EnumPrinters.
11968         Don't include tchar under cygwin or mingw.
11969         (msprinter_default_printer): make cygwin-friendly.
11970
11971 2000-07-21  Andy Piper  <andy@xemacs.org>
11972
11973         * glyphs-widget.c (image_instantiator_tree_view): use tab
11974         control's update function.
11975         (layout_property): new function. Retrieve items.
11976
11977         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11978         function. Re-populate the tree view from the pending items.
11979
11980         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11981         is designated the parent if the domain is an image instance. This
11982         is needed so that dirtiness can be cascade up the hierarchy and
11983         thus for layout children to be redisplayed correctly.
11984         (allocate_image_instance): rename glyph -> parent.
11985
11986         * redisplay.h: change redisplay_output_layout signature.
11987
11988         * redisplay-msw.c (mswindows_output_display_block): use domain
11989         arg.
11990
11991         * redisplay-x.c (x_output_display_block): use domain arg.
11992
11993 2000-07-10  Andy Piper  <andy@xemacs.org>
11994
11995         * window.c (Fset_window_configuration): add comment.
11996
11997         * redisplay-output.c (compare_runes):
11998         (redisplay_output_subwindow): redisplay rather than update subwindow.
11999         (redisplay_output_layout): ditto.
12000
12001         * redisplay-msw.c (mswindows_frame_output_end):
12002         (mswindows_frame_output_end): make defer window pos optional.
12003
12004         * lisp.h: add Flast.
12005
12006         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12007         normalize method. Change update method to be for changed
12008         instantiators. Add redisplay method. Change signature of layout
12009         method.
12010         (struct Lisp_Image_Instance): add instantiator.
12011         (IMAGE_INSTANCE_INSTANTIATOR): new.
12012         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12013         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12014         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12015
12016         * glyphs.c:
12017         (find_instantiator_differences): new function.
12018         (Fset_instantiator_property): new convenience function.
12019         (check_image_instance_structure): strictly check for vector
12020         instantiators.
12021         (normalize_image_instantiator): make non-static.
12022         (instantiate_image_instantiator): pass on dest_mask and use new
12023         signatures for image_instance_layout and friends.
12024         (mark_image_instance): mark the instantiator. Mark the subwindow
12025         face not the widget face.
12026         (image_instance_equal): add instantiator.
12027         (image_instance_hash): ditto.
12028         (allocate_image_instance): ditto.
12029         (Fset_image_instance_property): removed.
12030         (Fimage_instance_file_name): ditto.
12031         (Fcolorize_image_instance): ditto.
12032         (image_instance_layout): add offsets to be set.
12033         (update_image_instance): new function. update an image instance
12034         from its changed instantiator.
12035         (inherit_normalize): add dest_mask.
12036         (xbm_normalize): ditto.
12037         (xface_normalize): ditto.
12038         (xpm_normalize): ditto.
12039         (text_update): set_property -> update.
12040         (image_instantiate): use the glyph identity as a hash key, not the
12041         instantiator.
12042         (glyph_width): use new image_instance_layout signature.
12043         (glyph_ascent): ditto.
12044         (glyph_descent): ditto.
12045         (glyph_height): ditto.
12046         (glyph_query_geometry): ressurrect.
12047         (glyph_layout): ditto.
12048         (redisplay_subwindow): update -> redisplay.
12049         (syms_of_glyphs): add Fset_instantiator_property.
12050         (image_instantiator_format_create): set_property -> update.
12051
12052         * glyphs-x.c:
12053         (autodetect_normalize): add dest_maks to signature.
12054         (x_redisplay_subwindow): update -> redisplay.
12055         (x_redisplay_widget): ditto.
12056         (x_button_redisplay): ditto.
12057         (x_progress_gauge_redisplay): ditto.
12058         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12059         stacking order.
12060         (console_type_create_glyphs_x): update -> redisplay.
12061         (image_instantiator_format_create_glyphs_x): ditto.
12062
12063         * glyphs-widget.c:
12064         (check_valid_instantiator): disallow glyphs in the instantiator,
12065         they must now be vectors.
12066         (check_valid_instantiator_list): ditto.
12067         (glyph_instantiator_to_glyph): use internal symbol rather than
12068         intern.
12069         (widget_update): renamed from widget_set_property. Call cascaded
12070         update methods.
12071         (redisplay_widget): renamed from update_widget.
12072         (widget_layout): image_instance_layout now takes position as well
12073         as size.
12074         (widget_normalize): ditto.
12075         (widget_instantiate): ditto.
12076         (tab_control_query_geometry) ditto.:
12077         (tab_control_update): renamed from tab_control_set_property.
12078         (progress_gauge_update): set_property -> update.
12079         (layout_normalize): rewrite so that child instantiators are
12080         normalized also.
12081         (layout_update): new function. Create glyphs from the normalized
12082         children and cope with any other layout keywords. We do not
12083         instantiate children here that will be take care of by
12084         redisplay_output_layout.
12085         (layout_instantiate): call layout_update and not much else.
12086         (layout_post_instantiate): not sure whether this is needed
12087         anymore.
12088         (layout_query_geometry): query glyph geometry rather than
12089         image_instance geometry.
12090         (layout_layout): set offsets from pass in parameters. Use glyph
12091         geometry and layout functions rather than image instance ones.
12092         (native_layout_layout): ditto.
12093         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12094         (image_instantiator_widget): set_property -> update.
12095         (image_instantiator_buttons): ditto.
12096         (image_instantiator_progress_guage): ditto.
12097         (image_instantiator_tab_control): ditto.
12098         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12099         (image_instantiator_layout): add update method.
12100
12101         * glyphs-msw.c (bmp_normalize):
12102         (mswindows_resource_normalize): add dest_mask so that it can be
12103         proprogated by layout_normalize.
12104         (begin_defer_window_pos): make optional because it may not be the
12105         right thing to do and it introduces differences with X.
12106         (mswindows_unmap_subwindow): ditto.
12107         (mswindows_map_subwindow): ditto.
12108         (mswindows_redisplay_subwindow): renamed from
12109         mswindows_update_subwindow.
12110         (mswindows_redisplay_widget): ditto.
12111         (mswindows_button_redisplay): renamed from
12112         mswindows_button_update. Update is now what the instantiation
12113         function does for a changed instantiator.
12114         (mswindows_progress_gauge_instantiate): set the progress value
12115         here if appropriate.
12116         (mswindows_tab_control_redisplay): cope with re-ordering of the
12117         members of the tab widget by simply selecting the new top
12118         widget. This makes things appear ok if you click on a tab.
12119         (mswindows_combo_box_instantiate): image_instance_layout now takes
12120         position as well as size.
12121         (mswindows_progress_gauge_redisplay): renamed from
12122         mswindows_progress_gauge_update.
12123         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12124         (image_instantiator_format_create_glyphs_mswindows): ditto.
12125
12126         * glyphs-eimage.c (jpeg_normalize):
12127         (gif_normalize):
12128         (png_normalize):
12129         (tiff_normalize): add dest_mask so that it can be proprogated by
12130         layout_normalize.
12131
12132         * elhash.c:
12133         (print_hash_table):
12134         (hash_table_weakness_validate):
12135         (decode_hash_table_weakness):
12136         (Fhash_table_weakness):
12137         (Fhash_table_type):
12138         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12139
12140         * console.h (struct console_methods): move update_* to
12141         redisplay_*.
12142
12143 2000-07-20  Ben Wing  <ben@xemacs.org>
12144
12145         * *.[ch] (XSETOBJ): remove unused middle argument.
12146         lisp-disunion.h: correct wrap_object() to one argument.
12147
12148 2000-07-15  Ben Wing  <ben@xemacs.org>
12149
12150         * s/cygwin32.h:
12151         * s/cygwin32.h (CYGWIN_CONV_PATH):
12152         Add missing logb prototype for v1.1.
12153         Use post-b20 names and alias to pre-b20 names when pre-b20.
12154
12155         * s/windowsnt.h: [5].
12156
12157 2000-07-15  Ben Wing  <ben@xemacs.org>
12158
12159         * Makefile.in.in (x_objs):
12160         * Makefile.in.in (sheap_objs):
12161         * Makefile.in.in (objs):
12162         added win32.o, cosmetic cleanups.
12163
12164         * alloc.c (Fmake_byte_code):
12165         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12166         etc. macros which declare their own args now.
12167
12168         * alloc.c (syms_of_alloc):
12169         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12170
12171         * buffer.c:
12172         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12173
12174         * buffer.c (Fget_file_buffer):
12175         Fixed GCPRO problem.
12176
12177         * buffer.c (get_truename_buffer):
12178         Fixed comment about GC checking.
12179
12180         * buffer.c (syms_of_buffer):
12181         Undeclared those dedicated frame funs.
12182         [2].
12183
12184         * buffer.h:
12185         Define convenience macros for internal/external conversions.
12186         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12187         and Qenvironment_variable_encoding for cleaner code.
12188
12189         * bufslots.h:
12190         Remove dedicated-frame; in lisp.
12191
12192         * bytecode.c (funcall_compiled_function):
12193         [1].
12194
12195         * bytecode.c (syms_of_bytecode):
12196         [2].
12197
12198         * console-msw.c:
12199         * console-msw.c (mswindows_show_console): Rewrote.
12200
12201         * console-msw.c (Fmswindows_debugging_output): New.
12202         Sends to OutputDebugString (special MSWin debugger interface).
12203
12204         * console-msw.c (Fmswindows_message_box):
12205         Fixed stupid bugs so it works when called from kill-emacs.
12206
12207         * console-msw.c (syms_of_console_mswindows):
12208         Declare Fmswindows_debugging_output.
12209
12210         * console-msw.h:
12211         New MSWin prototypes.
12212
12213         * console-msw.h (struct mswindows_frame):
12214         New entry last-click-mods for improved button-modifier support.
12215
12216         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12217         New struct entry `popup' with corresponding accessor.
12218
12219         * console-x.c:
12220         * console-x.c (split_up_display_spec):
12221         * console-x.c (get_display_arg_connection):
12222         * console-x.c (x_semi_canonicalize_console_connection):
12223         * console-x.c (x_canonicalize_device_connection):
12224         [[[6]]]: Change char to more specific type.
12225         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12226
12227         * console-x.c (x_semi_canonicalize_console_connection):
12228         * console-x.c (x_canonicalize_device_connection):
12229         [[[9]]]: Fix up error signalling to use new structured error system.
12230
12231         * console-x.h:
12232         [[[4]]]: Define codesys aliases:
12233         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12234         Qx_color_name_encoding, Qx_display_name_encoding.
12235
12236         * console.h (struct console_methods):
12237         New method make_dialog_box_internal supersedes older
12238         popup_dialog_box method.
12239
12240         * data.c:
12241         Define many new errors, part of new structured errors.
12242
12243         * data.c (init_errors_once_early):
12244         * data.c (syms_of_data):
12245         [2].
12246
12247         * device-msw.c (mswindows_init_device):
12248         [[[5]]]: Cleanup to support NT 3.51.
12249
12250         * device-msw.c (decode_devmode): Cleanup.
12251
12252         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12253         * device-msw.c (mswindows_handle_print_dialog_box):
12254         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12255         * device-msw.c (syms_of_device_mswindows):
12256         Delete the dialog box primitives recently introduced by Kirill and
12257         instead interface to general dialog box interface.
12258
12259         * device-x.c:
12260         * device-x.c (compute_x_app_name):
12261         * device-x.c (x_init_device):
12262         * device-x.c (Fx_valid_keysym_name_p):
12263         * device-x.c (Fx_set_font_path):
12264         [6].
12265         [7].
12266
12267         * device.h (wrap_device): New.
12268         First of its kind; meant to replace XSETDEVICE.
12269
12270         * dialog-msw.c: Many file-dialog symbols.
12271
12272         * dialog-msw.c (mswindows_register_popup_frame): New.
12273         * dialog-msw.c (mswindows_is_dialog_msg): New.
12274         For supporting kbd traversal in dialog boxes.
12275
12276         * dialog-msw.c (dialog_proc):
12277         Support hitting ESC in dialogs.
12278
12279         * dialog-msw.c (struct):
12280         Common dialog box errors.
12281
12282         * dialog-msw.c (handle_file_dialog_box): New.
12283         Add file dialog code.
12284
12285         * dialog-msw.c (handle_question_dialog_box):
12286         Redo existing code to support new question dialog syntax.
12287
12288         * dialog-msw.c (console_type_create_dialog_mswindows):
12289         We support new dialog console method.
12290
12291         * dialog-msw.c (syms_of_dialog_mswindows):
12292         * dialog-msw.c (vars_of_dialog_mswindows):
12293         New file dialog symbols, vars.
12294
12295         * dialog-x.c:
12296         * dialog-x.c (maybe_run_dbox_text_callback):
12297         * dialog-x.c (dbox_descriptor_to_widget_value):
12298         * dialog-x.c (x_make_dialog_box_internal):
12299         * dialog-x.c (console_type_create_dialog_x):
12300         Mule-ize entire file.
12301         Redo to support question dialog syntax.
12302         [6].
12303
12304         * dialog.c:
12305         * dialog.c (Fmake_dialog_box_internal):
12306         * dialog.c (syms_of_dialog):
12307         Kill old popup-dialog-box, replace with new primitive.
12308         Just call device method or signal error.
12309
12310         * eldap.c (Fldap_open):
12311         * eldap.c (Fldap_search_basic):
12312         * eldap.c (Fldap_add):
12313         * eldap.c (Fldap_modify):
12314         [1].
12315         [7].
12316
12317         * emacs.c:
12318         * emacs.c (make_arg_list_1):
12319         * emacs.c (make_arg_list):
12320         Mule-ize call to dll_init().
12321         [6].
12322         [8].
12323
12324         * emacs.c (make_argc_argv):
12325         * emacs.c (free_argc_argv):
12326         * emacs.c (init_cmdargs):
12327         * emacs.c (main_1):
12328         * emacs.c (Fkill_emacs):
12329         * emacs.c (Fdump_emacs):
12330         Update comments about what can be used in syms_* etc.
12331         Call init_win32() when necessary.
12332         Fix up MS Win dialog box in kill-buffer to actually work right.
12333         [7].
12334
12335         * eval.c:
12336         * eval.c (For):
12337         * eval.c (Fand):
12338         * eval.c (Fprogn):
12339         * eval.c (Fprog1):
12340         * eval.c (Fprog2):
12341         * eval.c (FletX):
12342         * eval.c (Flet):
12343         * eval.c (condition_case_3):
12344         * eval.c (Feval):
12345         * eval.c (function_argcount):
12346         * eval.c (funcall_lambda):
12347         [1].
12348
12349         * eval.c (type_error): New.
12350         * eval.c (maybe_type_error): New.
12351         * eval.c (continuable_type_error): New.
12352         * eval.c (maybe_continuable_type_error): New.
12353         * eval.c (type_error_with_frob): New.
12354         * eval.c (maybe_type_error_with_frob): New.
12355         * eval.c (continuable_type_error_with_frob): New.
12356         * eval.c (maybe_continuable_type_error_with_frob): New.
12357         New functions for use with structured errors.
12358
12359         * event-Xt.c:
12360         * event-Xt.c (x_event_to_emacs_event):
12361         Buttons are now modifiers too.
12362
12363         * event-Xt.c (emacs_Xt_current_event_timestamp):
12364         Implement new event method.
12365         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12366
12367         * event-msw.c:
12368         * event-msw.c (ntpipe_shove_writer): [5].
12369         * event-msw.c (mswindows_enqueue_mouse_button_event):
12370         * event-msw.c (mswindows_drain_windows_queue):
12371         * event-msw.c (mswindows_wnd_proc): [7].
12372         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12373         * event-msw.c (mswindows_modifier_state):
12374         Throughout: support new button modifiers.
12375
12376         * event-msw.c (emacs_mswindows_current_event_timestamp):
12377         Implement new event method.
12378         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12379
12380         * event-stream.c:
12381         * event-stream.c (event_stream_current_event_timestamp): New.
12382         * event-stream.c (maybe_kbd_translate): New functionality.
12383         * event-stream.c (vars_of_event_stream):
12384         Document new kbd-translate-table functionality.
12385
12386         * event-stream.c (Fcurrent_event_timestamp): New.
12387         New primitive for use in fabricated events.
12388         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12389
12390         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12391
12392         * events.c:
12393         * events.c (Fmake_event):
12394         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12395         [1].
12396         [9].
12397
12398         * events.c (format_event_object): fix gcc warnings.
12399
12400         * events.c (Fevent_timestamp): Document new primitives.
12401
12402         * events.c (TIMESTAMP_HALFSPACE): New.
12403
12404         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12405         comparing timestamps correctly (half-space algorithm).
12406
12407         * events.c (Fevent_modifier_bits): Doc fix.
12408
12409         * events.c (Fevent_modifiers): Major doc addition.
12410         * events.c (event_x_y_pixel_internal): Typo fix.
12411         * events.c (syms_of_events): Declare new primitives.
12412
12413         * events.h:
12414         Update long comment for button modifiers, timestamps.
12415
12416         * events.h (struct event_stream):
12417         New current_event_timestamp method.
12418
12419         * extents.c:
12420         * extents.c (extent_in_region_p):
12421         * extents.c (decode_extent):
12422         * extents.c (Fset_extent_parent):
12423         * extents.c (decode_map_extents_flags):
12424         Fix gcc warnings.
12425         [9].
12426
12427         * extents.c (struct extent_at_arg):
12428         * extents.c (decode_extent_at_flag):
12429         * extents.c (extent_at_mapper):
12430         * extents.c (extent_at_bytind):
12431         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12432         * extents.c (Fextents_at): New primitive. [9].
12433         * extents.c (symbol_to_glyph_layout): [9].
12434         Support new primitive `extents-at'.
12435
12436
12437         * extents.c (get_text_property_bytind):
12438         extent_at_bytind has another arg.
12439         [9].
12440
12441         * extents.c (syms_of_extents): New primitive.
12442
12443         * file-coding.c (Fmake_coding_system): [1].
12444         * file-coding.c (subsidiary_coding_system): fix gcc warning
12445         * file-coding.c (syms_of_file_coding): [2].
12446
12447         * fileio.c (Fexpand_file_name):
12448         * fileio.c (Fsysnetunam):
12449         * fileio.c (Ffile_exists_p):
12450         * fileio.c (Ffile_executable_p):
12451         * fileio.c (Fverify_visited_file_modtime):
12452         Clean up GCPROing.
12453
12454         * fileio.c (syms_of_fileio): [2].
12455
12456         * filelock.c (lock_file_1):
12457         * filelock.c (current_lock_owner):
12458         * filelock.c (lock_if_free):
12459         * filelock.c (lock_file):
12460         * filelock.c (unlock_file):
12461         Clean up GCPROing.
12462
12463         * fns.c (concat): Fix gcc warning.
12464
12465         * fns.c (Fmember):
12466         * fns.c (Fold_member):
12467         * fns.c (Fmemq):
12468         * fns.c (Fold_memq):
12469         * fns.c (memq_no_quit):
12470         * fns.c (Fassoc):
12471         * fns.c (Fold_assoc):
12472         * fns.c (Fassq):
12473         * fns.c (Fold_assq):
12474         * fns.c (assq_no_quit):
12475         * fns.c (Frassoc):
12476         * fns.c (Fold_rassoc):
12477         * fns.c (Frassq):
12478         * fns.c (Fold_rassq):
12479         * fns.c (rassq_no_quit):
12480         * fns.c (Fdelete):
12481         * fns.c (Fold_delete):
12482         * fns.c (Fdelq):
12483         * fns.c (Fold_delq):
12484         * fns.c (delq_no_quit):
12485         * fns.c (Fremassoc):
12486         * fns.c (Fremassq):
12487         * fns.c (remassq_no_quit):
12488         * fns.c (Fremrassoc):
12489         * fns.c (Fremrassq):
12490         * fns.c (remrassq_no_quit):
12491         * fns.c (Freverse):
12492         * fns.c (mapcar1):
12493         [1].
12494
12495         * frame-msw.c (mswindows_init_frame_1):
12496         * frame-msw.c (mswindows_delete_frame):
12497         Register popups with dialog code so keyboard traversing works.
12498
12499         * frame-tty.c (tty_raise_frame_no_select): [1].
12500
12501         * frame-x.c:
12502         * frame-x.c (x_set_frame_text_value):
12503         * frame-x.c (x_set_frame_properties):
12504         * frame-x.c (x_create_widgets):
12505         [7].
12506
12507         * frame.c:
12508         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12509
12510         * frame.h (wrap_frame): New.
12511         Macro like wrap_device.
12512
12513         * general.c:
12514         * general.c (SYMBOL):
12515         * general.c (syms_of_general):
12516         Major reorg.  This is now just a wrapper and symbols themselves
12517         are listed in general-slots.h.
12518
12519         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12520         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12521
12522         * glyphs-msw.c (mswindows_native_layout_instantiate):
12523         Add DS_CONTROL so keyboard traversal will work.
12524
12525         * glyphs-widget.c:
12526         * glyphs-widget.c (syms_of_glyphs_widget):
12527         Move some symbols to general-slots.h.
12528
12529         * glyphs-x.c:
12530         * glyphs-x.c (xbm_instantiate_1):
12531         * glyphs-x.c (x_xbm_instantiate):
12532         * glyphs-x.c (x_xface_instantiate):
12533         * glyphs-x.c (autodetect_instantiate):
12534         * glyphs-x.c (cursor_font_instantiate):
12535         * glyphs-x.c (x_update_widget):
12536         * glyphs-x.c (x_widget_instantiate):
12537         * glyphs.c (bitmap_to_lisp_data):
12538         * glyphs.c (pixmap_to_lisp_data):
12539         [7].
12540
12541         * glyphs.c (syms_of_glyphs):
12542         [2].
12543
12544         * gui-x.c:
12545         * gui-x.c (print_widget_value):
12546         * gui-x.c (menu_separator_style_and_to_external):
12547         * gui-x.c (add_accel_and_to_external):
12548         * gui-x.c (button_item_to_widget_value):
12549         * gui-x.c (gui_items_to_widget_values_1):
12550         * gui-x.c (gui_items_to_widget_values):
12551         * gui-x.c (syms_of_gui_x):
12552         * gui-x.c (vars_of_gui_x):
12553         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12554         [9].
12555
12556         * gui-x.h:
12557         Muleize, prototype changes matching gui-x.c.
12558
12559         * gui.c:
12560         * gui.c (separator_string_p):
12561         * gui.c (gui_item_add_keyval_pair):
12562         * gui.c (make_gui_item_from_keywords_internal):
12563         * gui.c (signal_too_long_error):
12564         * gui.c (parse_gui_item_tree_item):
12565         * gui.c (syms_of_gui):
12566         * gui.c (vars_of_gui):
12567         * gui.h:
12568         menu-no-selection-hook moved here (used by MSWin).
12569         Move some symbols to general-slots.h.
12570         [6].
12571         [9].
12572
12573         * insdel.c (get_buffer_pos_char):
12574         * insdel.c (get_buffer_range_char):
12575         Add GC comments.
12576
12577         * keymap.c (keymap_lookup_directly):
12578         * keymap.c (keymap_store):
12579         * keymap.c (ensure_meta_prefix_char_keymapp):
12580         * keymap.c (describe_map):
12581         * keymap.h:
12582         Support new button modifiers.
12583
12584         * lisp-disunion.h (wrap_object):
12585         * lisp-disunion.h (XSETOBJ):
12586         Rename make_obj to wrap_object.
12587
12588         * lisp-union.h:
12589         * lisp-union.h (make_int):
12590         * lisp-union.h (make_char):
12591         Support wrap_object.
12592
12593         * lisp.h:
12594         * lisp.h (LIST_LOOP):
12595         * lisp.h (EXTERNAL_LIST_LOOP):
12596         * lisp.h (LIST_LOOP_2):
12597         * lisp.h (EXTERNAL_LIST_LOOP_1):
12598         * lisp.h (EXTERNAL_LIST_LOOP_2):
12599         * lisp.h (EXTERNAL_LIST_LOOP_3):
12600         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12601         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12602         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12603         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12604         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12605         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12606         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12607         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12608         * lisp.h (struct Lisp_Symbol):
12609         * lisp.h (maybe_continuable_error_with_frob):
12610         Fix up section comments.
12611         Add new types for char to indicate usage.
12612         Delete symbols auto-generated from general-slots.h.
12613         Add prototypes for structured error functions.
12614         Add long comments describing looping macros and change interface
12615         so that lvalues are automatically declared.
12616         Add NO_DECLARE macro in case callers want to declare lvalues
12617         themselves.
12618
12619         * lread.c (read_syntax_error):
12620         * lread.c (continuable_read_syntax_error):
12621         * lread.c (read_structure):
12622         * lread.c (sequence_reader):
12623         * lread.c (read_list_conser):
12624         * lread.c (read_compiled_function):
12625         Rename syntax_error and continuable_syntax_error to avoid clash
12626         with same-named structured error functions.
12627
12628         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12629         * menubar-msw.c (populate_menu_add_item):
12630         * menubar-msw.c (populate_or_checksum_helper):
12631         [5].
12632         [9].
12633
12634         * menubar-x.c:
12635         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12636         Mule-ize whole file.
12637
12638         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12639
12640         * mule-charset.c (Fmake_charset):
12641         * mule-wnnfns.c (Fwnn_set_param):
12642         [1].
12643
12644         * ntproc.c (create_child):
12645         * ntproc.c (Fwin32_set_current_locale):
12646         Add comments portending doom.
12647
12648         * objects-msw.c:
12649         * objects-msw.c (old_font_enum_callback_2):
12650         * objects-msw.c (font_enum_callback_1):
12651         * objects-msw.c (mswindows_enumerate_fonts):
12652         [5].
12653
12654         * objects-x.c:
12655         * objects-x.c (allocate_nearest_color):
12656         * objects-x.c (x_parse_nearest_color):
12657         * objects-x.c (x_initialize_color_instance):
12658         * objects-x.c (x_print_color_instance):
12659         * objects-x.c (x_finalize_color_instance):
12660         * objects-x.c (x_valid_color_name_p):
12661         * objects-x.c (x_initialize_font_instance):
12662         * objects-x.c (x_print_font_instance):
12663         * objects-x.c (valid_x_font_name_p):
12664         * objects-x.c (truename_via_FONT_prop):
12665         * objects-x.c (truename_via_random_props):
12666         * objects-x.c (truename_via_XListFonts):
12667         * objects-x.c (x_font_truename):
12668         * objects-x.c (x_font_instance_truename):
12669         * objects-x.c (x_font_instance_properties):
12670         * objects-x.c (x_list_fonts):
12671         * objects-x.c (x_find_charset_font):
12672         Mule-ize entire file.
12673         [7].
12674
12675         * objects-x.h:
12676         Mule-verify.
12677
12678         * print.c:
12679         * print.c (std_handle_out_external):
12680         * print.c (debug_print_no_newline):
12681         * print.c (syms_of_print):
12682         Output to all debugger kinds in debug-print.
12683         Fix console-output code under MSWin to actually work.
12684
12685         * process-nt.c (send_signal):
12686         * process-nt.c (nt_create_process):
12687         Use newer Unicode macros.
12688
12689         * process-unix.c (unix_create_process):
12690         * process-unix.c (unix_canonicalize_host_name):
12691         * process-unix.c (unix_open_network_stream):
12692         [7].
12693
12694         * scrollbar-x.c:
12695         Mule-verify.
12696
12697         * search.c (syms_of_search):
12698         [2].
12699
12700         * select-msw.c (mswindows_destroy_selection):
12701         Use LIST_LOOP_2.
12702
12703         * select-x.c (symbol_to_x_atom):
12704         [7].
12705
12706         * select.c (syms_of_select):
12707         [2].
12708
12709         * sound.c (Fplay_sound_file):
12710         [7].
12711
12712         * specifier.c:
12713         * specifier.c (decode_specifier_type):
12714         * specifier.c (Fvalid_specifier_locale_type_p):
12715         * specifier.c (check_valid_locale_or_locale_type):
12716         * specifier.c (decode_locale):
12717         * specifier.c (decode_locale_type):
12718         * specifier.c (decode_locale_list):
12719         * specifier.c (check_valid_domain):
12720         * specifier.c (decode_specifier_tag_set):
12721         * specifier.c (Fcanonicalize_tag_set):
12722         * specifier.c (Fdefine_specifier_tag):
12723         * specifier.c (Fspecifier_tag_predicate):
12724         * specifier.c (check_valid_inst_list):
12725         * specifier.c (check_valid_spec_list):
12726         * specifier.c (decode_how_to_add_specification):
12727         * specifier.c (check_modifiable_specifier):
12728         * specifier.c (specifier_add_spec):
12729         * specifier.c (boolean_validate):
12730         * specifier.c (display_table_validate):
12731         [9].
12732
12733         * specifier.c (syms_of_specifier):
12734         Move some symbols to general-slots.h.
12735         [2].
12736
12737         * symbols.c:
12738         * symbols.c (Fmapatoms):
12739         * symbols.c (Fapropos_internal):
12740         Add GCPROs.
12741
12742         * symbols.c (set_default_buffer_slot_variable):
12743         * symbols.c (set_default_console_slot_variable):
12744         [1].
12745
12746         * symbols.c (defsymbol_massage_name_1):
12747         * symbols.c (defkeyword_massage_name):
12748         * symbols.c (deferror_1):
12749         * symbols.c (deferror):
12750         * symbols.c (deferror_massage_name_and_message):
12751         * symeval.h:
12752         * symeval.h (DEFSYMBOL):
12753         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12754
12755         * symbols.c (syms_of_symbols):
12756         [2].
12757
12758         * symsinit.h:
12759         * symsinit.h (init_win32): New.
12760         Also new is syms_of_dialog_mswindows.
12761
12762         * syswindows.h:
12763         Add new Unicode macros, missing Cygwin wide-char functions,
12764         convenience conversion macros for Qmswindows_tstr, macros for
12765         encapsulating required MSWin <-> Cygwin filename conversions,
12766         prototype for dynamically-extracted (not in NT 3.51) functions.
12767
12768         * toolbar-x.c:
12769         Mule-verify.
12770
12771         * tooltalk.c (Fadd_tooltalk_message_arg):
12772         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12773         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12774         [7].
12775
12776         * tooltalk.c (syms_of_tooltalk):
12777         [2].
12778
12779         * unexnt.c:
12780         * unexnt.c (unexec):
12781         Fix up headers, declaration of unexec() to be more standard.
12782
12783 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12784
12785         * offix.h: Revert change to guard macros - they're used in offix.c!
12786
12787 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12788
12789         * lisp.h: Defsubred Fdelete.
12790
12791         * console-msw.h:  (msprinter_default_printer): Added.
12792
12793         * console-msw.c (msprinter_canonicalize_console_connection):
12794         (msprinter_canonicalize_device_connection): Added.
12795
12796         * device-msw.c (msprinter_default_printer):
12797         (Fmswingows_get_default_printer):
12798         (signal_enum_priner_error):
12799         (Fmswingows_printer_list): Added.
12800
12801 2000-07-19  Martin Buchholz <martin@xemacs.org>
12802
12803         * XEmacs 21.2.35 is released.
12804
12805 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12806
12807         * select-x.c (x_handle_selection_request):
12808         Text selected in xemacs and pasted into xterm failed to appear.
12809         Spelling fixes and cosmetic changes.
12810
12811 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12812
12813         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12814         XEmacs frame (fix for doubling chars in dialog boxes).
12815
12816 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12817
12818         * select.c (select_convert_in, select_convert_out):
12819         Don't call intern() every time.
12820
12821         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12822         * select.c (vars_of_select): Initialise them.
12823
12824 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12825
12826         * select.c (selection-coercible-types): New.
12827
12828         * select.c (own-selection-internal):
12829         * select.c (get-selection-internal):
12830         MULE bug fix - these should default to COMPOUND_TEXT and not
12831         STRING for MULE. I think.
12832
12833         * select.c (select_convert_out): Use selection-coercible-types
12834         to find types that we can attempt to perform coercions on.
12835
12836 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12837
12838         * mule-wnnfns.c:
12839         * mule-canna.c:
12840         Add coding: cookie to identify encoding.
12841
12842         * mule-canna.c (CANNA_mode_keys): make static.
12843         Use proper prototypes, even for functions of no arguments.
12844         Remove external prototype for Fding().
12845
12846         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12847
12848         * select.c (syms_of_select): Add missing DEFSUBR.
12849
12850 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12851
12852         * select.c (get_selection_internal, own_selection_internal):
12853         Make the type default to STRING, rather than placing a nil type
12854         into Vselection_alist.
12855
12856 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12857
12858         * gpmevent.c (tty_selection_exists_p):
12859         * gpmevent.c (tty_own_selection):
12860         Updated parameter lists.
12861
12862 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12863
12864         * select.h (selection-alist): Removed declaration.
12865
12866         * select.h (get_local_selection):
12867         * select.c (get_local_selection):
12868         Made static.
12869
12870         * select.h (convert_selection): Removed declaration.
12871         * select.c (convert_selection): Removed.
12872         This function belongs in Lisp.
12873
12874         * select.h (select_convert_in): Declare.
12875         * select.h (select_convert_out): Declare.
12876         * select.c (select_convert_in): New.
12877         * select.c (select_convert_out): New.
12878         New conversion functions for other files to call.
12879
12880         * select.h (select_notify_buffer_kill): Declare.
12881         * select.c (select_notify_buffer_kill): New.
12882         New functions that get called from kill-buffer.
12883
12884         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12885         X-specific lisp code.
12886
12887         * select.h: Declare some of the lisp-visible functions for
12888         external use.
12889
12890         * select.c (clean_local_selection_data): Removed. This was
12891         a disgusting function, and previously should have been in
12892         select-x.c in any case. The functionality is now provided
12893         in select-convert-from-integer (select.el).
12894
12895         * select.c (available-selection-types): Fixed stupidity where
12896         INTEGER and ATOM got added twice. Also add STRING when we see an
12897         extent.
12898
12899         * select.c (get-selection-internal): Removed symbol stripping. No
12900         longer causes conversion when data comes from the internal cache.
12901
12902         * select.c (syms_of_select): Added new functions.
12903
12904         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12905         error checking - previously this called abort!
12906
12907         * select-x.c (x_own_selection): Changed comment.
12908
12909         * select-x.c (x_handle_selection_request): Use select_convert_out.
12910         Don't mess with selection-alist; it's an internal variable of select.c.
12911
12912         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12913
12914         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12915         rather than messing with selection-alist.
12916
12917         * select-msw.c (mswindows_get_foreign_selection):
12918         Use TO_INTERNAL_FORMAT rather than hacking.
12919
12920 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12921
12922         * process-unix.c (unix_open_multicast_group):
12923         (unix_open_multicast_group): Remove useless casts.
12924
12925 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12926
12927         * sound.c (Fplay_sound): Fix `unused variable' warning.
12928
12929         * emacs.c (main): Use correct type for _environ on SCO5.
12930
12931 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12932
12933         * console.h (own_selection_method):
12934         * console.h (selection_exists_p_method):
12935         * console.h (available_selection_types_method): New.
12936         * console.h (register_selection_data_type_method): New.
12937         * console.h (selection_data_type_name): New.
12938
12939         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12940         function & alist to track GlobalAlloc()'d handles that need
12941         releasing when the clipboard data gets replaced or emptied.
12942
12943         * event-msw.c (mswindows_wnd_proc): Call it.
12944
12945         * lisp.h, general.c (Qappend): New symbol representing a
12946         `how-to-add' mode.
12947
12948         * select.c (own-selection-internal):
12949         * select.c (selection-exists-p):
12950         * select.c (available-selection-types): New.
12951         * select.c (register-selection-data-type): New.
12952         * select.c (selection-data-type-name): New.  New functions to deal
12953         with device-specific selection data formats.
12954         * select.c (selection-converter-out-alist): Renamed.
12955         * select.c (selection-converter-in-alist): New.
12956         * select.c (selection-appender-alist): New.  Added new alists.
12957         * select.c (syms_of_select, vars_of_select): Added new symbols &
12958         variables.
12959         * select.c (get_local_selection): Split.
12960         * select.c: Removed spurious type checking - selections may now be
12961         of any type, not just strings.
12962         * select.c (own-selection-internal):
12963
12964         * select.h, select.c (convert_selection): New. Created
12965         convert_selection() function based on get_local_selection().
12966         * select.h, select.c (QCF_*): New symbols representing mswindows
12967         clipboard formats.
12968         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12969         symbols representing `how-to-add' modes.
12970
12971         * select-msw.c (x_sym_p): New.
12972         * select-msw.c (symbol_to_ms_cf): New.
12973         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12974         symbols & clipboard formats. Can also handle string names.
12975         * select-msw.c (mswindows_own_selection):
12976         * select-msw.c (mswindows_selection_exists_p):
12977         Added `data-type' parameter. Use it.
12978         * select-msw.c (mswindows_available_selection_types): New.
12979         * select-msw.c (mswindows_register_selection_data_type): New.
12980         * select-msw.c (mswindows_selection_data_type_name): New.
12981         * select-msw.c (mswindows_own_selection):
12982         * select-msw.c (mswindows_get_foreign_selection):
12983         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12984         * select-msw.c (console_create_select_mswindows): Added new methods.
12985         * select-msw.c (mswindows_destroy_selection): New.
12986         * select-msw.c (Vhandle_alist): New list.
12987         * select-msw.c (mswindows_own_selection):
12988
12989         * select-x.c (x_own_selection):
12990         * select-x.c (x_selection_exists_p):
12991         * select-x.c: Added some comments about maybe using new
12992         functionality.
12993         * select-x.c (x_own_selection):
12994
12995         * specifier.c: Remove definition of Qappend (now in general.c)
12996         * specifier.c (syms_of_specifier): Remove Qappend.
12997
12998 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12999
13000         * config.h.in: Add socklen_t.
13001
13002         * s/decosf4-0.h: No special compiler flags needed or desired.
13003         In particular, undefine _BSD for DEC OSF 4.0.
13004
13005 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13006
13007         * redisplay-msw.c (msprinter_frame_output_end): Added.
13008         (console_type_create_redisplay_mswindows): Referred the above.
13009
13010         * frame.c (setup_frame_without_minibuffer): Do not create a
13011         default minibuffer frame on a printer device.
13012
13013         * frame-msw.c (apply_dc_geometry): Added.
13014         (msprinter_start_page):
13015         (msprinter_init_frame_3):
13016         (msprinter_eject_page): Use it.
13017
13018         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13019         and removed residual duplex and orientation properties.
13020
13021 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13022
13023         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13024
13025         * unexalpha.c: Remove system prototypes from C sources!
13026
13027 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13028
13029         * eval.c: Remove references to M-x edit-options in DEFUNs for
13030         `defvar' and `defconst'.
13031
13032 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13033
13034         * config.h.in: Remove SMART_INCLUDE hackery.
13035
13036         PostgreSQL hacking:
13037         * config.h.in: Don't use SMART_INCLUDE.
13038
13039         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13040         * inline.c: Simply #include "postgresql.h"
13041         * postgresql.c:
13042         - Don't use SMART_INCLUDE
13043         - Use simply "const".
13044         - Use standard doc string conventions.
13045         - Use correct type for result of PQstatus.
13046
13047 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13048
13049         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13050
13051         C++ compilation changes.
13052         * config.h.in (EXTERN_C): Define.
13053         * config.h.in (not): This is also a C++ keyword.
13054         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13055         * cm.c: Use EXTERN_C.
13056         * redisplay-tty.c: Use EXTERN_C.
13057         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13058
13059 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13060
13061         * general.c: Remove duplicate definition for Qfunction.
13062
13063 2000-07-08  Ben Wing  <ben@xemacs.org>
13064
13065         * device-msw.c (msprinter_init_device):
13066         * device-msw.c (sync_printer_with_devmode):
13067         * device-msw.c (handle_devmode_changes):
13068         * device-msw.c (print_dialog_worker):
13069         * device-msw.c (Fmsprinter_apply_settings):
13070         * device-msw.c (hash_devmode):
13071         * device-msw.c (Fmsprinter_settings_despecialize):
13072         use Qmswindows_tstr, not Qctext.
13073
13074         * vm-limit.c (check_memory_limits):
13075         avoid infinite loop printing warning messages.
13076
13077 2000-07-05  Craig Lanning  <lanning@scra.org>
13078
13079         * Makefile.in.in: Add support for including the Windows resources
13080         when building with the cygwin and mingw targets.
13081
13082         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13083         not set or not correct.
13084         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13085         (init_initial_directory): Don't try to use $PWD on the
13086         WIN32_NATIVE target.
13087
13088         * s\cygwin32.h:
13089         [[Add -mwindows to eliminate console window.]] not required --ben
13090         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13091         (MAIL_USE_POP): removed; now handled by configure.
13092
13093         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13094         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13095         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13096         (MAIL_USE_POP): removed; now handled by configure.
13097         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13098         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13099         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13100         constant string.
13101         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13102         up from <winsock.h> via systime.h.
13103         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13104         (getpagesize): from Dan Holmsand, added.
13105         Added #endif which was left dangling by Ben's mega patch; added
13106         comment to help prevent this in the future.
13107
13108         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13109
13110 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13111
13112         * console-msw.h (struct mswindows_device): Removed unnecessary
13113         cached device geometry values.
13114         Added update_tick and an accessor macro.
13115         (Lisp_Devmode): Added lrecord declaration.
13116         (struct msprinter_device): Contain devmode as a Lisp object.
13117         Added mswindows_get_selected_frame_hwnd();
13118
13119         * console.h (struct console_methods): Indentation nitpicking.
13120
13121         * device-msw.c (mswindows_init_device): Do not initialize geometry
13122         cache. Initialize update tick.
13123         (mswindows_device_system_metrics): Ask the device for its geometry.
13124         (global_free_2_maybe):
13125         (devmode_to_hglobal):
13126         (handle_printer_changes):
13127         (ensure_not_printing):
13128         (print_dialog_worker):
13129         (Fmsprinter_print_setup_dialog):
13130         (Fmsprinter_print_dialog):
13131         (plist_get_margin):
13132         (plist_set_margin):
13133         (Fmsprinter_page_setup_dialog): Added functions.
13134         (sync_printer_with_devmode):
13135         (handle_devmode_changes):
13136         (Fmsprinter_get_settings):
13137         (Fmsprinter_select_settings):
13138         (Fmsprinter_apply_settings):
13139         (allocate_devmode):
13140         (Fmsprinter_settings_copy):
13141         (Fmsprinter_settings_despecialize):
13142         (print_devmode):
13143         (finalize_devmode):
13144         (equal_devmode):
13145         (hash_devmode): Added functions
13146         (syms_of_device_mswindows): Init devmode lrecord class.
13147
13148         * device.h: Added an exfun for find-device.
13149
13150         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13151         geometry; although, recreate the device compatible DC.
13152
13153         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13154         (msprinter_init_frame_3):
13155         (msprinter_frame_property):
13156         (msprinter_internal_frame_property_p):
13157         (msprinter_frame_properties):
13158         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13159         print job properties (will move to device settings).
13160
13161         * lisp.h: Added symbols.
13162
13163         * general.c (syms_of_general): Declared them.
13164
13165         * hash.c (string_hash): Added.
13166
13167         * lrecord.h (lrecord_type): Added devmode lrecord type.
13168
13169 2000-07-02  Mike Sperber <mike@xemacs.org>
13170
13171         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13172         FreeBSD 4.0.
13173
13174 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13175
13176         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13177         integer.
13178
13179 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13180
13181         * data.c (Fstring_to_number): Don't recognize floating point if
13182         base is not 10.
13183
13184 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13185
13186         * glyphs-widget.c (tab_control_query_geometry):
13187         (widget_query_geometry):
13188         (button_query_geometry):
13189         * glyphs.c (text_query_geometry):
13190         Enforce type correctness.
13191
13192 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13193
13194         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13195         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13196
13197 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13198
13199         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13200         conflicts with gcc's fixincluded version of FOO.h.
13201
13202         * glyphs.h (image_instance_geometry): Remove trailing `,'
13203
13204 2000-06-08  Mike Alexander  <mta@arbortext.com>
13205
13206         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13207         (shove_thread): Don't write the same output twice
13208         (make_ntpipe_output_stream): Increase priority of shove thread
13209         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13210         chance to run
13211         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13212         it.
13213
13214 2000-06-12  Ben Wing  <ben@xemacs.org>
13215
13216         * s\mingw32.h (sigset):
13217         * s\windowsnt.h (sigset):
13218         rename msw_ to mswindows_ for consistency with general convention.
13219
13220 2000-06-12  Ben Wing  <ben@xemacs.org>
13221
13222         * console-msw.c:
13223         * console-msw.c (mswindows_get_console_hwnd):
13224         * console-msw.c (mswindows_ensure_console_allocated):
13225         * console-msw.c (mswindows_hide_console):
13226         * console-msw.c (mswindows_show_console):
13227         * console-msw.c (mswindows_ensure_console_buffered):
13228         * console-msw.c (mswindows_output_console_string):
13229         * console-msw.c (mswindows_windows9x_p):
13230         * console-msw.h:
13231         * device-msw.c (mswindows_get_workspace_coords):
13232         * device-msw.c (mswindows_device_system_metrics):
13233         * dialog-msw.c (mswindows_popup_dialog_box):
13234         * event-msw.c (mswindows_wnd_proc):
13235         * frame-msw.c (mswindows_size_frame_internal):
13236         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13237         * menubar-msw.c (displayable_menu_item):
13238         * menubar-msw.c (mswindows_char_is_accelerator):
13239         * nt.c:
13240         * nt.c (mswindows_sigset):
13241         * nt.c (mswindows_sigrelse):
13242         * nt.c (mswindows_sigpause):
13243         * nt.c (mswindows_raise):
13244         * nt.c (timer_proc):
13245         * ntproc.c:
13246         * ntproc.c (find_child_console):
13247         * ntproc.c (sys_kill):
13248         * print.c:
13249         * print.c (std_handle_out_external):
13250         * process-nt.c (find_child_console):
13251         * process-nt.c (send_signal_the_95_way):
13252         * process-nt.c (ensure_console_window_exists):
13253         * process-nt.c (nt_create_process):
13254         * syssignal.h:
13255         rename msw_ to mswindows_ for consistency with general convention.
13256
13257         * emacs.c:
13258         * dumper.c:
13259         include nt.h, not syswindows.h.
13260
13261         * nt.c (mswindows_fstat):
13262         * nt.c (mswindows_stat):
13263         prefix mswindows_ instead of attempting to directly override the
13264         library functions.  fix declarations.
13265
13266         * nt.h:
13267         include syswindows.h.  move some sysdep.h stuff here.
13268
13269         * ntheap.h:
13270         include syswindows.h, not <windows.h>.
13271
13272         * ntplay.c:
13273         clean up headers.
13274
13275         * sysdep.c:
13276         clean up headers.
13277
13278         * sysdep.c (sys_fstat):
13279         * sysdep.c (sys_stat):
13280         call mswindows versions when appropriate.
13281
13282         * sysdep.h:
13283         move mswin decls to nt.h.
13284
13285         * syswindows.h:
13286         add long comment describing appropriate use of the various windows
13287         headers.
13288
13289 2000-06-11  Ben Wing  <ben@xemacs.org>
13290
13291         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13292
13293 2000-06-10  Ben Wing  <ben@xemacs.org>
13294
13295         * Makefile.in.in (release):
13296         Correction to make sure xemacs.exe always dumped when correct.
13297
13298         * alloca.c:
13299         * balloon_help.c:
13300         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13301
13302         * buffer.c (set_buffer_internal):
13303         [[[[2]]]]: Remove HAVE_FEP code.
13304
13305         * buffer.c (init_initial_directory):
13306         [3].
13307
13308         * bytecode.c:
13309         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13310         individual files.
13311
13312         * callproc.c:
13313         * callproc.c (call_process_cleanup):
13314         * callproc.c (Fold_call_process_internal):
13315         * callproc.c (child_setup):
13316         * callproc.c (getenv_internal):
13317         * callproc.c (init_callproc):
13318         * callproc.c (vars_of_callproc):
13319         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13320         __CYGWIN32__ -> CYGWIN.
13321         DOS_NT -> WIN32_NATIVE.
13322         Remove MSDOS support/references, converting to WIN32_NATIVE
13323           where correct.
13324         __MINGW32__ -> MINGW.
13325         Fix windows.h includes.
13326         Remove bogus HAVE_NTGUI.
13327
13328         * config.h.in:
13329         [2].
13330
13331         * console-msw.c:
13332         mswindows_message_outputted added for use in allowing startup
13333         errors on the console to be seen.
13334
13335         * console-msw.c (msw_ensure_console_allocated):
13336         * console-msw.c (msw_output_console_string):
13337         * console-msw.c (DHEADER):
13338         * console-msw.c (DOPAQUE_DATA):
13339         * console-msw.c (DEVENT):
13340         * console-msw.c (DCONS):
13341         * console-msw.c (DCONSCDR):
13342         * console-msw.c (DSTRING):
13343         * console-msw.c (DVECTOR):
13344         * console-msw.c (DSYMBOL):
13345         * console-msw.c (DSYMNAME):
13346         Fix warnings.
13347
13348         * console-stream.c (stream_init_console):
13349         Fix text/binary problems.
13350
13351         * device-msw.c:
13352         * device-msw.c (mswindows_finish_init_device):
13353         * device-msw.c (mswindows_delete_device):
13354         [1].
13355
13356         * device.c (handle_asynch_device_change):
13357         [3].
13358
13359         * dgif_lib.c:
13360         * dgif_lib.c (DGifOpenFileName):
13361         * dgif_lib.c (DGifOpenFileHandle):
13362         * dgif_lib.c (DGifGetLine):
13363         * dgif_lib.c (DGifGetPixel):
13364         Added config.h/lisp.h, fix up includes.
13365         [1].
13366
13367         * dired-msw.c:
13368         [4].
13369
13370         * dired.c:
13371         * dired.c (file_name_completion):
13372         * dired.c (Ffile_attributes):
13373         * dired.c (syms_of_dired):
13374         [1].
13375
13376         * dumper.c:
13377         * dumper.c (pdump_file_unmap):
13378         * dumper.c (pdump_load):
13379         [1].
13380
13381         * editfns.c:
13382         * editfns.c (Ftemp_directory):
13383         * editfns.c (user_login_name):
13384         * editfns.c (Fuser_real_login_name):
13385         * editfns.c (get_home_directory):
13386         [1].
13387
13388         * elhash.c (finish_marking_weak_hash_tables):
13389         [[[[5]]]]: Fix GCC warnings.
13390
13391         * emacs.c:
13392         * emacs.c (mswindows_handle_hardware_exceptions):
13393         * emacs.c (make_arg_list_1):
13394         * emacs.c (main_1):
13395         * emacs.c (Fkill_emacs):
13396         * emacs.c (Fdump_emacs):
13397         [1].
13398         Fix problems with nested crashes, add long comment.
13399
13400         * event-Xt.c (init_event_Xt_late):
13401         [1].
13402
13403         * event-msw.c:
13404         * event-msw.c (mswindows_dde_callback):
13405         * event-msw.c (mswindows_handle_sticky_modifiers):
13406         * event-msw.c (mswindows_wnd_proc):
13407         [1].
13408         [5].
13409
13410         * events.c (character_to_event):
13411         [1].
13412
13413         * fileio.c:
13414         * fileio.c (Ffile_name_directory):
13415         * fileio.c (Ffile_name_nondirectory):
13416         * fileio.c (directory_file_name):
13417         * fileio.c (Fexpand_file_name):
13418         * fileio.c (Fsubstitute_in_file_name):
13419         * fileio.c (Ffile_name_absolute_p):
13420         * fileio.c (check_executable):
13421         * fileio.c (Ffile_readable_p):
13422         * fileio.c (Ffile_accessible_directory_p):
13423         * fileio.c (Ffile_modes):
13424         * fileio.c (Funix_sync):
13425         * fileio.c (vars_of_fileio):
13426         [1]. [4].
13427
13428         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13429
13430         Expand getdefdir defn.
13431         Fix bogus rename() comment.
13432
13433         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13434         to use standard XEmacs include files, e.g. sysfile.h, rather
13435         than system-specific includes.
13436
13437         * fns.c:
13438         * fns.c (Fsubseq):
13439         [5]. [6].
13440
13441         * frame.c (vars_of_frame):
13442         [1].
13443
13444         * getloadavg.c:
13445         * getloadavg.c (getloadavg):
13446         [1]. [6].
13447         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13448         (We don't use it elsewhere in the code; just add a comment.)
13449
13450         * gif_io.c:
13451         [6].
13452         Add config.h.
13453
13454         * glyphs-msw.c:
13455         * glyphs-msw.c (mswindows_resource_instantiate):
13456         [1].
13457
13458         * glyphs-x.c (x_native_layout_instantiate):
13459         [5].
13460
13461         * gui-msw.c (Fmswindows_shell_execute):
13462         [1].
13463
13464         * insdel.c:
13465         [4].
13466
13467         * lisp.h:
13468         [4]. [5].
13469
13470         * lread.c (locate_file_in_directory_mapper):
13471         [1].
13472
13473         * lstream.c:
13474         [4].
13475
13476         * mem-limits.h:
13477         * mem-limits.h (get_lim_data):
13478         [1].
13479
13480         * menubar-msw.c:
13481         [4].
13482
13483         * ndir.h:
13484         [1].
13485
13486         * nt.c:
13487         * nt.c (getwd):
13488         * nt.c (closedir):
13489         * nt.c (rva_to_section):
13490         * nt.c (mswindows_executable_type):
13491         [1]. [6].
13492         Fix closedir() defn.
13493
13494         * nt.h:
13495         [[[[8]]]]: *_OK defs moved to sysfile.h.
13496
13497         * ntproc.c:
13498         [6]. [7].
13499
13500         * objects-x.c:
13501         [4].
13502
13503         * print.c:
13504         * print.c (std_handle_out_external):
13505         [1]. [4].
13506
13507         * process-nt.c:
13508         * process-nt.c (nt_create_process):
13509         [6].
13510         try to fix process quoting somewhat.
13511
13512         * process-unix.c (unix_create_process):
13513         [1].
13514
13515         * process.c:
13516         * process.c (vars_of_process):
13517         Add Vnull_device.
13518
13519         * process.h:
13520         [1].
13521
13522         * realpath.c:
13523         * realpath.c (xrealpath):
13524         [1].
13525
13526         * redisplay-tty.c (init_tty_for_redisplay):
13527         [3].
13528
13529         * redisplay.c:
13530         [4]. [6].
13531
13532         * scrollbar-msw.c:
13533         [4].
13534
13535         * sheap.c:
13536         * sheap.c (more_static_core):
13537         * sheap.c (report_sheap_usage):
13538         [5]. [6].
13539
13540         * signal.c:
13541         * signal.c (alarm_signal):
13542         [1]. [6].
13543
13544         * sound.c:
13545         [6].
13546
13547         * strftime.c:
13548         * strftime.c (zone_name):
13549         [1]. [5].
13550
13551         * symsinit.h (init_sunpro):
13552         [1].
13553
13554         * syscommctrl.h:
13555         commctrl.h not in Cygwin b20.1.
13556
13557         * sysdep.c:
13558         * sysdep.c (endif):
13559         * sysdep.c (sys_subshell):
13560         * sysdep.c (init_baud_rate):
13561         * sysdep.c (emacs_get_tty):
13562         * sysdep.c (emacs_set_tty):
13563         * sysdep.c (tty_init_sys_modes_on_device):
13564         * sysdep.c (init_system_name):
13565         * sysdep.c (sys_open):
13566         * sysdep.c (interruptible_open):
13567         * sysdep.c (sys_fopen):
13568         * sysdep.c (sys_mkdir):
13569         * sysdep.c (sys_rename):
13570         * sysdep.c (get_process_times_1):
13571         [1]. [6].
13572
13573         * sysdep.h:
13574         [1].
13575
13576         * sysdir.h:
13577         * sysdir.h (DIRENTRY_NONEMPTY):
13578         [1]. [6].
13579
13580         * sysdll.c (dll_init):
13581         * sysdll.h:
13582         [1].
13583
13584         * sysfile.h:
13585         [1]. [6]. [8].
13586         added text/binary defs.
13587
13588         * sysfloat.h:
13589         [1].
13590
13591         * sysproc.h:
13592         * sysproc.h (EDESTADDRREQ):
13593         * sysproc.h (poll_fds_for_input):
13594         [1]. [6].
13595
13596         * syspwd.h:
13597         [6].
13598
13599         * syssignal.h:
13600         [1].
13601
13602         * systime.h:
13603         [1]. [6].
13604
13605         * systty.h:
13606         [1].
13607
13608         * syswindows.h:
13609         [1].
13610         Always define WIN32_LEAN_AND_MEAN.
13611
13612         * unexcw.c (unexec):
13613         [5].
13614
13615         * unexec.c:
13616         * unexec.c (copy_text_and_data):
13617         * unexec.c (adjust_lnnoptrs):
13618         [1].
13619
13620         * unexnt.c:
13621         * unexnt.c (_start):
13622         [1].
13623
13624 2000-06-07  Ben Wing  <ben@xemacs.org>
13625
13626         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13627         was used only as a model.  We've long since extracted any useful
13628         logic or code out of this. (I just did an exhaustive search.)
13629
13630         * s\msdos.h: Removed.
13631
13632         * s\windows95.h: Removed.
13633
13634 2000-06-10  Ben Wing  <ben@xemacs.org>
13635
13636         * s\cygwin32.h:
13637         [1]. [5].
13638         Don't use extern with fun defs.
13639
13640         * s\mingw32.h:
13641         [1]. [7].
13642         Remove nt\inc include.
13643         Remove getdisk, getdefdir. (The former is unused, the latter
13644         expanded in fileio.h.)
13645
13646         * s\windowsnt.h:
13647         * s\windowsnt.h (WIN32_NATIVE):
13648         * s\windowsnt.h (HAVE_STRCASECMP):
13649         [1]. [7].
13650         Add long comment about preprocessor changes.
13651         Remove getdisk, getdefdir. (The former is unused, the latter
13652         expanded in fileio.h.)
13653
13654 2000-06-10  Ben Wing  <ben@xemacs.org>
13655
13656         * m\arm.h:
13657         * m\delta.h:
13658         * m\intel386.h:
13659         * m\sequent.h:
13660         * m\template.h:
13661         * m\windowsnt.h:
13662         [1].
13663         Remove bogus/unused NO_SOCK_SIGIO.
13664
13665 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13666
13667         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13668         not an Emchar.
13669
13670 2000-06-04  Mike Sperber <mike@xemacs.org>
13671
13672         * casetab.c (set_case_table): For `set-standard-case-table',
13673         actually deposit the new case tables where the rest of XEmacs can
13674         see them.
13675
13676 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13677
13678         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13679
13680 2000-06-05  Ben Wing  <ben@xemacs.org>
13681
13682         * callproc.c (child_setup): Don't do close_load_descs() under
13683         MS Windows.  Put in a comment explaining why.
13684
13685 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13686
13687         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13688         Toolkit shell" which breaks `kill-compilation' on Windows NT
13689         native, retaining STDERR handling improvements.
13690
13691 2000-06-01  Andreas Jaeger  <aj@suse.de>
13692
13693         * s/s390.h: Support for S390, based on a patch by Martin
13694         Schwidefsky <schwidefsky@de.ibm.com>.
13695
13696 2000-05-30  Andy Piper  <andy@xemacs.org>
13697
13698         * window.c (allocate_window):
13699         (make_dummy_parent):
13700         (Fset_window_configuration): use new hashtable type.
13701
13702         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13703         (struct image_instantiator_methods):
13704         (struct Lisp_Image_Instance): make instance geometry signed.
13705
13706         * glyphs.c (instantiate_image_instantiator):
13707         (image_instance_query_geometry):
13708         (image_instance_layout):
13709         (image_instance_layout):
13710         (query_string_geometry):
13711         (text_query_geometry):
13712         (image_instantiate):
13713         (image_instantiate):
13714         (cache_subwindow_instance_in_frame_maybe):
13715         (subwindow_query_geometry): make instance geometry signed.
13716
13717         * glyphs-widget.c (widget_query_geometry):
13718         (widget_layout):
13719         (button_query_geometry):
13720         (tree_view_query_geometry):
13721         (tab_control_query_geometry):
13722         (layout_query_geometry):
13723         (layout_layout):
13724         (native_layout_layout): make instance geometry signed.
13725
13726 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13727
13728         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13729         constant.
13730
13731         * general.c (syms_of_general): Add Qfull_assoc symbol.
13732
13733         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13734         correctly.
13735         (decode_weak_list_type): Decode full-assoc type.
13736         (encode_weak_list_type): Encode full-assoc type.
13737         (Fmake_weak_list): Update doc string.
13738
13739 2000-05-30  Andy Piper  <andy@xemacs.org>
13740
13741         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13742
13743         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13744         (decode_hash_table_weakness): ditto.
13745         (Fhash_table_weakness): ditto.
13746         (Fhash_table_type): ditto.
13747         (finish_marking_weak_hash_tables): ditto.
13748         (hash_table_weakness_validate): ditto.
13749         (syms_of_elhash): ditto.
13750
13751 2000-05-28  Martin Buchholz <martin@xemacs.org>
13752
13753         * XEmacs 21.2.34 is released.
13754
13755 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13756
13757         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13758         start cache.
13759         (updating_line_start_cache): Gone.
13760         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13761         generic code to force a minimum of 1 line laid out in the
13762         CMOTION_DISP case.
13763
13764 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13765
13766         * glyphs.c (instantiate_image_instantiator): Check for initialized
13767         height & width no longer special cases IMAGE_NOTHING.
13768         (nothing_instantiate): Set height and width of instance.
13769
13770 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13771
13772         * unexelf.c (unexec): Search for ".data" section.
13773         Initialize new_data2_offset from old_data_index.
13774         Remove redundant check for ElfW.
13775
13776 2000-05-23  Andy Piper  <andy@xemacs.org>
13777
13778         * glyphs.c (get_image_instantiator_governing_domain): allow more
13779         specific domains as the governing domain rather than expecting an
13780         exact match. This fixes problems with layouts.
13781
13782 2000-05-22  Andy Piper  <andy@xemacs.org>
13783
13784         * redisplay-output.c (compare_runes): check for non-images
13785
13786         * glyphs.c (set_glyph_dirty_p): ditto.
13787         (update_glyph_cachel_data): ditto.
13788
13789         * glyphs-widget.c (layout_post_instantiate): ditto.
13790         (layout_post_instantiate): ditto.
13791
13792         * event-msw.c (mswindows_wnd_proc): warning removal.
13793
13794 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13795
13796         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13797
13798         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13799
13800         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13801
13802         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13803         (mswindows_executable_type): mingw32 now has enough headers for
13804         this to work.
13805
13806 2000-05-20  Andy Piper  <andy@xemacs.org>
13807
13808         * console-msw.c (mswindows_output_last_error): ; -> ,
13809
13810 2000-05-12  Andy Piper  <andy@xemacs.org>
13811
13812         * console-msw.c (FROB): compare ints with ints.
13813
13814 2000-05-11  Andy Piper  <andy@xemacs.org>
13815
13816         * glyphs-x.c (x_finalize_image_instance): make minimal build
13817         happy.
13818
13819 2000-05-20  Ben Wing  <ben@xemacs.org>
13820
13821         * event-Xt.c:
13822         * event-Xt.c (vars_of_event_Xt):
13823         move modifier-keys-are-sticky to event-stream.c.
13824
13825         * event-msw.c:
13826         * event-msw.c (mswindows_enqueue_mouse_button_event):
13827         * event-msw.c (key_needs_default_processing_p):
13828         * event-msw.c (XEMSW_LCONTROL):
13829         * event-msw.c (mswindows_handle_sticky_modifiers):
13830         * event-msw.c (FROB):
13831         * event-msw.c (clear_sticky_modifiers):
13832         * event-msw.c (output_modifier_keyboard_state):
13833         * event-msw.c (output_alt_keyboard_state):
13834         * event-msw.c (mswindows_wnd_proc):
13835         * event-msw.c (mswindows_modifier_state):
13836         * event-msw.c (emacs_mswindows_handle_magic_event):
13837         implement sticky modifiers.
13838
13839         * event-stream.c:
13840         * event-stream.c (vars_of_event_stream):
13841         move modifier-keys-are-sticky here.
13842
13843         * lisp.h:
13844         add CHECK_FUNCTION.
13845
13846         * rangetab.c:
13847         implement map-range-table.
13848
13849
13850 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13851
13852         * redisplay-tty.c (reset_tty_modes):
13853         (tty_redisplay_shutdown): Adjust argument type to
13854         tty_frame_output_end.
13855
13856 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13857
13858         * eval.c (Fbacktrace): Don't output a line with only right
13859         parenthesis.
13860
13861 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13862
13863         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13864         (Fpq_reset_poll): Ditto.
13865
13866 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13867
13868         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13869
13870 2000-05-16  Ben Wing  <ben@xemacs.org>
13871
13872         * buffer.c:
13873         * buffer.c (dfc_convert_to/from_internal_format):
13874         * buffer.c (reinit_vars_of_buffer):
13875         Fix conversion functions to allow reentrancy.
13876
13877         * console-msw.c:
13878         * console-msw.c (mswindows_output_last_error):
13879         New fun, generally useful -- output a human-readable
13880         version of GetLastError() on the console.
13881
13882         * console-msw.h:
13883         * console-msw.h (struct mswindows_frame):
13884         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13885
13886         * console-stream.c (stream_output_begin):
13887         * console-stream.c (stream_output_end):
13888         * console-stream.c (stream_output_vertical_divider):
13889         * console-stream.c (stream_clear_region):
13890         * console-stream.c (stream_flash):
13891         * console-stream.c (console_type_create_stream):
13892         Delete blank stream methods, not needed.
13893
13894         * console.h (struct console_methods):
13895         Split begin/end methods into window and frame.
13896
13897         * event-msw.c:
13898         * event-msw.c (mswindows_handle_paint):
13899         * event-msw.c (output_alt_keyboard_state):
13900         * event-msw.c (mswindows_wnd_proc):
13901         * event-msw.c (vars_of_event_mswindows):
13902         Comment about problems with ignored-expose.
13903         Define mswindows-debug-events; not really implemented.
13904
13905         * frame-msw.c (mswindows_init_frame_1):
13906         random cleanups.
13907
13908         * glyphs-msw.c:
13909         * glyphs-msw.c (begin_defer_window_pos):
13910         * glyphs-msw.c (mswindows_unmap_subwindow):
13911         * glyphs-msw.c (mswindows_map_subwindow):
13912         * glyphs-msw.c (mswindows_resize_subwindow):
13913         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13914
13915         * glyphs.c (make_image_instance_1):
13916         Fix crash.
13917
13918         * gutter.c (Fredisplay_gutter_area):
13919         Use new begin/end methods.
13920
13921         * lisp.h (Dynarr_new2):
13922         New creation fun.
13923
13924         * redisplay-msw.c:
13925         * redisplay-msw.c (mswindows_frame_output_begin):
13926         * redisplay-msw.c (mswindows_frame_output_end):
13927         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13928         New begin/end methods -- handle DeferWindowPos.
13929
13930         * redisplay-output.c (redisplay_move_cursor):
13931         * redisplay-output.c (redraw_cursor_in_window):
13932         * redisplay-output.c (redisplay_update_line):
13933         * redisplay-output.c (redisplay_output_window):
13934         New begin/end methods.
13935
13936         * redisplay-tty.c:
13937         * redisplay-tty.c (tty_frame_output_begin):
13938         * redisplay-tty.c (tty_frame_output_end):
13939         * redisplay-tty.c (console_type_create_redisplay_tty):
13940         New begin/end methods.
13941
13942         * redisplay-x.c:
13943         * redisplay-x.c (x_window_output_begin):
13944         * redisplay-x.c (x_window_output_end):
13945         * redisplay-x.c (console_type_create_redisplay_x):
13946         New begin/end methods.
13947
13948         * redisplay.c (redisplay_frame):
13949         * redisplay.c (Fredisplay_echo_area):
13950         New begin/end methods.
13951         use MAYBE_DEVMETH for clear_frame; it may not exist.
13952
13953         * window.h (WINDOW_XFRAME):
13954         WINDOW_XFOO macros -- get locale and decode struct pointer.
13955
13956
13957 2000-05-12  Ben Wing  <ben@xemacs.org>
13958
13959         * emacs.c:
13960         * emacs.c (ensure_no_quitting_from_now_on):
13961         * emacs.c (fatal_error_signal):
13962         * emacs.c (mswindows_handle_hardware_exceptions):
13963         * emacs.c (main):
13964         * emacs.c (Fkill_emacs):
13965         * emacs.c (shut_down_emacs):
13966         * emacs.c (assert_failed):
13967         various improvements in fatal error handling.
13968
13969         * eval.c:
13970         move preparing_for_armageddon to emacs.c.
13971
13972         * lisp.h:
13973         declare fatal_error_in_progress.
13974
13975         * print.c:
13976         * print.c (std_handle_out_external):
13977         * print.c (std_handle_out_va):
13978         * print.c (stderr_out):
13979         * print.c (stdout_out):
13980         use console under mswin when no standard output.
13981         don't do code conversion during fatal error.
13982
13983         * scrollbar.c (Fscrollbar_page_up):
13984         * scrollbar.c (Fscrollbar_page_down):
13985         fix missing else.  reindent.
13986
13987 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13988
13989         Emergency fix.
13990
13991         * glyphs.h (GLYPH_CACHEL_DESCENT):
13992         (GLYPH_CACHEL_DESCENT):
13993         (GLYPH_CACHEL_DESCENT):
13994         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13995         used in case these are inline functions.
13996         Use more absurd values to error check.
13997
13998         include window.h for error check functions.
13999
14000 2000-05-11  Ben Wing  <ben@xemacs.org>
14001
14002         * cmdloop.c (Freally_early_error_handler):
14003         Display message box under windows; otherwise, message will disappear
14004         before it can be viewed.
14005
14006         * console-msw.c:
14007         * console-msw.c (Fmswindows_message_box):
14008         * console-msw.c (FROB):
14009         * console-msw.c (syms_of_console_mswindows):
14010         Define new fun `mswindows-message-box'.
14011         #### I will merge this into `popup-dialog-box'; just give me
14012         a bit of time.
14013
14014         * general.c:
14015         * general.c (syms_of_general):
14016         Some new symbols used in `mswindows-message-box'.
14017
14018         * glyphs.c:
14019         * glyphs.c (Fset_image_instance_property):
14020         put warning in this fun.
14021
14022         * glyphs.h:
14023         * glyphs.h (GLYPH_CACHEL_WIDTH):
14024         * glyphs.h (GLYPH_CACHEL_ASCENT):
14025         * glyphs.h (GLYPH_CACHEL):
14026         * glyphs.h (GLYPH_CACHEL_GLYPH):
14027         define error-checking versions to try to catch a bug i've seen --
14028         redisplay gets in an infinite loop because the glyph width of the
14029         continuation glyph is 65535.
14030
14031         * lisp.h:
14032         Extern message-box stuff.
14033
14034         * window.c (allocate_window):
14035         * window.c (make_dummy_parent):
14036         * window.c (Fset_window_configuration):
14037         Use EQUAL not EQ for subwindow caches to make them work a bit
14038         better. (Something is still very broken.)
14039
14040
14041 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14042
14043         * glyphs.c (image_instantiate): Suppress gcc warnings.
14044         (Fmake_image_instance): Fix doc string.
14045         * specifier.c (Fmake_specifier): Ditto.
14046
14047 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14048
14049         * paths.h.in (PATH_LOCK): Removed.
14050         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14051         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14052
14053 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14054
14055         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14056         Document (featurep '(and xemacs 21.02)).
14057
14058 2000-05-09  Ben Wing  <ben@xemacs.org>
14059
14060         * buffer.c (complex_vars_of_buffer):
14061         update modeline-format doc.
14062
14063         * device.h:
14064         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14065
14066         * emacs.c:
14067         timeline of all released versions of Emacs, for use in creating
14068         authorship comments and in synching up.
14069
14070         * glyphs-widget.c (image_instantiator_buttons):
14071         * glyphs-widget.c (image_instantiator_edit_fields):
14072         * glyphs-widget.c (image_instantiator_combo_box):
14073         * glyphs-widget.c (image_instantiator_scrollbar):
14074         * glyphs-widget.c (image_instantiator_progress_guage):
14075         * glyphs-widget.c (image_instantiator_tree_view):
14076         * glyphs-widget.c (image_instantiator_tab_control):
14077         * glyphs-widget.c (image_instantiator_labels):
14078         * glyphs-widget.c (image_instantiator_layout):
14079         * glyphs-widget.c (image_instantiator_native_layout):
14080         rename decode_domain method to governing_domain.
14081
14082         * glyphs.c:
14083         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14084         * glyphs.c (add_entry_to_device_ii_format_list):
14085         make sure we don't put an entry more than once into the list.
14086         * glyphs.c (check_instance_cache_mapper):
14087         *************************************************************
14088         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14089         HAVE BEEN GETTING.
14090         *************************************************************
14091         * glyphs.c (get_image_instantiator_governing_domain):
14092         clean up, expand on new concept of governing domain.
14093         * glyphs.c (instantiate_image_instantiator):
14094         * glyphs.c (allocate_image_instance):
14095         use governing_domain instead of cache_domain in naming.
14096         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14097         * glyphs.c (make_image_instance_1):
14098         * glyphs.c (Fmake_image_instance):
14099         allow for any domain (not just device), and process the
14100         governing domain correctly.  very big doc fix.
14101         * glyphs.c (Fimage_instance_domain):
14102         new primitive, to retrieve the governing domain of an image instance.
14103         * glyphs.c (image_instantiate):
14104         use new governing_domain stuff.  this fixes a crash you could get
14105         by instantiating certain widget glyphs in frame locales. (should
14106         signal an error instead of crashing.)
14107         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14108         * glyphs.c (Fglyphp): clean up doc.
14109         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14110         * glyphs.c (syms_of_glyphs):
14111         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14112         * glyphs.c (image_instantiator_format_create): add some comments about
14113         bogus code.
14114         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14115         for current-display-table. (Apparently Hrjove implemented in 1998 a
14116         design I wrote up in 1996, but didn't update the doc string.)
14117
14118         * glyphs.h: clean up a doc string.
14119         * glyphs.h (governing_domain):
14120         * glyphs.h (struct image_instantiator_methods):
14121         changes for governing_domain stuff.
14122
14123         * gutter.c:
14124         * gutter.c (Fgutter_specifier_p):
14125         * gutter.c (Fgutter_size_specifier_p):
14126         * gutter.c (Fgutter_visible_specifier_p):
14127         * objects.c:
14128         * objects.c (Fcolor_specifier_p):
14129         * objects.c (Ffont_specifier_p):
14130         * objects.c (Fface_boolean_specifier_p):
14131         doc strings moved to make-*-specifier.
14132
14133         * redisplay.c (add_disp_table_entry_runes_1):
14134         * redisplay.c (generate_fstring_runes):
14135         * redisplay.c (screen):
14136         add random comments and doc strings.
14137
14138         * specifier.c:
14139         * specifier.c (Fmake_specifier):
14140         major overhaul of this doc string.
14141
14142         * specifier.c (Fvalid_specifier_domain_p):
14143         comment about the bogosity of image instances being domains.
14144         * specifier.c (decode_domain):
14145         now non-static, used in glyphs.c.
14146         * specifier.c (specifier_instance):
14147         comment about the bogosity of image instances being domains.
14148         * specifier.c (Fgeneric_specifier_p):
14149         move doc string to make-generic-specifier.
14150         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14151         rebackslashify.
14152
14153         * specifier.h:
14154         * specifier.h (DOMAIN_FRAME):
14155         * specifier.h (DOMAIN_LIVE_P):
14156         * specifier.h (DOMAIN_XDEVICE):
14157         rebackslashify.
14158         add comments about problems with these macros.
14159         prototype for decode_domain.
14160
14161         * toolbar.c:
14162         * toolbar.c (Ftoolbar_specifier_p):
14163         move doc string to `make-toolbar-specifier'.
14164
14165         * window.c (window_unmap_subwindows_cache_mapper):
14166         *************************************************************
14167         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14168         HAVE BEEN GETTING.
14169         *************************************************************
14170
14171 2000-05-09  Andy Piper  <andy@xemacs.org>
14172
14173         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14174
14175         * window.c (Fset_window_configuration): reset the frame subwindow
14176         cache and re-initialize the window subwindow caches.
14177
14178         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14179
14180 2000-05-09  Ben Wing  <ben@xemacs.org>
14181
14182         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14183         DWORD.
14184
14185 2000-04-26  Mike Woolley  <mike@bulsara.com>
14186
14187         * ntheap.c: Changed recreate_heap to limit the amount reserved
14188         for the heap to that which is actually available. Also now
14189         displays a message box (with some dignostics) in the event that
14190         it still can't start.
14191
14192 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14193
14194         * callproc.c (Fold_call_process_internal): GCPRO path
14195
14196 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14197
14198         Patch by Bill Perry.
14199
14200         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14201         back data instead of #ifdef.
14202         (Fscrollbar_page_down): ditto.
14203
14204 2000-05-07  Ben Wing  <ben@xemacs.org>
14205
14206         * buffer.h:
14207         Kludge for defining Qmswindows_tstr.
14208
14209         * nt.c:
14210         * nt.c (open_input_file):
14211         * nt.c (open_output_file):
14212         * nt.c (rva_to_section):
14213         * nt.c (mswindows_executable_type):
14214         Move all memory-mapped-file routines here (some were in unexnt.c,
14215         which is bad because they are used by process-nt.c, and unexnt
14216         won't be around when portable dumping).  Synched the above routines
14217         with FSF 20.6.
14218
14219         * nt.h:
14220         Removed ifdef'd out bogus code.
14221         Fixed some prototypes.
14222
14223         * nt.h (file_data):
14224         * nt.h (OFFSET_TO_RVA):
14225         * nt.h (RVA_TO_OFFSET):
14226         * nt.h (RVA_TO_PTR):
14227         Moved the memory-mapped-file structures, macros and prototypes
14228         here, to parallel nt.c.  ntheap.h should really be removed
14229         entirely, and it's a non-portable-dumper specific file.
14230
14231         * ntheap.h (round_to_next):
14232         Moved the memory-mapped-file structures, macros and prototypes
14233         to nt.h.
14234
14235         * ntproc.c (compare_env):
14236         Moved rva_to_section and mswindows_executable_type to nt.c.
14237         Moved compare_env to process-nt.c.
14238         ntproc.c will die, one day.
14239
14240         * ntproc.c (sys_spawnve):
14241         Account for win32_ -> mswindows_.
14242
14243         * process-nt.c:
14244         * process-nt.c (struct nt_process_data):
14245         * process-nt.c (ensure_console_window_exists):
14246         * process-nt.c (compare_env):
14247         * process-nt.c (nt_create_process):
14248         * process-nt.c (nt_kill_process_by_pid):
14249         * process-nt.c (syms_of_process_nt):
14250         * process-nt.c (vars_of_process_nt):
14251         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14252         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14253         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14254         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14255         Move compare_env here from ntproc.c.
14256
14257         * process.c (Fprocess_send_region):
14258         Takes an optional fourth argument, BUFFER, which should fix some
14259         problems with call-process.
14260
14261         * syscommctrl.h:
14262         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14263
14264         * syswindows.h:
14265         Move ICC_BAR_CLASSES to syscommctrl.h.
14266         Add preliminary macros for MSWindows/Mule.  More to come.
14267
14268         * unexnt.c:
14269         * unexnt.c (unexec):
14270         open_output_file moved to nt.c.
14271
14272
14273 2000-05-05  Andy Piper  <andy@xemacs.org>
14274
14275         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14276         instance from the frame cache also since GC may catch up too late
14277         to make frame deletion sane.
14278
14279 2000-05-04  Andy Piper  <andy@xemacs.org>
14280
14281         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14282         (x_finalize_image_instance): ungcpro on deletion.
14283
14284         * glyphs.c (image_instantiator_format_create): give pointers a
14285         query geometry method so that the geometry is at least set.
14286
14287         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14288         initialize layouts if using widgets.
14289
14290 2000-05-03  Andy Piper  <andy@xemacs.org>
14291
14292         * nt.c: remove bogus reference to sysmmsystem.h
14293
14294         * gui-x.c (popup_selection_callback): fix no selection abort.
14295
14296 2000-05-02  Andy Piper  <andy@xemacs.org>
14297
14298         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14299         (mswindows_widget_instantiate): ditto.
14300
14301         * glyphs-widget.c (initialize_widget_image_instance): initialize
14302         children correctly.
14303         (widget_instantiate): cope with children and items in the same
14304         instance.
14305
14306         * glyphs.c (mark_image_instance): cope with children as a first
14307         class member.
14308         (image_instance_equal): ditto.
14309         (image_instance_hash): ditto.
14310         (image_instance_changed): ditto.
14311
14312 2000-04-30  Andy Piper  <andy@xemacs.org>
14313
14314         * glyphs.c (subwindow_query_geometry): new function. Return some
14315         defaults.
14316         (subwindow_instantiate): don't assign dimensions if none have been
14317         given.
14318         (image_instantiator_format_create): add subwindow_query_geometry.
14319         (print_image_instance): cope with layouts as widgets.
14320
14321 2000-04-29  Andy Piper  <andy@xemacs.org>
14322
14323         * frame.c (delete_frame_internal): call
14324         free_frame_subwindow_instance_cache so that all subwindows are
14325         finalized before their parent.
14326         (mark_frame): remove subwindow_cachels.
14327         (Fmake_frame): remove subwindow_cachel manipulation.
14328         (allocate_frame_core): subwindow_instance_cache is a weak list.
14329         (delete_frame_internal): set subwindow_instance_cache to nil.
14330
14331         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14332         finalization safe.
14333         (mswindows_finalize_image_instance): use the device
14334         not the domain as the domain may have died already.
14335
14336         * glyphs-x.c (x_finalize_image_instance): ditto.
14337         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14338         HEIGHT.
14339
14340         * redisplay-output.c (redisplay_unmap_subwindows): update for
14341         subwindow instance cache as a weak list.
14342         (redisplay_unmap_subwindows_maybe): ditto.
14343         (redisplay_unmap_subwindows_except_us): ditto.
14344
14345         * glyphs.c (unmap_subwindow): error checking will check the domain
14346         so don't deal with it here. Don't use cachels anymore.
14347         (map_subwindow): ditto.
14348         (update_subwindow_cachel_data): remove old accessor names.
14349         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14350         (Fresize_subwindow): don't update cachel.
14351         (mark_subwindow_cachels):
14352         (update_subwindow_cachel_data):
14353         (add_subwindow_cachel):
14354         (get_subwindow_cachel_index):
14355         (update_subwindow_cachel):
14356         (reset_subwindow_cachels):
14357         (mark_subwindow_cachels_as_not_updated): deleted.
14358         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14359         subwindow instance to the frame cache.
14360         (find_matching_subwindow): update for subwindow instance cache as
14361         a weak list.
14362         (update_widget_instances): ditto.
14363         (image_instance_type_to_mask):inlined.
14364         (free_frame_subwindow_instance_cache): new function. finalize all
14365         subwindows that are instantiated.
14366
14367         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14368         of cachel information.
14369         (IMAGE_INSTANCE_DISPLAY_X):
14370         (IMAGE_INSTANCE_DISPLAY_Y):
14371         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14372         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14373         (XIMAGE_INSTANCE_DISPLAY_X):
14374         (XIMAGE_INSTANCE_DISPLAY_Y):
14375         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14376         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14377         remove subwindow_cachel structure and function references.
14378         (image_instance_type_to_mask): inline from glyphs.c
14379
14380         * redisplay.c (redisplay_frame): remove subwindow_cachel
14381         references.
14382
14383         * frame.h (struct frame): remove subwindow_cachels.
14384         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14385
14386         * frameslots.h: add subwindow_instance_cache.
14387
14388         * window.c (replace_window): check subwindow cache of replacement.
14389         (window_unmap_subwindows_cache_mapper):
14390         (window_unmap_subwindows): new functions. Unmap all subwindows
14391         cached on this window.
14392         (mark_window_as_deleted): unmap all subwindows.
14393
14394 2000-04-27  Andy Piper  <andy@xemacs.org>
14395
14396         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14397
14398         * glyphs-widget.c (widget_layout): return something.
14399         (layout_layout): return something. Fail if not initialized.
14400         (layout_query_geometry): ditto.
14401         (image_instantiator_native_layout): new function. Initialized the
14402         native layout type.
14403         (widget_instantiate): don't do layout stuff here.
14404
14405         * glyphs.c (instantiate_image_instantiator): reorded calling or
14406         instantiate and post_instantiate with layout in between.
14407         (image_instance_layout): be more selective about deciding whether
14408         the layout has been done or not.
14409
14410         * glyphs.h (struct image_instantiator_methods): return a value
14411         from layout_method.
14412
14413 2000-04-26  Andy Piper  <andy@xemacs.org>
14414
14415         * glyphs.c (allocate_image_instance): make initial width and
14416         height unspecified. Set initialized to 0.
14417
14418         * syscommctrl.h new file. Encapsulates commctrl.h.
14419
14420         * syswindows.h new file. Encapsulates windows.h.
14421
14422         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14423         * nt.c: ditto.
14424         * console-msw.h: ditto.
14425
14426         * redisplay-tty.c (tty_output_display_block): remove layout references.
14427
14428         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14429         window handle rather than just the frame.
14430
14431         * glyphs.c (mark_image_instance): remove layout references.
14432         (print_image_instance): ditto.
14433         (image_instance_equal): ditto.
14434         (image_instance_hash): ditto.
14435         (decode_image_instance_type): ditto.
14436         (encode_image_instance_type): ditto.
14437         (image_instantiate): ditto.
14438         (allocate_glyph): ditto.
14439         (Fimage_instance_height): ditto.
14440         (Fimage_instance_width): ditto.
14441         (update_subwindow): ditto.
14442
14443         * redisplay-x.c (x_output_display_block): recode for layouts as
14444         widgets.
14445
14446         * redisplay-output.c (redisplay_output_layout): recode for layouts
14447         as widgets.
14448         (compare_runes): remove layout references.
14449
14450         * redisplay-msw.c (mswindows_output_display_block): recode for
14451         layouts as widgets.
14452
14453         * glyphs-widget.c (image_instantiator_layout): remove
14454         layout_possible_dest_types.
14455         (layout_possible_dest_types): deleted.
14456
14457         * glyphs.h (image_instance_type): remove layout references.
14458         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14459         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14460         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14461
14462 2000-04-25  Andy Piper  <andy@xemacs.org>
14463
14464         * glyphs-widget.c (image_instantiator_buttons):
14465         (image_instantiator_edit_fields):
14466         (image_instantiator_combo_box):
14467         (image_instantiator_scrollbar):
14468         (image_instantiator_progress_guage):
14469         (image_instantiator_tree_view):
14470         (image_instantiator_tab_control):
14471         (image_instantiator_labels):
14472         (image_instantiator_layout): call default post_instantiate method.
14473         (widget_post_instantiate): new function. Simply lays out the
14474         widgets.
14475
14476         * glyphs.h (struct image_instantiator_methods): add
14477         post_instantiate method.
14478
14479         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14480         method calls.
14481
14482 2000-04-23  Andy Piper  <andy@xemacs.org>
14483
14484         * glyphs.h (struct image_instantiator_methods): add
14485         decode_domain_method.
14486         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14487         derived from the domain.
14488         (IMAGE_INSTANCE_FRAME): new accessor.
14489         (XIMAGE_INSTANCE_FRAME): ditto.
14490
14491         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14492         instead of _SUBWINDOW_FRAME.
14493         (finalize_image_instance): ditto.
14494         (Fimage_instance_foreground): ditto.
14495         (Fimage_instance_background): ditto.
14496         (image_instantiate): ditto.
14497         (update_subwindow_cachel): ditto.
14498         (update_subwindow): ditto.
14499         (unmap_subwindow): ditto.
14500         (map_subwindow): ditto
14501         (subwindow_instantiate): ditto.
14502         * glyphs-msw.c (mswindows_update_widget): ditto.
14503         (mswindows_progress_gauge_instantiate): ditto.
14504         (mswindows_tab_control_update): ditto.
14505         * glyphs-x.c (x_update_widget): ditto.
14506         (x_widget_instantiate): ditto.
14507         (x_tab_control_instantiate): ditto.
14508         (x_tab_control_update): ditto.
14509         * event-msw.c (mswindows_wnd_proc): ditto
14510
14511         * glyphs-widget.c (image_instantiator_layout): use
14512         subwindow_decode_domain.
14513         (image_instantiator_buttons): ditto.
14514         (image_instantiator_edit_fields): ditto.
14515         (image_instantiator_combo_box): ditto.
14516         (image_instantiator_scrollbar): ditto.
14517         (image_instantiator_progress_guage): ditto.
14518         (image_instantiator_tree_view): ditto.
14519         (image_instantiator_tab_control): ditto.
14520         (image_instantiator_labels): ditto.
14521         (image_instantiator_layout): ditto.
14522
14523         * glyphs.c: add instance error checking to many functions.
14524         (instantiate_image_instantiator): decode device from cache_domain.
14525         (image_instantiate): partially rewrite by using
14526         decode_image_instantiator_domain to determine what domain the
14527         instance needs to be cached in.
14528         (decode_image_instantiator_domain): new function. Determine what
14529         domain the image needs to be cached in.
14530         (check_window_subwindow_cache): new error checking function.
14531         (check_instance_cache_mapper): ditto.
14532         (check_image_instance_structure): ditto.
14533         (subwindow_decode_domain): new function. Encodes a window as a
14534         subwindow's cache domain.
14535         (image_instantiator_format_create): use it for text and
14536         subwindows.
14537
14538 2000-04-21  Andy Piper  <andy@xemacs.org>
14539
14540         * glyphs.c (image_instance_device): new function.
14541         (image_instance_frame): new function.
14542         (image_instance_window): new function.
14543         (image_instance_live_p): new function.
14544
14545         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14546         cache to nil.
14547
14548         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14549         (IMAGE_INSTANCE_DOMAIN): new accessor.
14550         (XIMAGE_INSTANCE_DOMAIN): ditto.
14551
14552         * glyphs-x.c (x_finalize_image_instance): device->domain.
14553
14554         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14555         (mswindows_finalize_image_instance): ditto.
14556
14557         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14558         (gif_instantiate): ditto.
14559         (png_instantiate): ditto.
14560         (tiff_instantiate): ditto.
14561
14562         * glyphs.c (instantiate_image_instantiator): use domain rather
14563         than device.
14564         (mark_image_instance): device -> domain.
14565         (print_image_instance): ditto.
14566         (finalize_image_instance): ditto.
14567         (image_instance_equal): ditto.
14568         (allocate_image_instance): ditto.
14569         (Fcolorize_image_instance): ditto.
14570         (query_string_geometry): ditto.
14571         (image_instantiate): ditto
14572         (query_string_font): ditto.
14573         (image_instantiate): ditto.
14574         (update_subwindow): ditto.
14575         (unmap_subwindow): ditto.
14576         (map_subwindow): ditto.
14577         (subwindow_instantiate): ditto.
14578
14579         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14580         (DOMAIN_FRAME): ditto.
14581         (DOMAIN_WINDOW): ditto.
14582         (DOMAIN_LIVE_P): ditto.
14583         (XDOMAIN_DEVICE): ditto.
14584         (XDOMAIN_FRAME): ditto.
14585         (XDOMAIN_WINDOW): ditto.
14586
14587         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14588         a valid specifier domain.
14589
14590 2000-04-19  Andy Piper  <andy@xemacs.org>
14591
14592         * glyphs-widget.c (syms_of_glyphs_widget): remove
14593         widget-callback-current-channel.
14594         (vars_of_glyphs_widget): ditto.
14595         * glyphs.h: ditto
14596
14597         * gui.c (get_gui_callback): revert to previous behaviour.
14598
14599 2000-04-18  Andy Piper  <andy@xemacs.org>
14600
14601         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14602         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14603         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14604
14605         * glyphs.c (image_instance_equal): add margin_width.
14606         (image_instance_hash): ditto.
14607
14608         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14609         (layout_query_geometry): ditto.
14610         (layout_layout): ditto.
14611         (syms_of_glyphs_widget): add margin-width.
14612         (image_instantiator_layout): allow margin-width.
14613
14614         * glyphs.c (update_widget_instances): make a normal function.
14615         (syms_of_glyphs): remove Qupdate_widget_instances.
14616         * glyphs.h: ditto.
14617
14618         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14619         so that we don't corrupt ideas about the last event or
14620         command. Remove widget-callback-current-channel fiddling.
14621         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14622
14623 2000-05-01  Martin Buchholz <martin@xemacs.org>
14624
14625         * XEmacs 21.2.33 is released.
14626
14627 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14628
14629         * make-src-depend: Allow dots in header file name.
14630
14631 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14632
14633         * mule-charset.h (struct charset_lookup): Add
14634         next_allocated_1_byte_leading_byte and
14635         next_allocated_2_byte_leading_byte.
14636         * mule-charset.c: Move above two variables so that those values
14637         will be dumped.
14638
14639 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14640
14641         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14642         when string length is zero.
14643         (find_charsets_in_emchar_string): Ditto.
14644
14645 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14646
14647         * lisp.h: extern Qdialog and Qmenubar.
14648
14649         * gui-x.c: added events.h.
14650                 also fixed typo which made the file uncompilable.
14651
14652         * general.c: Added Qmenubar and Qdialog
14653
14654 2000-04-28  Ben Wing  <ben@xemacs.org>
14655
14656         * frame-msw.c (mswindows_init_frame_1):
14657         * frame-msw.c (mswindows_mark_frame):
14658         * event-msw.c (mswindows_enqueue_dispatch_event):
14659         * console-msw.h:
14660         * console-msw.h (struct mswindows_frame):
14661         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14662         there are now three hash tables for callbacks.
14663         mswindows_enqueue_dispatch_event is no longer static.
14664
14665         * dialog-x.c (maybe_run_dbox_text_callback):
14666         * dialog-x.c (dbox_descriptor_to_widget_value):
14667         switch to new cons3 form for callbacks.
14668
14669         * glyphs-msw.c (mswindows_register_gui_item):
14670         * glyphs-msw.c (mswindows_widget_instantiate):
14671         * glyphs-msw.c (add_tree_item):
14672         * glyphs-msw.c (add_tab_item):
14673         new image instance parameter, so it can be passed to callback-ex.
14674         respect :callback-ex as well as :callback.
14675
14676         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14677         add :callback-ex.
14678
14679         * glyphs.c (print_image_instance):
14680         prettify, e.g. now prints widget type.
14681
14682         * gui-x.h:
14683         certain funs have new image instance parameter.
14684
14685         * gui.c:
14686         * gui.c (get_gui_callback):
14687         * gui.c (gui_item_add_keyval_pair):
14688         * gui.c (gui_item_init):
14689         * gui.c (gui_add_item_keywords_to_plist):
14690         * gui.c (mark_gui_item):
14691         * gui.c (gui_item_hash):
14692         * gui.c (gui_item_equal):
14693         * gui.c (copy_gui_item):
14694         * gui.c (syms_of_gui):
14695         recognize callback-ex in a number of places.
14696         also, fix the annoying "can't get out of yes-no dialog" bug.
14697
14698         * gui.h:
14699         * gui.h (struct Lisp_Gui_Item):
14700         recognize callback-ex in a number of places.
14701
14702         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14703         new parameter in button_item_to_widget_value.
14704
14705         * glyphs-x.c (x_update_widget):
14706         * glyphs-x.c (x_button_instantiate):
14707         * glyphs-x.c (x_button_update):
14708         * glyphs-x.c (x_progress_gauge_instantiate):
14709         * glyphs-x.c (x_edit_field_instantiate):
14710         * glyphs-x.c (x_combo_box_instantiate):
14711         * glyphs-x.c (x_tab_control_instantiate):
14712         * glyphs-x.c (x_label_instantiate):
14713         new image instance parameter in various places.
14714
14715         * event-Xt.c:
14716         * event-Xt.c (enqueue_Xt_dispatch_event):
14717         this fun gets exported.
14718
14719         * gui-msw.c:
14720         * gui-msw.c (mswindows_handle_gui_wm_command):
14721         handle both :callback and :callback-ex, and generate our own
14722         event because it's one of the callback-ex arguments.
14723
14724         * gui-x.c:
14725         * gui-x.c (popup_selection_callback):
14726         handle both :callback and :callback-ex, and generate our own
14727         event because it's one of the callback-ex arguments.
14728         * gui-x.c (button_item_to_widget_value):
14729         * gui-x.c (gui_items_to_widget_values_1):
14730         * gui-x.c (gui_item_children_to_widget_values):
14731         * gui-x.c (gui_items_to_widget_values):
14732         new image instance parameter in various places.
14733
14734         * fns.c (Freplace_list):
14735         fix small typo in doc string.
14736
14737         * lisp.h:
14738         declare enqueue_Xt_dispatch_event.
14739
14740 2000-04-28  Ben Wing  <ben@xemacs.org>
14741
14742         * buffer.c:
14743         * buffer.c (Frecord_buffer):
14744         * buffer.c (syms_of_buffer):
14745         delete record-buffer-hook.
14746
14747         * fns.c:
14748         * fns.c (Freplace_list):
14749         * fns.c (syms_of_fns):
14750         new primitive replace-list.
14751
14752         * frameslots.h:
14753         slot for old buffer-alist.
14754
14755         * lisp.h:
14756         exfun replace-list.
14757
14758         * redisplay.c:
14759         * redisplay.c (redisplay_frame):
14760         * redisplay.c (syms_of_redisplay):
14761         * redisplay.c (vars_of_redisplay):
14762         new hook buffer-list-changed-hook.
14763         call it.
14764
14765 2000-04-27  Ben Wing  <ben@xemacs.org>
14766
14767         * extents.h: extern in_modeline_generation.
14768
14769         * redisplay.c (generate_formatted_string_db): set
14770         in_modeline_generation.
14771
14772         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14773         flags if in modeline generation.  otherwise frame-modified-tick
14774         is ticked far too often.
14775         Declare in_modeline_generation.
14776
14777 2000-04-26  Ben Wing  <ben@xemacs.org>
14778
14779         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14780         option.
14781         (vars_of_emacs): add quick-build as an error-checking option.
14782         A bit kludgy, but there doesn't seem much point in creating
14783         a real var for this.
14784
14785         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14786
14787 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14788
14789         * redisplay.h (struct display_line): Add a new variable,
14790         line_continuation.
14791
14792         * redisplay.c (create_text_block): Set dl->line_continuation if
14793         the line continues.
14794         (create_string_text_block): Ditto.
14795         (regenerate_window_incrementally): Use line_continuation instead
14796         of searching continuation glyph.
14797         (add_margin_runes): Call add_glyph_rune.
14798         (add_glyph_rune): Handle margin glyph.
14799
14800 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14801
14802         * filelock.c (fill_in_lock_file_name):
14803         ANSIfy.
14804         Check for IS_ANY_SEP instead of '/'.
14805         (lock_file_1):
14806         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14807         Never check errno without first seeing that system call failed.
14808         (unlock_file): Add GCPRO.
14809         (Flock_buffer): Fix docstring.
14810         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14811
14812 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14813
14814         * sysdep.c (get_pty_max_bytes):
14815         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14816         strings longer than 252 bytes.
14817
14818         * md5.c: Unconditionally include ANSI header <limits.h>
14819
14820         * glyphs-x.c (convert_EImage_to_XImage):
14821         * lisp-union.h (union Lisp_Object):
14822         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14823
14824 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14825
14826         * filelock.c (current_lock_owner): Remove unused variable o, p.
14827
14828 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14829
14830         * callint.c: Remove multiply defined symbol Qlet
14831         (syms_of_callint): ditto.
14832
14833 2000-04-14  Andy Piper  <andy@xemacs.org>
14834
14835         * general.c (syms_of_general): add last-command, this-command, let
14836         and funcall.
14837
14838         * lisp.h: declare various symbols.
14839
14840         * glyphs.h: declare Qwidget_callback_current_channel;
14841
14842         * glyphs-widget.c (syms_of_glyphs_widget): add
14843         Qgui_callback_current_channel.
14844         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14845
14846         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14847         widget-callback-current-channel when invoking the interactive
14848         arg. Also bind last-command and next-command when invoking the
14849         widget updates.
14850         * gui-x.c (popup_selection_callback): ditto.
14851
14852         * gui.c (get_gui_callback): massage args so that we are always
14853         calling eval. This allows us to add our own variable bindings
14854         outside.
14855
14856         * glyphs-x.c (x_button_instantiate): use
14857         gui_items_to_widget_values since this is GC safe.
14858         (x_progress_gauge_instantiate): ditto.
14859         (x_edit_field_instantiate): ditto.
14860         (x_label_instantiate): ditto.
14861
14862         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14863         (emacs_Xt_event_widget_focus_out): new function
14864         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14865         focus.
14866         (emacs_Xt_event_add_widget_actions): new function. add focus
14867         functions as actions.
14868         (init_event_Xt_late): use it.
14869
14870 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14871
14872         * event-stream.c (Fdispatch_event): Doc fix.
14873
14874 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14875
14876         * postgresql.c: Remove all references to PQsetenv*.
14877
14878         * postgresql.h: Remove references to PGsetenvHandler object.
14879         * lrecord.h (lrecord_type): Ditto.
14880
14881 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14882
14883         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14884         real_heigh and real_width members, and accessor macros for these.
14885
14886         * glyphs-msw.c (init_image_instance_geometry): New function.
14887         (init_image_instance_from_dibitmap): Use it.
14888         (mswindows_resource_instantiate): Use it.
14889         (init_image_instance_from_xbm_inline): Use it.
14890         (mswindows_initialize_image_instance_mask): Use real bitmap
14891         geometry.
14892         (mswindows_create_resized_bitmap): Ditto.
14893         (mswindows_create_resized_mask): Ditto.
14894
14895         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14896         and bitmap to their surface size.
14897
14898 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14899
14900         * process-unix.c (unix_send_process): Guard against process MIA
14901         after Faccept_process_output.
14902
14903 2000-04-11  Ben Wing  <ben@xemacs.org>
14904
14905         * eval.c (unbind_to_hairy): fix brokenness introduced by
14906         nanosecond speed improvements.
14907
14908 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14909
14910         * sunplay.c (init_device): To play sounds correctly, the device
14911         apparently needs to be initialized at least once by XEmacs.  Make
14912         it so.
14913
14914 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14915
14916         * redisplay.c (add_margin_runes): Add text image glyph
14917           handling.
14918
14919 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14920
14921         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14922         gcc is newer than 2.5.
14923
14924 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14925
14926         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14927
14928         * fns.c (size_bit_vector):
14929         * alloc.c (size_vector):
14930         (make_vector_internal):
14931         (make_bit_vector_internal):
14932         (sweep_bit_vectors_1):
14933         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14934
14935 2000-04-06  Andy Piper  <andy@xemacs.org>
14936
14937         * gmalloc.c (malloc): undo previous change.
14938         (malloc): ditto.
14939         (free): ditto.
14940         (realloc): ditto.
14941
14942 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14943
14944         * line-number.c (buffer_line_number): Revert to former version.
14945
14946 2000-04-06  Andy Piper  <andy@xemacs.org>
14947
14948         * gmalloc.c (malloc): add error checking.
14949         (malloc): ditto.
14950         (free): ditto.
14951         (realloc): ditto.
14952
14953         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14954         button_item_to_widget_value arg.
14955
14956         * glyphs-x.c (x_button_instantiate): add extra
14957         button_item_to_widget_value arg.
14958         (x_progress_gauge_instantiate): ditto.
14959         (x_edit_field_instantiate): ditto.
14960         (x_label_instantiate): ditto.
14961
14962         * gui-x.c (gui_items_to_widget_values_1): add extra
14963         button_item_to_widget_value arg.
14964         (button_item_to_widget_value): add extra menu_item_p arg.
14965
14966         * gui-x.h: change signature of button_item_to_widget_value.
14967
14968         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14969         button_item_to_widget_value arg.
14970
14971 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14972
14973         * buffer.h (struct buffer): auto_save_modified should be long.
14974
14975 2000-04-05  Andy Piper  <andy@xemacs.org>
14976
14977         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14978         type.
14979         (button_query_geometry): give a little more room so that athena
14980         buttons fit.
14981
14982 2000-04-05  Andy Piper  <andy@xemacs.org>
14983
14984         * faces.c (complex_vars_of_faces): The widget face should inherit
14985         the font of the gui-element face.
14986
14987 2000-04-04  Andy Piper  <andy@xemacs.org>
14988
14989         * glyphs-x.c (x_button_update): new function. unconditionally
14990         update a button's state when the instance is dirty.
14991         (image_instantiator_format_create_glyphs_x): add x_button_update.
14992         (x_widget_instantiate): remove old resize cruft.
14993
14994 2000-04-02  Andy Piper  <andy@xemacs.org>
14995
14996         * frame.c (change_frame_size_1): The introduction of gutters means
14997         that we need to allow 0 as a potential frame dimension.
14998
14999 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15000
15001         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15002         image glyph if allow_cursor.
15003         (add_hscroll_rune): Don't allow cursor to border glyph.
15004         (create_text_block): Ditto.
15005
15006         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15007         text not in buffer.
15008         (redisplay_output_layout): Call ensure_face_cachel_complete for
15009         text image glyph.
15010
15011
15012 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15013
15014         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15015
15016         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15017         not in buffer
15018
15019         * redisplay-tty.c (tty_output_display_block): Delete the routine
15020         for text image glyph
15021         * redisplay-x.c (x_output_display_block): ditto
15022         * redisplay-msw.c (mswindows_output_display_block): ditto
15023
15024 2000-02-02  Mike Alexander  <mta@arbortext.com>
15025
15026         Note: Some of these were committed by accident as part of other
15027         patches.
15028
15029         * regex.c (regex_compile): Avoid compiler warnings.
15030
15031         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15032
15033         * nt.h: Declare term_ntproc correctly.
15034
15035         * nt.c: Remove incorrect declaration of get_home_directory which
15036         is declared correctly in lisp.h.
15037
15038         * keymap.c (get_keyelt): Avoid compiler warnings.
15039         (raw_lookup_key_mapper): Avoid compiler warnings.
15040
15041         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15042
15043         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15044
15045         * filemode.c (mode_string): Avoid compiler warnings.
15046
15047         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15048         avoid warning.
15049
15050         * events-mod.h: Undef some things that winuser.h defines differently.
15051
15052         * data.c (Faset): Avoid compiler warnings.
15053
15054         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15055
15056 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15057
15058         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15059         Fall through to simple beep on error.
15060         Replace "extern" by real header file.
15061
15062         * linuxplay.c: Use nativesound.h
15063         (play_sound_data): Return error code. Be less verbose on error.
15064
15065         * sunplay.c: Use nativesound.h
15066         (play_sound_data): Return error code. Be less verbose on error.
15067
15068         * ntplay.c: Use nativesound.h
15069         (play_sound_data): Return fake error code
15070
15071         * sgiplay.c: Use nativesound.h
15072         (play_sound_data): Return error code
15073
15074         * hpplay.c: Use nativesound.h, partially implement
15075         new error code. Break compilation until finished.
15076         (play_sound_data): error code.
15077
15078         * nativesound.h (play_sound_file):
15079           (play_sound_data): Prototype in new header.
15080
15081 2000-03-31  Andy Piper  <andy@xemacs.org>
15082
15083         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15084         for toggle and radio buttons.
15085         (image_instantiator_buttons): use it.
15086
15087 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15088
15089         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15090         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15091         found. Scrollbar event probably belonged to some old config.
15092
15093 2000-03-31  Andy Piper  <andy@xemacs.org>
15094
15095         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15096         than 1.
15097         (initialize_widget_image_instance): default layout to
15098         LAYOUT_HORIZONTAL rather than 0.
15099         (widget_instantiate): reverse the item list at the end rather than
15100         every iteration.
15101         (layout_layout): re-code for the border text at the front of the
15102         item list rather than at the end.
15103         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15104         provided by the user.
15105         (widget_query_geometry): comment.
15106
15107 2000-03-30  Andy Piper  <andy@xemacs.org>
15108
15109         * glyphs-widget.c (image_instantiator_layout): allow standard
15110         widget keywords in layouts.
15111
15112         * gutter.c (output_gutter): cope with nil gutter contents.
15113
15114         * frame.c (Fset_frame_properties): add gutter docs.
15115
15116 2000-03-29  Andy Piper  <andy@xemacs.org>
15117
15118         * toolbar-msw.c (TBSTYLE_FLAT): add.
15119         (mswindows_output_toolbar): minor fiddling.
15120
15121 2000-03-29  Andy Piper  <andy@xemacs.org>
15122
15123         * gutter.c (output_gutter): force gutter size recalculation if
15124         what we are trying to display won't fit.
15125         (update_gutter_geometry): new function. A per-gutter version of
15126         update_frame_gutter_geometry.
15127         (update_frame_gutter_geometry): use it.
15128         (redraw_exposed_gutter): add extra debugging output.
15129
15130 2000-03-28  Mike Alexander  <mta@arbortext.com>
15131
15132         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15133         (pdump_file_unmap): Implement it on Windows
15134         (pdump_file_get): Save alocated handles for pdump_file_unmap
15135
15136 2000-03-28  Andy Piper  <andy@xemacs.org>
15137
15138         * gui.c (get_gui_callback): treat Quit specially.
15139
15140 2000-03-27  Andy Piper  <andy@xemacs.org>
15141
15142         * glyphs.c (image_instantiate): be careful to check in the same
15143         way we assigned.
15144
15145 2000-03-27  Didier Verna  <didier@xemacs.org>
15146
15147         * config.h.in: define the proper SMART_INCLUDE macro.
15148         handle renaming of `foo_h_path' to `foo_h_file'.
15149
15150         * database.c: ditto.
15151
15152         * emacs.c: ditto.
15153
15154         * linuxplay.c: ditto.
15155
15156         * terminfo.c: ditto.
15157
15158         * tooltalk.h: ditto.
15159
15160 2000-03-27  Andy Piper  <andy@xemacs.org>
15161
15162         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15163         gets updated whenever the face might have changed.
15164
15165 2000-03-26  Mike Alexander  <mta@arbortext.com>
15166
15167         * dumper.c (pdump_resource_free): Fix the comment.
15168
15169 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15170
15171         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15172
15173 2000-03-22  Mike Alexander  <mta@arbortext.com>
15174
15175         * dumper.c: Include Windows headers on Windows
15176         (pdump_resource_free): Add a body to the function
15177         (pdump_load): exe_name -> exe_path and add some comments.
15178
15179 2000-03-25  Mike Alexander  <mta@arbortext.com>
15180
15181         * gui.c (copy_gui_item_tree): Return a value in all cases
15182
15183 2000-03-21  Didier Verna  <didier@xemacs.org>
15184
15185         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15186         lwlib/config.h.in.
15187         (SMART_INCLUDE): new macro.
15188         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15189         the proper location.
15190
15191         * postgresql.c: use it.
15192
15193         * inline.c: ditto.
15194
15195 2000-03-24  Andy Piper  <andy@xemacs.org>
15196
15197         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15198         do this.
15199
15200 2000-03-24  Andy Piper  <andy@xemacs.org>
15201
15202         * redisplay-output.c (compare_runes): use image_instance_changed
15203         to detect changes. Do not depend on glyphs_changed, only depend on
15204         dirtiness.
15205          (redisplay_output_layout): add debug messages.
15206         (compare_runes): ditto.
15207
15208         * glyphs.h: declare new functions.
15209         (struct Lisp_Image_Instance): remove percent and associated
15210         accessors.
15211
15212         * gui.h: declare new copying functions.
15213
15214         * gui.c (copy_gui_item_tree): new function.
15215         (copy_gui_item): new function.
15216         (gui_item_id_hash): revert to standard hash.
15217         (gui_item_hash): ditto.
15218         (gui_item_hash_internal): deleted.
15219         (mark_gui_item): mark value.
15220         (gui_item_add_keyval_pair): add value.
15221         (gui_item_init): ditto.
15222         (gui_add_item_keywords_to_plist): ditto.
15223         (gui_item_equal): ditto.
15224         (syms_of_gui): add Q_value.
15225
15226         * glyphs-x.c (x_progress_gauge_update): use pending items and
15227         value for setting the state.
15228         (x_update_widget): don't set items from pending here.
15229
15230         * glyphs-widget.c (update_widget): update items here.
15231         (progress_gauge_set_property): use items for storing value. Put
15232         new value in pending items.
15233
15234         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15235         items for new value. Convert percent -> value.
15236         (mswindows_tab_control_update): don't update items here.
15237
15238         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15239         (update_subwindow): ditto.
15240         (image_instance_changed): new function. Compare hash values and
15241         past and present widget items.
15242         (image_instantiate): We more careful about where we instantiate
15243         things.
15244         (image_instantiate): add error checking.
15245
15246         * gutter.c (syms_of_gutter): use -hook.
15247
15248 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15249
15250         * console-tty.c (Fset_console_tty_input_coding_system): Use
15251         Qkeyboard.
15252         (Fset_console_tty_output_coding_system): Use Qterminal.
15253         (tty_init_console): Use Qkeyboard and Qterminal.
15254
15255 2000-03-21  Ben Wing  <ben@xemacs.org>
15256
15257         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15258         From Mike Alexander <mta@arbortext.com>.
15259
15260 2000-03-21  Ben Wing  <ben@xemacs.org>
15261
15262         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15263         process brokenness.  Proper implementation to come.
15264         * callproc.c:
15265         Rename call-process-internal to old-call-process-internal.
15266         New impl. in process.el.
15267
15268 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15269
15270         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15271
15272 2000-03-20  Andy Piper  <andy@xemacs.org>
15273
15274         * glyphs.c (full_list_hash): make hashes of the same elements in
15275         different orders return different values.
15276
15277 2000-03-20  Martin Buchholz <martin@xemacs.org>
15278
15279         * XEmacs 21.2.32 is released.
15280
15281 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15282
15283         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15284         (DFC_MALLOC_USE_CONVERTED_DATA):
15285         Add aliasing-safe casts to allow use with char* or unsigned char*
15286         lvalues.
15287
15288         * eldap.c (Fldap_open):
15289         (Fldap_search_basic):
15290         (Fldap_add):
15291         (Fldap_modify):
15292         Make C++-compilable.
15293         Make sure GCPRO'ed variables are initialized.
15294         Use temp variables to avoid repeated calls to Flength.
15295
15296 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15297
15298         * sysfile.h:
15299         Make sure PATH_MAX is always defined.
15300         Include limits.h for PATH_MAX.
15301         Deprecate use of MAXPATHLEN.
15302
15303 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15304
15305         * emacs.c: Add reinit_vars_of_fileio.
15306         * symsinit.h: Add reinit_vars_of_fileio.
15307         * fileio.c (reinit_vars_of_fileio): New.
15308         * fileio.c (Fmake_temp_name):
15309         Initialize temp_name random number from microseconds to make
15310         collisions even less likely.  Initialize always at process startup
15311         time.  (make-temp-name) used to return the same file name twice in
15312         a row when PDUMP.
15313         Random stylistic fiddling.
15314         Comment fixes.
15315
15316 2000-03-20  Andy Piper  <andy@xemacs.org>
15317
15318         * glyphs.c (image_instantiate): allow text glyphs to be
15319         instantiated in the minibuffer window.
15320
15321 2000-03-19  Andy Piper  <andy@xemacs.org>
15322
15323         * glyphs.c (image_instance_hash): be careful about which items we
15324         hash on.
15325
15326         * glyphs-widget.c (tab_control_set_property): record into pending
15327         items rather than the actual items.
15328
15329         * glyphs-x.c (x_update_widget): use pending items to update with.
15330
15331         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15332         to update with.
15333
15334         * glyphs.c (mark_image_instance): mark pending items.
15335
15336         * window.c (Fset_window_configuration): record the buffer.
15337         (Fselect_window): totally revert previous change which breaks many
15338         things.
15339
15340 2000-03-18  Andy Piper  <andy@xemacs.org>
15341
15342         * glyphs-msw.c (mswindows_tab_control_update): force selected
15343         item.
15344
15345         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15346         window domain cache, otherwise we get inconsistencies at
15347         startup. There is something fishy at startup which can lead to the
15348         minibuffer being the selected window when the gutter content is
15349         instantiated.
15350
15351         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15352         gcpros.
15353         (parse_gui_item_tree_children): ditto.
15354         (parse_gui_item_tree_item): ditto.
15355
15356         * glyphs.c (Fupdate_widget_instances): return something.
15357
15358 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15359
15360         * window.c (Fselect_window): Undo 2000-03-17 change.
15361
15362 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15363
15364         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15365         against v7.0 libraries.  Insta-coredump city until the postgres
15366         folks fix it.
15367
15368 2000-03-17  Andy Piper  <andy@xemacs.org>
15369
15370         * faces.c (complex_vars_of_faces): don't give the widget face an
15371         inherited background pixmap.
15372
15373         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15374         selected item.
15375
15376         * event-stream.c (Fdispatch_non_command_events): return something.
15377
15378         * gutter.c (output_gutter): use widget face.
15379         (clear_gutter): ditto.
15380
15381         * NEWS: adjust again.
15382
15383         * window.c (Fselect_window): make sure this runs to completion to
15384         avoid oddities with Fset_window_configuration.
15385         (Fcurrent_window_configuration): in general do not save the
15386         minibuffer as the selected window.
15387
15388         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15389
15390 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15391
15392         * emacs.c (Frunning_temacs_p): Revert previous patch.
15393         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15394
15395 2000-03-16  Andy Piper  <andy@xemacs.org>
15396
15397         * glyphs-x.c (x_tab_control_update): if no widget values then
15398         return.
15399
15400         * NEWS: update for new features.
15401
15402         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15403         synthetic event to the native system.
15404         (reinit_vars_of_event_Xt): set force_event_pending to
15405         emacs_Xt_force_event_pending.
15406
15407         * events.h (struct event_stream): add force_event_pending.
15408
15409         * specifier.c (recompute_one_cached_specifier_in_window): add
15410         comment.
15411
15412         * redisplay.c (redisplay_frame): don't call
15413         update_frame_subwindows. Reset subwindow cachels when
15414         subwindows_changed, removing this was an optimization too far.
15415
15416         * redisplay-output.c (compare_runes): reorganize so that we catch
15417         glyph changes when we want them. Set optimize_output when this
15418         would help layouts.
15419         (redisplay_output_layout): remove frame_really_changed, use
15420         optimize_output instead.
15421
15422         * redisplay-msw.c (mswindows_output_display_block): reset
15423         optimize_output after outputting a glyph.
15424         * redisplay-x.c (x_output_display_block): ditto.
15425         * redisplay-tty.c (tty_output_display_block): ditto.
15426
15427         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15428         functions.
15429         (gutter_specs_changed): do specific gutter positions.
15430         (top_gutter_specs_changed): new function. Only update the
15431         specified gutter specs.
15432         (bottom_gutter_specs_changed): ditto.
15433         (left_gutter_specs_changed): ditto.
15434         (right_gutter_specs_changed): ditto.
15435
15436         * gui.c (gui_item_hash_internal): new function, does a real hash.
15437         (gui_item_id_hash): use it.
15438         (gui_item_hash): hash the eval'ed gui_item.
15439
15440         * gui-x.c (popup_selection_callback): send an eval event to call
15441         Fupdate_widget_instances.
15442
15443         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15444         to call Fupdate_widget_instances.
15445
15446         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15447         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15448
15449         * glyphs.c: (update_frame_subwindows): deleted.
15450         (Fupdate_widget_instances): new function for updating the dirty
15451         state of widgets that might have changed.
15452         (syms_of_glyphs): add Qupdate_widget_instances.
15453         (full_list_hash): hash a list completely.
15454         (image_instance_hash): use it for items and properties.
15455
15456         * frame-msw.c (mswindows_size_frame_internal): remove unused
15457         variable.
15458
15459         * faces.h (struct face_cachel): fix comment.
15460
15461         * event-stream.c (Fdispatch_non_command_events): new
15462         function. Process non-command events, forcing an event cycle
15463         beforehand.
15464         (syms_of_event_stream): declare.
15465         (event_stream_force_event_pending): new function. Force an event
15466         on the native event queue so that an event cycle will occur next
15467         time we check.
15468
15469         * event-msw.c:
15470         (struct ntpipe_shove_stream):
15471         (mswindows_enqueue_dispatch_event):
15472         (mswindows_dequeue_dispatch_event):
15473         (mswindows_cancel_dispatch_event):
15474         (mswindows_pump_outstanding_events):
15475         (mswindows_drain_windows_queue):
15476         (mswindows_handle_paint):
15477         (mswindows_wnd_proc):
15478         (mswindows_key_to_emacs_keysym):
15479         (get_process_input_waitable):
15480         (emacs_mswindows_delete_stream_pair): re-indent file.
15481         (mswindows_need_event): do not process further fds if the windows
15482         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15483         fixes the 100% cpu problem.
15484         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15485
15486 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15487
15488         * alloc.h: New.
15489         * dumper.h: New.
15490         * dumper.c: New.
15491
15492         * emacs.c: Moved dump file searching to dumper.c.
15493         (Frunning_temacs_p): Fixed.
15494
15495         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15496         last_lrecord_type_index_assigned.
15497
15498 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15499
15500         * symsinit.h: Added reinit parameter to init_console_stream
15501         declaration.
15502
15503         * lisp.h: Added file parameter to pdump_load declaration.
15504
15505         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15506         support.  Added dump file searching.
15507
15508         * config.h.in: Added EMACS_PROGNAME.
15509
15510         * console-stream.c (init_console_stream): Fix reinitialisation
15511         when running from temacs.
15512
15513         * alloc.c (pdump): Add id support.
15514         (pdump_load): Add file parameter and signature/id support.
15515
15516         * Makefile.in.in: Add full pdump support.
15517
15518 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15519
15520         * postgresql.c: Update documentation to reflect latest code
15521         status.
15522         (print_result): Show tuple counts in printed representation when
15523         appropriate.
15524         (Fpq_put_nbytes): MULE-ize.
15525         (Fpq_get_line_async): Ditto.
15526
15527 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15528
15529         * postgresql.c (Fpq_lo_import): Fix return value.
15530         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15531
15532 2000-03-13  Ben Wing  <ben@xemacs.org>
15533
15534         * alloc.c (pdump_load):
15535         Fix compile warning under mswin.
15536
15537 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15538
15539         * postgresql.c: Mule-ization, bug fixes.
15540         Use PG_CODING to encapsulate coding system name changes.
15541         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15542         (pg-coding-system): Create.
15543
15544         (Fpq_conn_defaults): Mule-ize.
15545         (Fpq_connectdb): Mule-ize & bug fix.
15546         (Fpq_connect_start): Mule-ize.
15547         (Fpq_set_client_encoding): Mule-ize.
15548         (Fpq_finish): Document `DEAD' connection status.
15549         (Fpq_clear): Ditto.
15550         (Fpq_pgconn): Mule-ize.
15551         (Fpq_exec): Mule-ize & bug fix.
15552         (Fpq_send_query): Ditto.
15553         (Fpq_get_result): Ditto.
15554         (Fpq_res_status): Mule-ize.
15555         (Fpq_result_error_message): Mule-ize.
15556         (Fpq_ntuples): fix comments.
15557         (Fpq_fname): Mule-ize.
15558         (Fpq_fnumber): Mule-ize.
15559         (Fpq_ftype): fix comments.
15560         (Fpq_get_value): Mule-ize.
15561         (Fpq_cmd_status): Ditto.
15562         (Fpq_cmd_tuples): Ditto.
15563         (Fpq_oid_value): Ditto.
15564         (Fpq_notifies): Ditto.
15565         (Fpq_lo_import): Ditto.
15566         (Fpq_lo_export): Ditto.
15567         (Fpq_get_line): Ditto.
15568         (Fpq_put_line): Mule-ize and bug fix.
15569         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15570
15571 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15572
15573         * postgresql.c (vars_of_postgresql): Mule-ize.
15574         (Fpq_conn_defaults): Ditto.
15575
15576 2000-03-12  Ben Wing  <ben@xemacs.org>
15577
15578         * alloc.c (Fmake_byte_code):
15579         * alloc.c (debug_string_purity_print):
15580         * alloc.c (pdump_backtrace):
15581         * alloc.c (pdump_get_indirect_count):
15582         * alloc.c (pdump_register_sub):
15583         * alloc.c (pdump_register_object):
15584         * alloc.c (pdump_register_struct):
15585         * alloc.c (pdump_dump_data):
15586         * alloc.c (pdump_reloc_one):
15587         Minor cleanups.
15588
15589         * console-msw.c:
15590         * console-msw.c (GetConsoleHwnd):
15591         * console-msw.c (msw_hide_console):
15592         * console-msw.c (msw_show_console):
15593         * console-msw.c (msw_ensure_console_buffered):
15594         * console-msw.c (msw_output_console_string):
15595         * console-msw.c (console_type_create_mswindows):
15596
15597         a) Added functions to manipulate the console window for use with
15598         shell support.
15599
15600         b) Added support for writing text to the console, which is now
15601         used under Windows when xemacs is not being run non-interactively,
15602         to write text that would otherwise be destined for stdout because
15603         under these circumstances, text written to stdout tends to
15604         disappear and not be seen.
15605
15606         * console-msw.h:
15607         * event-Xt.c:
15608         * event-Xt.c (x_event_to_emacs_event):
15609         * event-Xt.c (describe_event_window):
15610         * events-mod.h (XEMACS_MOD_CONTROL):
15611         * events.c:
15612         * events.c (Fmake_event):
15613         * events.c (character_to_event):
15614         * events.c (event_to_character):
15615         * events.c (format_event_object):
15616         * events.c (Fevent_modifiers):
15617         * events.h:
15618         * events.h (struct key_data):
15619         * events.h (struct button_data):
15620         * events.h (struct misc_user_data):
15621         * frame-x.c (Fcde_start_drag_internal):
15622         * frame-x.c (Foffix_start_drag_internal):
15623         * gpmevent.c (Freceive_gpm_event):
15624         * keymap.c:
15625         * keymap.c (bucky_sym_to_bucky_bit):
15626         * keymap.c (control_meta_superify):
15627         * keymap.c (make_key_description):
15628         * keymap.c (keymap_lookup_directly):
15629         * keymap.c (create_bucky_submap):
15630         * keymap.c (keymap_store):
15631         * keymap.c (define_key_check_and_coerce_keysym):
15632         * keymap.c (define_key_parser):
15633         * keymap.c (define_key_alternate_name):
15634         * keymap.c (Fdefine_key):
15635         * keymap.c (raw_lookup_key_mapper):
15636         * keymap.c (struct map_keymap_unsorted_closure):
15637         * keymap.c (map_keymap_unsorted_mapper):
15638         * keymap.c (map_keymap_sort_predicate):
15639         * keymap.c (map_keymap_sorted):
15640         * keymap.c (accessible_keymaps_mapper_1):
15641         * keymap.c (where_is_recursive_mapper):
15642         * keymap.c (describe_map_mapper):
15643         * keymap.c (describe_map_sort_predicate):
15644         * keymap.c (describe_map):
15645         * keymap.c (complex_vars_of_keymap):
15646         And a number of other files, the key modifier preprocessor
15647         constants that xemacs uses have names that conflict with constants
15648         defined under MS Windows for other purposes, so they were renamed
15649         to begin with the prefix XEMACS_. The variables that hold such
15650         modifiers were changed to consistently be of type int to fix
15651         various compile warnings.
15652
15653         * console.c (complex_vars_of_console):
15654         * device.c:
15655         * device-msw.c:
15656         * device-msw.c (mswindows_finish_init_device):
15657         * device-msw.c (msw_get_workspace_coords):
15658         * device-msw.c (mswindows_device_system_metrics):
15659         and various other files, added support for a new
15660         device property called offset-workspace which returns the position
15661         of the upper left corner of the workspace area and goes along with
15662         the existing size-workspace property.
15663
15664         * dialog-msw.c:
15665         * dialog-msw.c (push_bufbyte_string_as_unicode):
15666         * dialog-msw.c (mswindows_popup_dialog_box):
15667         Added support for XEmacs-style accelerator specifications in
15668         button text.  Note: I didn't add support for this under X Windows,
15669         and somebody needs to do this.
15670
15671         * dialog.c:
15672         * dialog.c (Fpopup_dialog_box):
15673         Documented the support for accelerators that was just mentioned.
15674
15675         editfns.c (get_home_directory): Changed behavior under Windows
15676         when HOME not defined; former behavior was irretrievably broken.
15677
15678         * emacs.c:
15679         * emacs.c (main_1):
15680         * emacs.c (main):
15681         * minibuf.c (clear_echo_area_internal):
15682         * minibuf.c (echo_area_append):
15683         * print.c:
15684         * print.c (std_handle_out_external):
15685         * print.c (std_handle_out_va):
15686         * print.c (fatal):
15687         * print.c (write_string_to_stdio_stream):
15688         * print.c (output_string):
15689         * print.c (debug_print):
15690         * print.c (debug_backtrace):
15691         * print.c (debug_short_backtrace):
15692         Cleaned up the code that prints text to stdout so that this can be
15693         changed to output into a console window instead under MS Windows,
15694         as described above.
15695
15696         * eval.c:
15697         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15698         * eval.c (internal_catch):
15699         * eval.c (unwind_to_catch):
15700         * eval.c (throw_or_bomb_out):
15701         * eval.c (condition_case_1):
15702         * eval.c (signal_1):
15703         * eval.c (check_error_state_sanity):
15704         * eval.c (call_with_suspended_errors_1):
15705         * eval.c (call_with_suspended_errors):
15706         * eval.c (reinit_vars_of_eval):
15707         Added code to catch throw loops and check for a pesky bug that may
15708         be gone now.
15709
15710         * event-msw.c:
15711         * event-msw.c (key_needs_default_processing_p):
15712         * event-msw.c (mswindows_wnd_proc):
15713         * event-msw.c (mswindows_modifier_state):
15714         * event-msw.c (emacs_mswindows_quit_p):
15715         * event-msw.c (vars_of_event_mswindows):
15716         a) Added support for using the alt key to select menu items as is
15717         standard under MS Windows.  This is controlled using the variable
15718         menu-accelerator-enabled, just like under X Windows.  There is an
15719         option on the options menu to turn this support on.  I really
15720         think that it should be on by default under Windows, but I'm not
15721         going to make this change yet.
15722
15723         b)  Added support for dynamic display size changes under Windows.
15724
15725         * event-stream.c:
15726         * event-stream.c (maybe_echo_keys):
15727         * event-stream.c (Fnext_event):
15728         * event-stream.c (command_builder_find_leaf):
15729         * event-stream.c (lookup_command_event):
15730         * event-stream.c (execute_command_event):
15731         * event-stream.c (pre_command_hook):
15732         * event-stream.c (post_command_hook):
15733         * event-stream.c (syms_of_event_stream):
15734         * event-stream.c (vars_of_event_stream):
15735         * event-stream.c (complex_vars_of_event_stream):
15736         * events.h (struct command_builder):
15737
15738         a) Tried to clean up a little bit the horribly written x-specific
15739         accelerator code that crept into this file.  I moved this code
15740         into menubar-x.c where it belongs. I also needed to move the
15741         command builder structure into the file events.h because it is
15742         accessed directly by this accelerator code.  What I didn't do, but
15743         which should be done at some point, is to properly abstract this
15744         code using device methods instead of the kludgy way that it
15745         currently hooks into the event code.
15746
15747         b) Added the lisp variables this-command-properties and
15748         last-command- properties, which should be used to synchronize two
15749         adjacent commands in preference to playing games with the variable
15750         this-command, which is typically what happens.
15751
15752         c) Added some slightly nasty code to hook into the lisp support
15753         for shifted- motion-key selection.  This is actually necessary for
15754         somewhat complicated reasons, which are described in
15755         simple.el. (NB: I think the proper thing would be to have the code
15756         that calls the pre and post command hooks also call out to generic
15757         lisp functions in simple.el, where all built-in stuff could be
15758         added.  I will think about this more.)
15759
15760         * event-unixoid.c (poll_fds_for_input):
15761         * lread.c (readchar):
15762         * redisplay-tty.c (tty_clear_frame):
15763         * redisplay-x.c (x_get_gc):
15764         * signal.c (interrupt_signal):
15765         And a whole bunch of other files: fixed up places that printed
15766         directly to stderr to instead call the function stderr_out so that
15767         the changes I made under Windows work correctly.
15768
15769         * filemode.c (mode_string):
15770         Warning fixes.
15771
15772         * frame-msw.c:
15773         * frame-msw.c (mswindows_size_frame_internal):
15774         Fixed the computation of frame size and position to keep the frame
15775         within the workspace area, rather than within the physical
15776         dimensions of the screen, so that the frame doesn't overlap window
15777         manager decorations, such as the start menu and toolbar, typically
15778         at the bottom of the screen.
15779
15780         * frame.c (vars_of_frame):
15781         Changed the default frame title format under MS Windows to consist
15782         of buffername-XEmacs, which is standard under MS Windows.  I think
15783         it might be a good idea to change this everywhere because I think
15784         it is superior to the current frame title format, but this is the
15785         kind of change that is likely to cause some people to get annoyed,
15786         so I'm not making it.
15787
15788         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15789
15790         * gui-msw.c (mswindows_handle_gui_wm_command):
15791         Fixed compile warnings.
15792
15793         * gui-x.c:
15794         * gui-x.c (strdup_and_add_accel):
15795         * gui-x.c (button_item_to_widget_value):
15796         * gui-x.h:
15797         Added code to automatically put an accelerator onto the beginning
15798         of menu items that don't have one as is now the standard, and is
15799         described more later.  Also fixed things so that the menu item
15800         name can be an evaluated expression, again a new standard.
15801
15802         * gui.c:
15803         * gui.c (gui_item_add_keyval_pair):
15804         * gui.c (make_gui_item_from_keywords_internal):
15805         * gui.c (gui_add_item_keywords_to_plist):
15806         * gui.c (gui_item_accelerator):
15807         * gui.c (gui_name_accelerator):
15808         * gui.c (gui_item_included_p):
15809         * gui.c (gui_item_display_flush_left):
15810         * gui.c (gui_item_display_flush_right):
15811         * gui.c (parse_gui_item_tree_item):
15812         * gui.c (parse_gui_item_tree_children):
15813         * gui.c (parse_gui_item_tree_list):
15814         Mule-ized.  Cleanup.  GCPRO addition.
15815
15816         * line-number.c (buffer_line_number):
15817         * lisp.h:
15818         * lisp.h (EMACS_INT_MAX):
15819         Added the manifest constant EMACS_INT_MIN corresponding to the
15820         existing constant EMACS_INT_MAX.  This is partially to fix compile
15821         warnings under Windows, and partly for cleanliness.
15822
15823         * menubar-msw.c:
15824         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15825         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15826         * menubar-msw.c (displayable_menu_item):
15827         * menubar-msw.c (populate_menu_add_item):
15828         * menubar-msw.c (populate_or_checksum_helper):
15829         * menubar-msw.c (populate_menu):
15830         * menubar-msw.c (update_frame_menubar_maybe):
15831         * menubar-msw.c (prune_menubar):
15832         * menubar-msw.c (msw_char_is_accelerator):
15833         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15834         * menubar-msw.c (mswindows_handle_wm_command):
15835         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15836         * menubar-msw.c (mswindows_handle_wm_initmenu):
15837         * menubar-msw.c (mswindows_update_frame_menubars):
15838         * menubar-msw.c (mswindows_free_frame_menubars):
15839         * menubar-msw.c (mswindows_popup_menu):
15840         Fixed a bug in handling accelerators where an extra character
15841         would be displayed in the menu item.  Also generalized the
15842         function displayable_menu_item because it is now used by the
15843         dialog box code as well.  And finally, added code in the functions
15844         that create the menubar to extract a list of accelerators for the
15845         top level menubar, which is used in the event code to determine
15846         whether a particular alt-key combination should be used to invoke
15847         a menu item, or should be passed through to access the standard
15848         XEmacs keymap binding for this key combination.
15849
15850         Much needed GCPROing.
15851
15852         * menubar-x.c:
15853         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15854         * menubar-x.c (menu_item_descriptor_to_widget_value):
15855         * menubar-x.c (restore_in_menu_callback):
15856         * menubar-x.c (x_popup_menu):
15857         * menubar-x.c (menu_move_up):
15858         * menubar-x.c (menu_move_down):
15859         * menubar-x.c (menu_move_left):
15860         * menubar-x.c (menu_move_right):
15861         * menubar-x.c (menu_select_item):
15862         * menubar-x.c (command_builder_operate_menu_accelerator):
15863         * menubar-x.c (menu_accelerator_junk_on_error):
15864         * menubar-x.c (command_builder_find_menu_accelerator):
15865         * menubar-x.c (Faccelerate_menu):
15866         * menubar.h:
15867         Moved a whole bunch of code here that was previously in
15868         event-stream.c as described above.  There is also code connected
15869         to the new standard of adding an accelerator to the beginning of
15870         menu items that don't have one as described above and below.
15871
15872         * menubar.c:
15873         * menubar.c (menu_parse_submenu_keywords):
15874         * menubar.c (Fmenu_find_real_submenu):
15875         * menubar.c (Fnormalize_menu_item_name):
15876         * menubar.c (syms_of_menubar):
15877         * menubar.c (vars_of_menubar):
15878         * menubar.c (complex_vars_of_menubar):
15879
15880         a) Cleaned up a bunch of documentation and improved it.
15881
15882         b) XEmacs now automatically adds an accelerator onto the beginning
15883         of any menu items that don't have one.  I did this because there
15884         will inevitably be some menu items on the main menubar that don't
15885         have accelerators on them because the package that adds that
15886         particular menu item hasn't yet been fixed up to have accelerators
15887         in them and it looked rather strange to have some items with and
15888         some items without accelerators, especially since even in items
15889         without accelerators, you can, at least under windows, still
15890         access the item through an accelerator corresponding to the first
15891         character in the item's name.  If people don't like this behavior,
15892         I can add a variable to turn it off optionally, but I'm not sure
15893         this is a good idea because we really do need to have accelerators
15894         on all of the menu items, and if a package doesn't like the
15895         accelerators being put on the first character, then it should put
15896         the accelerators where they belong.
15897
15898         c) I made a behavior change, which is that the descriptor that
15899         specifies the text of the menu item, which formerly was just a
15900         string, can now also be an evaluated expression.  This makes this
15901         descriptor parallel with all of the others, which could also be
15902         evaluated expressions.  This also obviates the need for the
15903         keyword :label, which was previously listed in the documentation
15904         as unimplemented, and which was for the same purpose.
15905
15906         d) GCPROing.
15907
15908         * ntproc.c:
15909         * ntproc.c (new_child):
15910         * ntproc.c (sys_spawnve):
15911         * ntproc.c (find_child_console):
15912         * ntproc.c (sys_kill):
15913         Fixed compile warnings.  By the way, this file should really go
15914         away entirely, and this will happen as soon as Kirill makes his
15915         final round of process cleanups, which affect the function
15916         call-process.
15917
15918         * process-nt.c:
15919         * process-nt.c (struct nt_process_data):
15920         * process-nt.c (find_process_from_pid):
15921         * process-nt.c (send_signal_the_nt_way):
15922         * process-nt.c (enable_child_signals):
15923         * process-nt.c (find_child_console):
15924         * process-nt.c (send_signal_the_95_way):
15925         * process-nt.c (nt_finalize_process_data):
15926         * process-nt.c (ensure_console_window_exists):
15927         * process-nt.c (nt_create_process):
15928         * process-nt.c (nt_kill_child_process):
15929         * process-nt.c (nt_kill_process_by_pid):
15930         * process-nt.c (nt_open_network_stream):
15931         * process-nt.c (vars_of_process_nt):
15932         Copied over code from Emacs 20.5 to correctly send signals to sub-
15933         processes under Windows 95.  Also added code to automatically
15934         create and hide console window when a sub-process is created under
15935         Windows 95, which obviates the need for the separate runemacs.exe
15936         executable, and finally implemented some variables that were
15937         implemented in Emacs 20.5, but previously not in XEmacs.  These
15938         include mswindows- start-process-share-console and
15939         mswindows-start-process-inherit-error-mode. (Both of these only
15940         apply to Windows 95.)
15941
15942         * regex.c (regex_compile): Fixed a compile warning.
15943
15944         * select-msw.c:
15945         * select-msw.c (mswindows_own_selection):
15946         * select-msw.c (mswindows_get_foreign_selection):
15947         * select-msw.c (mswindows_disown_selection):
15948         * select-msw.c (console_type_create_select_mswindows):
15949         * select-msw.c (syms_of_select_mswindows):
15950         Cleaned up the file and implemented the device method
15951         selection_exists_p, which had accidentally been left out.  Also
15952         removed four lisp functions that were remnants from before the
15953         time when the selection code was properly device abstracted.
15954         These functions are no longer needed because there are generic
15955         equivalents, and because they were added recently and don't exist
15956         in FSF Emacs, I don't think there's any problem with just deleting
15957         them.
15958
15959         * sysdep.c:
15960         * sysdep.c (sys_subshell):
15961         Fixed a compile warning, although in this case there's probably
15962         something wrong with this code, and it ought to be looked into
15963         more thoroughly by somebody who understands it.
15964
15965         * window.c:
15966         * window.c (Fwindow_text_area_height):
15967         * window.c (Fwindow_width):
15968         * window.c (Fwindow_full_width):
15969         * window.c (Fwindow_pixel_width):
15970         * window.c (debug_print_window):
15971         * window.c (syms_of_window):
15972         Added functions window-text-area-height and window-full-width,
15973         which are functions for returning various width and height
15974         characteristics of a window. (One of these functions is necessary
15975         for making the file dialog box work correctly, and the other one
15976         was added for completeness.)  Also added a table to the
15977         documentation for window-height which describes the entire scheme
15978         for accessing width and height characteristics of a window.
15979
15980 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15981
15982         * nt.c (fstat): Added a comment for another problem with
15983         non-encapsulated [f]stat(), reported by Adrian Aichner
15984         <aichner@ecf.teradyne.com>.
15985
15986 2000-03-11  Andy Piper  <andy@xemacs.org>
15987
15988         * window.c (make_dummy_parent): initialize subwindow instance
15989         cache.
15990         (Fset_window_configuration): zero extent_modiff.
15991
15992 2000-03-10  Andy Piper  <andy@xemacs.org>
15993
15994         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15995         more changes can be triggered.
15996         (Fredisplay_frame): ditto.
15997         (Fredraw_device): ditto.
15998         (Fredisplay_device): ditto.
15999         (redisplay_frame): make non-static.
16000         (redisplay_frame): call update_frame_gutter_geometry outside of
16001         display proper.
16002
16003         * gutter.h: declare update_frame_gutter_geometry.
16004
16005         * redisplay.h: declare redisplay_frame.
16006
16007         * gutter.c (update_frame_gutter_geometry): move geometry changes
16008         in update_frame_gutters here. Geometry changes can only occur
16009         outside of redisplay.
16010         (update_frame_gutters): remove geometry change code.
16011         (Fredisplay_gutter_area): make sure that we are in display when we
16012         update and that we have flushed any size changes.
16013
16014 2000-03-11  Andy Piper  <andy@xemacs.org>
16015
16016         * alloc.c (pdump_dump_data): remove i & count shadows.
16017
16018 2000-02-27  Mike Alexander  <mta@arbortext.com>
16019
16020         * sysdep.h: Declare pdump_read_file
16021
16022         * sysdep.c (pdump_read_file): New function
16023
16024         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16025         dump data
16026
16027 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16028
16029         * lrecord.h: add `lrecord_type_pgsetenv'.
16030
16031 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16032
16033         * symsinit.h: declare (vars|syms)_of* functions.
16034         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16035
16036 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16037
16038         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16039
16040         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16041         GCCs.
16042
16043         * emacs.c (main_1): Call postgres initialization code.
16044
16045         * postgresql.h: New file.  PostgreSQL RDBMS support.
16046         * postgresql.c: New file.
16047
16048 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16049
16050         * redisplay-output.c (redisplay_output_display_block): Disable
16051         redundant code.
16052
16053 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16054
16055         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16056         (Fcanna_henkan_next): Ditto.
16057         (Fcanna_bunsetu_henkou): Ditto.
16058         (Fcanna_henkan_kakutei): Ditto.
16059         (Fcanna_henkan_end): Ditto.
16060         (Fcanna_henkan_quit): Ditto.
16061         (Fcanna_henkan_next): Set retun value correctly.
16062         (c2mu): Use unsigned char instead of signed char.
16063
16064 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16065
16066         * emacs.c (main_1): Always call syms_of_gui.
16067         * inline.c: include gui.h
16068
16069 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16070
16071         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16072         converted to Lisp_Object.
16073         (Qtop_bottom): New variable.
16074         (syms_of_redisplay): Initialize it.
16075         * redisplay.h (Vvisible_bell): Ditto.
16076         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16077         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16078         only flash top and bottom.
16079
16080 2000-03-08  Andy Piper  <andy@xemacs.org>
16081
16082         * buffer.c (Frename_buffer): record new buffer name the right way.
16083
16084 2000-03-08  Andy Piper  <andy@xemacs.org>
16085
16086         * glyphs.c (update_subwindow): increase hash depth so that widget
16087         items get picked up properly.
16088
16089         * redisplay-output.c (compare_runes): increase hash depth so that
16090         widget items get picked up properly.
16091
16092 2000-03-08  Andy Piper  <andy@xemacs.org>
16093
16094         * gutter.c (output_gutter): add some debug.
16095
16096         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16097         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16098         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16099
16100         * redisplay-output.c (compare_runes): use display_hash to
16101         determine if glyphs really are not the same.
16102
16103         * glyphs.c (update_subwindow): check display_hash to see if
16104         anything really needs to be updated. If not then do
16105         nothing. Record the display_hash after updating.
16106         (image_instance_equal): compare the image_instance face also.
16107
16108 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16109
16110         * redisplay.h: Fix comment style.
16111
16112 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16113
16114         * consle-msw.h (struct mswindows_frame):
16115         Added new member paint_pending to indicate whether a WM_PAINT
16116         magic event has been queued for this frame.
16117
16118         * event-msw.c (mswindows_drain_windows_queue):
16119         Don't queue a WM_PAINT magic event if one is already queued.
16120         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16121
16122         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16123
16124 2000-03-07  Didier Verna  <didier@xemacs.org>
16125
16126         * dired.c: #include `regex.h' after `sysfile.h'.
16127
16128 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16129
16130         * sound.c (init_nas_sound): Fix compiler warning.
16131
16132         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16133         (FREE_STRUCT_P):
16134         (MARK_STRUCT_AS_FREE):
16135         (MARK_STRUCT_AS_NOT_FREE):
16136         Make `gcc -fstrict-aliasing' work properly.
16137
16138 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16139
16140         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16141         (mswindows_delete_device): Call CoUnnitialize().
16142
16143         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16144
16145 2000-02-25    <CraigL@DyCon.com>
16146
16147         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16148         <errno.h>.
16149
16150         * sysdep.c: This extern declaration for environ prevents MinGW
16151         from finding the variable in CRTDLL.DLL.
16152
16153         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16154         windows headers.
16155         (SHGFI_EXETYPE): ..
16156         (WM_MOUSEWHEEL): ..
16157         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16158         definitions.
16159         (MMRESULT): Removed, now defined in cygwin's windows headers.
16160         (TIMECAPS): ..
16161         (uid_t,gid_t,pid_t,ssize_t): ..
16162         (_timeb): Removed, MinGW defines both _timeb and timeb.
16163         (HAVE_H_ERRNO): Added.
16164         (HAVE_TZNAME): Added, configure is not detecting this.
16165
16166 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16167
16168         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16169         * syntax.c (syntax_match): Use it.
16170
16171         * cmds.c: Import auto-fill-chars from FSF Emacs.
16172         (Vauto_fill_chars): New variables.
16173         (internal_self_insert): Check Vauto_fill_chars.
16174         (vars_of_cmds):
16175         Declare auto-fill-chars as a Lisp variable and initialize it.
16176
16177 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16178
16179         * fileio.c (Fmake_symbolic_link):
16180         (Ffile_symlink_p):
16181         Run handlers even if local machine doesn't have symlinks.
16182
16183 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16184
16185         * event-msw.c (mswindows_drain_windows_queue):
16186         Don't generate paint magic events for non-XEmacs frames.
16187
16188 2000-03-05  Andy Piper  <andy@xemacs.org>
16189
16190         * redisplay.c (redisplay_frame): generate_displayable_area and
16191         friends assumes that we are not in GC, we therefore have to make
16192         sure that this doesn't happen.
16193
16194         * gutter.c (calculate_gutter_size): generate_displayable_area
16195         assumes that we are not in GC, we therefore have to make sure that
16196         this doesn't happen.
16197
16198 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16199
16200         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16201
16202 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16203
16204         * redisplay.c (regenerate_window): Make sure we set a sane value
16205         for end_pos even if we jump out of the loop.
16206         (regenerate_window): Answer Ben's question :-).
16207         (start_end_of_last_line): Add may_error argument.
16208         (start_of_last_line):
16209         (end_of_last_line): Pass may_error = 0.
16210         (end_of_last_line_may_error): New function.
16211         (pixel_to_glyph_translation): Use it, so we don't crash in
16212         event_to_glyph.
16213
16214 2000-03-04  Andy Piper  <andy@xemacs.org>
16215
16216         * window.h (struct window): add gutter_extent_modiff.
16217
16218         * window.c (allocate_window): zero out gutter_extent_modiff.
16219
16220         * redisplay.h: declare sync_display_line_structs.
16221
16222         * redisplay.c (add_glyph_rune): add a better comment.
16223
16224         * redisplay-output.c (sync_display_line_structs): made non-static.
16225         (compare_runes): remove unneccesary glyph cachel access.
16226
16227         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16228
16229         * gutter.c (output_gutter): don't output the gutter if extent
16230         changes only involve extents in buffers. use 4 sets of display
16231         lines.
16232         (gutter_extent_signal_changed_region_maybe): new function. Mark
16233         extents in gutters as changed.
16234         (update_frame_gutters): use 4 sets of display lines.
16235         (reset_gutter_display_lines): ditto.
16236         (free_frame_gutters): ditto.
16237         (redraw_exposed_gutter): force output of gutters.
16238
16239         * frame.h (struct frame): add 4 sets of gutter display lines.
16240
16241         * extents.c: (extent_changed_for_redisplay): signal changes to
16242         extents in strings in the gutter as well as extents in buffers.
16243
16244 2000-03-02  Andy Piper  <andy@xemacs.org>
16245
16246         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16247
16248         * frame.c (Fmake_frame): make sure the gutters get initialized
16249         after the frame is visible.
16250         (set_frame_selected_window): re-arrange compilation macros a
16251         little.
16252         (change_frame_size_1): mark gutters changed.
16253
16254         * device.c (Fset_device_class): mark gutters changed.
16255
16256 2000-03-01  Andy Piper  <andy@xemacs.org>
16257
16258         * window.c (window_top_frame_gutter_height): deleted.
16259         (window_bottom_frame_gutter_height): ditto.
16260         (window_left_frame_gutter_height): ditto.
16261         (window_right_frame_gutter_height): ditto.
16262         (window_top_gutter_height): don't use them.
16263         (window_bottom_gutter_height): ditto.
16264         (window_left_gutter_width): ditto.
16265         (window_right_gutter_width): ditto.
16266         (Fsplit_window): ditto.
16267         (Fwindow_pixel_edges): don't use border dimensions here.
16268
16269         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16270         (update_scrollbar_instance): ditto.
16271
16272         * redisplay.c (generate_modeline): don't take gutters into account.
16273         (generate_modeline): ditto.
16274         (redisplay_frame): small gutter display optimization.
16275
16276         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16277
16278         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16279         gutters into account.
16280
16281         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16282         for window position and type.
16283
16284         * gutter.c (get_gutter_coords): fix for frame gutters.
16285         (update_frame_gutters): update frame geometry if the gutters have
16286         changed.
16287         (init_frame_gutters): record current gutter geometries.
16288
16289         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16290         var.
16291         (mswindows_widget_instantiate): ditto.
16292
16293         * frame.h (struct frame): add current_gutter_bounds.
16294
16295         * frame.c (change_frame_size_1): position window and minibuffer
16296         appropriately taking into account the frame gutters.
16297
16298         * frame-x.c: (x_initialize_frame_size): take into account the
16299         frame gutters.
16300
16301 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16302
16303         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16304
16305 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16306
16307         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16308
16309 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16310
16311         * file-coding.c (reset_decoding_stream): Clear previous
16312         detection state when autodetect.
16313
16314 2000-02-29  Didier Verna  <didier@xemacs.org>
16315
16316         * extents.c (set_extent_glyph_1): don't require extents to be
16317         attached.
16318
16319 2000-02-27  Andy Piper  <andy@xemacs.org>
16320
16321         * gutter.c (Fset_default_gutter_position): don't default left and
16322         right gutter visibility to t.
16323         (Fset_default_gutter_position): run
16324         default-gutter-position-changed-hook.
16325         (syms_of_gutter): add default-gutter-position-changed-hook.
16326
16327 2000-02-26  Andy Piper  <andy@xemacs.org>
16328
16329         * specifier.c (Fmake_specifier): add gutter references.
16330
16331         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16332
16333         * lisp.h: declare Fvalid_plist_p.
16334
16335         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16336         as changed.
16337         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16338         well as its visibility so that it gets reconstructed.
16339         (construct_window_gutter_spec): new function. Construct a string
16340         to be displayed in the gutter from a plist of strings. Take care
16341         to only use elements that are declared as visible.
16342         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16343         WINDOW_GUTTER.
16344         (gutter_validate): allow plists of strings in the specifier.
16345         (gutter_specs_changed): construct the real_gutter from the gutter
16346         specs using construct_window_gutter_spec.
16347         (gutter_visible_validate): gutter-visible is a new specifier type.
16348         (Fgutter_visible_specifier_p): new function for the new specifier.
16349         (syms_of_gutter): declare gutter-visible and
16350         Fgutter_visible_specifier_p.
16351         (specifier_type_create_gutter): intitalize new gutter-visible
16352         specifier.
16353         (reinit_specifier_type_create_gutter): ditto.
16354         (specifier_vars_of_gutter): use new specifier type for gutter
16355         visibility.
16356         (init_frame_gutters): construct real_gutter correctly.
16357         (Fgutter_specifier_p): beef up documentation.
16358         (Fgutter_size_specifier_p): ditto.
16359
16360         * winslots.h: add real_gutter slots.
16361
16362 2000-02-25  Andy Piper  <andy@xemacs.org>
16363
16364         * device-msw.c: Be kind to older cygwin versions. From Raymond
16365         Toy <toy@rtp.ericsson.se>.
16366
16367         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16368         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16369
16370 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16371
16372         * elhash.c (MARK_OBJ): Practice macro hygiene.
16373
16374 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16375
16376         * miscplay.c: s/__inline__/inline/g;
16377         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16378         (get_device_compdc): INLINE ==> static inline
16379         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16380         find -name '*.h' | \
16381         xargs global-replace \
16382         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16383
16384 2000-02-25  Andy Piper  <andy@xemacs.org>
16385
16386         * window.c (window_top_frame_gutter_height): new function.
16387         (window_top_window_gutter_height): ditto.
16388         (window_top_gutter_height): use them.
16389         (window_bottom_frame_gutter_height): new function.
16390         (window_bottom_window_gutter_height): ditto.
16391         (window_bottom_gutter_height): use them.
16392         (window_left_window_gutter_width): new function.
16393         (window_left_frame_gutter_width): ditto.
16394         (window_left_gutter_width): use them.
16395         (window_right_window_gutter_width): new function.
16396         (window_right_frame_gutter_width): ditto.
16397         (window_right_gutter_width): use them.
16398         (window_pixel_height): new function. calulate window pixel height
16399         with frame gutter involvement.
16400         (Fsplit_window): calculate new sizes taking frame gutters into
16401         account.
16402         (window_char_height_to_pixel_height): don't include frame gutters.
16403         (window_char_height): use window_pixel_height.
16404         (window_pixheight): rename from window_pixel_height.
16405         (change_window_height): use it.
16406         (window_pixel_height_to_char_height): don't include frame gutters.
16407         (window_char_width_to_pixel_width): ditto.
16408
16409 2000-02-25  Andy Piper  <andy@xemacs.org>
16410
16411         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16412         if it is.
16413
16414 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16415
16416         * alloc.c (staticpro):
16417         (staticpro_nodump):
16418         (dumpstruct):
16419         (dumpopaque):
16420         (pdump_wire):
16421         (pdump_wire_list):
16422         (compact_string_chars):
16423         (pdump_dump_wired):
16424         Convert:  if (foo) abort();  ==>  assert (! foo);
16425
16426         * eldap.c (Fldap_search_basic):
16427         (Fldap_add):
16428         (Fldap_modify):
16429         (Fldap_delete):
16430         Fix compiler warnings, and possible crashes if (random) return
16431         value were to be used.
16432
16433 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16434
16435         * device-msw.c: Workaround ResetDC failure.
16436
16437         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16438         applying a devmode.
16439
16440         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16441         (mswindows_text_width): Do not start printer page.
16442
16443         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16444
16445         * glyphs-msw.c: Added image methods to msprinter console and
16446         msprinter-specific image instantiation.
16447
16448 2000-02-20  Mike Alexander  <mta@arbortext.com>
16449
16450         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16451         to avoid crashes when selection-sets-clipboard is on
16452         (mswindows_own_selection): ditto
16453
16454 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16455
16456         * glyphs-msw.c:
16457         * redisplay-msw.c (get_frame_dc):
16458         (get_frame_compdc):
16459         * console-msw.h:
16460         * device-msw.c (mswindows_init_device):
16461         (mswindows_delete_device):
16462         (msprinter_init_device):
16463         (msprinter_delete_device):
16464         * frame-msw.c (mswindows_init_frame_1):
16465         (mswindows_delete_frame):
16466         (msprinter_init_frame_3):
16467         (msprinter_delete_frame): Move compatible DC to device object from
16468         frame object, for both mswindows and msprinter. Only one at a time
16469         is needed, it is a real waste to have one per frame!
16470
16471 2000-02-23  Andy Piper  <andy@xemacs.org>
16472
16473         * glyphs.c: add dynamic width and height elements.
16474         (image_instance_equal): ditto.
16475
16476         * glyphs-widget.c (widget_query_geometry): calculate width and
16477         height dynamically if required.
16478         (initialize_widget_image_instance): initialize dynamic dimensions.
16479         (widget_instantiate): pick-up dynamic dimensions.
16480
16481         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16482         dynamic determination. Add appropriate macros.
16483
16484         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16485         dimensions safe.
16486         (WINDOW_GUTTER_SIZE): ditto.
16487         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16488
16489         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16490         inline.
16491         (get_frame_dc): ditto.
16492
16493         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16494         here.
16495
16496 2000-02-23  Martin Buchholz <martin@xemacs.org>
16497
16498         * XEmacs 21.2.31 is released.
16499
16500 2000-02-22  Ben Wing <ben@xemacs.org>
16501
16502         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16503
16504 2000-02-22  Andy Piper  <andy@xemacs.org>
16505
16506         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16507
16508 2000-02-21  Mike Sperber <mike@xemacs.org>
16509
16510         * .dbxrc:
16511         * .gdbinit:
16512         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16513         variables.
16514
16515 2000-02-21  Mike Sperber <mike@xemacs.org>
16516
16517         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16518
16519 2000-02-21  Martin Buchholz <martin@xemacs.org>
16520
16521         * XEmacs 21.2.30 is released.
16522
16523 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16524
16525         Performance hacking.
16526         * *.c (syms_of_*):
16527         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16528         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16529         * emacs.c (main_1):
16530         * lisp.h (DEFUN):
16531         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16532         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16533         * symeval.h (DEFVAR_SYMVAL_FWD):
16534         * symbols.c (guts_of_unbound_marker):
16535         Make all c_readonly objects also lisp_readonly and marked for life.
16536         * lrecord.h (struct lrecord_implementation):
16537         Document flags better.
16538         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16539         * lrecord.h (DECLARE_LRECORD):
16540         * lrecord.h (XSETRECORD):
16541         * lrecord.h (RECORDP):
16542         * lrecord.h (RECORD_TYPEP):
16543         * lrecord.h (RECORD_MARKER): New.
16544         * lrecord.h (error_check_*):
16545         * lrecord.h (CONCHECK_NONRECORD):
16546         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16547         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16548         * lrecord.h (set_lheader_implementation):
16549         * lrecord.h (enum lrecord_type): New.
16550         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16551         * alloc.c (disksave_object_finalization_1):
16552         * alloc.c (mark_object):
16553         * alloc.c (lrecord_type_index):
16554         * alloc.c (tick_lcrecord_stats):
16555         * alloc.c (Fgarbage_collect):
16556         * alloc.c (init_alloc_once_early):
16557         * alloc.c (pdump_load):
16558         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16559         * alloc.c (lrecord_type_index): Delete.
16560         Make lisp object type indexes be constant.
16561           Makes (byte-compile) 5% faster.
16562         Put all marker functions into their own array.
16563           Makes (garbage-collect) 5% faster.
16564         Optimize SYMBOL_VALUE_MAGIC_P.
16565           Makes (byte-compile) 2-3% faster.
16566         * config.h.in (gc_checking_assert): New.
16567         * alloc.c: Use gc_checking_assert().
16568         * .dbxrc: Make compatible with new object type implementation.
16569         * .gdbinit: Make compatible with new object type implementation.
16570         * alloc.c: Delete all symbols defined only for debugging, such as
16571         Lisp_Type_Vector and lrecord_charset.
16572
16573 2000-02-21  Andy Piper  <andy@xemacs.org>
16574
16575         * gui-msw.c (Fmswindows_shell_execute): fix file location
16576         problems.
16577
16578         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16579         unshowing so that set_window_buffer doesn't undo
16580         kill_buffer_hook's hard work.
16581
16582         * glyphs-widget.c (tab_control_query_geometry): don't count the
16583         first item when calculating geometry.
16584
16585         * glyphs.c (map_subwindow): remove redundant code.
16586         (update_frame_subwindows): be more circumspect about when to
16587         update subwindows.
16588
16589         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16590         when items haven't changed. Update faces if faces have changed as
16591         well as just the widget face.
16592         (x_tab_control_update): Update faces if faces have changed as well
16593         as just the widget face.
16594
16595 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16596
16597         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16598         registration.
16599         (build_syscolor_string): Use mswindows_color_to_string to try to
16600         get a named color.
16601         (mswindows_device_system_metrics): Reverse the foreground and
16602         background colors so that they match the documentation.
16603
16604         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16605         they match the default Windows palette.
16606         (mswindows_color_to_string): New function.
16607
16608 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16609
16610         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16611
16612 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16613
16614         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16615         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16616
16617         * symbols.c (init_symbols_once_early): Removed obsolete
16618         DATA_SEG_BITS related kludge.
16619         (defvar_magic): Ditto.
16620
16621         * malloc.c: Removed obsolete DATA_SEG_BITS
16622         * ralloc.c: Ditto.
16623         * mem-limits.h: Ditto.
16624
16625         * Makefile.in.in: Removed obsolete HAVE_SHM
16626         * emacs.c: Ditto.
16627
16628 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16629
16630         *  device-msw.c (mswindows_delete_device): Free DDE string
16631         handles.
16632
16633 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16634
16635         * keymap.c (get_keyelt):
16636         * unexnt.c (unexec):
16637         * vm-limit.c (memory_warnings):
16638         * ntheap.c (recreate_heap):
16639         * ntheap.h (UNINIT_PTR):
16640         * select-msw.c (Fmswindows_get_clipboard):
16641         (Fmswindows_set_clipboard):
16642         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16643         * objects-msw.c:
16644         * menubar-msw.c (displayable_menu_item):
16645         * glyphs-msw.c:
16646         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16647         * sysdep.c (sys_subshell):
16648         * process-nt.c (nt_create_process):
16649         * nt.c (normalize_filename):
16650         (dostounix_filename):
16651         (unixtodos_filename):
16652         * ntproc.c (win32_executable_type):
16653         * ntplay.c (play_sound_data_1):
16654         (play_sound_file):
16655         * editfns.c (get_home_directory):
16656         * event-msw.c (struct winsock_stream):
16657         (mswindows_dde_callback):
16658         * device-msw.c (msprinter_init_device):
16659         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16660
16661         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16662         mswindows_clear_toolbar were swapped!
16663
16664         * objects-msw.c:(colormap_t):
16665         (fontmap_t):
16666         * emacs.c (struct standard_args): Fixed const jumble.
16667
16668         * glyphs-widget.c (update_widget): Fixed comparison notation.
16669
16670         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16671
16672         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16673         __declspec(noreturn) syntax.
16674
16675 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16676
16677         * eldap.c (Fldap_open):
16678         (Fldap_search_basic):
16679         (Fldap_add):
16680         (Fldap_modify):
16681         Use new coding system conversion macros.
16682
16683 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16684
16685         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16686
16687 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16688
16689         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16690         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16691
16692         * eldap.c (Qadd, Qreplace): New constant symbols
16693         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16694         interruptions by XEmacs signals
16695         Remove unnecessary calls to slow_down_interrupts and
16696         speed_up_interrupts
16697         (Fldap_search_basic): Renamed from Fldap_search_internal
16698         Added new optional parameter VERBOSE that triggers the
16699         display of progress messages
16700         Remove unnecessary calls to slow_down_interrupts and
16701         speed_up_interrupts
16702         LDAP result code analysis rewritten
16703         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16704         (syms_of_eldap): Define the new symbols and functions
16705
16706
16707 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16708
16709         * realpath.c: Determine PATH_MAX maximally portably.
16710
16711         * insdel.c (bytecount_to_charcount): Optimize.
16712         The function used to be optimized for entirely ASCII sequences.
16713         Now it is optimized for successive characters from the same
16714         charset.  This also wins big for _mostly_ ASCII sequences.
16715
16716         * fileio.c (Ffile_truename): convert return from realpath() using
16717         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16718         - Rewrite GCPROing slightly.
16719
16720         * sysdep.c (sys_open): Do filename conversion, like all other
16721         sys_* functions.  Fixes bug:
16722         (let ((file-name-coding-system 'iso-8859-2))
16723            (write-region x y latin2-name))
16724         ==> writes filename using internal encoding.
16725
16726 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16727
16728         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16729         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16730         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16731         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16732         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16733         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16734         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16735         (CONST_IF_NOT_DEBUG): Delete.
16736         * alloc.c (this_one_is_unmarkable): Delete.
16737         (mark_object): Don't check for this_one_is_unmarkable. Use the
16738         c_readonly flag instead.
16739         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16740
16741 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16742
16743         * event-msw.c (mswindows_drain_windows_queue):
16744         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16745         away redundant repaint events.
16746
16747 2000-02-17  Andy Piper  <andy@xemacs.org>
16748
16749         * redisplay.h: declare mark_redisplay_structs.
16750
16751         * redisplay.c (redisplay_window):
16752         (redisplay_frame): don't check subwindows_state_changed.
16753         (mark_redisplay): mark gutters here.
16754
16755         * glyphs.c: (instantiate_image_instantiator): always layout if we
16756         haven't done so already.
16757         (allocate_image_instance): don't mark as dirty.
16758         (update_subwindow): bind inhibit_quit.
16759
16760         * gutter.c (mark_gutters): new function.
16761
16762         * glyphs-x.c (x_update_widget): Always resize to get round a
16763         widget bug.
16764
16765         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16766         breaking absolutely everything.
16767
16768         * gutter.h: declare mark_gutters.
16769
16770 2000-02-16  Martin Buchholz <martin@xemacs.org>
16771
16772         * XEmacs 21.2.29 is released.
16773
16774 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16775
16776         * fns.c (size_bit_vector): Fix computation of the size.
16777
16778 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16779
16780         * *.[ch]: Change CONST to const globally.
16781         find -name '*.[ch]' | \
16782         xargs global-replace \
16783         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16784         - Remove vestigial references to CONST_IS_LOSING
16785
16786 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16787
16788         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16789         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16790         events instead of dispatching them directly.
16791         (mswindows_handle_paint): New function to do repainting.
16792         (mswindows_wnd_proc):
16793         (emacs_mswindows_handle_magic_event): Call above function.
16794
16795 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16796
16797         * objects-msw.c (mswindows_create_font_variant): Return the new
16798         font handle.
16799         (initialize_font_instance): Get font metrics from the underlined
16800         variant of the font to cope with the case where the underlined
16801         font has a bigger descent.
16802
16803 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16804
16805         * gui.c (gui_item_accelerator): Return the first underlined
16806         character in item name.
16807
16808 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16809
16810         * lisp.h: Added Qprinter.
16811
16812         * general.c (syms_of_general): Initialized it.
16813
16814         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16815         (get_frame_dc):
16816         (get_frame_compdc): Made inline.
16817
16818         * console.h (struct console_methods): Added eject_page method.
16819
16820         * frame.h: Added FRAME_DISPLAY_P and friends.
16821         Aligned backslahes in many macros in more readable fashion.
16822         Added page_number to struct frame, and an accessor macro
16823         for it.
16824
16825         * defice.h: Added DEVICE_DISPLAY_P and friends.
16826
16827         * device.c (Fdevice_printer_p): Used these.
16828
16829         * frame.c (allocate_frame_core): Initialize page number.
16830         (Fprint_job_page_number):
16831         (Fprint_job_eject_page): Implemented.
16832
16833         * frame-msw.c (msprinter_eject_page): Added method.
16834         (msprinter_start_page): Added.
16835
16836         * window.c (Fwindow_truncated_p): Fixed docstring.
16837         (Fwindow_last_line_visible_height): Implemented.
16838
16839 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16840
16841         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16842
16843 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16844
16845         * syntax.c (scan_words): Always advance at least one character.
16846
16847 2000-02-13  Andy Piper  <andy@xemacs.org>
16848
16849         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16850         to make sure the glyph is in the cachels.
16851
16852         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16853         global image instance flag.
16854         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16855         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16856
16857         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16858         (Fset_image_instance_property): mark layout as changed.
16859         (invalidate_glyph_geometry_maybe): mark layout as changed.
16860         (glyph_width): use new NEEDS_LAYOUT macro.
16861         (glyph_ascent): ditto.
16862         (glyph_descent): ditto.
16863         (glyph_height): ditto.
16864         (image_instance_layout): mark layout as clean after laying out.
16865         (update_subwindow): don't mark layout as clean here.
16866
16867         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16868         should no longer be needed.
16869
16870         * glyphs-x.c (x_update_widget): sanitize asserts.
16871         (x_finalize_image_instance): sanitize assignment to widgets.
16872
16873         * glyphs-widget.c (widget_instantiate): don't need to clear the
16874         layout flag here.
16875
16876 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16877
16878         * sysdep.c (getcwd): Use standard prototype.
16879         * sysdep.h (getcwd): Use standard prototype.
16880
16881         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16882         (sequence, start, end).
16883         Remove redundant type checking.
16884         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16885         view of `caller-protects') to avoid a crash where the real fix was
16886         found elsewhere.
16887
16888 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16889
16890         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16891
16892         * s/sol2.h: Remove feature macro initialization.
16893
16894         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16895         (vector_hash): New.  Code from internal_hash.
16896         * lrecord.h:
16897         Fix up allocation subsystem comments.
16898
16899         * config.h.in: Add __EXTENSIONS__ for Solaris.
16900
16901         * systime.h (EMACS_GETTIMEOFDAY): New.
16902         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16903         Remove Solaris-specific code.
16904         Use void* for the (ignored) second arg for gettimeofday().
16905
16906         * elhash.c (hash_table_hash): Implement it, finally.
16907         * elhash.c:  Use hashcode_t.
16908
16909         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16910         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16911
16912         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16913         * fns.c (size_bit_vector):
16914         * alloc.c (size_vector):
16915         (make_vector_internal):
16916         (make_bit_vector_internal):
16917         (sweep_bit_vectors_1):
16918         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16919
16920 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16921
16922         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16923         Include strings.h to avoid warnings for bzero and strcasecmp.
16924
16925 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16926
16927         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16928         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16929
16930         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16931         sequence.
16932
16933 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16934
16935         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16936         use a value field instead.
16937         (symbol_value_forward_forward): Use value field.
16938         (DEFVAR_SYMVAL_FWD): Use value field.
16939         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16940         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16941         (DEFVAR_CONST_INT): Ditto.
16942         (DEFVAR_BOOL): Ditto.
16943         (DEFVAR_CONST_BOOL): Ditto.
16944         (DEFVAR_INT_MAGIC): Ditto.
16945         (DEFVAR_BOOL_MAGIC): Ditto.
16946
16947         * symbols.c (guts_of_unbound_marker): Use value field.
16948         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16949         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16950
16951         * lisp.h: Declare dumpopaque and noninteractive1.
16952
16953         * alloc.c (dumpopaque): Added.
16954         (pdump_dump_opaquevec): Added.
16955         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16956         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16957         noninteractive.
16958
16959 2000-02-10  Andy Piper  <andy@xemacs.org>
16960
16961         * glyphs.c (image_instance_layout): if the size changes, mark it
16962         as such.
16963
16964         * redisplay-output.c (redisplay_output_layout): Update the
16965         subwindow here.
16966         (redisplay_output_subwindow): ditto.
16967
16968         * glyphs.c (update_subwindow): make sure we reset flags for
16969         layouts as well as everything else.
16970
16971         * glyphs-widget.c (layout_layout): don't need to set the instances
16972         dimensions here.
16973
16974 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16975
16976         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16977         not HAVE_DLOPEN, which is a lower-level thing.
16978
16979         * .cvsignore: Ignore gmon.out
16980
16981 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16982
16983         * .cvsignore: Ignore portable dumper xemacs.dmp file
16984
16985 2000-02-09  Andy Piper  <andy@xemacs.org>
16986
16987         * redisplay-output.c (redisplay_output_layout): be more clever
16988         about when we output based on the changed flags.
16989
16990         * glyphs.h (struct image_instantiator_methods): add update_method.
16991         (struct Lisp_Image_Instance): add changed flags. Declare new
16992         macros for manipulating them.
16993
16994         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16995         (image_instance_parent_glyph): find an image_instance's parent
16996         glyph or image_instance.
16997         (image_instance_layout): mark the size as changed.
16998         (set_image_instance_dirty_p): new function. mark an image
16999         instance, plus all of its parents, as dirty.
17000         (Fset_image_instance_property): use it.
17001         (Fglyph_animated_timeout_handler): use it.
17002         (update_subwindow): call update_widget and device methods for
17003         update_subwindow. Mark all changed flags as clean.
17004         (Fresize_subwindow): mark size as changed.
17005
17006         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17007         failures.
17008         (x_update_subwindow): only resize subwindows here.
17009         (x_update_widget): new function. Update all changed properties of
17010         a widget.
17011         (x_resize_subwindow): deleted.
17012         (x_widget_set_property): deleted.
17013         (x_progress_gauge_set_property): deleted.
17014         (x_progress_gauge_update): new function. Implement recorded
17015         changes.
17016         (x_tab_control_update): ditto.
17017         (x_tab_control_set_property): deleted.
17018         (console_type_create_glyphs_x): declare new functions.
17019         (image_instantiator_format_create_glyphs_x): ditto.
17020
17021         * glyphs-widget.c (widget_set_property): mark text changed.
17022         (update_widget): new function. Update properties of a widget.
17023         (widget_instantiate): for layouts make sure we set their
17024         children's parent correctly.
17025         (tab_control_set_property): new function. Record changes that will
17026         take place under redisplay's control.
17027         (progress_gauge_set_property): ditto.
17028         (image_instantiator_progress_guage): declare new functions.
17029         (image_instantiator_tab_control): ditto.
17030
17031         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17032         now.
17033         (mswindows_update_widget): new function. Update all properties on
17034         a widget that have changed.
17035         (mswindows_button_update): new function. Update a button's set
17036         state.
17037         (mswindows_tab_control_update): new function. Update the items in
17038         a tab.
17039         (mswindows_tab_control_set_property): deleted.
17040         (mswindows_progress_gauge_update): new function. Update the
17041         progress gauge's progress.
17042         (mswindows_widget_set_property): deleted. This is all done
17043         asynchronously now.
17044         (mswindows_progress_gauge_set_property): ditto.
17045         (console_type_create_glyphs_mswindows): declare new methods.
17046         (image_instantiator_format_create_glyphs_mswindows): ditto.
17047
17048         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17049         (msprinter_set_frame_properties): ditto.
17050
17051         * console.h (struct console_methods): Add update_widget_method.
17052
17053 2000-02-09  Andy Piper  <andy@xemacs.org>
17054
17055         * gui-msw.c (Fmswindows_shell_execute): Make
17056         mswindows-shell-execute industrial strength.
17057
17058 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17059
17060         * lrecord.h: Make macro argument `props' match member function `plist'.
17061         * fns.c (Fget):
17062         * fns.c (Fput):
17063         * fns.c (Fremprop):
17064         * fns.c (Fobject_plist):
17065         * alloc.c:
17066         * symbols.c:
17067         Object property list frobbing cleanup.
17068         - Allow any lisp object (compared with `eq'), not just symbols, as
17069           keys in object plists.
17070         - Move symbol plist frobbing into symbols.c, where it belongs.
17071         - Move string plist frobbing into alloc.c, where it belongs.
17072         - Everything's an lrecord now, so no need to test for symbolp, etc.
17073         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17074
17075         * extents.c: Reorder code to remove declarations.
17076
17077         * frame.h (store_in_alist): Remove useless declaration.
17078
17079 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17080
17081         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17082         * config.h.in: Add HAVE_XCONVERTCASE.
17083
17084 2000-02-07  Andy Piper  <andy@xemacs.org>
17085
17086         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17087         it breaks many things.
17088
17089 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17090
17091         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17092         actually can start a common comment type.
17093         * src/syntax.h (SYNTAX_END_P): ditto for end.
17094
17095 2000-02-07  Martin Buchholz <martin@xemacs.org>
17096
17097         * XEmacs 21.2.28 is released.
17098
17099 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17100
17101         * event-Xt.c (x_keysym_to_character): New.
17102         (maybe_define_x_key_as_self_inserting_character): New.
17103         (x_has_keysym): New.
17104         Auto-define all keys on the keyboard as self-insert-key.
17105
17106 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17107
17108         * menubar.c (vars_of_menubar): A small code simplification.
17109
17110         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17111
17112         * ExternalShell.c:
17113         * ExternalClient.c:
17114         * EmacsShell-sub.c:
17115         * EmacsManager.c:
17116         * EmacsFrame.c:
17117         Use consistent style for specifying X resources.
17118
17119         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17120         This makes (dontusethis-set-symbol-value-handler) actually usable.
17121
17122         * lrecord.h (lrecord_decription_type):
17123         * alloc.c (pdump_register_sub):
17124         (pdump_dump_data):
17125         (pdump_reloc_one):
17126         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17127         Comply with XEmacs coding style.
17128         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17129         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17130
17131         * keymap.c (Faccessible_keymaps):
17132         Make (accessible-keymaps map "\C-h") do the Right Thing.
17133         Make (accessible-keymaps map []) do the Right Thing.
17134         Make (accessible-keymaps map "") do the Right Thing.
17135         (check_keymap_definition_loop): New function.
17136         (keymap_store_internal): Keep luser from shooting self in foot,
17137           via (define-key ctl-x-4-map "p" global-map).
17138         Remove fullness slot from struct Lisp_Keymap, since hash tables
17139         are now reliable.
17140         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17141
17142 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17143
17144         * redisplay.c (init_redisplay): Fix small memory leak.
17145         * elhash.h:
17146         * elhash.c (pdump_reorganize_hash_table):
17147         Rename from reorganize_hash_table. Change prototype.
17148         Reuse the original memory for hentries.  Save 100k.
17149         * alloc.c (PDUMP_READ): new macro.
17150         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17151         * alloc.c: No need to #ifndef before #undef.
17152
17153         * print.c: Allow debug_print() to print readably by modifying
17154         debug_print_readably.  Use consistent variable names.
17155
17156         * .dbxrc: Try to get things to work even if stopped in a function
17157         without source available by explicitly specifying source files.
17158 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17159
17160         * unexnt.c (_start): Removed bogus code which caused loading heap
17161         from differrent executable file.
17162         Removed bogus assignment to _fmode, which caused inconsistencies.
17163
17164 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17165
17166         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17167         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17168         Do not preliminary `#define signal sigset'.
17169
17170         * systime.h: Do not prototype environ on windows nt and cygwin,
17171         this conflicts with system header.
17172
17173         * syssignal.h: Use correct define for WINDOWSNT
17174
17175         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17176         with system header.
17177
17178         * sysdep.c (near start of file): Fixed commentary and rearranged
17179         ifdefs in readable order.
17180         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17181         (start_of_text):
17182         (end_of_text):
17183         (end_of_data): Do not compile in if using PDUMP.
17184
17185         * symsinit.h: Prototyped vars_of_nt().
17186
17187         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17188         (find_child_console): Use it.
17189         (sys_kill): Use it.
17190
17191         * ntheap.h: Do not extern os_subtype.
17192
17193         * ntheap.c (cache_system_info): Do not cache unneeded:
17194         nt_major_version, nt_minor_version and os_subtype.
17195         (recreate_heap): Do not compile in when PDUMPing.
17196
17197         * nt.c (geteuid and friends): Use the new varibale
17198         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17199         (init_user_info): Removed the above mentioned hackery.
17200         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17201         stat has been fixed in the C runtime.
17202         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17203
17204         * file-coding.c (struct file_coding_dump): Do not define
17205         ucs_to_mule_table in the struct if not MULE.
17206         (struct struct lrecord_description fcd_description_1): Do not dump
17207         the above.
17208
17209         * emacs.c (main_1): Call vars_of_nt().
17210         (right before Fdump_emacs_data): Don't need lastfile if using both
17211         portabe dumper and system malloc.
17212
17213         * alloc.c (Fmemory_limit): Conditionalized out.
17214         (pdump): Use OPEN_BINARY for the portable dump file.
17215         (pdump_load): Ditto.
17216
17217 2000-02-02  Mike Alexander  <mta@arbortext.com>
17218
17219         * nt.c (convert_time): Set tm_isdst before calling mktime and
17220         avoid calling it at all if the compiler supports 64 bit integers.
17221         Also initialize utc_base_ft before using it.
17222
17223 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17224
17225         * frame.c (change_frame_size_1): Take f->internal_border_width
17226         into consideration when calculating the width of the frame.
17227
17228 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17229
17230         * window.c (frame_min_height):
17231         (frame_size_valid_p):
17232         (frame_pixsize_valid_p): Added.
17233         (check_frame_size): Generalized.
17234
17235         * window.h: Prototyped the above.
17236
17237         * lisp.h:
17238         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17239         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17240         Deleted Vwin32_* and Vbinary_process_* unused variables.
17241
17242         * device-msw.c (msprinter_init_device): Do not get printer font
17243         list; Added DEVMODE functions.
17244
17245         * frame-msw.c: Added lots of printer code.
17246
17247         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17248         general.c.
17249
17250         * console-msw.h: Added more msprinter device private slots.
17251
17252 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17253
17254         * event-msw.c (key_needs_default_processing_p): Added.
17255         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17256
17257 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17258
17259         * glyphs.c (image_instance_layout): Mark image instance as clean
17260         after layout.
17261         (glyph_dirty_p): Removed redundant function.
17262         (invalidate_glyph_geometry_maybe): Added.
17263         (update_glyph_cachel_data): Call it.
17264
17265         * glyphs.h: Prototyped it.
17266
17267         * redisplay.c (add_glyph_rune): Call it.
17268         (redisplay_window): Reset glyphs cachels when frame faces have
17269         changed, thus forcing recomputation of built-in border glyphs.
17270
17271 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17272
17273         * Makefile.in.in: Make portable dumper and purify play well together.
17274         Add imperfect, but better than nothing, support for pdump.
17275         Remove xemacs.dmp when temacs is re-generated.
17276         Don't ignore errors when dumping xemacs.
17277
17278         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17279
17280 2000-01-28  Andy Piper  <andy@xemacs.org>
17281
17282         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17283         (setup_normal_frame): ditto.
17284         (setup_frame_without_minibuffer): ditto.
17285         (setup_minibuffer_frame): ditto.
17286         (delete_frame_internal): ditto.
17287         (Fmake_frame_invisible): ditto.
17288         (Ficonify_frame): ditto.
17289
17290         * window.h: change Fset_window_buffer signature.
17291
17292         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17293         (Fset_window_buffer): allow recording of buffer if the window is
17294         the selected window.
17295         (window_loop): Use new Fset_window signature.
17296
17297 2000-01-23  Daniel Pittman  <daniel@danann.net>
17298
17299         * config.h.in: Added template for `HAVE_ATHENA_3D'
17300
17301 2000-01-29  Andy Piper  <andy@xemacs.org>
17302
17303         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17304
17305         * gutter.c (output_gutter): Don't output if the window isn't live.
17306
17307 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17308
17309         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17310         of 01/12/00: Moved SetFocus back here where it belongs.
17311
17312 2000-01-23  Andy Piper  <andy@xemacs.org>
17313
17314         * s/cygwin32.h: declare printer things.
17315
17316 2000-01-26  Andy Piper  <andy@xemacs.org>
17317
17318         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17319         Alexander.
17320
17321 2000-01-24  Andy Piper  <andy@xemacs.org>
17322
17323         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17324         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17325
17326         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17327
17328         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17329
17330         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17331
17332         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17333         (mswindows_output_display_block): Avoid local shadows.
17334
17335         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17336         (mswindows_enqueue_mouse_button_event): ditto.
17337         (mswindows_handle_gui_wm_command): remove declaration.
17338
17339         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17340         warnings.
17341
17342         * console-msw.h: Avoid shadows.
17343         (mswindows_get_toolbar_button_text):
17344         (emacs_mswindows_create_stream_pair):
17345         (emacs_mswindows_delete_stream_pair):
17346         (mswindows_handle_toolbar_wm_command): declare.
17347
17348         * device-msw.c (build_syscolor_string): Avoid shadows.
17349
17350 2000-01-23  Andy Piper  <andy@xemacs.org>
17351
17352         * glyphs-widget.c (widget_instantiate): reverse the items for
17353         layouts so that children are in the expected order.
17354
17355 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17356
17357         * ralloc.c: safe_bcopy ==> memmove
17358         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17359         * s/msdos.h: Remove BCOPY macros.
17360         * insdel.c (gap_right): Remove BCOPY conditional code.
17361         * insdel.c (gap_left): Remove BCOPY conditional code.
17362         XEmacs demands a working ANSI C compiler - hence memmove.
17363
17364         * regex.c (regex_compile): Remove accidental use of trigraphs.
17365
17366 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17367
17368         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17369         event timestamp.
17370
17371 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17372
17373         * event-msw.c (mswindows_drain_windows_queue): Added the
17374         parameter.
17375         (mswindows_need_event): Commented the call to
17376         mswindows_drain_windows_queue().
17377         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17378         only.
17379
17380         * console-msw.h: Moved a few function prototypes here from
17381         event-msw.c.
17382
17383         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17384         parameter from unsigned short to unsigned long.
17385         (Fmswindows_shell_execute): Added return value.
17386
17387 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17388
17389         * sysdep.c (init_system_name):
17390           process-unix.c (unix_canonicalized_host_name):
17391         Don't call freeaddrinfo() if getaddrinfo() fails.
17392
17393         * process-unix.c (unix_open_unix_network_stream):
17394         Moved the code to get a port # into address loop.
17395
17396 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17397
17398         * buffer.c (reinit_vars_of_buffer):
17399         The right place to initialize conversion_in_dynarr and
17400         conversion_out_dynarr.
17401
17402         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17403
17404         * process-unix.c (unix_canonicalize_host_name): Muleize.
17405         (unix_open_network_stream): Muleize.
17406
17407         * buffer.h: Fix up prototypes for ralloc.c functions.
17408
17409 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17410         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17411         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17412                 instead of gethostbyname()
17413         * process-unix.c: In unix_canonicalize_host_name() and
17414                 unix_open_network_stream(), add code to use getaddrinfo()
17415                 instead of gethostbyname().
17416
17417 2000-01-27  Daniel Pittman <daniel@danann.net>
17418
17419         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17420         libs when built with flat Athena.
17421
17422 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17423
17424         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17425         Use coding standards for function prototypes.
17426
17427 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17428
17429         * dialog-msw.c (push_lisp_string_as_unicode):
17430         * doc.c (unparesseuxify_doc_string):
17431         * dired.c (Fuser_name_completion_1):
17432         * dired.c (Fuser_name_all_completions):
17433         * dired.c (free_user_cache):
17434         * dired.c (user_name_completion):
17435         * console-x.c (get_display_arg_connection):
17436         * minibuf.c (clear_echo_area_internal):
17437         * minibuf.c (echo_area_append):
17438         * eldap.c (Fldap_open):
17439         * eldap.c (Fldap_search_internal):
17440         * frame-x.c (x_set_frame_text_value):
17441         * frame-x.c (x_set_frame_properties):
17442         * frame-x.c (x_create_widgets):
17443         * redisplay-tty.c (term_get_fkeys_1):
17444         * objects-x.c (x_parse_nearest_color):
17445         * objects-x.c (x_valid_color_name_p):
17446         * objects-x.c (x_initialize_font_instance):
17447         * objects-x.c (x_list_fonts):
17448         * objects-x.c (x_find_charset_font):
17449         * tooltalk.c (Fadd_tooltalk_message_arg):
17450         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17451         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17452         * process-unix.c (unix_create_process):
17453         * ntproc.c (sys_spawnve):
17454         * sound.c (Fplay_sound_file):
17455         * sound.c (Fplay_sound):
17456         * buffer.c (init_initial_directory):
17457         * buffer.c (init_buffer):
17458         * editfns.c (init_editfns):
17459         * editfns.c (Ftemp_directory):
17460         * editfns.c (Fuser_full_name):
17461         * editfns.c (uncache_home_directory):
17462         * editfns.c (get_home_directory):
17463         * editfns.c (Fuser_home_directory):
17464         * editfns.c (Fformat_time_string):
17465         * editfns.c (Fcurrent_time_string):
17466         * gui-x.c (button_item_to_widget_value):
17467         * database.c (Fopen_database):
17468         * event-Xt.c (x_to_emacs_keysym):
17469         * event-Xt.c (x_event_to_emacs_event):
17470         * event-Xt.c (describe_event_window):
17471         * event-msw.c (mswindows_wnd_proc):
17472         * glyphs-eimage.c (jpeg_instantiate):
17473         * glyphs-eimage.c (gif_instantiate):
17474         * glyphs-eimage.c (png_instantiate):
17475         * glyphs-eimage.c (tiff_instantiate):
17476         * glyphs-x.c (xbm_instantiate_1):
17477         * glyphs-x.c (x_xbm_instantiate):
17478         * glyphs-x.c (x_xface_instantiate):
17479         * glyphs-x.c (autodetect_instantiate):
17480         * glyphs-x.c (cursor_font_instantiate):
17481         * glyphs-x.c (x_widget_instantiate):
17482         * glyphs-x.c (x_widget_set_property):
17483         * glyphs-x.c (x_widget_property):
17484         * glyphs-x.c (BUILD_GLYPH_INST):
17485         * print.c (write_string_to_stdio_stream):
17486         * print.c (output_string):
17487         * print.c (Falternate_debugging_output):
17488         * print.c (Fexternal_debugging_output):
17489         * glyphs-msw.c (extract_xpm_color_names):
17490         * glyphs-msw.c (mswindows_xpm_instantiate):
17491         * glyphs-msw.c (bmp_instantiate):
17492         * glyphs-msw.c (resource_name_to_resource):
17493         * glyphs-msw.c (mswindows_resource_instantiate):
17494         * glyphs-msw.c (xbm_instantiate_1):
17495         * glyphs-msw.c (mswindows_xbm_instantiate):
17496         * glyphs-msw.c (mswindows_xface_instantiate):
17497         * glyphs-msw.c (mswindows_widget_instantiate):
17498         * glyphs-msw.c (add_tree_item):
17499         * glyphs-msw.c (add_tab_item):
17500         * glyphs-msw.c (mswindows_combo_box_instantiate):
17501         * glyphs-msw.c (mswindows_widget_property):
17502         * glyphs-msw.c (mswindows_combo_box_property):
17503         * glyphs-msw.c (mswindows_widget_set_property):
17504         * console.c (stuff_buffered_input):
17505         * objects-msw.c (mswindows_initialize_color_instance):
17506         * objects-msw.c (mswindows_valid_color_name_p):
17507         * objects-msw.c (mswindows_list_fonts):
17508         * objects-msw.c (mswindows_font_instance_truename):
17509         * bytecode.c (optimize_compiled_function):
17510         * select-x.c (symbol_to_x_atom):
17511         * select-x.c (x_atom_to_symbol):
17512         * select-x.c (hack_motif_clipboard_selection):
17513         * select-x.c (selection_data_to_lisp_data):
17514         * select-x.c (lisp_data_to_selection_data):
17515         * select-x.c (Fx_get_cutbuffer_internal):
17516         * select-x.c (Fx_store_cutbuffer_internal):
17517         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17518         * buffer.h (TO_INTERNAL_FORMAT): New function.
17519         * emacs.c (make_arg_list_1):
17520         * emacs.c (make_argc_argv):
17521         * emacs.c (main_1):
17522         * emacs.c (Fdump_emacs):
17523         * emacs.c (split_string_by_emchar_1):
17524         * file-coding.h:
17525         * lisp.h:
17526         * lstream.h:
17527         * symsinit.h:
17528         * device-x.c (x_init_device):
17529         * device-x.c (Fx_valid_keysym_name_p):
17530         * device-x.c (Fx_get_font_path):
17531         * device-x.c (Fx_set_font_path):
17532         * glyphs.c (bitmap_to_lisp_data):
17533         * glyphs.c (pixmap_to_lisp_data):
17534         * alloc.c (make_ext_string): Use coding system arguments.  Update
17535         all callers.
17536         * alloc.c (build_string):
17537         * callproc.c (child_setup):
17538         * callproc.c (init_callproc):
17539         * fileio.c (lisp_strerror):
17540         * fileio.c (directory_file_name):
17541         * fileio.c (Fexpand_file_name):
17542         * fileio.c (Ffile_truename):
17543         * fileio.c (Fsysnetunam):
17544         * fileio.c (Fdo_auto_save):
17545         * sysdep.c (sys_readdir):
17546         * tests.c: New file.  Allow adding C tests.
17547         Replace GET_* macros with a more comprehensible and flexible
17548         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17549         Modify all calls.
17550         Any coding system can be used to do format conversion.
17551         Eliminate enum external_data_format.
17552         Eliminate convert_to_external_format.
17553         Eliminate convert_to_internal_format.
17554         Make sure file-name, keyboard, terminal, and ctext are always
17555         defined as coding systems or aliases.  Make
17556         file-name-coding-system, terminal-coding-system, and
17557         keyboard-coding-system magical variables that are equivalent to
17558         defining the corresponding coding system aliases.
17559
17560         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17561         * file-coding.c (Fcoding_system_alias_p): New function.
17562         * file-coding.c (Fcoding_system_aliasee): New function.
17563         * file-coding.c (append_suffix_to_symbol): New function.
17564         * file-coding.c (dangling_coding_system_alias_p): New function.
17565         * file-coding.c (Ffind_coding_system):
17566         * file-coding.c (Fcopy_coding_system):
17567         * file-coding.c (encode_coding_no_conversion):
17568         * file-coding.c (syms_of_file_coding):
17569         * file-coding.c (vars_of_file_coding):
17570         Rewrite coding system alias code.
17571         Allow nested aliases, like symbolic links.
17572         Allow redefinition of coding system aliases.
17573         Prevent existence of dangling coding system aliases.
17574
17575         * dired.c (Fuser_name_completion_1):
17576         * dired.c (Fuser_name_all_completions):
17577         A crash would happen if user did QUIT in the middle of building
17578         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17579
17580         * lisp.h:
17581         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17582
17583         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17584         an unsigned char *.  Update all callers.
17585
17586 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17587
17588         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17589
17590 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17591
17592         * elhash.c (hentry_description): Use more portable definition.
17593         (resize_hash_table): Initialize new hentries using
17594         xnew_array_and_zero, thereby simplifying the code.
17595
17596         * mule-charset.c (make_charset): Make sure entire object is
17597         initialized, to avoid Purify warnings.
17598
17599         * alloc.c (resize_string): Fix unlikely crash with big strings.
17600
17601 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17602
17603         * realpath.c (xrealpath):
17604         Don't call getwd().
17605
17606 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17607
17608         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17609
17610 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17611
17612         * unexelfsgi.c (unexec): Change the way we decide which segment
17613         should be extended.
17614
17615         Assumption that .bss section should be outside the PT_LOADable
17616         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17617         it's present) is inside the 'data' segment. This would fail the
17618         test which was used to find a segment to grow and cover new
17619         heap. Instead of this assumption, I created another one - on IRIX
17620         the segment to grow should start below .bss and it's address
17621         should extent above the end of .bss. Once this segment is
17622         identified, it's grown to accommodate the new heap and new
17623         zero-length .bss section is added at the end of .data2.
17624
17625 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17626
17627         * eval.c (Feval): Wrong number of arguments should use original
17628         function, not the indirect_function version of it.
17629
17630 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17631
17632         * glyphs-x.c (x_button_instantiate): Don't add image if
17633         it is not a pixmap.
17634         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17635         is relative.
17636
17637 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17638
17639         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17640         declaration.
17641         (DEFVAR_INT_MAGIC): Ditto.
17642         (DEFVAR_BOOL_MAGIC): Ditto.
17643         * glyphs.h: Reindent backslash.
17644
17645 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17646
17647         * glyphs-widget.c (layout_query_geometry):
17648         (layout_layout): Use correct types for gheight, gwidth.
17649
17650 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17651
17652         * EmacsManager.c (QueryGeometry): Purified.
17653
17654 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17655
17656         * alloc.c (make_float): Make sure entire object is initialized, to
17657         avoid Purify warnings.
17658         (pdump_register_sub): Remove useless assignment.
17659         (pdump): Use xmalloc, not malloc.
17660         (pdump_load): Use xmalloc, not malloc.
17661
17662 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17663
17664         * callproc.c:
17665         * dired-msw.c:
17666         * fileio.c:
17667         * process-nt.c:
17668         * redisplay-msw.c:
17669         * sysdep.c: Removed redundant #include <windows.h>
17670
17671 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17672
17673         * frame.c (delete_frame_internal): Do not delete device when its
17674         implementation so declares.
17675         (delete_frame_internal): Set device selected frame to nil when
17676         last frame goes away.
17677
17678         * device-msw.c (msprinter_device_system_metrics): Implemented.
17679         (mswindows_device_system_metrics): Added 'device-dpi property.
17680
17681         * device.c: (Fdevice_printer_p): Added.
17682         Added 'offset-workspace device metric.
17683
17684         * console.h (device_metrics): Declared DM_offset_workspace.
17685
17686 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17687
17688         * fileio.c (Ffile_truename): Remove pointless and confusing
17689         initialization of elen.
17690
17691         * glyphs-widget.c: Compiler warning fixes.
17692
17693 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17694
17695         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17696         instead of a Lisp_Object as argument to make it consistent with
17697         the other LIVE_P macros.
17698         (CHECK_LIVE_PROCESS): New macro.
17699
17700         * process.c: Declare Qprocess_live_p.
17701         (Fprocess_live_p): New function.
17702         (create_process): Use PROCESS_LIVE_P.
17703         (read_process_output): Ditto.
17704         (set_process_filter): Ditto.
17705         (Fdelete_process): Ditto.
17706         (kill_buffer_processes): Ditto
17707         (process_send_signal): Use CHECK_LIVE_PROCESS.
17708         (Fprocess_input_coding_system): Check whether process is still
17709         alive (fix PR#1061).
17710         (Fprocess_output_coding_system): Ditto.
17711         (Fprocess_coding_system): Ditto.
17712         (Fset_process_input_coding_system): Ditto.
17713         (Fset_process_output_coding_system): Ditto.
17714
17715 2000-01-23  Andy Piper  <andy@xemacs.org>
17716
17717         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17718         layout and widget.
17719
17720         * glyphs.c (mark_image_instance): take into account changed
17721         image_instance format.
17722         (image_instance_equal): ditto.
17723         (image_instance_hash): ditto.
17724
17725         * glyphs-widget.c (widget_instantiate): Incorporate layout
17726         instantiation here. Delay layout of the layout until later.
17727         (layout_instantiate): deleted.
17728         (layout_query_geometry): new function. get the geometry of a
17729         layout.
17730         (layout_layout): layout a layout dynamically.
17731         (image_instantiator_widget): New function - splitting up
17732         image_instantiator_format_create_glyphs_widget for netwinder
17733         compilation.
17734         (image_instantiator_buttons):
17735         (image_instantiator_edit_fields):
17736         (image_instantiator_combo_box):
17737         (image_instantiator_scrollbar):
17738         (image_instantiator_progress_guage):
17739         (image_instantiator_tree_view):
17740         (image_instantiator_tab_control):
17741         (image_instantiator_labels):
17742         (image_instantiator_layout): ditto.
17743         (image_instantiator_format_create_glyphs_widget): Call preceding
17744         functions.
17745
17746 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17747
17748         * process.c (Fset_process_coding_system):
17749         * device-x.c (Fx_keysym_hash_table):
17750         Docstring fixes.
17751
17752         * lstream.c (Lstream_write): Return documented value, not 0.
17753
17754         * fileio.c (directory_file_name):
17755         (Fsubstitute_in_file_name):
17756         (Fsubstitute_insert_file_contents_internal):
17757         (Fwrite_region_internal):
17758         * emacs.c:
17759         * sysdep.c:
17760         * getloadavg.c:
17761         * systty.h:
17762         Remove vestigial APOLLO-conditional code.
17763
17764 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17765
17766         * getpagesize.h: Add guard macros.
17767         * libsst.h: Add guard macros.
17768         * libst.h: Add guard macros.
17769         * line-number.h: Add guard macros.
17770         * ndir.h: Add guard macros.
17771         * sysfloat.h: Add guard macros.
17772         * sysfile.h: Add guard macros.
17773         * sysproc.h: Add guard macros.
17774         * syswait.h: Add guard macros.
17775         * xintrinsic.h: Add guard macros.
17776         * xintrinsicp.h: Add guard macros.
17777         * xmmanager.h: Add guard macros.
17778         * xmmanagerp.h: Add guard macros.
17779         * xmprimitive.h: Add guard macros.
17780         * xmu.h: Add guard macros.
17781         * gpmevent.h: Add copyright statement. Add guard macros.
17782         * miscplay.h: Add guard macros.
17783         * *.h: Use consistent C-standards-approved guard macro names.
17784
17785         * opaque.c (make_opaque): Switch parameter order.
17786         * opaque.h (make_opaque): Switch parameter order.
17787         Update all callers.
17788         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17789
17790         * config.h.in (type_checking_assert): Added.
17791         (bufpos_checking_assert): Added.
17792
17793 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17794
17795         * alloc.c: Harmless pdump changes.
17796         - Use countof().
17797         - spell alignment correctly.
17798         * sysdep.c: Use countof()
17799
17800 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17801
17802         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17803         initially_selected_for_input() console method, default to 0.
17804         (semi_canonicalize_console_connection): Try to delegate to
17805         canonicalize_console_connection if no such console method.
17806         (canonicalize_console_connection): Vice versa.
17807         (print_console): Do not print nil connection.
17808
17809         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17810         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17811         (XDEVIMPF_FRAMELESS_OK): Added.
17812         (CONSOLE_INHERITS_METHOD): Added.
17813
17814         * console-msw.c (mswindows_canonicalize_console_connection):
17815         Added.
17816         (mswindows_canonicalize_device_connection): Added.
17817
17818         * console-msw.h (struct msprinter_device): Added this struct and
17819         accessor macros.
17820         (mswindows_device): Made fontlist a lisp object.
17821
17822         * device.c (semi_canonicalize_device_connection):  Try to delegate
17823         to canonicalize_device_connection if no such console method.
17824         (canonicalize_device_connection): Vice versa.
17825         (print_device): Do not print nil connection.
17826
17827         * device-msw.c (mswindows_init_device): Call InitCommonControls
17828         when have widgets.
17829         (mswindows_delete_device): Removed fontlist deallocation.
17830         (mswindows_mark_device): Added.
17831
17832         * events.c (event_equal): Added abort() at unreached code.
17833         (event_hash): Ditto.
17834
17835         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17836         fallback tags of Windows devices.
17837
17838         * general.c (syms_of_general): Initialized Qmsprinter.
17839
17840         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17841         of fallback tags of Windows devices.
17842
17843         * lisp.h: Declared Qmsprinter.
17844
17845         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17846         of strings.
17847         (mswindows_list_fonts): Ditto.
17848         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17849         that it can be used by both mswindows and msprinter devices.
17850         (initialize_font_instance): Added.
17851         (mswindows_initialize_font_instance): Use it.
17852         (msprinter_initialize_font_instance): Added.
17853
17854         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17855         and implementation flags check.
17856         (redisplay_without_hooks): Changed the call to the above.
17857         (Fredraw_device): Ditto.
17858         (Fredisplay_device): Ditto.
17859
17860         * redisplay-msw.c (get_frame_dc): Implemented.
17861         (get_frame_compdc): Implemented.
17862         (many functions): Use the two functions above to get device
17863         contexts, ether for a window or a printer.
17864
17865 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17866
17867         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17868         initialization here.
17869         (init_symbols_once_early): Call it.
17870         * emacs.c (main_1): Call it.
17871         * symsinit.h: Declare it.
17872
17873 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17874
17875         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17876         Lisp_Object.
17877         (pdump_backtrace): Ditto.
17878         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17879         (pdump_get_entry): Abort if trying to register a null pointer.
17880         (pdump_dump_data): Cleanup types when relocating.
17881         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17882         (pdump_dump_rtables): Remove bad casts.
17883         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17884         Lisp_Object instead of a EMACS_INT for the hashtable
17885         reorganization.
17886
17887 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17888
17889         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17890
17891         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17892
17893         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17894
17895         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17896
17897 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17898
17899         * faces.h (FACE_STRIKETHRU_P): Added.
17900
17901         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17902         of font variants.
17903
17904         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17905         (mswindows_set_dc_font): New function, aware of font variants,
17906         separated from mswindows_update_dc.
17907
17908         * objects-msw.h (struct mswindows_font_instance_data): Added
17909         definition.
17910
17911         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17912         cached fonts and the data structure.
17913         (mswindows_initialize_font_instance): Added creation of font data
17914         structure.
17915         (mswindows_print_font_instance): Print at least something.
17916         (mswindows_create_font_variant): Implemented.
17917         (mswindows_get_hfont): Implemented.
17918
17919 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17920
17921         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17922         prototyping problem with msvc.
17923
17924         * emacs.c (main_1): added syms_of_gui_mswindows() call
17925
17926         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17927         syms_of_gui_mswindows() function
17928
17929         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17930
17931 2000-01-18  Martin Buchholz <martin@xemacs.org>
17932
17933         * XEmacs 21.2.27 is released.
17934
17935 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17936
17937         * glyphs-eimage.c (struct tiff_error_struct):
17938         (tiff_error_func):
17939         (tiff_warning_func):
17940         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17941
17942         * unexmips.c:
17943         * unexhp9k3.c:
17944         * unexfreebsd.c:
17945         * unexec.c: Remove vestigial Lucid C code.
17946         * unexalpha.c:
17947         * unexaix.c:
17948         * termcap.c:
17949         * libsst.c: Ansify.
17950         Remove declarations of errno and strerror().
17951
17952         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17953
17954         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17955
17956 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17957
17958         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17959         Optimize.
17960
17961 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17962
17963         * md5.c:
17964         * file-coding.c:
17965         * file-coding.h:
17966         Change enum eol_type to eol_type_t.
17967
17968 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17969
17970         * gui.c (get_gui_callback): Check cons before accessing car.
17971
17972 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17973
17974         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17975         (XSETSPECIFIER_TYPE): Ditto.
17976
17977 2000-01-17  Didier Verna  <didier@xemacs.org>
17978
17979         * redisplay.c (generate_fstring_runes): compute string size in
17980         characters, not bytes.
17981
17982 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17983
17984         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17985
17986 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17987
17988         * print.c (print_error_message): Call print_prepare().
17989
17990 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17991
17992         * .dbxrc: Renamed from dbxrc.
17993
17994         * events.c (event_to_character):
17995         Use `assert (foo)' instead of `if (!foo) abort()'
17996
17997         * .gdbinit (xtype): Add documentation.
17998         * .gdbinit (check-temacs): New function.
17999         * .gdbinit (check-xemacs): New function.
18000         * dbxrc (check-xemacs): New function.
18001         * dbxrc (check-xemacs): New function.
18002
18003 2000-01-14  Andy Piper  <andy@xemacs.org>
18004
18005         * glyphs-widget.c (widget_query_geometry): Make sure that we
18006         calculate default dimensions correctly.
18007
18008 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18009
18010         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18011
18012         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18013         pdump_wire'd variable.
18014
18015         * emacs.c: (main_1): Conditionalized calls to
18016         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18017
18018 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18019
18020         * window.c (Fset_window_configuration):
18021         * sysdep.c (_start):
18022         * input-method-motif.c (res):
18023         * event-Xt.c (Xt_process_to_emacs_event):
18024         Simple compiler warning fixes.
18025
18026         * bytecode.c (funcall_compiled_function): Use the original
18027         function symbol on the backtrace list in preference to the
18028         compiled_function object in error messages.
18029
18030 2000-01-13  Andy Piper  <andy@xemacs.org>
18031
18032         * glyphs-x.c (update_widget_face): Make sure we update the widget
18033         background as well as foreground.
18034
18035 2000-01-13  Andy Piper  <andy@xemacs.org>
18036
18037         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18038         fields to subwindow.
18039         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18040         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18041         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18042         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18043
18044         * glyphs-widget.c (check_valid_tab_orientation): new function.
18045         (initialize_widget_image_instance): zero orientation and
18046         justification.
18047         (widget_instantiate): pick up orientation.
18048         (tab_control_query_geometry): return appropriate values for
18049         vertical tabs.
18050
18051         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18052         appropriate creation flags for left, right and bottom tabs.
18053
18054         * s/cygwin32.h: add tab definitions.
18055
18056 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18057
18058         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18059         frame upon hiding a subwindow.
18060         (mswindows_button_instantiate): Changed the push button style to
18061         BS_PUSHBUTTON.
18062         (mswindows_button_instantiate): Removed button BS_NOTIFY
18063         style.
18064         (mswindows_button_instantiate): Removed redundant check for
18065         a disabled gui item.
18066         (mswindows_button_instantiate): Made use of WS_TABSTOP
18067         consistent: "operable" controls (edit, button, tree, scroll) have
18068         this style, "display-only" ones (static, progress gauge) do
18069         not. This style is currently ignored by XEmacs though. Also,
18070         removed the WS_EX_CONTROLPARENT style - it is not for children,
18071         it is for their parents!
18072         (mswindows_edit_field_instantiate): Ditto.
18073         (mswindows_progress_gauge_instantiate): Ditto.
18074         (mswindows_tree_view_instantiate): Ditto.
18075         (mswindows_tab_control_instantiate): Ditto.
18076         (mswindows_scrollbar_instantiate): Ditto.
18077         (mswindows_combo_box_instantiate): Ditto.
18078         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18079         style to the "clip" window.
18080         (mswindows_button_instantiate): Removed compilation warning by
18081         equally typing terms of the ?: operator.
18082
18083 2000-01-12  Didier Verna  <didier@xemacs.org>
18084
18085         * redisplay.c (generate_fstring_runes): new parameter holding the
18086         last modeline-format extent.
18087         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18088         extent, fill the glyph block with it.
18089         (generate_fstring_runes): handle these parameters.
18090         (generate_formatted_string_db): ditto.
18091
18092         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18093         glyphs'extents in the modeline.
18094
18095 1999-01-11  Mike Woolley  <mike@bulsara.com>
18096
18097         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18098         256Mb, as a workaround for the non-starting problem many people
18099         have experienced.
18100
18101 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18102
18103         * console-tty.c (Fset_console_tty_output_coding_system):
18104         Force redrawing tty frame.
18105
18106 2000-01-10  Didier Verna  <didier@xemacs.org>
18107
18108         * redisplay.c (generate_fstring_runes): fix size computation bug.
18109
18110 2000-01-09  William M. Perry <wmperry@aventail.com>
18111
18112         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18113
18114 2000-01-09  Andy Piper  <andy@xemacs.org>
18115
18116         * glyphs-msw.c: index -> i to avoid shadows.
18117         (xbm_create_bitmap_from_data): make static.
18118         (check_valid_string_or_int): deleted.
18119         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18120
18121         * glyphs-x.c (x_update_subwindow): remove unused args.
18122
18123         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18124         back pointer - this is done in allocate_image_instance.
18125         (query_string_font): return Qnil to make the compiler happy.
18126         (unmap_subwindow): set to ~0 to make the compiler happy.
18127         (glyph_query_geometry): comment out until used.
18128         (glyph_layout): ditto.
18129
18130 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18131
18132         * insdel.c (signal_after_change): Remove extraneous unbind_to().