update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
4         the default location of data-source.
5         (complex_vars_of_concord): Use Vchise_system_db_directory to
6         assign genre `character' and `feature'.
7
8         * chartab.h (Vchise_system_db_directory): New extern when
9         HAVE_CONCORD is defined.
10
11 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
14         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
15         (Qfeature): Ditto.
16         (Fconcord_object_genre): New function.
17         (syms_of_concord):
18         - Add new builtin symbols `character' and `feature' when
19           HAVE_LIBCHISE is defined.
20         - Add Add new builtin function `concord-object-genre'.  
21         (complex_vars_of_concord): New function; assign genres `character'
22         and `feature' when HAVE_LIBCHISE is defined.
23
24 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * emacs.c (main_1): Call `complex_vars_of_concord' when
27         HAVE_CONCORD is defined.
28
29         * symsinit.h (complex_vars_of_concord): New prototype.
30
31 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * chartab.c (allocate_character): Add `static'.
34
35 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * chartab.c (allocate_character): New function.
38         (Fdefine_char): Use allocate_character().
39
40 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
41
42         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
43         (Ōkawara).
44
45 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * chartab.c (save_uint8_byte_table): Fixed problem when a property
48         is unloaded.
49         (save_uint16_byte_table): Likewise.
50
51 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * chartab.c (Fchar_feature_property): New function when LIBCHISE
54         is enabled.
55         (Fput_char_feature_property): Likewise.
56         (syms_of_chartab): Add new builtin functions
57         `char-feature-property' and `put-char-feature-property' when
58         LIBCHISE is enabled.
59
60 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
61
62         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
63         '=>iso-ir.
64         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
65
66 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
69         (make_charset): Add new argument `iso_ir'.
70         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
71         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
72         XEmacs CHISE.
73         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
74         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
75         XEmacs CHISE.
76         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
77         function `make_charset'.
78
79         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
80         (struct Lisp_Charset): Add new member `iso_ir'.
81         (CHARSET_ISO_IR): New macro.
82
83 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
84
85         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
86         code-point by GL charset.
87
88 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * concord.c (concord_id_validate): New function.
91         (structure_type_create_concord): Use `concord_id_validate' instead
92         of `concord_name_validate' to accept integer and character as =id.
93
94 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * concord.c (func_for_each_object): Fix bug about GC-protection.
97
98 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * concord.c (Fconcord_object_put): Check argument FEATURE is a
101         symbol.
102
103 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * text-coding.c (struct decoding_stream): Add new member
106         `bom_flag' in XEmacs CHISE.
107         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
108         in XEmacs CHISE.
109
110 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * mule-charset.c: Move definition of `=jis-x0208@1978' to
113         lisp/mule/mule-conf.el.
114
115 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
118         (make_charset): Add new argument `partial'.
119         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
120         (Fmake_reverse_direction_charset): Modify for `make_charset'.
121         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
122         CHISE.
123         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
124         `=jis-x0208' as a partial coded-charset.
125
126 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * text-coding.c (decode_add_er_char): Fix problem when a character
129         represented by an entity-reference is not defined.
130
131 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
134         Qrep_*.
135
136 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
139         (Kasagi).
140
141 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
144         is a relation feature.
145
146 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * chartab.c (syms_of_chartab): Define
149         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
150
151         * chartab.h (Q_denotational): New extern when UTF2000 or
152         HAVE_CONCORD is defined.
153         (Q_denotational_from): Likewise.
154         (Q_subsumptive): Likewise.
155         (Q_subsumptive_from): Likewise.
156
157 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * concord.c (concord_object_put): New function.
160         (Fconcord_object_put): Use `concord_object_put'.
161
162 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
163
164         * concord.c (Fconcord_define_object): New function.
165         (syms_of_concord): Add new builtin function
166         `concord-define-object'.
167
168 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
171         (Kamo).
172
173 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * concord.c: Add EXFUN for Fconcord_object_get.
176         (Vconcord_genre_object_hash_table): New variable.
177         (concord_genre_cache_get_object): New function.
178         (concord_genre_cache_put_object): New function.
179         (Fconcord_make_object): Use object cache; put object-ID into `=id'
180         feature.
181         (Fconcord_object_put): Call `concord_index_sync' after
182         `concord_index_strid_put_obj'.
183         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
184
185 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
186
187         * concord.c (Fconcord_decode_object): Do GCPRO for
188         Fconcord_make_object.
189         (func_for_each_object): Likewise; do GCPRO for
190         for_each_object_closure->function.
191         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
192         for_each_object_closure->function, for_each_object_closure->genre,
193         for_each_object_closure->ds and for_each_object_closure->ret.
194         (concord_object_validate): Do GCPRO for Fconcord_make_object.
195
196 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * concord.c: Add EXFUNs for Fconcord_decode_object and
199         Fconcord_object_put.
200         (Fconcord_make_object): Change order of arguments.
201         (Fconcord_decode_object): Modify for Fconcord_make_object.
202         (func_for_each_object): Likewise.
203         (concord_object_validate): Likewise.
204         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
205
206 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
209
210 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * concord.c (Fconcord_decode_object): Try to use readable print
213         form as a key of Concord-index.
214         (Fconcord_object_get): Try to use readable print form as an ID of
215         Concord-object.
216         (Fconcord_object_put): Try to use readable print form as an ID of
217         Concord-object and a feature value.
218         (Fconcord_object_spec): Try to use readable print form as an ID of
219         Concord-object.
220
221 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * concord.c (print_concord_object): Support readable form.
224
225 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
226
227         * emacs.c (main_1): Call `structure_type_create_concord' when
228         HAVE_CONCORD is defined.
229
230         * symsinit.h (structure_type_create_concord): New prototype.
231
232         * concord.c (Qconcord_object): New variable.
233         (Qgenre): Likewise.
234         (Q_id): Likewise.
235         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
236         for directory.
237         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
238         char*> for genre-name.
239         (Fconcord_feature_list): Likewise.
240         (Fconcord_make_object): Likewise.
241         (Fconcord_decode_object): Likewise; use <char*> instead of
242         <unsigned char*> for feature_name and strid.
243         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
244         c_obj and feature_name.
245         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
246         char*> for c_value.
247         (struct closure_for_object_spec): Use <char*> instead of <unsigned
248         char*> for member `object_id'.
249         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
250         char*> for feature-name.
251         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
252         for c_obj.
253         (func_for_each_object): Cast to avoid warnings.
254         (Fconcord_foreach_object_in_feature): Use <char*> instead of
255         <unsigned char*> for genre_name and feature_name.
256         (concord_name_validate): New function.
257         (concord_object_validate): Likewise.
258         (concord_object_instantiate): Likewise.
259         (syms_of_concord): Add new builtin symbols `concord-object',
260         `genre' and `=id'.
261         (structure_type_create_concord): New function.
262
263 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
264
265         * concord.c (Vconcord_ds_hash_table): New variable.
266         (Vconcord_genre_hash_table): New variable.
267         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
268         (Fconcord_ds_directory): New function.
269         (Fconcord_assign_genre): New function.
270         (Fconcord_genre_directory): New function.
271         (Fconcord_genre_ds): New function.
272         (Fconcord_feature_list): Allow to omit `ds'.
273         (Fconcord_make_object): Likewise.
274         (Fconcord_decode_object): Likewise.
275         (Fconcord_foreach_object_in_feature): Likewise.
276         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
277         Fconcord_assign_genre, Fconcord_genre_directory and
278         Fconcord_genre_ds.
279         (vars_of_concord): Setup Vconcord_ds_hash_table and
280         Vconcord_genre_hash_table.
281
282 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * concord.c (struct closure_for_each_object): Add new member
285         `ret'.
286         (func_for_each_object): Setup the return value to
287         `for_each_object_closure->ret'.
288         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
289         returns the value instead of Qt.
290
291 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * concord.c: New file.
294
295 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
298         `lrecord_type_concord_object'.
299
300 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * symsinit.h (syms_of_concord): New prototype.
303         (vars_of_concord): New prototype.
304
305         * emacs.c (main_1): Setup symbols and variable about concord if
306         HAVE_CONCORD is defined.
307
308         * config.h.in (HAVE_CONCORD): New macro.
309
310 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * chartab.c (Fput_char_attribute): For each character relation
313         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
314
315 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * chartab.c (Fput_char_attribute): Use
318         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
319         calling `put_char_composition'.
320
321 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * chartab.c (Q_halfwidth_of): New variable.
324         (put_char_composition): Return `<-halfwidth' instead of
325         `=decomposition' for compatibility mapping to single character
326         tagged `narrow'.
327         (Fput_char_attribute): Convert char-specs in value of
328         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
329         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
330         for `<-halfwidth'.
331         (syms_of_chartab): Add new symbol `<-halfwidth'.
332
333 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * chartab.c (put_char_composition): Return
336         `<-formed@{isolated|initial|medial|final}' for compatibility
337         mapping to single character tagged
338         `{isolated|initial|medial|final}'.
339
340 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * chartab.c (Q_compat_of): Deleted.
343         (put_char_composition): Return `<-FOO' for compatibility mapping
344         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
345         of `symbol_name (XSYMBOL(...))'.
346         (Fput_char_attribute): Convert char-specs in value of
347         `{<-|->}font[^*]*' to characters and put reverse links.
348         (Fsave_char_attribute_table): Don't refer Q_compat_of.
349         (syms_of_chartab): Delete builtin symbol `<-compat'.
350
351 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
352
353         * chartab.c (Q_circled_of): New variable.
354         (put_char_composition): Return `<-circled' instead of
355         `=decomposition' for compatibility mapping to single character
356         tagged `circle'.
357         (Fput_char_attribute): Convert char-specs in value of
358         `{<-|->}circled[^*]*' to characters and put reverse links.
359         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
360         for `<-circled'.
361         (syms_of_chartab): Add new symbol `<-circled'.
362
363 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
364
365         * chartab.c (Qto_decomposition_at_circled): New variable.
366         (put_char_composition): Return `=>decomposition@circled' instead
367         of `=decomposition' for compatibility decomposition mapping tagged
368         `circle'.
369         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
370
371 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * chartab.c (Q_subscript_of): New variable.
374         (put_char_composition): Return `<-subscript' instead of
375         `=decomposition' for compatibility mapping to single character
376         tagged `sub'.
377         (Fput_char_attribute): Convert char-specs in value of
378         `{<-|->}subscript[^*]*' to characters and put reverse links.
379         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
380         for `<-subscript'.
381         (syms_of_chartab): Add new symbol `<-subscript'.
382
383 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
384
385         * chartab.c (Q_superscript_of): New variable.
386         (put_char_composition): Return `<-superscript' instead of
387         `=decomposition' for compatibility mapping to single character
388         tagged `super'.
389         (Fput_char_attribute): Convert char-specs in value of
390         `{<-|->}superscript[^*]*' to characters and put reverse links.
391         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
392         for `<-superscript'.
393         (syms_of_chartab): Add new symbol `<-superscript'.
394
395 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * chartab.c (Qto_decomposition_at_compat): Deleted.
398         (Qto_decomposition_at_superscript): New variable.
399         (put_char_composition): Use `=>decomposition@superscript' instead
400         of `=decomposition' for compatibility decomposition mapping tagged
401         `super'.
402         (Fput_char_attribute): Fix condition about `put_char_composition'.
403         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
404         add news symbol `=>decomposition@superscript'.
405
406 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
409         for compatibility decomposition mapping tagged FOO.
410         (Fput_char_attribute): Modify for `put_char_composition'.
411
412 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
413
414         * chartab.c (Qto_decomposition_at_compat): New variable.
415         (Q_compat_of): Renamed from `Q_compatibility_of'.
416         (put_char_composition): Rename `Q_compatibility_of' to
417         `Q_compat_of'; return `=>decomposition@compat' for compatibility
418         decomposition mapping.
419         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
420         `Q_compat_of'.
421         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
422         `<-compatibility' to `<-compat'.
423
424 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
425
426         * chartab.c (Q_compatibility_of): New variable.
427         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
428         object is proved to be a cons cell; return `<-compatibility' if
429         the first element of argument `value' is `compat'.
430         (Fput_char_attribute): Eliminate the first value if
431         `put_char_composition' returns `<-compatibility'.
432         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
433         for `<-compatibility'.
434         (syms_of_chartab): Add new symbol `<-compatibility'.
435
436 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * chartab.c (Q_canonical): New variable.
439         (put_char_composition): Return a feature name: return
440         `->canonical' if argument `value' specifies single character.
441         (Fput_char_attribute): Use `put_char_composition' to determine
442         feature name for `=decomposition' or `->denotational'.
443         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
444         for `->canonical'.
445         (syms_of_chartab): Add new symbol `->canonical'.
446
447 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
448
449         * chartab.c (Qmap_decomposition): New variable.
450         (Fput_char_attribute): Convert `->decomposition' to
451         `=decomposition'.
452         (syms_of_chartab): Add new symbol `=decomposition'.
453
454 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * chartab.c (Fget_range_char_table): Fix serious problem when
457         `range' is nil.
458
459 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * chartab.c (char_table_get_db): Use `read_from_c_string'.
462
463 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * lread.c (read_from_c_string): New function.
466
467         * lisp.h (read_from_c_string): New prototype.
468
469 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * chartab.c (Fput_char_attribute): Convert char-specs in value of
472         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
473         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
474         for `{<-|->}Oracle-Bones[^*]*'.
475
476 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
477
478         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
479         (Kizu).
480
481 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
482
483         * text-coding.c (Qccs_priority_list): New variable in XEmacs
484         CHISE.
485         (Fmake_coding_system): Support new property `ccs-priority-list' in
486         XEmacs CHISE.
487         (Fcoding_system_property): Likewise.
488         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
489         Vdefault_coded_charset_priority_list in XEmacs CHISE.
490         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
491         XEmacs CHISE.
492         (complex_vars_of_file_coding): Define new coding-system-property
493         `ccs-priority-list' in XEmacs CHISE.
494
495         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
496
497 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
498
499         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
500         changed to normal function.
501         (encode_char_2): Likewise.
502
503         * mule-charset.c (decoding_table_put_char): Copied from
504         char-ucs.h; changed to normal function.
505         (encode_char_2): Likewise.
506
507 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
510         New extern.
511         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
512         (encode_char_2_search_children): New inline function.
513         (encode_char_2): Refer
514         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
515         and use `encode_char_2_search_children'.
516
517 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * mule-charset.c
520         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
521         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
522         (vars_of_mule_charset): Add new variable
523         `display-coded-charset-priority-use-inheritance' and
524         `display-coded-charset-priority-use-hierarchy-order'.
525
526 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
527
528         * char-ucs.h (Q_subsumptive): New extern.
529         (Q_denotational): Likewise.
530         (encode_char_2): Search children specified by `->subsumptive' and
531         `->denotational'.
532
533 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * mule-charset.c (complex_vars_of_mule_charset): Modify the
536         X-registry of `ucs-bmp'.
537
538 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
539
540         * chartab.c (char-variants): Refer `->subsumptive',
541         `->denotational' and `->identical' as same as `->ucs-unified'.
542
543 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * chartab.c (Fput_char_attribute): Convert char-specs in value of
546         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
547         links.
548
549 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
550
551         * text-coding.c: Add EXFUN for `Fregexp_quote'.
552         (decode_add_er_char): Fix problem about infinite loop when a CCS
553         specified in `coded-charset-entity-reference-alist' is not
554         existed.
555
556 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * mule-charset.c (syms_of_mule_charset): Rename
559         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
560
561 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * fns.c (simplify_char_spec): Don't allocate new character-object
564         if specified char_spec does not have any CCS-features.
565
566         * chartab.h: Add EXFUN for Fdefine_char.
567
568         * chartab.c: Delete EXFUN for Fdefine_char.
569
570 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
571
572         * fns.c (simplify_char_spec): Use Fdefine_char instead of
573         Ffind_char for char-spec.
574
575 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * lisp-disunion.h (XCHARVAL): Fix condition about
578         SIZEOF_EMACS_INT.
579
580 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
583         <int> for `code'.
584         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
585         point; use <Emchar> instead of <int> for character-id.
586
587 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
588
589         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
590         (make_char): Likewise.
591         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
592         environment.
593         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
594         instead of <int> as the type of return value; use <Lisp_Object>
595         instead of <Emchar> as the type of argument.
596         (XCHARVAL[macro version]): Cast the result into <Emchar>.
597
598         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
599         syntaxcode> instead of <int>.
600
601 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * chartab.c (put_char_composition): Use DECODE_CHAR to get
604         character corresponding with UCS code point.
605         (Fput_char_attribute): Likewise.
606
607         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
608         character in the UCS decoding-table if the char-id is not equal to
609         the UCS code point.
610
611 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
614         for aliases; write `description'; write
615         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
616         not 0.
617
618 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * chartab.c (Fsave_char_attribute_table): Don't use
621         `save_charset_properties'.
622
623         * mule-charset.c (Fsave_charset_properties): Renamed from
624         `save_charset_properties' and changed to Lisp function again;
625         write property `type' as `CCS'; write properties `final-byte' and
626         `mother' if they exists.
627         (syms_of_mule_charset): Revive builtin function
628         `save-charset-properties' when HAVE_LIBCHISE is defined.
629
630 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
631
632         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
633         instead of Vexec_directory.
634         (char_attribute_system_db_file): Likewise.
635
636 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * chartab.c (Fsave_char_attribute_table): Use
639         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
640         defined.
641
642         * mule-charset.c (save_charset_properties): Renamed from
643         `Fsave_charset_properties'; changed to non-Lisp function.
644         (syms_of_mule_charset): Abolish builtin function
645         `save-charset-properties'.
646
647 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (Fsave_charset_properties): New function when
650         HAVE_LIBCHISE is defined.
651         (syms_of_mule_charset): Add new builtin function
652         `save-charset-properties' when HAVE_LIBCHISE is defined.
653
654 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
655
656         * chartab.c (Fput_char_attribute): Convert char-specs in value of
657         `{<-|->}ancient[^*]*' to characters and put reverse links.
658         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
659         for `{<-|->}ancient[^*]*'.
660
661 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
662
663         * chartab.c (Fput_char_attribute): Convert char-specs in value of
664         `{<-|->}original[^*]*' to characters and put reverse links.
665         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
666         for `{<-|->}original[^*]*'.
667
668 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
669
670         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
671
672 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * mule-charset.c (Qsystem_char_id): New variable.
675
676         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
677         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
678
679 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * chartab.c (Fput_char_attribute): When processing a reference of
682         a character, put into the end of the reversed reference of each
683         target character.
684
685 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
686
687         * chartab.c (Q_same): Deleted.
688         (Q_same_of): Deleted.
689         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
690         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
691         for `{<-|->}same'.
692         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
693
694 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * chartab.c (Q_vulgar): Deleted.
697         (Q_vulgar_of): Deleted.
698         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
699         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
700         for `{<-|->}vulgar'.
701         (syms_of_chartab): Don't define `{<-|->}vulgar'.
702
703 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * chartab.c (Fput_char_attribute): Convert char-specs in value of
706         `{<-|->}wrong[^*]*' to characters and put reverse links.
707         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
708         for `{<-|->}wrong[^*]*'.
709
710 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * chartab.c (Q_vulgar): New variable.
713         (Q_vulgar_of): New variable.
714         (Fput_char_attribute): Convert char-specs in value of
715         `{->|<-}vulgar' to characters and put reverse links.
716         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
717         for `{->|<-}vulgar'.
718         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
719
720 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * text-coding.c (decode_add_er_char): Must to quote prefix string
723         as regexp.
724
725 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule-charset.c (put_char_ccs_code_point): Store characters of
728         =ucs whose code_points >= 0xF0000.
729
730 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
733         CHISE.
734         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
735         CHISE.
736         (complex_vars_of_mule_charset): Add new coded-charset
737         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
738         builtin characters over 0xEFFFF.
739
740         * chartab.c (syms_of_chartab): Don't define symbol
741         `system-char-id' in every case.
742
743         * char-ucs.h (Qsystem_char_id): New extern variable.
744         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
745
746 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * text-coding.c (char_encode_utf8): Try to use entity-references
749         for U-000F0000 ...  U-0010FFFF.
750
751 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * text-coding.c (ER_BUF_SIZE): New macro.
754         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
755         `er_buf'.
756         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
757         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
758
759 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * chartab.c (find_char_feature_in_family): New function.
762         (Fchar_feature): Use `find_char_feature_in_family' with
763         `->identical', `<-subsumptive' and `<-denotational'.
764
765 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * text-coding.c (char_encode_as_entity_reference): Allow prefix
768         within 8 characters; fix infinite loop.
769
770 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * chartab.c (Q_same): New variable.
773         (Q_same_of): New variable.
774         (Fput_char_attribute): Convert char-specs in value of
775         `{->|<-}same' to characters and put reverse links.
776         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
777         for `{->|<-}same'.
778         (syms_of_chartab): Add new symbols `{->|<-}same'.
779
780 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * chartab.c (Q_component): New variable.
783         (Q_component_of): Likewise.
784         (Fput_char_attribute): Convert char-specs in value of
785         `{->|<-}ideographic-component-forms' to characters and put reverse
786         links.
787         (syms_of_chartab): Add new symbols
788         `{->|<-}ideographic-component-forms'.
789
790 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
791
792         * chartab.c (Q_identical): New variable.
793         (Q_identical_from): New variable.
794         (Fchar_feature): Regard `->identical' as a feature to find
795         ancestors.
796         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
797         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
798         for `{->|<-}identical'.
799         (syms_of_chartab): Add new symbols `{->|<-}identical'.
800
801 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
802
803         * char-ucs.h (encode_char_2): New inline function.
804         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
805
806 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
807
808         * chartab.c (Fput_char_attribute): Convert char-specs to
809         characters in value of `ideographic-structure'.
810         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
811         for `{<-|->}simplified(@...)'.
812         (Fdefine_char): Try to use predefined character's id.
813
814 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * fns.c (simplify_char_spec): Try to convert builtin chars to
817         defined chars.
818
819 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * chartab.c (Fput_char_attribute): Convert char-specs in value of
822         `<-simplified[^*]*' to characters and put reverse links.
823
824 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
825
826         * chartab.c (Q_subsumptive): Renamed from Q_unified.
827         (Q_subsumptive_from): Renamed from Q_unified_from.
828         (Fchar_feature): Use `Q_subsumptive_from' instead of
829         `Q_unified_from'.
830         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
831         `Q_unified'.
832         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
833         `<-unified' to `<-subsumptive'.
834
835 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
836
837         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
838         inheritance itself; fix typo; stop recursive search if cyclic
839         inheritance is found.
840
841 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * chartab.c (Q_denotational): New variable.
844         (Q_denotational_from): New variable.
845         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
846         (put_char_attribute): New function.
847         (Fput_char_attribute): Use `put_char_attribute'; regard
848         `->denotational' and `<-denotational' as same as `->unified' and
849         `<-unified'.
850         (syms_of_chartab): Add new symbols `->denotational' and
851         `<-denotational'.
852
853 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
856         `Fget_char_attribute'.
857         (Fchar_variants): Likewise.
858         (get_char_table): Likewise.
859         (Fchar_feature): New function.
860         (put_char_composition): Use `Fchar_feature' instead of
861         `Fget_char_attribute'.
862         (Fput_char_attribute): Likewise; don't put the target character
863         into its `->unified' value.
864         (syms_of_chartab): Add new builtin function `char-feature'.
865
866 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
867
868         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
869         `Fget_char_attribute'.
870         (char_encode_utf8): Likewise.
871
872         * chartab.h: Add an EXFUN for `Fchar_feature'.
873
874 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * chartab.c (Vnext_defined_char_id): New variable.
877         (Fput_char_attribute): Accept characters in `->unified'.
878         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
879         new characters which are not related with builtin char-id ranges.
880         (vars_of_chartab): Add new variable `next-defined-char-id'.
881
882 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
883
884         * chartab.c (Q_unified): New variable.
885         (Q_unified_from): New variable.
886         (Fput_char_attribute): Add code for `->unified'.
887         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
888         XEmacs CHISE.
889
890 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
891
892         * mule-charset.c (decode_ccs_conversion): New function.
893         (decode_defined_char): Use `decode_ccs_conversion'.
894         (decode_builtin_char): Likewise.
895
896 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * char-ucs.h: Change some charset-ids of private coded-charsets.
899
900 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
903         (char_encode_as_entity_reference): Likewise.
904         (decode_coding_big5): Modify for `decode_defined_char' and
905         `DECODE_CHAR'.
906         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
907         avoid compiler warning.
908         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
909
910         * mule-charset.c (decode_defined_char): Add new argument
911         `without_inheritance'.
912         (Fdecode_char): Add new optional argument `without_inheritance'.
913         (Fdecode_builtin_char): Modify for `Fdecode_char'.
914
915         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
916         (simplify_char_spec): Likewise.
917
918         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
919         setting.
920
921         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
922         (map_char_table): Likewise.
923         (Fdefine_char): Use `Fdecode_char' without inheritance.
924         (Ffind_char): Modify for `Fdecode_char'.
925
926         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
927
928         * char-ucs.h (decode_defined_char): Add new argument
929         `without_inheritance'.
930         (DECODE_CHAR): Likewise.
931         (MAKE_CHAR): Modify for `DECODE_CHAR'.
932
933 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
934
935         * chartab.c (Vchise_system_db_directory): New variable.
936         (vars_of_chartab): Add new variable `chise-system-db-directory'.
937
938 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * chartab.c: EXFUN `Fmount_char_attribute_table'.
941         (print_chartab_range): Don't define when `UTF2000' is defined.
942         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
943         `CHISE_DS_open'.
944
945 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
946
947         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
948         and optional argument `rehash' is specified, call
949         `open_chise_data_source_maybe' before
950         `chise_ds_foreach_char_feature_name' is called.
951
952 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * chartab.c (char_attribute_list_reset_map_func): New function
955         when HAVE_LIBCHISE is defined.
956         (Fchar_attribute_list): Add new optional argument `rehash' when
957         HAVE_LIBCHISE is defined.
958         (open_chise_data_source_maybe): Use "chise-db" instead of
959         "char-db".
960         (char_attribute_system_db_file): Likewise.
961         (Fload_char_attribute_table): Use
962         `chise_feature_foreach_char_with_value' instead of
963         `chise_char_feature_value_iterate'.
964
965 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * chartab.c (Vchise_db_directory): New variable.
968         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
969
970 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
973         instead of HAVE_CHISE to specify using with libchise.
974
975         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
976
977         * chartab.h: Don't use HAVE_CHISE_CLIENT.
978
979         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
980         defined or HAVE_LIBCHISE_LIBCHISE is defined.
981         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
982         is defined.
983         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
984         HAVE_CHISE to specify using with libchise.
985         (syms_of_chartab): Don't define symbol `system-char-id' when
986         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
987
988 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
989
990         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
991         specify CHISE DB support.
992         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
993         of `char_attribute_system_db_file' to check feature DB file.
994
995         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
996         HAVE_CHISE_CLIENT to specify CHISE DB support.
997
998         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
999         specify CHISE DB support.
1000         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1001         not defined.
1002         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1003         instead of `char_attribute_system_db_file' to check feature DB
1004         file.
1005
1006 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1007
1008         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1009         `HAVE_CHISE_CLIENT'.
1010
1011 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1014         (Fsave_charset_mapping_table): Don't use
1015         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1016
1017         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1018         (HAVE_LIBCHISE): New macro.
1019
1020         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1021
1022         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1023         (Fsave_char_attribute_table): Don't use
1024         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1025
1026 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1027
1028         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1029         defined.
1030         (save_uint16_byte_table): Likewise.
1031         (save_byte_table): Likewise.
1032         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1033         instead of `chise_char_load_feature_value'.
1034         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1035
1036 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1037
1038         * chartab.h (struct Lisp_Char_Table): Delete member
1039         `feature_table' if CHISE is defined.
1040
1041         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1042         (Fcopy_char_table): Likewise.
1043         (char_table_open_db_maybe): Likewise.
1044         (char_table_close_db_maybe): Likewise.
1045         (char_table_get_db): Likewise.
1046         (Fmount_char_attribute_table): Likewise.
1047         (Fload_char_attribute_table): Likewise.
1048
1049 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1050
1051         * mule-charset.c (load_char_decoding_entry_maybe): Use
1052         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1053         `chise_ccs_decode'.
1054
1055 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1056
1057         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1058         instead of `chise_open_data_source'.
1059         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1060         `chise_ds_close'.
1061
1062 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1065         instead of `chise_ds_open_feature_table'.
1066         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1067
1068 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1069
1070         * mule-charset.c (Fsave_charset_mapping_table): Use
1071         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1072         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1073         `chise_ccs_sync' instead of `chise_ccst_close'.
1074         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1075
1076         * chartab.c (open_chise_data_source_maybe): Modify for
1077         `chise_open_data_source'.
1078         (char_table_open_db_maybe): Modify for
1079         `chise_ds_open_feature_table'.
1080
1081 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1082
1083         * mule-charset.c (load_char_decoding_entry_maybe): Use
1084         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1085         `chise_ccst_close'.
1086
1087 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1088
1089         * mule-charset.c (Fsave_charset_mapping_table): Use
1090         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1091         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1092         `chise_dt_put_char' and `chise_dt_close'.
1093         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1094         `chise_ccs_decode' and `chise_ccst_close' instead of
1095         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1096         `chise_dt_close'.
1097
1098         * chartab.c (char_table_get_db): Use
1099         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1100         (load_char_attribute_table_map_func): Modify for
1101         `chise_char_feature_value_iterate'.
1102         (Fload_char_attribute_table): Use
1103         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1104
1105 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1108
1109 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1110
1111         * chartab.c (put_char_table): Modify for inherited coded-charsets
1112         in XEmacs CHISE.
1113
1114 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1115
1116         * chartab.c (Fput_char_table_map_function): Fixed.
1117         (word_boundary_p): Don't check charset in XEmacs CHISE.
1118
1119 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1120
1121         * mule-charset.c (Fsave_charset_mapping_table): Use
1122         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1123         instead of `chise_open_decoding_table'; refer
1124         `default_chise_data_source'; use `chise_dt_close' instead of
1125         `chise_close_decoding_table'.
1126         (load_char_decoding_entry_maybe): Likewise.
1127
1128         * chartab.c (default_chise_data_source): New variable when `CHISE'
1129         is defined.
1130         (Fcopy_char_table): `ct->ds' is deleted.
1131         (open_chise_data_source_maybe): New function.
1132         (Fclose_char_data_source): New function.
1133         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1134         use `chise_ds_open_feature_table' instead of
1135         `chise_open_feature_table'.
1136         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1137         `chise_close_feature_table'; `cit->ds' is deleted.
1138         (syms_of_chartab): Add new builtin function
1139         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1140
1141         * chartab.h (default_chise_data_source): New extern variable.
1142         (open_chise_data_source_maybe): New prototype.
1143         (struct Lisp_Char_Table): Delete `ds'.
1144
1145 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1146
1147         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1148         `CHISE' is defined.
1149
1150 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1151
1152         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1153         not defined; add code for non-libchise setting.
1154         (char_table_close_db_maybe): Likewise.
1155         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1156         defined.
1157         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1158         even if `CHISE' is not defined.
1159         (Freset_char_attribute_table): Likewise.
1160         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1161         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1162         `char_table_get_db'.
1163         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1164         `char_table_close_db_maybe' even if `CHISE' is not defined.
1165
1166 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1167
1168         * chartab.c (char_table_open_db_maybe): New function.
1169         (char_table_close_db_maybe): New function.
1170         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1171         (Freset_char_attribute_table): Likewise.
1172         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1173         `char_table_close_db_maybe'.
1174         (Fload_char_attribute_table): Likewise.
1175
1176 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1177
1178         * chartab.c: Don't include <chise.h> because it is included in
1179         chartab.h.
1180         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1181         defined.
1182         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1183         `CHISE' is defined.
1184         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1185         `CHISE' is defined.
1186         (Fclose_char_attribute_table): Close `ct->feature_table' and
1187         `ct->ds' when `CHISE' is defined.
1188         (Freset_char_attribute_table): Likewise.
1189         (load_char_attribute_maybe): Use `cit->ds' and
1190         `cit->feature_table' when `CHISE' is defined.
1191         (Fload_char_attribute_table): Likewise.
1192
1193         * chartab.h: Include <chise.h> when `CHISE' is defined.
1194         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1195         when `CHISE' is defined.
1196
1197 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1198
1199         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1200         is defined.
1201         (char_table_description): Likewise.
1202         (Fmake_char_table): Likewise.
1203         (Fcopy_char_table): Likewise.
1204         (Fmount_char_attribute_table): Likewise.
1205         (Fclose_char_attribute_table): Likewise.
1206         (Freset_char_attribute_table): Likewise.
1207         (load_char_attribute_maybe): Likewise.
1208         (Fload_char_attribute_table): Likewise.
1209
1210         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1211         defined.
1212
1213 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1214
1215         * chartab.c (load_char_attribute_table_map_func): New function
1216         when CHISE is defined.
1217         (Qload_char_attribute_table_map_function): Don't define when CHISE
1218         is defined.
1219         (Fload_char_attribute_table_map_function): Likewise.
1220         (Fload_char_attribute_table): Use libchise when `CHISE' is
1221         defined.
1222         (syms_of_chartab): Don't define
1223         `load-char-attribute-table-map-function' when CHISE is defined.
1224
1225 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1226
1227         * chartab.c: Include <chise.h> when `CHISE' is defined.
1228         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1229
1230 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1231
1232         * mule-charset.c (charset_code_point): Fix problem when searching
1233         in mother CCS fails with `defined_only' mode.
1234
1235 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1238         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1239         (put_char_composition): Likewise.
1240         (Fput_char_attribute): Likewise.
1241         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1242
1243 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1244
1245         * chartab.c (Q_ucs): Deleted.
1246         (Fput_char_attribute): Don't refer `->ucs'.
1247         (Fdefine_char): Likewise.
1248         (Ffind_char): Likewise.
1249         (syms_of_chartab): Delete `->ucs'.
1250
1251 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1252
1253         * mule-charset.c (Qmap_cns11643_2): Renamed from
1254         `Qchinese_cns11643_2'.
1255         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1256         `chinese-cns11643-2'.
1257         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1258         `=cns11643-2'.
1259
1260 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1261
1262         * mule-charset.c (Qmap_cns11643_1): Renamed from
1263         `Qchinese_cns11643_1'.
1264         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1265         `chinese-cns11643-1'.
1266         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1267         `=cns11643-1'.
1268
1269 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1270
1271         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1272         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1273         `chinese-gb12345'.
1274         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1275         `=gb12345'.
1276
1277 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1278
1279         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1280         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1281         `chinese-gb2312'.
1282         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1283         `=gb2312'.
1284
1285 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1286
1287         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1288         (syms_of_mule_charset): Add new symbol `=big5' instead of
1289         `chinese-big5'.
1290         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1291
1292 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1293
1294         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1295         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1296         `korean-ksc5601'.
1297         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1298         `=ks-x1001'.
1299
1300 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1301
1302         * mule-charset.c (Qmap_jis_x0212): Renamed from
1303         `Qjapanese_jisx0212'.
1304         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1305         `japanese-jisx0212'.
1306         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1307         `=jis-x0212'.
1308
1309 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1310
1311         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1312         `Qjapanese_jisx0208'.
1313         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1314         of `japanese-jisx0208'.
1315         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1316         `=jis-x0208-1983'.
1317
1318 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1319
1320         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1321         `Qjapanese_jisx0208_1978'.
1322         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1323         of `japanese-jisx0208-1978'.
1324         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1325         `=jis-x0208-1978'.
1326
1327 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1328
1329         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1330         only for XEmacs CHISE.
1331
1332 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1333
1334         * char-ucs.h: Compact non-ISO-IR charset-ids.
1335         (LEADING_BYTE_UCS): Changed to -177.
1336         (LEADING_BYTE_CONTROL_1): Changed to -77.
1337         (LEADING_BYTE_UCS_BMP): Changed to -176.
1338         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1339
1340 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1341
1342         * mule-charset.c (Qiso_ir): New variable.
1343         (Fmake_charset): Recognise new property `iso-ir'.
1344         (syms_of_mule_charset): Add new symbol `iso-ir'.
1345
1346 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1347
1348         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1349         n to -n; charset-id of non ISO-IR sets are changed to positive
1350         numbers.
1351
1352 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1353
1354         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1355         for &MCS-XXXXXXXX; values.
1356
1357 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1358
1359         * mule.c (Vxemacs_chise_version): Renamed from
1360         `Vutf_2000_version'.
1361         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1362         `utf-2000-version' as an alias for `xemacs-chise-version'.
1363
1364 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1365
1366         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1367         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1368         defined.
1369
1370         * config.h.in (CHISE): New macro.
1371
1372 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1373
1374         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1375         of `ucs'.
1376         (Qmap_ucs): New variable.
1377         (syms_of_mule_charset): Add new symbol `=ucs'.
1378         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1379
1380         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1381         (simplify_char_spec): Likewise.
1382
1383         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1384
1385         * char-ucs.h (Qmap_ucs): New extern variable.
1386
1387 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1390         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1391         don't define it when UTF2000 is not defined.
1392         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1393         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1394         when UTF2000 is not defined.
1395         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1396         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1397
1398 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1401
1402         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1403         (Qucs_gb): Deleted.
1404         (syms_of_mule_charset): Delete `ucs-gb'.
1405         (complex_vars_of_mule_charset): Likewise.
1406
1407 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1408
1409         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1410
1411         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1412         (Qucs_cns): Deleted.
1413         (syms_of_mule_charset): Delete `ucs-cns'.
1414         (complex_vars_of_mule_charset): Likewise.
1415
1416 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1419
1420         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1421         (Qucs_jis): Deleted.
1422         (syms_of_mule_charset): Delete `ucs-jis'.
1423         (complex_vars_of_mule_charset): Likewise.
1424
1425 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1426
1427         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1428
1429         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1430         (Qucs_ks): Deleted.
1431         (syms_of_mule_charset): Delete `ucs-ks'.
1432         (complex_vars_of_mule_charset): Likewise.
1433
1434 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1435
1436         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1437         (Qideograph_daikanwa_2): Deleted.
1438         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1439         (complex_vars_of_mule_charset): Likewise.
1440
1441         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1442         (LEADING_BYTE_DAIKANWA_1): Deleted.
1443         (LEADING_BYTE_DAIKANWA_2): Deleted.
1444         (MIN_CHAR_DAIKANWA): Deleted.
1445         (MAX_CHAR_DAIKANWA): Deleted.
1446
1447 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1448
1449         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1450         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1451         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1452
1453         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1454         (Vcharset_ideograph_daikanwa): Deleted.
1455         (Qideograph_hanziku_{1..12}): Deleted.
1456         (Qideograph_daikanwa): Deleted.
1457         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1458         Vcharset_ideograph_daikanwa.
1459         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1460         `ideograph-hanziku-{1..12}'.
1461         (complex_vars_of_mule_charset): Likewise.
1462
1463 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1464
1465         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1466
1467         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1468         (Qideograph_gt_pj_{1..11}): Deleted.
1469         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1470         (complex_vars_of_mule_charset): Likewise.
1471
1472 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1473
1474         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1475         (Vcharset_ideograph_gt): Deleted.
1476         (Qucs_big5): Deleted.
1477         (Qideograph_gt): Deleted.
1478         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1479         `ideograph-gt'.
1480         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1481         and `ideograph-gt'.
1482
1483         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1484         (LEADING_BYTE_GT): Deleted.
1485         (MIN_CHAR_GT): Deleted.
1486         (MAX_CHAR_GT): Deleted.
1487
1488 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1491
1492 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1493
1494         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1495         (save_uint16_byte_table): Likewise.
1496         (save_byte_table): Likewise; convert values by it.
1497         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1498         for `ideographic-structure'.
1499         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1500         as the filter for `ideographic-structure'.
1501
1502 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1503
1504         * chartab.c (put_char_composition): New function.
1505         (Fput_char_attribute): Use `put_char_composition'; use
1506         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1507
1508         * fns.c (simplify_char_spec): New function.
1509         (char_ref_simplify_spec): New function.
1510         (Fchar_refs_simplify_char_specs): New function.
1511         (syms_of_fns): Add new builtin function
1512         `char-refs-simplify-char-specs'.
1513
1514 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1515
1516         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1517         (Qideograph_cbeta): Deleted.
1518         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1519         (complex_vars_of_mule_charset): Likewise.
1520
1521         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1522         (MIN_CHAR_CBETA): Comment out.
1523         (MAX_CHAR_CBETA): Likewise.
1524
1525 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1526
1527         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1528         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1529         CHISE client feature.
1530
1531 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1532
1533         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1534
1535 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1536
1537         * mule-charset.c (charset_lookup_description_1): Use
1538         `NUM_LEADING_BYTES' in UTF-2000.
1539
1540 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1541
1542         * char-ucs.h (GC_CHARSETP): Deleted.
1543
1544 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1545
1546         * char-ucs.h (MAX_CHAR_GT): Updated.
1547
1548 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1549
1550         * text-coding.c: Sync with XEmacs 21.4.10.
1551
1552 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1553
1554         * mule-charset.c (Vcharset_china3_jef): Deleted.
1555         (Qchina3_jef): Deleted.
1556         (syms_of_mule_charset): Don't define `china3-jef'.
1557         (complex_vars_of_mule_charset): Likewise.
1558
1559         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1560         (MIN_CHAR_CHINA3_JEF): Comment out.
1561         (MAX_CHAR_CHINA3_JEF): Comment out.
1562
1563 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1564
1565         * mule-charset.c (Vcharset_ucs_gb): New variable.
1566         (Qucs_gb): New variable.
1567         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1568         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1569
1570         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1571
1572 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1573
1574         * mule-charset.c (charset_code_point): if a coded-charset has a
1575         final-byte, don't inherit the builtin range of the mother CCS.
1576
1577 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1578
1579         * mule-charset.c (charset_code_point): Fix problem about
1580         inheritance.
1581
1582 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1583
1584         * mule-charset.c (decode_builtin_char): Reorganized.
1585
1586 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * text-coding.c (char_encode_as_entity_reference): Modify for
1589         `charset_code_point'.
1590         (char_encode_shift_jis): Likewise.
1591         (char_encode_big5): Likewise.
1592         (char_encode_utf8): Likewise.
1593         (char_encode_iso2022): Likewise.
1594
1595         * mule-charset.c (charset_code_point): Add new argument
1596         `defined_only'.
1597         (Fencode_char): Add new optional argument `defined_only'.
1598
1599         * chartab.c (put_char_table): Modify for `charset_code_point'.
1600
1601         * char-ucs.h (charset_code_point): Add new argument
1602         `defined_only'.
1603         (encode_char_1): Modify for `charset_code_point'.
1604
1605 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1606
1607         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1608         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1609
1610 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1613         (Qjis_x0208): Likewise.
1614         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1615         XCHARSET_FINAL(charset).
1616         (charset_code_point): Modify condition for final-byte based
1617         builtin-chars.
1618         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1619         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1620         in UTF-2000; specify `=jis-x0208' as the mother of
1621         `japanese-jisx0208-1978', `japanese-jisx0208' and
1622         `japanese-jisx0208-1990' in UTF-2000.
1623
1624 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1625
1626         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1627
1628 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1629
1630         * text-coding.c (decode_coding_utf16): Support UTF-16.
1631         (char_encode_utf16): Fixed.
1632
1633 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1634
1635         * text-coding.c (Qutf16): New variable in MULE.
1636         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1637         (Fcoding_system_type): Add `utf-16' in MULE.
1638         (struct detection_state): Add a structure for utf16 in MULE.
1639         (detect_coding_type): Setup st->utf16.mask in MULE.
1640         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1641         MULE.
1642         (reset_encoding_stream): Use `char_encode_utf16' and
1643         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1644         (detect_coding_utf16): New function [incomplete].
1645         (decode_coding_utf16): New function [support only UCS-2].
1646         (char_encode_utf16): New function.
1647         (char_finish_utf16): New function.
1648         (syms_of_file_coding): Add new symbol `utf-16'; setup
1649         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1650
1651         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1652         UTF-2000.
1653         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1654         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1655
1656 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1657
1658         * chartab.c (put_char_table): When a charset is specified as a
1659         range in UTF-2000, don't support builtin characters.
1660
1661 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1662
1663         * mule-charset.c (decode_defined_char): Don't refer external
1664         database if Qunbound or Qnil are found.
1665         (Fsave_charset_mapping_table): Don't define it if
1666         HAVE_CHISE_CLIENT is not defined.
1667         (Freset_charset_mapping_table): New function.
1668         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1669         found in external database.
1670         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1671         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1672         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1673
1674 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1675
1676         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1677         not.
1678
1679 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1680
1681         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1682         Q_lowercase, Q_uppercase in UTF-2000.
1683
1684         * chartab.c (get_char_table): Add special code for the standard
1685         case table to use character attribute `->downcase' and
1686         `->uppercase' for case operations in UTF-2000.
1687
1688         * casetab.c (Qflippedcase): New variable in UTF-2000.
1689         (Q_lowercase): Likewise.
1690         (Q_uppercase): Likewise.
1691         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1692         and `->uppercase' in UTF-2000.
1693         (complex_vars_of_casetab): Assign attribute name `downcase' to
1694         downcase and CANON table of Vstandard_case_table in UTF-2000;
1695         assign attribute name `flippedcase' to upcase and EQV table of
1696         Vstandard_case_table in UTF-2000.
1697
1698 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1699
1700         * text-coding.c (decode_add_er_char): Support isolated-chars.
1701         (char_encode_as_entity_reference): Likewise.
1702
1703 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1704
1705         * emacs.c (Vutf_2000_lisp_directory): New variable.
1706         (Vconfigure_utf_2000_lisp_directory): Likewise.
1707         (complex_vars_of_emacs): Add new variable
1708         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1709
1710 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1711
1712         * char-ucs.h (DECODE_CHAR): Delete special code for
1713         `chinese-big5-1' and `chinese-big5-2'.
1714
1715         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1716         (Qbig5_2): Likewise.
1717         (decode_defined_char): Support CONVERSION_BIG5_1 and
1718         CONVERSION_BIG5_2.
1719         (decode_builtin_char): Likewise.
1720         (charset_code_point): Likewise.
1721         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1722         'conversion in UTF-2000.
1723         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1724         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1725         `chinese-big5-2' as children of `chinese-big5'.
1726
1727         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1728         (CONVERSION_BIG5_2): New macro.
1729
1730 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1731
1732         * text-coding.c (char_encode_big5): Support entity-reference.
1733
1734 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1735
1736         * text-coding.c (char_encode_as_entity_reference): New function.
1737         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1738
1739 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1740
1741         * text-coding.c (decode_coding_big5): Support entity-reference
1742         decoding feature.
1743
1744 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1745
1746         * text-coding.c (allocate_coding_system): Initialize initial
1747         charsets for CODESYS_UTF8.
1748         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1749         charset-g2 for CODESYS_UTF8.
1750         (decode_coding_utf8): Use charset-g0.
1751         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1752         to force variants to map to UCS.
1753
1754 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1755
1756         * text-coding.c (Qutf_8_mcs): New variable.
1757         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1758         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1759         instead of `utf-8' in UTF-2000.
1760
1761 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1762
1763         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1764         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1765         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1766         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1767         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1768         CONVERSION_96x96x96x96 are introduced.
1769         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1770         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1771         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1772
1773         * char-ucs.h (CONVERSION_94): New macro.
1774         (CONVERSION_96): New macro.
1775         (CONVERSION_94x94): New macro.
1776         (CONVERSION_96x96): New macro.
1777         (CONVERSION_94x94x94): New macro.
1778         (CONVERSION_96x96x96): New macro.
1779         (CONVERSION_94x94x94x60): New macro.
1780         (CONVERSION_94x94x94x94): New macro.
1781         (CONVERSION_96x96x96x96): New macro.
1782
1783 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1784
1785         * chartab.c (Vcharacter_variant_table): Deleted.
1786         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1787         of `Vcharacter_variant_table'.
1788         (Fput_char_attribute): Likewise.
1789         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1790         (complex_vars_of_chartab): Likewise.
1791
1792 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1793
1794         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1795
1796         * fns.c (Qideographic_structure): New variable.
1797         (Qkeyword_char): New variable.
1798         (ids_format_unit): New function.
1799         (Fideographic_structure_to_ids): New function.
1800         (syms_of_fns): Add new symbols `ideographic-structure' and
1801         `:char'; add new builtin function `ideographic-structure-to-ids'.
1802
1803         * data.c (Fchar_ref_p): New function.
1804         (syms_of_data): Add new builtin function `char-ref-p'.
1805
1806         * chartab.h: Add an EXFUN for `Ffind_char'.
1807
1808 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1809
1810         * text-coding.c (Vcharacter_composition_table): Deleted.
1811         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1812         in every UTF-2000.
1813
1814         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1815         UTF-2000.
1816         (Vcharacter_composition_table): Deleted.
1817         (Fget_composite_char): Use the implementation for external-DB
1818         support in every UTF-2000.
1819         (Fput_char_attribute): Likewise.
1820         (char_attribute_system_db_file): Don't define if external-DB
1821         feature is not available.
1822         (Fsave_char_attribute_table): Likewise.
1823         (Fmount_char_attribute_table): Likewise.
1824         (Fclose_char_attribute_table): Likewise.
1825         (Freset_char_attribute_table): Likewise.
1826         (Fload_char_attribute_table): Likewise.
1827         (syms_of_chartab): Don't define `save-char-attribute-table',
1828         `mount-char-attribute-table', `reset-char-attribute-table',
1829         `close-char-attribute-table' and `load-char-attribute-table' if
1830         external-DB feature is not available.
1831         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1832
1833 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1834
1835         * text-coding.c (Qcomposition): Add extern if external-DB feature
1836         is supported.
1837         (Vcharacter_composition_table): Don't add extern if external-DB
1838         feature is supported.
1839         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1840         character composition rule if external-DB feature is supported.
1841
1842         * chartab.c (Vcharacter_composition_table): Don't define if
1843         external-DB feature is supported.
1844         (Qcomposition): New variable.
1845         (Fget_composite_char): New implementation for external-DB support.
1846         (Fput_char_attribute): Use `composition' property of each
1847         character instead of `Vcharacter_composition_table' to store
1848         character-composition rules if external-DB feature is supported.
1849         (syms_of_chartab): Add new symbol `composition'.
1850         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1851         external-DB feature is supported.
1852
1853 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1854
1855         * chartab.c (Vchar_db_stingy_mode): New variable.
1856         (load_char_attribute_maybe): Close database if
1857         Vchar_db_stingy_mode is not NIL.
1858         (Fload_char_attribute_table_map_function): Use
1859         `get_char_id_table_0' instead of `get_char_id_table'.
1860         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1861
1862         * chartab.h (get_char_id_table_0): New inline function.
1863         (get_char_id_table): Use `get_char_id_table_0'.
1864
1865 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1866
1867         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1868         and `COMPOSE_ADD_CHAR'.
1869         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1870
1871 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1872
1873         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1874         instead of `DECODE_ADD_UCS_CHAR'.
1875         (COMPOSE_ADD_CHAR): Likewise.
1876
1877 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1878
1879         * text-coding.c (decode_flush_er_chars): New inline function.
1880         (decode_add_er_char): New function.
1881         (decode_coding_utf8): Use `decode_flush_er_chars' and
1882         `decode_add_er_char'.
1883
1884 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1885
1886         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1887         done before `decode_output_utf8_partial_char'.
1888
1889         * mule-charset.c (complex_vars_of_mule_charset): Specify
1890         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1891         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1892
1893 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1894
1895         * mule-charset.c (decode_defined_char): New function; search
1896         mother.
1897         (decode_builtin_char): Don't search mother if
1898         XCHARSET_MAX_CODE(charset) == 0.
1899         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1900         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1901         (Fdecode_char): Use `decode_defined_char' instead of
1902         `DECODE_DEFINED_CHAR'.
1903         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1904         mother of `Vcharset_ucs_jis'.
1905
1906         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1907         instead of `DECODE_DEFINED_CHAR'.
1908
1909         * char-ucs.h (decode_defined_char): Renamed from
1910         `DECODE_DEFINED_CHAR'; changed to normal function.
1911         (DECODE_CHAR): Use `decode_defined_char' instead of
1912         `DECODE_DEFINED_CHAR'.
1913
1914         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1915
1916 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1917
1918         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1919
1920         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1921         variable.
1922         (Quse_entity_reference): New variable.
1923         (Qd): New variable.
1924         (Qx): New variable.
1925         (QX): New variable.
1926         (coding_system_description): Add description for
1927         `ccs_priority_list'.
1928         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1929         (allocate_coding_system): Initialize `ccs_priority_list' in
1930         UTF-2000.
1931         (Fmake_coding_system): Add description about
1932         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1933         (codesys).
1934         (Fcoding_system_property): Accept `disable-composition' and
1935         `use-entity-reference' in UTF-2000.
1936         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1937         in UTF-2000.
1938         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1939         (decode_coding_utf8): Decode entity-reference if
1940         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1941         (char_encode_utf8): Encode non-Unicode characters as
1942         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1943         (str->codesys).
1944         (syms_of_file_coding): Add new symbols `use-entity-reference',
1945         `d', `x', `X'.
1946         (vars_of_file_coding): Add new variable
1947         `coded-charset-entity-reference-alist'.
1948         (complex_vars_of_file_coding): Declare `disable-composition' and
1949         `use-entity-reference' to be coding-system-properties in UTF-2000.
1950
1951         * file-coding.h (struct Lisp_Coding_System): Add new member
1952         `use_entity_reference' and `ccs_priority_list'.
1953         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1954         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1955         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1956
1957 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1958
1959         * chartab.c (save_uint8_byte_table): Don't clear the table.
1960         (save_uint16_byte_table): Likewise.
1961         (save_byte_table): Likewise.
1962         (Fmount_char_attribute_table): New function.
1963         (syms_of_chartab): Add new builtin function
1964         `mount-char-attribute-table'.
1965
1966 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1969         "w+" mode.
1970         (load_char_decoding_entry_maybe): Open database as read-only mode.
1971
1972         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1973         open database as "w+" mode.
1974         (load_char_attribute_maybe): Open database as read-only mode.
1975         (Fload_char_attribute_table): Likewise.
1976
1977 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1978
1979         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1980         (char_table_description): Delete member `db_file'.
1981         (Fmake_char_table): Don't refer `ct->db_file'.
1982         (Fcopy_char_table): Likewise.
1983         (Fsave_char_attribute_table): Likewise.
1984         (Fclose_char_attribute_table): Likewise.
1985         (Freset_char_attribute_table): Likewise.
1986         (load_char_attribute_maybe): Likewise.
1987         (Fload_char_attribute_table): Likewise.
1988
1989         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1990
1991 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1992
1993         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1994         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1995         `ct->db' is living.
1996         (load_char_attribute_maybe): Likewise.
1997         (Fload_char_attribute_table): Likewise.
1998
1999 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2000
2001         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2002         `ct->db_file' unconditionally.
2003
2004 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2005
2006         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2007         UTF-2000.
2008         (char_table_description): Add description for `db_file' and `db'
2009         in UTF-2000.
2010         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2011         UTF-2000.
2012         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2013         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2014         (Fclose_char_attribute_table): New function.
2015         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2016         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2017         and `cit->db'.
2018         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2019         (syms_of_chartab): Add new builtin function
2020         `Fclose_char_attribute_table'.
2021
2022 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2023
2024         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2025         `db' in UTF-2000.
2026         (load_char_attribute_maybe): Change interface.
2027         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2028
2029 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2030
2031         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2032
2033 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2034
2035         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2036         instead of `DECODE_CHAR' for mother; don't use special code for
2037         chinese-big5 to use code space of chinese-big5-1 and
2038         chinese-big5-2.
2039         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2040         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2041
2042         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2043         (MAX_CHAR_BIG5_CDP): Revival.
2044
2045 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2046
2047         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2048         the XLFD registry-encoding name of `chinese-big5'.
2049
2050 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2051
2052         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2053         (Qchinese_big5_cdp): Deleted.
2054         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2055         (complex_vars_of_mule_charset): Delete coded-charset
2056         `chinese-big5-cdp'.
2057
2058         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2059         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2060         `CHARSET_ID_OFFSET - n' for private CCS.
2061         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2062         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2063         of `MIN_LEADING_BYTE'.
2064         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2065         `(CHARSET_ID_OFFSET - 97)'.
2066         (MIN_CHAR_BIG5_CDP): Deleted.
2067         (MAX_CHAR_BIG5_CDP): Deleted.
2068
2069 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2072
2073 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2074
2075         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2076         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2077         chartab.c].
2078
2079         * chartab.c (Vutf_2000_version): Moved to mule.c.
2080         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2081
2082 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2083
2084         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2085         when HAVE_CHISE_CLIENT is not defined.
2086
2087         * mule.c (vars_of_mule): Provide feature `chise' when
2088         HAVE_CHISE_CLIENT is defined.
2089
2090 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2091
2092         * config.h.in (UTF2000): Add comment.
2093         (HAVE_CHISE_CLIENT): New macro.
2094
2095 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2096
2097         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2098         CONSP.
2099         (Fput_char_attribute): Likewise.
2100         (char_attribute_system_db_file): Encode file-name of attribute.
2101         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2102         the initial value.
2103
2104 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2105
2106         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2107         (Fsave_charset_mapping_table): Use
2108         `char_attribute_system_db_file'.
2109         (load_char_decoding_entry_maybe): Likewise.
2110
2111         * chartab.h (Qsystem_char_id): New external variable.
2112         (char_attribute_system_db_file): New prototype.
2113
2114         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2115         (char_attribute_system_db_file): New function.
2116         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2117         (Freset_char_attribute_table): Likewise.
2118         (load_char_attribute_maybe): Likewise.
2119         (Fload_char_attribute_table): Likewise.
2120         (syms_of_chartab): Add new symbol `system-char-id'.
2121
2122 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2123
2124         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2125         `XCHARSET_GRAPHIC(ccs)'.
2126
2127 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2130
2131 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2132
2133         * chartab.c (Q_ucs_variants): New variable.
2134         (syms_of_chartab): Add new symbol `->ucs-variants'.
2135         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2136         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2137         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2138
2139         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2140
2141         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2142         `HAVE_DATABASE' is defined.
2143         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2144         `HAVE_DATABASE' is defined.
2145
2146 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2147
2148         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2149         attribute-table.
2150         (Freset_char_attribute_table): New function.
2151         (syms_of_chartab): Add new builtin function
2152         `reset-char-attribute-table'.
2153
2154 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2155
2156         * chartab.c (load_char_attribute_maybe): Don't make directories.
2157
2158 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2159
2160         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2161
2162         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2163         for decoding-table.
2164
2165 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2166
2167         * mule-charset.c (Fsave_charset_mapping_table): Use
2168         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2169
2170         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2171         instead of `XCHARSET_CHARS'.
2172
2173 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2174
2175         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2176         (XCHARSET_BYTE_SIZE): Likewise.
2177
2178         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2179         mule-charset.c].
2180         (XCHARSET_BYTE_SIZE): Likewise.
2181
2182 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2183
2184         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2185         data-directory to store database.
2186         (Fsave_char_attribute_table): Likewise.
2187         (load_char_attribute_maybe): Likewise.
2188         (Fload_char_attribute_table): Likewise.
2189
2190 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2191
2192         * mule-charset.c (Fsave_charset_mapping_table): New function.
2193         (syms_of_mule_charset): Add new builtin function
2194         `save-charset-mapping-table'.
2195
2196 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2197
2198         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2199         (get_ccs_octet_table): New inline function.
2200         (put_ccs_octet_table): Likewise.
2201         (decoding_table_put_char): Use `get_ccs_octet_table' and
2202         `put_ccs_octet_table'.
2203         (decoding_table_remove_char): Use `decoding_table_put_char'.
2204         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2205
2206         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2207         into encoding_table.
2208         (make_charset): Use Qunbound instead Qnil as initial value of
2209         decoding_table.
2210
2211 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2212
2213         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2214         element is Qunloaded.
2215         (map_over_uint16_byte_table): Likewise.
2216         (map_over_byte_table): Likewise.
2217         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2218         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2219         database support, load encoding-table of the specified
2220         coded-charset if it is not loaded yet.
2221         (save_uint8_byte_table): New function of UTF-2000 with external
2222         database support.
2223         (save_uint16_byte_table): Likewise.
2224         (save_byte_table): Likewise.
2225         (Fput_char_attribute): Don't store value into external database
2226         even if the external database feature is supported in UTF-2000;
2227         set `attribute' as name of char-table if the external database
2228         feature is supported.
2229         (Fsave_char_attribute_table): New function in UTF-2000.
2230         (syms_of_chartab): Add new builtin function
2231         `save-char-attribute-table' in UTF-2000.
2232
2233 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2234
2235         * chartab.c (char_attribute_table_to_put): New variable in
2236         UTF-2000.
2237         (Qput_char_table_map_function): Likewise.
2238         (value_to_put): Likewise.
2239         (Fput_char_table_map_function): New function in UTF-2000.
2240         (put_char_table): Use `Fmap_char_attribute' for
2241         CHARTAB_RANGE_CHARSET in UTF-2000.
2242         (Fput_char_attribute): Store symbol instead of string in
2243         `XCHAR_TABLE_NAME (table)'.
2244         (load_char_attribute_maybe): Likewise.
2245         (syms_of_chartab): Add new symbol/function
2246         `put-char-table-map-function'.
2247
2248 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2249
2250         * database.h: Add new EXFUN for `Fmap_database'.
2251
2252         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2253         (syms_of_database): Likewise.
2254
2255         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2256         UTF-2000.
2257         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2258         (XCHAR_TABLE_UNLOADED): Likewise.
2259
2260         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2261         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2262         HAVE_DATABASE is defined.
2263         (char_attribute_table_to_load): New variable of UTF-2000 with
2264         external database support.
2265         (Qload_char_attribute_table_map_function): Likewise.
2266         (Fload_char_attribute_table_map_function): New function of
2267         UTF-2000 with external database support.
2268         (Fload_char_attribute_table): New function of UTF-2000.
2269         (Fmap_char_attribute): Call Fload_char_attribute_table if
2270         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2271         (syms_of_chartab): Add new symbol and function
2272         `load-char-attribute-table-map-function' in UTF-2000 with external
2273         database support; add new function `load-char-attribute-table' in
2274         UTF-2000.
2275
2276 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2277
2278         * chartab.h (load_char_attribute_maybe): New prototype for
2279         UTF-2000 with DATABASE support.
2280         (get_char_id_table): Use `load_char_attribute_maybe' if
2281         HAVE_DATABASE is defined.
2282
2283         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2284         with DATABASE support.
2285
2286 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2287
2288         * chartab.c (Fput_char_attribute): Use S-expression as key of
2289         external database.
2290
2291         * chartab.h (get_char_id_table): Use S-expression as key of
2292         external database.
2293
2294 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2295
2296         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2297         if an element is not loaded, load the corresponding attributes
2298         from an external database.
2299         (map_over_uint16_byte_table): Likewise.
2300         (map_over_byte_table): Likewise.
2301         (map_char_table): Modify for `map_over_uint8_byte_table',
2302         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2303         element is not loaded, load the corresponding attributes from an
2304         external database.
2305         (Fput_char_attribute): Change initial values to Qunloaded.
2306
2307         * chartab.h (get_char_id_table): If a character attribute is not
2308         loaded and the attribute value is not found in an external
2309         database, store Qunbound as the attribute value.
2310
2311 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2312
2313         * chartab.c (BT_UINT8_unloaded): New macro.
2314         (UINT8_VALUE_P): Accept Qunloaded.
2315         (UINT8_ENCODE): Likewise.
2316         (UINT8_DECODE): Likewise.
2317         (BT_UINT16_unloaded): New macro.
2318         (UINT16_VALUE_P): Accept Qunloaded.
2319         (UINT16_ENCODE): Likewise.
2320         (UINT16_DECODE): Likewise.
2321         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2322         BT_UINT16_unloaded.
2323         (mark_char_table): Mark `ct->name' in UTF-2000.
2324         (char_table_description): Add `name' in UTF-2000.
2325         (Fmake_char_table): Initialize `ct->name'.
2326         (Fcopy_char_table): Copy `ct->name'.
2327         (Fput_char_attribute): Store value into an external database if
2328         HAVE_DATABASE is defined.
2329
2330         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2331         UTF-2000.
2332         (CHAR_TABLE_NAME): New macro in UTF-2000.
2333         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2334         (get_char_id_table): Try to read an external database if Qunloaded
2335         is stored in a table.
2336
2337         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2338         Qunloaded.
2339
2340 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2341
2342         * database.h: Add EXFUN definitions for Fopen_database,
2343         Fput_database, Fget_database and Fclose_database.
2344
2345         * data.c (Qunloaded): New variable in UTF-2000.
2346
2347         * lisp.h (Qunloaded): New variable in UTF-2000.
2348
2349 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2350
2351         * mule-charset.c (put_char_ccs_code_point): Modify for
2352         `decoding_table_remove_char' and `decoding_table_put_char'.
2353         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2354
2355         * char-ucs.h (decoding_table_remove_char): Change arguments to
2356         hide decoding_table vector.
2357         (decoding_table_put_char): Likewise.
2358
2359 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2360
2361         * mule-charset.c (decoding_table_remove_char): Moved to
2362         char-ucs.h.
2363         (decoding_table_put_char): Likewise.
2364
2365         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2366         from mule-charset.c].
2367         (decoding_table_remove_char): New inline function [moved from
2368         mule-charset.c].
2369         (decoding_table_put_char): Likewise.
2370
2371 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2372
2373         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2374         extension.
2375
2376 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2377
2378         * mule-charset.c (decode_builtin_char): Support mother charsets.
2379
2380 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2381
2382         * mule-charset.c (Q94x94x60): New variable.
2383         (charset_code_point): Support conversion `94x94x60'.
2384         (Fmake_charset): Likewise.
2385         (syms_of_mule_charset): Add new symbol `94x94x60'.
2386
2387         * char-ucs.h (CONVERSION_94x94x60): New macro.
2388
2389 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2390
2391         * mule-charset.c (charset_code_point): Unify code about
2392         `code-offset'.
2393
2394 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2395
2396         * mule-charset.c (charset_code_point): Merge code about builtin
2397         characters into code about mother charsets; don't use
2398         `range_charset_code_point'.
2399         (range_charset_code_point): Deleted.
2400
2401 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2402
2403         * mule-charset.c (Qcode_offset): New variable.
2404         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2405         `max-code'; accept new property `code-offset'.
2406         (syms_of_mule_charset): Add new symbol `code-offset'.
2407
2408 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2409
2410         * mule-charset.c (range_charset_code_point): Fixed.
2411
2412 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2413
2414         * mule-charset.c (decode_builtin_char): Change semantics of
2415         code-offset of coded-charset.
2416         (charset_code_point): Likewise.
2417         (range_charset_code_point): Likewise.
2418         (complex_vars_of_mule_charset): Modify for the change.
2419
2420 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2421
2422         * mule-charset.c (Fencode_char): Reverse arguments.
2423
2424         * mule-charset.c (charset_code_point): Fixed.
2425
2426 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2427
2428         * mule-charset.c (Vcharset_mojikyo): Deleted.
2429         (Vcharset_mojikyo_2022_1): Deleted.
2430         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2431         (Qmin_code): New variable in UTF-2000.
2432         (Qmax_code): Likewise.
2433         (Qmother): Likewise.
2434         (Qconversion): Likewise.
2435         (Q94x60): Likewise.
2436         (Qmojikyo): Deleted.
2437         (Qmojikyo_2022_1): Deleted.
2438         (Qmojikyo_pj_{1..22}): Deleted.
2439         (mark_charset): Mark `cs->mother'.
2440         (charset_description): Add description for `mother'.
2441         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2442         new arguments `mother' and `conversion'; use
2443         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2444         (charset_code_point): Moved from char-ucs.h; support `mother'
2445         charset feature.
2446         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2447         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2448         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2449         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2450         allow 2 as the value of `graphic' in UTF-2000; add new properties
2451         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2452         require `final' in UTF-2000; modify for `make_charset'.
2453         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2454         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2455         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2456         (Fencode_char): New function.
2457         (syms_of_mule_charset): Add new builtin function `encode-char' in
2458         UTF-2000; add new symbols `min-code', `max-code', `mother',
2459         `conversion' and `94x60'; delete symbols `mojikyo',
2460         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2461         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2462         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2463         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2464
2465         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2466         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2467
2468         * char-ucs.h (Vcharset_mojikyo): Deleted.
2469         (Vcharset_mojikyo_2022_1): Deleted.
2470         (LEADING_BYTE_MOJIKYO): Deleted.
2471         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2472         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2473         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2474         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2475         add new member `mother'; add new member `conversion'.
2476         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2477         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2478         (CHARSET_MOTHER): New macro.
2479         (CHARSET_CONVERSION): New macro.
2480         (CONVERSION_IDENTICAL): New macro.
2481         (CONVERSION_94x60): New macro.
2482         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2483         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2484         (XCHARSET_MOTHER): New macro.
2485         (XCHARSET_CONVERSION): New macro.
2486         (MIN_CHAR_MOJIKYO): Deleted.
2487         (MAX_CHAR_MOJIKYO): Deleted.
2488         (DECODE_MOJIKYO_2022): Deleted.
2489         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2490         (charset_code_point): Changed to non-inline function.
2491         (encode_char_1): Use `charset_code_point'.
2492         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2493
2494 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2495
2496         * lread.c (read_compiled_function): Fix prototype.
2497         (read_vector): Likewise.
2498
2499 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2500
2501         * lrecord.h (struct lrecord_header): Delete `older'.
2502         (set_lheader_implementation): Delete code for `older'.
2503         (set_lheader_older_implementation): Deleted.
2504         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2505         (OLDER_RECORD_P): Deleted.
2506         (OLDER_RECORD_HEADER_P): Deleted.
2507         (alloc_older_lcrecord): Deleted.
2508         (alloc_older_lcrecord_type): Deleted.
2509
2510         * alloc.c (all_older_lcrecords): Deleted.
2511         (alloc_older_lcrecord): Deleted.
2512         (disksave_object_finalization_1): Delete code for older objects.
2513         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2514         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2515
2516 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2519         instead of `make_older_vector'.
2520         (put_char_ccs_code_point): Likewise.
2521         (mark_charset): Mark `cs->decoding_table'.
2522         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2523
2524         * lisp.h (make_older_vector): Deleted.
2525         (make_vector_newer): Deleted.
2526
2527         * config.h.in (HAVE_GGC): Deleted.
2528
2529         * alloc.c (make_older_vector): Deleted.
2530         (make_vector_newer_1): Deleted.
2531         (make_vector_newer): Deleted.
2532
2533 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2534
2535         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2536         (Qideograph_daikanwa_2): New variable.
2537         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2538         (complex_vars_of_mule_charset): Add new coded-charset
2539         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2540         `LEADING_BYTE_DAIKANWA'.
2541
2542         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2543         (LEADING_BYTE_DAIKANWA_1): New macro.
2544         (LEADING_BYTE_DAIKANWA_2): New macro.
2545         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2546
2547 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2548
2549         * mule-charset.c (complex_vars_of_mule_charset): Change
2550         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2551         the second revised version.
2552
2553 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2554
2555         * mule-charset.c (Vcharset_ucs_smp): New variable.
2556         (Vcharset_ucs_sip): New variable.
2557         (Qucs_smp): New variable.
2558         (Qucs_sip): New variable.
2559         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2560         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2561         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2562         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2563         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2564         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2565
2566         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2567         (LEADING_BYTE_UCS_SIP): New macro.
2568         (MIN_CHAR_SMP): New macro.
2569         (MAX_CHAR_SMP): New macro.
2570         (MIN_CHAR_SIP): New macro.
2571         (MAX_CHAR_SIP): New macro.
2572
2573 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2574
2575         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2576         utf-2000.
2577
2578 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2579
2580         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2581         value; don't store value into `encoding_table' of `Lisp_Charset'.
2582         (mark_charset): `encoding_table' was deleted.
2583         (charset_description): Likewise.
2584         (make_charset): Likewise.
2585         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2586         `put_char_ccs_code_point'.
2587
2588         * chartab.h (Fput_char_attribute): New EXFUN.
2589
2590         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2591         is unified with normal symbol space.
2592         (Fget_char_attribute): Likewise.
2593         (Fput_char_attribute): Likewise; behavior of
2594         `put_char_ccs_code_point' is changed.
2595
2596         * char-ucs.h: Include "elhash.h".
2597         (Vchar_attribute_hash_table): New external variable.
2598         (struct Lisp_Charset): Delete `encoding_table'.
2599         (CHARSET_ENCODING_TABLE): New implementation; refer
2600         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2601         `Lisp_Charset'.
2602
2603 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2606         (cs) == 0.
2607
2608 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2611         `chinese-big5'.
2612
2613 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * chartab.c (uint8_byte_table_description): New constant.
2616         (uint8-byte-table): Use `uint8_byte_table_description'.
2617         (uint16_byte_table_description): New constant.
2618         (uint16-byte-table): Use `uint16_byte_table_description'.
2619
2620 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2621
2622         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2623         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2624
2625 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2626
2627         * mule-charset.c (Vcharset_ucs_ks): New variable.
2628         (Qucs_ks): New variable.
2629         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2630         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2631
2632         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2633
2634 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2635
2636         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2637         (Fdecode_char): Likewise.
2638
2639         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2640         chartab.h.
2641         (Fdefine_char): Modify for Fdecode_char.
2642         (Ffind_char): Likewise.
2643
2644         * mule-charset.c (Fdecode_char): Add new optional argument
2645         `defined-only'.
2646         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2647
2648 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2649
2650         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2651         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2652         (allocate_coding_system): Initialize initial-charsets of
2653         CODESYS_BIG5 in XEmacs UTF-2000.
2654         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2655         CODESYS_BIG5 in XEmacs UTF-2000.
2656         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2657         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2658
2659         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2660         variables.
2661         (Qideograph_hanziku_{1 .. 12}): Likewise.
2662         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2663         .. 12}'.
2664         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2665         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2666         `ideograph-hanziku-{1 .. 12}'.
2667
2668         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2669         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2670         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2671         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2672         (DECODE_DEFINED_CHAR): New inline function.
2673         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2674
2675 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2676
2677         * mule-charset.c (Vcharset_china3_jef): Renamed from
2678         `Vcharset_japanese_jef_china3'.
2679         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2680         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2681         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2682         (syms_of_mule_charset): Rename `china3-jef' from
2683         `japanese-jef-china3'.
2684         (complex_vars_of_mule_charset): Likewise; rename
2685         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2686
2687         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2688         `LEADING_BYTE_JEF_CHINA3'.
2689         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2690         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2691
2692 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2693
2694         * mule-charset.c (encode_builtin_char_1): Comment out special code
2695         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2696
2697         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2698         (MAX_CHAR_MOJIKYO_0): Comment out.
2699         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2700         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2701         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2702         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2703
2704 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2705
2706         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2707         (Qideograph_cbeta): New variable.
2708         (encode_builtin_char_1): Comment out special code for
2709         coded-charset `mojikyo' and `japanese-jef-china3'.
2710         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2711         (complex_vars_of_mule_charset): Add new coded-charset
2712         `ideograph-cbeta'.
2713
2714         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2715         (MIN_CHAR_CBETA): New macro.
2716         (MAX_CHAR_CBETA): New macro.
2717
2718 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2719
2720         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2721         (LEADING_BYTE_JEF_CHINA3): New macro.
2722         (MIN_CHAR_JEF_CHINA3): New macro.
2723         (MAX_CHAR_JEF_CHINA3): Likewise.
2724         (DECODE_CHAR): Fixed.
2725
2726 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2727
2728         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2729         (Qjapanese_jef_china3): New variable.
2730         (encode_builtin_char_1): Support `japanese-jef-china3'.
2731         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2732         (complex_vars_of_mule_charset): Add new coded-charset
2733         `japanese-jef-china3'.
2734
2735 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2736
2737         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2738         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2739         94^4, 96^3, 96^4, 128^n and 256^n set.
2740         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2741         (map_char_table): Likewise.
2742
2743 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2744
2745         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2746         UTF-2000.
2747
2748 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2749
2750         * chartab.h (get_char_id_table): New inline function.
2751
2752         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2753         function.
2754
2755 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * chartab.h (decode_char_table_range): New prototype in XEmacs
2758         UTF-2000.
2759         (put_char_id_table): New inline function in XEmacs UTF-2000.
2760
2761         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2762         function.
2763         (decode_char_table_range): Delete static declaration in XEmacs
2764         UTF-2000.
2765
2766 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2767
2768         * chartab.c (put_char_id_table): Use `put_char_table'.
2769
2770 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2771
2772         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2773         (map_over_uint16_byte_table): Likewise.
2774         (map_over_byte_table): Likewise.
2775         (map_char_table): Modify for `map_over_uint8_byte_table',
2776         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2777         UTF-2000.
2778
2779 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2780
2781         * chartab.c (struct map_char_table_for_charset_arg): New
2782         structure.
2783         (map_char_table_for_charset_fun): New function.
2784         (map_char_table): Use `map_char_table' for encoding_table of
2785         `range->charset'.
2786
2787 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2788
2789         * chartab.c (map_char_table): Check a character is found in
2790         range->charset instead of non default value is defined in
2791         char-table when range is CHARTAB_RANGE_ROW.
2792
2793 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2794
2795         * chartab.c (map_char_id_table): Deleted.
2796         (Fmap_char_attribute): Use `map_char_table' instead of
2797         `map_char_id_table'.
2798
2799 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2800
2801         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2802         UTF-2000.
2803         (update_syntax_table): Deleted in XEmacs UTF-2000.
2804
2805         * syntax.c (find_defun_start): Use `syntax_table' instead of
2806         `mirror_syntax_table' in XEmacs UTF-2000.
2807         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2808         UTF-2000.
2809         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2810         XEmacs UTF-2000.
2811         (Fmatching_paren): Likewise.
2812         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2813         in XEmacs UTF-2000.
2814         (find_start_of_comment): Likewise.
2815         (find_end_of_comment): Likewise.
2816         (Fforward_comment): Likewise.
2817         (scan_lists): Likewise.
2818         (char_quoted): Likewise.
2819         (Fbackward_prefix_chars): Likewise.
2820         (scan_sexps_forward): Likewise.
2821         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2822         (update_syntax_table): Likewise.
2823
2824         * search.c (skip_chars): Use `syntax_table' instead of
2825         `mirror_syntax_table' in XEmacs UTF-2000.
2826         (wordify): Likewise.
2827         (Freplace_match): Likewise.
2828
2829         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2830         `mirror_syntax_table' in XEmacs UTF-2000.
2831         (WORDCHAR_P_UNSAFE): Likewise.
2832         (re_match_2_internal): Likewise.
2833
2834         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2835         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2836
2837         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2838         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2839
2840         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2841         XEmacs UTF-2000.
2842
2843         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2844         UTF-2000.
2845         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2846         (char_table_description): Delete `mirror_table' in XEmacs
2847         UTF-2000.
2848         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2849         UTF-2000.
2850         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2851         (Fcopy_char_table): Likewise.
2852         (put_char_table): Don't call `update_syntax_table' in XEmacs
2853         UTF-2000.
2854
2855         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2856         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2857         (casify_region_internal): Likewise.
2858
2859         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2860
2861         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2862         `mirror_syntax_table' in XEmacs UTF-2000.
2863
2864         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2865         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2866         (Fexpand_abbrev): Likewise.
2867
2868 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2869
2870         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2871
2872 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2873
2874         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2875         (map_over_uint16_byte_table): Likewise.
2876         (map_over_byte_table): Likewise.
2877         (get_char_id_table): Refer `cit->default_value'.
2878         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2879         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2880         of character-id ranges.
2881         (mark_char_table): Mark `ct->default_value'.
2882         (char_table_description): Add `default_value'.
2883         (fill_char_table): Use `default_value'.
2884         (decode_char_table_range): Decode `nil' as
2885         `CHARTAB_RANGE_DEFAULT'.
2886         (get_char_id_table): Refer `cit->default_value'.
2887         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2888         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2889         temporary hack; check value of char-table is bound or not.
2890         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2891
2892         * chartab.h (struct Lisp_Char_Table): Add new member
2893         `default_value' in XEmacs UTF-2000.
2894         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2895         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2896         UTF-2000.
2897
2898 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2899
2900         * chartab.h (Lisp_Char_ID_Table): Deleted.
2901
2902         * chartab.c (char_table_description): Fix typo.
2903         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2904         `Lisp_Char_ID_Table'.
2905
2906 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2907
2908         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2909         `CHAR_ID_TABLE_P'.
2910
2911         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2912         `CHAR_ID_TABLE_P'.
2913
2914         * chartab.h (XCHAR_ID_TABLE): Deleted.
2915         (XSETCHAR_ID_TABLE): Deleted.
2916         (CHAR_ID_TABLE_P): Deleted.
2917
2918         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2919         `CHAR_ID_TABLE_P'.
2920         (Fget_composite_char): Likewise.
2921         (put_char_table): Likewise.
2922         (add_char_attribute_alist_mapper): Fixed.
2923         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2924         `CHAR_ID_TABLE_P'.
2925         (Fget_char_attribute): Likewise.
2926         (Fget_char_attribute): Likewise.
2927         (Fmap_char_attribute): Likewise.
2928
2929         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2930         `CHAR_ID_TABLE_P'.
2931         (encode_char_1): Likewise.
2932
2933 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2934
2935         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2936         `XCHAR_ID_TABLE'.
2937
2938         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2939         instead of `XCHAR_ID_TABLE'.
2940         (remove_char_ccs): Likewise.
2941
2942         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2943         `XCHAR_ID_TABLE'.
2944         (Fget_composite_char): Likewise.
2945         (Fchar_variants): Likewise.
2946         (put_char_table): Likewise.
2947         (add_char_attribute_alist_mapper): Likewise.
2948         (Fchar_attribute_alist): Likewise.
2949         (Fget_char_attribute): Likewise.
2950         (Fput_char_attribute): Likewise.
2951         (Fmap_char_attribute): Likewise.
2952         (Fmap_char_attribute): Likewise.
2953
2954         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2955         `XCHAR_ID_TABLE'.
2956         (encode_char_1): Likewise.
2957
2958 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2959
2960         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2961         `Lisp_Char_ID_Table'.
2962         (mark_char_id_table): Deleted.
2963         (print_char_id_table): Likewise.
2964         (char_id_table_equal): Likewise.
2965         (char_id_table_hash): Likewise.
2966         (char_id_table_description): Likewise.
2967         (char_id_table): Likewise.
2968         (make_char_id_table): Use `Fmake_char_table' and
2969         `fill_char_table'.
2970         (get_char_id_table): Use `Lisp_Char_Table' instead of
2971         `Lisp_Char_ID_Table'.
2972         (put_char_id_table): Likewise.
2973         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2974         `XCHAR_ID_TABLE'.
2975         (Fremove_char_attribute): Likewise.
2976         (syms_of_chartab): Don't define type `char-id-table'.
2977
2978         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2979         (char_id_table): Likewise.
2980         (GC_CHAR_ID_TABLE_P): Likewise.
2981         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2982         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2983         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2984         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2985         (get_char_id_table): Use `Lisp_Char_Table' instead of
2986         `Lisp_Char_ID_Table'.
2987         (put_char_id_table_0): Likewise.
2988         (put_char_id_table): Likewise.
2989
2990 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2991
2992         * chartab.h: Lisp_Byte_Table related codes are moved from
2993         chartab.h.
2994
2995         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2996
2997 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2998
2999         * chartab.h: Don't include "chartab.h".
3000         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3001         (Lisp_Char_ID_Table): Likewise.
3002         (char_id_table): Likewise.
3003         (XCHAR_ID_TABLE): Likewise.
3004         (XSETCHAR_ID_TABLE): Likewise.
3005         (CHAR_ID_TABLE_P): Likewise.
3006         (GC_CHAR_ID_TABLE_P): Likewise.
3007         (get_char_id_table): Likewise.
3008
3009         * char-ucs.h: Include "chartab.h".
3010         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3011         (Lisp_Char_ID_Table): Likewise.
3012         (char_id_table): Likewise.
3013         (XCHAR_ID_TABLE): Likewise.
3014         (XSETCHAR_ID_TABLE): Likewise.
3015         (CHAR_ID_TABLE_P): Likewise.
3016         (GC_CHAR_ID_TABLE_P): Likewise.
3017         (get_char_id_table): Likewise.
3018
3019 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3020
3021         * chartab.c (copy_uint8_byte_table): New function.
3022         (copy_uint16_byte_table): New function.
3023         (copy_byte_table): New function.
3024         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3025         characters to call.
3026         (map_over_uint16_byte_table): Likewise.
3027         (map_over_byte_table): Likewise.
3028         (get_byte_table): Move prototype to chartab.h.
3029         (put_byte_table): Likewise.
3030         (put_char_id_table_0): Moved to chartab.h.
3031         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3032         (char_table_entry_equal): Likewise.
3033         (char_table_entry_hash): Likewise.
3034         (char_table_entry_description): Likewise.
3035         (char_table_entry): Likewise.
3036         (make_char_table_entry): Likewise.
3037         (copy_char_table_entry): Likewise.
3038         (get_non_ascii_char_table_value): Likewise.
3039         (map_over_charset_ascii): Likewise.
3040         (map_over_charset_control_1): Likewise.
3041         (map_over_charset_row): Likewise.
3042         (map_over_other_charset): Likewise.
3043         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3044         (print_char_table): Likewise.
3045         (char_table_equal): Likewise.
3046         (char_table_hash): Likewise.
3047         (char_table_description): Likewise.
3048         (fill_char_table): Likewise.
3049         (Fcopy_char_table): Likewise.
3050         (get_char_table): Likewise.
3051         (Fget_range_char_table): Likewise.
3052         (put_char_table): Likewise.
3053         (map_char_table): Likewise.
3054         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3055         UTF-2000.
3056
3057 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3058
3059         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3060         `Vauto_fill_chars' in XEmacs UTF-2000.
3061
3062         * chartab.h (get_byte_table): New prototype [moved from
3063         chartab.c].
3064         (put_byte_table): Likewise [moved from chartab.c].
3065         (put_char_id_table_0): New inline function [moved from chartab.c].
3066         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3067         (Lisp_Char_Table_Entry): Likewise.
3068         (char_table_entry): Likewise.
3069         (XCHAR_TABLE_ENTRY): Likewise.
3070         (XSETCHAR_TABLE_ENTRY): Likewise.
3071         (CHAR_TABLE_ENTRYP): Likewise.
3072         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3073         (NUM_ASCII_CHARS): Likewise.
3074         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3075         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3076
3077 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3078
3079         * chartab.c (get_char_id_table): Change interface.
3080         (put_char_id_table_0): New function.
3081         (put_char_id_table): Change interface; new implementation.
3082         (Fget_composite_char): Modify for interface change of
3083         `get_char_id_table'.
3084         (Fchar_variants): Likewise.
3085         (add_char_attribute_alist_mapper): Likewise.
3086         (Fchar_attribute_alist): Likewise.
3087         (Fget_char_attribute): Likewise.
3088         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3089         as same as character as the first argument like `put-char-table';
3090         modify for interface change of `put_char_id_table'.
3091         (Fremove_char_attribute): Modify for interface change of
3092         `put_char_id_table'.
3093
3094 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3095
3096         * text-coding.c: Sync up with XEmacs 21.2.41.
3097         (COMPOSE_ADD_CHAR): Modify for interface change of
3098         `get_char_id_table'.
3099
3100         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3101         change of `put_char_id_table'.
3102         (remove_char_ccs): Likewise.
3103
3104         * chartab.h (put_char_id_table): Change interface.
3105
3106         * char-ucs.h (get_char_id_table): Change interface.
3107         (charset_code_point): Modify for interface change of
3108         `get_char_id_table'.
3109         (encode_char_1): Likewise.
3110
3111 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3112
3113         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3114         argument `ccs'.
3115         (map_over_uint16_byte_table): Likewise.
3116         (map_over_byte_table): Likewise.
3117         (map_char_id_table): Add new argument `range' like
3118         `map_char_table'.
3119         (Fmap_char_attribute): Add new argument `range' like
3120         `Fmap_char_table'.
3121
3122 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3123
3124         * chartab.c (map_over_uint8_byte_table): Change interface of
3125         mapping function to use struct chartab_range instead of Emchar.
3126         (map_over_uint16_byte_table): Likewise.
3127         (map_over_byte_table): Likewise.
3128         (map_char_id_table): Likewise.
3129         (struct slow_map_char_id_table_arg): Deleted.
3130         (slow_map_char_id_table_fun): Deleted.
3131         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3132         function `slow_map_char_table_fun' instead of struct
3133         `slow_map_char_id_table_arg' and function
3134         `slow_map_char_id_table_fun'.
3135
3136 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3137
3138         * mule-charset.c: Move char-it-table related codes to chartab.c.
3139         (Vutf_2000_version): Moved to chartab.c.
3140         (Fdefine_char): Likewise.
3141         (Ffind_char): Likewise.
3142         (syms_of_mule_charset): Move types `uint8-byte-table',
3143         `uint16-byte-table', `byte-table' and `char-id-table' to
3144         chartab.c; move functions `char_attribute_list,
3145         `find_char_attribute_table, `char_attribute_alist,
3146         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3147         `map_char_attribute, `define_char, `find_char, `char_variants and
3148         `get_composite_char to chartab.c; move symbols `=>ucs',
3149         `->decomposition', `compat', `isolated', `initial', `medial',
3150         `final', `vertical', `noBreak', `fraction', `super', `sub',
3151         `circle', `square', `wide', `narrow', `small' and `font' to
3152         chartab.c.
3153         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3154         setting codes for `Vcharacter_composition_table' and
3155         `Vcharacter_variant_table' to chartab.c.
3156         (complex_vars_of_mule_charset): Move setting code for
3157         `Vchar_attribute_hash_table' to chartab.c.
3158
3159         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3160         (make_char_id_table): New prototype.
3161         (put_char_id_table): Likewise.
3162         (Fget_char_attribute): Likewise.
3163
3164         * chartab.c: Move char-id-table related code from mule-charset.c.
3165         (Vutf_2000_version): Moved from mule-charset.c.
3166
3167         * char-ucs.h (Qucs): New external variable.
3168         (put_char_ccs_code_point): New prototype.
3169         (remove_char_ccs): Likewise.
3170
3171 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3172
3173         * mule-charset.c (Vcharset_ucs_jis): New variable.
3174         (Qucs_jis): Likewise.
3175         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3176         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3177
3178         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3179
3180 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3181
3182         * mule-charset.c (map_over_uint8_byte_table): New function.
3183         (map_over_uint16_byte_table): Likewise.
3184         (map_over_byte_table): Likewise.
3185         (map_char_id_table): Likewise.
3186         (slow_map_char_id_table_fun): Likewise.
3187         (Fmap_char_attribute): Likewise.
3188         (syms_of_mule_charset): Add new function `map-char-attribute'.
3189
3190 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3193         (syms_of_mule_charset): Add new function `find-char'.
3194
3195 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3196
3197         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3198         XEmacs UTF-2000.
3199         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3200         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3201         XEmacs UTF-2000.
3202         (complex_vars_of_mule_charset): Add new coded-charset
3203         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3204         `ideograph-gt-pj-*'.
3205
3206         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3207
3208 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3209
3210         * mule-charset.c (encode_builtin_char_1): Purge codes about
3211         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3212         {MIN|MAX}_CHAR_HEBREW.
3213         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3214         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3215
3216         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3217         (MAX_CHAR_GREEK): Purged.
3218         (MIN_CHAR_CYRILLIC): Purged.
3219         (MAX_CHAR_CYRILLIC): Purged.
3220         (MIN_CHAR_HEBREW): Commented out.
3221         (MAX_CHAR_HEBREW): Likewise.
3222
3223 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3224
3225         * mule-charset.c (Qto_ucs): New variable.
3226         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3227         (Fdefine_char): Likewise.
3228         (syms_of_mule_charset): Add new symbol `=>ucs'.
3229
3230 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3231
3232         * mule-charset.c (Fdecode_char): Fixed.
3233
3234 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3235
3236         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3237         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3238         "tcvn5712-1".
3239
3240 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3241
3242         * mule-charset.c (Vcharset_ucs_big5): New variable.
3243         (Qucs_big5): Likewise.
3244         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3245         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3246
3247         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3248
3249 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3250
3251         * mule-charset.c (decode_builtin_char): Check Big5 code range
3252         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3253
3254 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3255
3256         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3257         (Qchinese_gb12345): Likewise.
3258         (Fdecode_builtin_char): Fixed.
3259         (syms_of_mule_charset): Add `chinese-gb12345'.
3260         (complex_vars_of_mule_charset): Add coded-charset
3261         `chinese-gb12345'.
3262
3263         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3264         (LEADING_BYTE_CHINESE_GB12345): New macro.
3265
3266 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3267
3268         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3269         and `latin-viscii-upper' for `latin-viscii'.
3270
3271 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3272
3273         * mule-charset.c (Fdecode_builtin_char): Comment out
3274         regularization code for ISO-IR GR representation.
3275
3276 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3277
3278         * mule-charset.c (decode_builtin_char): New function; renamed from
3279         `make_builtin_char'; return -1 instead of signal.
3280         (Fdecode_builtin_char): Use `decode_builtin_char'.
3281
3282         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3283         `make_builtin_char'.
3284         (DECODE_CHAR): Use `decode_builtin_char' instead of
3285         `make_builtin_char'; use mapping table of `chinese-big5' for
3286         `chinese-big5-{1,2}'.
3287
3288 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3289
3290         * text-coding.c (char_encode_big5): New function.
3291         (char_finish_big5): Likewise.
3292         (reset_encoding_stream): Use `char_encode_big5' and
3293         `char_finish_big5' for CODESYS_BIG5.
3294         (mule_encode): Don't use `encode_coding_big5'.
3295         (encode_coding_big5): Deleted.
3296
3297 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3298
3299         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3300         0x81- in XEmacs UTF-2000.
3301         (detect_coding_big5): Likewise.
3302
3303 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3304
3305         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3306         generate character-id if the CCS property does not have
3307         corresponding predefined character.
3308         (make_builtin_char): Return -1 if corresponding predefined
3309         character is not found.
3310         (Fdecode_char): Return nil if corresponding character is not
3311         found.
3312         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3313         don't map to builtin ucs space.
3314
3315 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3316
3317         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3318         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3319
3320 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3321
3322         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3323         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3324         (Qideograph_gt): Likewise.
3325         (Qideograph_gt_pj_{1..11}): Likewise.
3326         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3327         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3328         `ideograph-gt-pj-11'.
3329         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3330         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3331         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3332
3333         * char-ucs.h (LEADING_BYTE_GT): New macro.
3334         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3335         (MIN_CHAR_GT): Likewise.
3336         (MAX_CHAR_GT): Likewise.
3337
3338 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3339
3340         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3341         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3342
3343         * doprnt.c (unsigned_int_converters): Add `c'.
3344         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3345
3346         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3347         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3348         `MIN_CHAR_MOJIKYO'.
3349         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3350         (MAX_CHAR_MOJIKYO_0): New macro.
3351         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3352
3353 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3354
3355         * mule-charset.c (Fdefine_char): Delete cemented out code.
3356         (encode_builtin_char_1): Modify for new allocation of builtin
3357         Mojikyo characters.
3358
3359         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3360
3361 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3362
3363         * mule-charset.c (Vcharset_ucs_cns): New variable.
3364         (Qucs_cns): New variable.
3365         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3366         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3367
3368 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3369
3370         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3371
3372 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3373
3374         * search.c (search_buffer): Make `charset_base_code' as
3375         character-id >> 6 to eliminate the corresponding last byte in
3376         UTF-8 representation [I'm not sure it is right thing].
3377         (boyer_moore): Likewise.
3378
3379 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3380
3381         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3382         representation in MULE.
3383
3384 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3385
3386         * text-coding.c (Fmake_coding_system): Use
3387         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3388         `EXTERNAL_PROPERTY_LIST_LOOP'.
3389
3390 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3391
3392         * text-coding.c (decode_output_utf8_partial_char): New function.
3393         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3394
3395 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3396
3397         * text-coding.c (decode_coding_utf8): Output original byte
3398         sequence if it is broken; change order of conditions.
3399
3400         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3401         of conditions.
3402
3403         * mb-multibyte.h (BYTE_ASCII_P):
3404         Use bit ops for char-signedness safety.
3405         (BYTE_C0_P): Use bit ops for char-signedness safety.
3406         (BYTE_C1_P): Use bit ops for char-signedness safety.
3407
3408         * character.h: (XCHAR_OR_CHAR_INT):
3409         Always use inline function.
3410         Remove redundant type checking assert() - XINT will abort quite
3411         nicely.
3412
3413 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3414
3415         * text-coding.c: (Fencode_shift_jis_char):
3416         (Fencode_big5_char):
3417         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3418         Replace 0 with '\0' when working with bytes.
3419         Replace initial "(" with "\(" in docstrings.
3420
3421         (Fmake_coding_system):
3422         When type is ccl and value is vector, register it with a proper
3423         symbol.  And checks whether the given ccl program is valid.
3424         (mule_decode): When calling ccl_driver, if src indicates
3425         NULL pointer, set an empty string instead.
3426         (mule_encode): Likewise.
3427
3428         (detect_eol_type):
3429         (detect_coding_sjis):
3430         (decode_coding_sjis):
3431         (detect_coding_big5):
3432         (decode_coding_big5):
3433         (detect_coding_ucs4):
3434         (decode_coding_ucs4):
3435         (detect_coding_utf8):
3436         (decode_coding_utf8):
3437         (detect_coding_iso2022):
3438         (decode_coding_iso2022):
3439         (decode_coding_no_conversion):
3440         (mule_decode):
3441         Make all detecting and decoding functions take an Extbyte * arg.
3442         (text_encode_generic):
3443         (encode_coding_big5):
3444         (encode_coding_no_conversion):
3445         (mule_encode):
3446         Make all encoding functions take a Bufbyte * arg.
3447         Use size_t instead of unsigned int for memory sizes.
3448         Only cast to unsigned char whenever dereferencing Extbyte *.
3449
3450         (struct lrecord_description fcd_description_1): Use countof.
3451         (complex_vars_of_file_coding):
3452         Use countof instead of sizeof.
3453         Use CHECK_NATNUM instead of CHECK_INT.
3454
3455 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3456
3457         * mule-charset.c (Fget_char_attribute): Add new optional argument
3458         `default-value'.
3459         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3460         (remove_char_ccs): Likewise.
3461
3462 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3463
3464         * text-coding.c (char_encode_shift_jis): New implementation in
3465         UTF-2000.
3466         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3467         ...)'.
3468
3469         * mule-charset.c (Vcharset_chinese_big5): New variable in
3470         UTF-2000.
3471         (Qchinese_big5): New variable in UTF-2000.
3472         (BIG5_SAME_ROW): New macro in UTF-2000.
3473         (make_builtin_char): Use builtin characters of
3474         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3475         characters of `Vcharset_chinese_big5'.
3476         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3477         (complex_vars_of_mule_charset): Add new coded-charset
3478         `chinese-big5' in UTF-2000.
3479
3480         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3481         (Vcharset_chinese_big5): New external variable declaration.
3482         (Vcharset_japanese_jisx0208_1990): Likewise.
3483
3484 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3485
3486         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3487         function.
3488         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3489
3490 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3491
3492         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3493         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3494         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3495         `mojikyo-pj-*'.
3496
3497 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3498
3499         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3500
3501 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3502
3503         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3504         to 0.17.
3505
3506 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3507
3508         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3509         for `CHARSET_BY_ATTRIBUTES'.
3510         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3511         `CHARSET_BY_ATTRIBUTES'.
3512
3513         * text-coding.c (struct decoding_stream): Rename member `CH' to
3514         `CPOS'.
3515         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3516         (decode_coding_sjis): Likewise.
3517         (decode_coding_big5): Likewise.
3518         (decode_coding_ucs4): Likewise.
3519         (decode_coding_utf8): Likewise.
3520         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3521         `CHARSET_BY_ATTRIBUTES'.
3522         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3523         `str->counter'; decode 3, 4 bytes sets.
3524         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3525         sets.
3526         (decode_coding_no_conversion): Use `str->cpos' instead of
3527         `str->ch'.
3528
3529         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3530         (Qmojikyo_2022_1): New variable.
3531         (make_charset): Don't use `CHARSET_TYPE_*'.
3532         (range_charset_code_point): Support coded-charset
3533         `mojikyo-2022-1'.
3534         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3535         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3536         `CHARSET_BY_ATTRIBUTES'.
3537         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3538         `CHARSET_BY_ATTRIBUTES'.
3539         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3540         (complex_vars_of_mule_charset): Add new coded-charset
3541         `mojikyo-2022-1'.
3542
3543         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3544         interface; changed to inline function.
3545
3546         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3547         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3548         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3549         (CHARSET_TYPE_94): Deleted.
3550         (CHARSET_TYPE_94X94): Deleted.
3551         (CHARSET_TYPE_96): Deleted.
3552         (CHARSET_TYPE_96X96): Deleted.
3553         (CHARSET_TYPE_128): Deleted.
3554         (CHARSET_TYPE_128X128): Deleted.
3555         (CHARSET_TYPE_256): Deleted.
3556         (CHARSET_TYPE_256X256): Deleted.
3557         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3558         to inline function.
3559         (DECODE_MOJIKYO_2022): New inline function.
3560         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3561         `Vcharset_mojikyo_2022_1'.
3562
3563 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3564
3565         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3566         instead of `EQ'.
3567         (put_byte_table): Likewise.
3568         (char_id_table_equal): Use `get_byte_table' [new implementation].
3569
3570 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3571
3572         * mule-charset.c: Include <limits.h> in UTF-2000.
3573         (BT_UINT8_MIN): New macro in UTF-2000.
3574         (BT_UINT8_MAX): New macro in UTF-2000.
3575         (BT_UINT8_t): New macro in UTF-2000.
3576         (BT_UINT8_nil): New macro in UTF-2000.
3577         (BT_UINT8_unbound): New macro in UTF-2000.
3578         (INT_UINT8_P): New inline function in UTF-2000.
3579         (UINT8_VALUE_P): New inline function in UTF-2000.
3580         (UINT8_ENCODE): New inline function in UTF-2000.
3581         (UINT8_DECODE): New inline function in UTF-2000.
3582         (mark_uint8_byte_table): New function in UTF-2000.
3583         (print_uint8_byte_table): New function in UTF-2000.
3584         (uint8_byte_table_equal): New function in UTF-2000.
3585         (uint8_byte_table_hash): New function in UTF-2000.
3586         (make_uint8_byte_table): New function in UTF-2000.
3587         (uint8_byte_table_same_value_p): New function in UTF-2000.
3588         (BT_UINT16_MIN): New macro in UTF-2000.
3589         (BT_UINT16_MAX): New macro in UTF-2000.
3590         (BT_UINT16_t): New macro in UTF-2000.
3591         (BT_UINT16_nil): New macro in UTF-2000.
3592         (BT_UINT16_unbound): New macro in UTF-2000.
3593         (INT_UINT16_P): New inline function in UTF-2000.
3594         (UINT16_VALUE_P): New inline function in UTF-2000.
3595         (UINT16_ENCODE): New inline function in UTF-2000.
3596         (UINT16_DECODE): New inline function in UTF-2000.
3597         (UINT8_TO_UINT16): New inline function in UTF-2000.
3598         (mark_uint16_byte_table): New function in UTF-2000.
3599         (print_uint16_byte_table): New function in UTF-2000.
3600         (uint16_byte_table_equal): New function in UTF-2000.
3601         (uint16_byte_table_hash): New function in UTF-2000.
3602         (make_uint16_byte_table): New function in UTF-2000.
3603         (uint16_byte_table_same_value_p): New function in UTF-2000.
3604         (print_byte_table): New function in UTF-2000.
3605         (byte-table): Use `print_byte_table' as printer.
3606         (make_byte_table): Delete second argument `older'.
3607         (byte_table_same_value_p): New function in UTF-2000.
3608         (copy_byte_table): Deleted.
3609         (get_byte_table): New function in UTF-2000.
3610         (put_byte_table): New function in UTF-2000.
3611         (print_char_id_table): New function in UTF-2000.
3612         (char-id-table): Use `print_char_id_table' as printer.
3613         (make_char_id_table): Delete second argument `older'.
3614         (get_char_id_table): Use `get_byte_table [new implementation].
3615         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3616         implementation].
3617         (Ffind_char_attribute_table): New function in UTF-2000.
3618         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3619         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3620         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3621         (syms_of_mule_charset): Add new function
3622         `find-char-attribute-table' in UTF-2000.
3623
3624         * lrecord.h (enum lrecord_type): Add
3625         `lrecord_type_uint16_byte_table' and
3626         `lrecord_type_uint8_byte_table'.
3627
3628         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3629         (Lisp_Uint8_Byte_Table): New type.
3630         (XUINT8_BYTE_TABLE): New macro.
3631         (XSETUINT8_BYTE_TABLE): New macro.
3632         (UINT8_BYTE_TABLE_P): New macro.
3633         (GC_UINT8_BYTE_TABLE_P): New macro.
3634         (struct Lisp_Uint16_Byte_Table): New structure.
3635         (Lisp_Uint16_Byte_Table): New type.
3636         (XUINT16_BYTE_TABLE): New macro.
3637         (XSETUINT16_BYTE_TABLE): New macro.
3638         (UINT16_BYTE_TABLE_P): New macro.
3639         (GC_UINT16_BYTE_TABLE_P): New macro.
3640
3641 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3642
3643         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3644         (Vcharacter_ideographic_strokes_table): Deleted.
3645         (Vcharacter_total_strokes_table): Deleted.
3646         (Vcharacter_morohashi_daikanwa_table): Deleted.
3647         (Vcharacter_decomposition_table): Deleted.
3648         (Qname): Deleted because it is duplicated.
3649         (Qideographic_radical): Deleted.
3650         (Qideographic_strokes): Deleted.
3651         (Qtotal_strokes): Deleted.
3652         (Qmorohashi_daikanwa): Deleted.
3653         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3654         `ideographic-radical', `ideographic-strokes', `total-strokes',
3655         `morohashi-daikanwa' and `->decomposition'.
3656         (Fget_char_attribute): Likewise.
3657         (Fput_char_attribute): Likewise; use `make-vector' instead of
3658         `make_older_vector' for `->decomposition' value.
3659         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3660         `ideograph-daikanwa'.
3661         (syms_of_mule_charset): Delete builtin symbols `name',
3662         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3663         `morohashi-daikanwa'.
3664         (vars_of_mule_charset): Don't setup
3665         `Vcharacter_ideographic_radical_table',
3666         `Vcharacter_ideographic_strokes_table',
3667         `Vcharacter_total_strokes_table',
3668         `Vcharacter_morohashi_daikanwa_table' and
3669         `Vcharacter_decomposition_table'.
3670
3671 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3672
3673         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3674         `make_older_vector', `make_vector_newer_1' and
3675         `make_vector_newer'.
3676
3677         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3678         `make_older_vector' and `make_vector_newer'.
3679
3680         * config.h.in (HAVE_GGC): New macro.
3681
3682 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3683
3684         * mule-charset.c (struct char_attribute_list_closure): New
3685         structure in UTF-2000.
3686         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3687         (Fchar_attribute_list): Likewise.
3688         (Fset_charset_mapping_table): Use `make_vector_newer'.
3689         (Fdecode_builtin_char): New function in UTF-2000.
3690         (syms_of_mule_charset): Add new function `char-attribute-list' and
3691         `decode-builtin-char' in UTF-2000.
3692
3693         * lisp.h (make_vector_newer): New prototype.
3694
3695         * alloc.c (make_vector_newer_1): New function.
3696         (make_vector_newer): New function.
3697
3698 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3699
3700         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3701         50100)'.
3702
3703 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3704
3705         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3706         (Vcharacter_attribute_table): Deleted.
3707         (Vcharacter_name_table): Deleted.
3708         (put_char_attribute): Deleted.
3709         (remove_char_attribute): Deleted.
3710         (struct char_attribute_alist_closure): New structure.
3711         (add_char_attribute_alist_mapper): New function.
3712         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3713         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3714         (Fget_char_attribute): Likewise.
3715         (Fput_char_attribute): Likewise.
3716         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3717         of `remove_char_attribute'.
3718         (Fdefine_char): Return character.
3719         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3720         and `Vcharacter_name_table'.
3721         (complex_vars_of_mule_charset): Likewise
3722         `Vchar_attribute_hash_table'.
3723
3724 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3725
3726         * character.h (CHARC_CHARSET): New macro.
3727         (CHARC_CHARSET_ID): New macro.
3728         (CHARC_CODE_POINT): New macro.
3729         (CHARC_COLUMNS): New macro.
3730         (CHARC_TO_CHAR): New inline function.
3731         (CHARC_EQ): New inline function.
3732         (CHARC_ASCII_EQ): New inline function.
3733         (CHARC_IS_SPACE): New inline function.
3734         (ASCII_TO_CHARC): New inline function.
3735
3736         * char-ucs.h (encode_char_2): Deleted.
3737         (ENCODE_CHAR): Use `encode_char_1' again.
3738         (breakup_char_1): Likewise.
3739         (CHAR_TO_CHARC): New inline function.
3740
3741         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3742
3743 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3744
3745         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3746         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3747         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3748         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3749         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3750         `CHARC_IS_SPACE'.
3751         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3752
3753         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3754         `CHARC_CODE_POINT'.
3755         (x_output_display_block): Use `CHARC_CHARSET' and
3756         `CHARC_ASCII_EQ'.
3757
3758         * redisplay-tty.c (tty_output_display_block): Use
3759         `CHARC_ASCII_EQ'.
3760         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3761
3762         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3763
3764         * insdel.c (find_charsets_in_charc_string): Use
3765         `CHARC_CHARSET_ID'.
3766         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3767         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3768         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3769         (convert_charc_string_into_malloced_string): Likewise.
3770
3771 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3772
3773         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3774         instead of <Emchar_dynarr *> for buf; use
3775         `convert_bufbyte_string_into_charc_dynarr' instead of
3776         `convert_bufbyte_string_into_emchar_dynarr'; use
3777         `find_charsets_in_charc_string' instead of
3778         `find_charsets_in_emchar_string'.
3779
3780         * redisplay.h:
3781         - Include "character.h".
3782         (struct rune): New member `cglyph'; delete member `chr'.
3783
3784         * redisplay.c (redisplay_text_width_charc_string): New function;
3785         delete `redisplay_text_width_emchar_string'.
3786         (rtw_charc_dynarr): New variable; renamed from
3787         `rtw_emchar_dynarr'.
3788         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3789         `rtw_emchar_dynarr'; use
3790         `convert_bufbyte_string_into_charc_dynarr' instead of
3791         `convert_bufbyte_string_into_emchar_dynarr'; use
3792         `redisplay_text_width_charc_string' instead of
3793         `redisplay_text_width_emchar_string'.
3794         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3795         instead of `rtw_emchar_dynarr'; use
3796         `convert_bufbyte_string_into_charc_dynarr' instead of
3797         `convert_bufbyte_string_into_emchar_dynarr'.
3798         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3799         `redisplay_text_width_charc_string' instead of
3800         `redisplay_text_width_emchar_string'.
3801         (create_text_block): Modify for <struct rune> change.
3802         (generate_formatted_string_db): Likewise.
3803         (create_string_text_block): Likewise.
3804         (pixel_to_glyph_translation): Likewise.
3805
3806         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3807         instead of <const Emchar *>.
3808         (x_text_width): Likewise.
3809         (x_output_display_block): Use <Charc_dynarr *> instead
3810         <Emchar_dynarr *>; modify for <structure rune> change.
3811         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3812         *>.
3813
3814         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3815         <const Emchar *>; use `charc_string_displayed_columns' instead of
3816         `emchar_string_displayed_columns'.
3817         (tty_output_display_block): Use <Charc_dynarr *> instead of
3818         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3819         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3820         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3821         `tty_output_emchar_dynarr_dynarr'.
3822         (tty_output_charc_dynarr): New function; delete
3823         `tty_output_charc_dynarr'.
3824
3825         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3826         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3827         <Emchar_dynarr *> for buf; use
3828         `convert_bufbyte_string_into_charc_dynarr' instead of
3829         `convert_bufbyte_string_into_emchar_dynarr'.
3830
3831         * frame.c (title_string_charc_dynarr): New variable; renamed from
3832         `title_string_emchar_dynarr'.
3833         (generate_title_string): Use `title_string_charc_dynarr' instead
3834         of `title_string_emchar_dynarr'; use
3835         `convert_charc_string_into_malloced_string' instead of
3836         `convert_emchar_string_into_malloced_string'.
3837         (init_frame): Use `title_string_charc_dynarr' instead of
3838         `title_string_emchar_dynarr'.
3839
3840         * console.h:
3841         - Include "character.h".
3842         (struct console_methods): Use <const Charc *> instead of <const
3843         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3844         <Emchar_dynarr *> in output_string_method.
3845
3846         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3847         <Emchar_dynarr *>.
3848
3849         * console-stream.c (stream_text_width): Use <const Charc *>
3850         instead of <const Emchar *>.
3851
3852         * character.h (Charc_dynarr): New type.
3853
3854         * char-ucs.h (structure Charc): New structure; define new type
3855         `Charc'.
3856
3857         * char-lb.h (DECODE_CHAR): New inline function.
3858         (encode_char_1): New inline function.
3859         (ENCODE_CHAR): New macro.
3860         (structure Charc): New structure; define new type `Charc'.
3861
3862         * char-1byte.h (Vcharset_control_1): New macro.
3863         (Vcharset_latin_iso8859_1): New macro.
3864         (DECODE_CHAR): New inline function.
3865         (encode_char_1): New inline function.
3866         (ENCODE_CHAR): New macro.
3867         (structure Charc): New structure; define new type `Charc'.
3868
3869         * insdel.c (find_charsets_in_charc_string): New function; delete
3870         `find_charsets_in_emchar_string'.
3871         (charc_string_displayed_columns): New function; delete
3872         `emchar_string_displayed_columns'.
3873         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3874         `convert_bufbyte_string_into_emchar_dynarr'.
3875         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3876         `convert_charc_string_into_bufbyte_dynarr'.
3877         (convert_charc_string_into_malloced_string): New function; delete
3878         `convert_charc_string_into_malloced_string'.
3879
3880         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3881         `find_charsets_in_emchar_string'.
3882         (charc_string_displayed_columns): New prototype; delete
3883         `emchar_string_displayed_columns'.
3884         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3885         `convert_charc_string_into_bufbyte_dynarr'.
3886         (convert_charc_string_into_malloced_string): New prototype; delete
3887         `convert_charc_string_into_malloced_string'.
3888
3889 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3890
3891         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3892
3893 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3894
3895         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3896
3897         * char-ucs.h: Use <short> for <Charset_ID>.
3898
3899         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3900         <Charset_ID>.
3901
3902 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3903
3904         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3905         to 0.16.
3906
3907 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3908
3909         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3910         variable.
3911         (Qmorohashi_daikanwa): New variable.
3912         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3913         for `morohashi-daikanwa' attribute.
3914         (Fget_char_attribute): Likewise.
3915         (Fput_char_attribute): Likewise.
3916         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3917         has the same value of `ideograph-daikanwa'.
3918         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3919         (vars_of_mule_charset): Setup
3920         `Vcharacter_morohashi_daikanwa_table'.
3921
3922 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3923
3924         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3925         attributes.
3926         (add_charset_to_list_mapper): Add `key' instead of
3927         `XCHARSET_NAME (value)' to return aliases.
3928
3929 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3930
3931         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3932         variable.
3933         (Vcharacter_ideographic_strokes_table): New variable.
3934         (Qideographic_radical): New variable.
3935         (Qideographic_strokes): New variable.
3936         (Fchar_attribute_alist): Use
3937         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3938         attribute; use `Vcharacter_ideographic_strokes_table' for
3939         `ideographic-strokes' attribute.
3940         (Fget_char_attribute): Likewise.
3941         (Fput_char_attribute): Likewise.
3942         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3943         `ideographic-strokes'.
3944         (vars_of_mule_charset): Setup
3945         `Vcharacter_ideographic_radical_table' and
3946         `Vcharacter_ideographic_strokes_table'.
3947
3948 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3949
3950         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3951         (Qtotal_strokes): New variable.
3952         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3953         `total-strokes' attribute.
3954         (Fget_char_attribute): Likewise.
3955         (Fput_char_attribute): Likewise.
3956         (syms_of_mule_charset): Add new symbol `total-strokes'.
3957         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3958
3959 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3960
3961         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3962         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3963         are found.
3964         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3965         `->decomposition' attribute.
3966         (Fput_char_attribute): Likewise.
3967         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3968
3969 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3970
3971         * mule-charset.c (decoding_table_check_elements): New function.
3972         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3973
3974 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3975
3976         * mule-charset.c (Fset_charset_mapping_table): Use
3977         `put_char_ccs_code_point'.
3978
3979 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3980
3981         * mule-charset.c (decoding_table_put_char): New inline function.
3982         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3983
3984 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3985
3986         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3987         (XCHARSET_BYTE_SIZE): New macro.
3988         (decoding_table_remove_char): New inline function.
3989         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3990         `decoding_table_remove_char'.
3991         (remove_char_ccs): Use `decoding_table_remove_char'.
3992         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3993
3994 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3995
3996         * mule-charset.c (Vcharacter_name_table): New variable.
3997         (Qname): New variable.
3998         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3999         attribute.
4000         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4001         `Vcharacter_name_table' for `name' attribute.
4002         (Fremove_char_attribute): Use function `remove_char_ccs'.
4003         (put_char_ccs_code_point): New function.
4004         (remove_char_ccs): New function.
4005         (syms_of_mule_charset): Add new symbol `name'.
4006         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4007
4008 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4009
4010         * mule-charset.c (make_byte_table): Add new argument `older'.
4011         (make_char_id_table): Likewise.
4012         (copy_char_id_table): Comment out because it is not used.
4013         (put_char_id_table): Modify for `make_byte_table'.
4014         (Fput_char_attribute): Make encoding_table as older object;
4015         inherit older bit of `Vcharacter_composition_table'.
4016         (mark_charset): Don't mark `cs->encoding_table'.
4017         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4018         normal object; make `Vcharacter_composition_table' as an older
4019         object; delete staticpro for `Vcharacter_composition_table'; make
4020         `Vcharacter_variant_table' as a normal object.
4021
4022         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4023         (mark_object): Don't check older object in UTF-2000.
4024
4025         * lrecord.h (struct lrecord_header): Add new member `older' in
4026         UTF-2000.
4027         (set_lheader_implementation): Setup `SLI_header->older' in
4028         UTF-2000.
4029         (set_lheader_older_implementation): New macro in UTF-2000.
4030         (OLDER_RECORD_P): New macro in UTF-2000.
4031         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4032         (alloc_older_lcrecord): New prototype in UTF-2000.
4033         (alloc_older_lcrecord_type): New macro in UTF-2000.
4034
4035 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4036
4037         * mule-charset.c (byte_table_description): Use
4038         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4039         (char_id_table_description): Delete bogus `, 1'.
4040         (Fget_char_attribute): Refer encoding_table of each coded-charset
4041         to get value of coded-charset attribute of a character.
4042         (Fput_char_attribute): Use `make_older_vector' instead of
4043         `make_vector'; use encoding_table of each coded-charset to store
4044         value of coded-charset attribute of a character.
4045         (Fremove_char_attribute): Use encoding_table of each coded-charset
4046         to store value of coded-charset attribute of a character.
4047         (mark_charset): Mark `cs->encoding_table'; don't mark
4048         `cs->decoding_table'.
4049         (charset_description): Add description of new member
4050         `encoding_table'.
4051         (make_charset): Initialize `encoding_table'.
4052
4053         * char-ucs.h (struct Lisp_Charset): Add new member
4054         `encoding_table'.
4055         (CHARSET_ENCODING_TABLE): New macro.
4056         (XCHARSET_ENCODING_TABLE): New macro.
4057         (charset_code_point): New implementation.
4058         (encode_char_1): Likewise.
4059
4060         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4061         (disksave_object_finalization_1): Call finalizers of
4062         `all_older_lcrecords' in UTF-2000.
4063         (make_older_vector): New function in UTF-2000.
4064         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4065         UTF-2000.
4066
4067         * lisp.h (make_older_vector): New prototype in UTF-2000.
4068
4069 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4070
4071         * lrecord.h (enum lrecord_type): Rename
4072         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4073
4074         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4075         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4076         `get_char_code_table'.
4077
4078         * mule-charset.c (mark_char_id_table): Renamed from
4079         `mark_char_code_table'.
4080         (char_id_table_equal): Renamed from `char_code_table_equal'.
4081         (char_id_table_hash): Renamed from `char_code_table_hash'.
4082         (make_char_id_table): Renamed from `make_char_code_table'.
4083         (copy_char_id_table): Renamed from `copy_char_code_table'.
4084         (get_char_id_table): Renamed from `get_char_code_table'.
4085         (put_char_id_table): Renamed from `put_char_code_table'.
4086         (to_char_id): Renamed from `to_char_code'.
4087
4088         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4089         `Lisp_Char_Code_Table'.
4090         (char_id_table): Renamed from `char_code_table'.
4091         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4092         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4093         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4094         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4095         (get_char_id_table): Renamed from `get_char_code_table'.
4096
4097 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4098
4099         * lrecord.h (enum lrecord_type): Rename
4100         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4101
4102         * mule-charset.c (mark_byte_table): Renamed from
4103         `mark_char_byte_table'.
4104         (byte_table_equal): Renamed from `char_byte_table_equal'.
4105         (byte_table_hash): Renamed from `byte_table_hash'.
4106         (make_byte_table): Renamed from `make_byte_table'.
4107         (copy_byte_table): Renamed from `copy_char_byte_table'.
4108
4109         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4110         `Lisp_Char_Byte_Table'.
4111         (byte_table): Renamed from `char_byte_table'.
4112         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4113         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4114         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4115         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4116
4117 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4118
4119         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4120         (dfc_convert_to_internal_format): Likewise.
4121         
4122         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4123         * text-coding.c (Fcoding_system_alias_p): New function.
4124         * text-coding.c (Fcoding_system_aliasee): New function.
4125         * text-coding.c (append_suffix_to_symbol): New function.
4126         * text-coding.c (dangling_coding_system_alias_p): New function.
4127         * text-coding.c (Ffind_coding_system):
4128         * text-coding.c (Fcopy_coding_system):
4129         * text-coding.c (encode_coding_no_conversion):
4130         * text-coding.c (syms_of_file_coding):
4131         * text-coding.c (vars_of_file_coding):
4132         Rewrite coding system alias code.
4133         Allow nested aliases, like symbolic links.
4134         Allow redefinition of coding system aliases.
4135         Prevent existence of dangling coding system aliases.
4136         Eliminate convert_to_external_format.
4137         Eliminate convert_to_internal_format.
4138         
4139         * text-coding.c: Change enum eol_type to eol_type_t.
4140
4141 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4142
4143         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4144         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4145
4146         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4147         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4148
4149 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4150
4151         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4152         `ideograph-daikanwa'.
4153
4154         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4155         (Vcharset_ucs_bmp): Likewise.
4156         (Vcharset_mojikyo): Add new extern variable definition.
4157         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4158         (Vcharset_latin_iso8859_3): Likewise.
4159         (Vcharset_latin_iso8859_4): Likewise.
4160         (Vcharset_latin_iso8859_9): Likewise.
4161         (Vcharset_latin_viscii_lower): Likewise.
4162         (Vcharset_latin_viscii_upper): Likewise.
4163         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4164         `mojikyo' code-point is used to decode.
4165         (encode_char_2): New function [to convert `mojikyo' code-point to
4166         Mojikyo font encoding].
4167         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4168         (breakup_char_1): Likewise.
4169         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4170
4171 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4172
4173         * text-coding.c (Fmake_coding_system): Add document about
4174         `disable-composition' property.
4175
4176 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4177
4178         * text-coding.c (Qdisable_composition): New variable; delete
4179         `Qcomposite'.
4180         (Fmake_coding_system): Add new property `disable-composite';
4181         delete property `composite'.
4182         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4183         instead of `!CODING_SYSTEM_COMPOSITE'.
4184         (syms_of_file_coding): Add new symbol `disable-composition';
4185         delete symbol `composite'.
4186
4187         * file-coding.h (struct Lisp_Coding_System): Add
4188         `disable_composition'; delete `enable_composition'.
4189         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4190         `CODING_SYSTEM_COMPOSITE'.
4191         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4192         `XCODING_SYSTEM_COMPOSITE'.
4193
4194 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4195
4196         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4197         to 0.15.
4198
4199 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4200
4201         * text-coding.c (Qcomposite): New variable.
4202         (Fmake_coding_system): Add new property `composite'.
4203         (struct decoding_stream): Add `combined_char_count',
4204         `combined_chars' and `combining_table' in UTF-2000.
4205         (COMPOSE_FLUSH_CHARS): New macro.
4206         (COMPOSE_ADD_CHAR): New macro.
4207         (reset_decoding_stream): Reset `str->combined_char_count' and
4208         `str->combining_table' in UTF-2000.
4209         (decode_coding_iso2022): Modify for character-decomposition.
4210         (syms_of_file_coding): Add new symbol `composite'.
4211
4212 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4213
4214         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4215         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4216         of `Vcharacter_composition_table' if `->decomposition' property
4217         has only 1 element.
4218         (Qlatin_tcvn5712): New variable.
4219         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4220         (complex_vars_of_mule_charset): Add new coded-charset
4221         `latin-tcvn5712'.
4222
4223         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4224
4225 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4226
4227         * file-coding.h (struct Lisp_Coding_System): Add
4228         `enable_composition'.
4229         (CODING_SYSTEM_COMPOSITE): New macro.
4230         (XCODING_SYSTEM_COMPOSITE): New macro.
4231
4232 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4233
4234         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4235
4236 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4237
4238         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4239         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4240
4241 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4242
4243         * mule-charset.c (Vcharset_mojikyo): New variable.
4244         (Fdefine_char): Don't use coded-charset which does not have
4245         non-builtin character range to allocate character-id.
4246         (Qmojikyo): New variable.
4247         (syms_of_mule_charset): Add new symbol `mojikyo'.
4248         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4249
4250         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4251         (LEADING_BYTE_MOJIKYO): New macro.
4252         (MIN_CHAR_MOJIKYO): New macro.
4253         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4254         (MAX_CHAR_MOJIKYO): New macro.
4255
4256 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4257
4258         * mule-charset.c (remove_char_attribute): Fixed.
4259
4260 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4261
4262         * mule-charset.c (remove_char_attribute): New function.
4263         (Fremove_char_attribute): New function.
4264         (encode_builtin_char_1): Comment out builtin-support for
4265         greek-iso8859-7 and cyrillic-iso8859-5.
4266         (Fdecode_char): Check `code' is an integer.
4267         (syms_of_mule_charset): Add `remove-char-attribute'.
4268         (MIN_CHAR_GREEK): Deleted.
4269         (MAX_CHAR_GREEK): Likewise.
4270         (MIN_CHAR_CYRILLIC): Likewise.
4271         (MAX_CHAR_CYRILLIC): Likewise.
4272         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4273         MAX_CHAR_GREEK for `greek-iso8859-7'.
4274
4275         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4276         (MAX_CHAR_GREEK): Likewise.
4277         (MIN_CHAR_CYRILLIC): Likewise.
4278         (MAX_CHAR_CYRILLIC): Likewise.
4279
4280 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4281
4282         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4283         format is used without `ucs' property.
4284         (Fdecode_char): Fix problem with GR representation.
4285         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4286         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4287
4288 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4289
4290         * mule-charset.c (make_builtin_char): New function.
4291         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4292         (Fset_charset_mapping_table): Modify for new representation of
4293         code-point.
4294         (Fdecode_char): New function.
4295         (syms_of_mule_charset): Add new builtin function `decode-char' in
4296         UTF-2000.
4297
4298         * char-ucs.h (make_builtin_char): New prototype.
4299         (DECODE_CHAR): New inline function.
4300         (MAKE_CHAR): Use `DECODE_CHAR'.
4301
4302 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4303
4304         * text-coding.c (parse_charset_conversion_specs): Use
4305         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4306         `XCHARSET_TYPE'.
4307         (iso2022_designate): Likewise.
4308
4309         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4310         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4311
4312         * mule-charset.c (Vcharset_ucs): New variable.
4313         (print_charset): Change design; use `CHARSET_CHARS' and
4314         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4315         (make_charset): Change signature to specify `chars' and
4316         `dimension' instead of `type'.
4317         (range_charset_code_point): Modify for 256^n-set.
4318         (encode_builtin_char_1): Encode as `ucs' in default.
4319         (Fmake_charset): Modify for `make_charset'.
4320         (Fmake_reverse_direction_charset): Likewise.
4321         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4322         UTF-2000.
4323         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4324         for `make_charset'.
4325
4326         * char-ucs.h (Vcharset_ucs): New variable.
4327         (LEADING_BYTE_UCS): New macro.
4328         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4329         and `chars' to `unsigned short' from `unsigned int'.
4330         (CHARSET_TYPE): Deleted.
4331         (XCHARSET_TYPE): Deleted.
4332
4333 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4334
4335         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4336
4337         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4338         (ENCODE_CHAR): New macro.
4339
4340 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4341
4342         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4343         to 0.14 (Kawachi-Katakami).
4344
4345 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4346
4347         * text-coding.c (char_encode_shift_jis): Modify for
4348         `charset_code_point'.
4349         (char_encode_iso2022): Likewise.
4350
4351         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4352         (integer) instead of list of <Lisp_Object>s (integers) as the
4353         format of code-point of a coded-charset.
4354         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4355         (encode_builtin_char_1): New function; delete
4356         `split_builtin_char'.
4357         (charset_code_point): Return <int> instead of <Lisp_Object>.
4358         (Fsplit_char): Don't use `SPLIT_CHAR'.
4359
4360         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4361         prototype for `split_builtin_char'.
4362         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4363         (charset_code_point): Likewise.
4364         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4365         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4366
4367 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4368
4369         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4370         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4371
4372 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4373
4374         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4375
4376         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4377         (MAX_CHAR_OBS_94x94): Deleted.
4378
4379 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4380
4381         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4382
4383         * char-ucs.h (MAX_CHAR_BMP): New macro.
4384
4385 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4386
4387         * text-coding.c: Sync with r21-2-24.
4388
4389 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4390
4391         * file-coding.c: Modify for UTF-2000.
4392
4393 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4394
4395         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4396         to 0.13 (Takaida).
4397
4398 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4399
4400         * mule-charset.c (split_builtin_char): Delete builtin support for
4401         `katakana-jisx0201'.
4402         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4403         BMP area in builtin representation.
4404
4405         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4406         `Vcharset_katakana_jisx0201'.
4407
4408 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4409
4410         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4411         (Qisolated): New variable.
4412         (Qinitial): New variable.
4413         (Qmedial): New variable.
4414         (Qfinal): New variable.
4415         (Qvertical): New variable.
4416         (Qsmall): New variable.
4417         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4418         `Qvertical' and `Qsmall'.
4419         (Qmojikyo_pj_[1 .. 21]): New variable.
4420         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4421         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4422         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4423         .. 21]'.
4424
4425 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4426
4427         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4428         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4429         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4430
4431 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4432
4433         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4434         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4435         BMP.
4436         (Qjapanese_jisx0208_1990): New variable.
4437         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4438         (complex_vars_of_mule_charset): Add new coded-charset
4439         `japanese-jisx0208-1990'.
4440
4441         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4442         (MIN_CHAR_JIS_X0208_1990): New macro.
4443         (MAX_CHAR_JIS_X0208_1990): New macro.
4444
4445 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4446
4447         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4448         coded-charset is not found.
4449
4450 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4451
4452         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4453         (Fdefine_char): Use `Fmake_char'.
4454
4455 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4456
4457         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4458         (Vcharset_hiragana_jisx0208): Deleted.
4459         (Vcharset_katakana_jisx0208): Deleted.
4460         (Qideograph_daikanwa): New variable.
4461         (Qhiragana_jisx0208): Deleted.
4462         (Qkatakana_jisx0208): Deleted.
4463         (split_builtin_char): Split `ideograph-daikanwa'.
4464         (Fsplit_char): New implementation for UTF-2000.
4465         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4466         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4467         (complex_vars_of_mule_charset): Add new coded-charset
4468         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4469         `katakana-jisx0208'.
4470
4471         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4472         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4473         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4474         (MIN_CHAR_DAIKANWA): New macro.
4475         (MAX_CHAR_DAIKANWA): New macro.
4476
4477 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4478
4479         * data.c (Fstring_to_number): Don't recognize floating point if
4480         base is not 10.
4481
4482 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4483
4484         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4485
4486 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4487
4488         * mule-charset.c (Qsquare): New variable.
4489         (to_char_code): Add `Qsquare'.
4490         (syms_of_mule_charset): Add new symbol `square'.
4491
4492 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4493
4494         * mule-charset.c (Qcircle): New variable.
4495         (to_char_code): Add `Qcircle'.
4496         (syms_of_mule_charset): Add new symbol `circle'.
4497
4498 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4499
4500         * mule-charset.c (Qfont): New variable.
4501         (to_char_code): Add `Qfont'.
4502         (syms_of_mule_charset): Add new symbol `font'.
4503
4504 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4505
4506         * mule-charset.c (Qsub): New variable.
4507         (to_char_code): Add `Qsub'.
4508         (syms_of_mule_charset): Add new symbol `sub'.
4509
4510 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4511
4512         * mule-charset.c (Fput_char_attribute): Convert each element of
4513         VALUE to GL position if ATTRIBUTE is a GR-set,
4514
4515 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4516
4517         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4518         coded-charset is a GR-set.
4519
4520 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4521
4522         * mule-charset.c (Fput_char_attribute): Check each element of
4523         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4524
4525 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4526
4527         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4528         UTF-2000.
4529         (Qethiopic_ucs): New variable in UTF-2000.
4530         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4531         (complex_vars_of_mule_charset): Add new coded-charset
4532         `ethiopic-ucs' in UTF-2000.
4533
4534         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4535         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4536         9)'.
4537         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4538         10)'.
4539         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4540
4541 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4542
4543         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4544         `ascii'.
4545
4546 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4547
4548         * mule-charset.c (Vcharacter_variant_table): New variable.
4549         (Q_ucs): New variable.
4550         (Fchar_variants): New function.
4551         (Fput_char_attribute): Register `->ucs' value to
4552         `Vcharacter_variant_table'.
4553         (syms_of_mule_charset): Add new function `char-variants' and new
4554         symbol `->ucs'.
4555         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4556
4557 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4558
4559         * mule-charset.c (get_char_code_table): Allow negative character
4560         code.
4561         (put_char_code_table): Likewise.
4562         (Vcharacter_composition_table): New variable.
4563         (Q_decomposition): New variable.
4564         (Qwide): New variable.
4565         (Qnarrow): New variable.
4566         (Qcompat): New variable.
4567         (QnoBreak): New variable.
4568         (Qsuper): New variable.
4569         (Qfraction): New variable.
4570         (to_char_code): New function.
4571         (Fget_composite_char): New function.
4572         (Fput_char_attribute): Register `->decomposition' value to
4573         `Vcharacter_composition_table'.
4574         (syms_of_mule_charset): Add new function `get-composite-char', new
4575         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4576         `super' and `fraction'.
4577         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4578
4579 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4580
4581         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4582         character; copy the return value.
4583
4584 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4585
4586         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4587
4588         * mule-charset.c (range_charset_code_point): Must use make_int.
4589         (split_builtin_char): New function.
4590
4591 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4592
4593         * mule-charset.c (char_byte_table): Change name from
4594         "char-code-table" to "char-byte-table".
4595         (mark_char_code_table): New function.
4596         (char_code_table_equal): New function.
4597         (char_code_table_hash): New function.
4598         (char_code_table_description): New constant.
4599         (char_code_table): New type.
4600         (make_char_code_table): New function.
4601         (copy_char_code_table): New function.
4602         (get_char_code_table): Modify for `char_code_table' type.
4603         (put_char_code_table): Likewise.
4604         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4605         (Kashiwara).
4606
4607         * char-ucs.h (char_code_table): New type.
4608         (XCHAR_CODE_TABLE): New macro.
4609         (XSETCHAR_CODE_TABLE): New macro.
4610         (CHAR_CODE_TABLE_P): New macro.
4611         (GC_CHAR_CODE_TABLE_P): New macro.
4612         (struct Lisp_Char_Code_Table): New structure.
4613
4614 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * mule-charset.c (Fmake_charset): Setup byte_offset for
4617         {94|96}^n-set.
4618
4619 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4620
4621         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4622         character.
4623
4624 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4625
4626         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4627         is found.
4628
4629 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4630
4631         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4632         charset, it is regarded as a charset.
4633         (put_char_attribute): New function in UTF-2000.
4634         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4635         charset, mapping-table of the charset is modified.
4636         (Fdefine_char): New function in UTF-2000.
4637         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4638         `Fput_char_attribute'.
4639         (syms_of_mule_charset): Add new function `define-char' and new
4640         symbol `ucs' in UTF-2000.
4641         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4642
4643 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4644
4645         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4646         non-UTF-2000 configuration.
4647
4648 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4649
4650         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4651         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4652
4653         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4654         deleted.
4655         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4656         (Fset_charset_mapping_table): Likewise.
4657
4658         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4659         (CHARSET_ENCODING_TABLE): Delete.
4660         (XCHARSET_ENCODING_TABLE): Delete.
4661         (charset_code_point): New interface.
4662
4663 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4664
4665         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4666         instead of `charset_get_byte1' and `charset_get_byte2'.
4667
4668         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4669         (charset_get_byte2): Deleted.
4670
4671 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4672
4673         * char-ucs.h (SPLIT_CHAR): New inline function.
4674         (breakup_char_1): Use `SPLIT_CHAR'.
4675
4676         * mule-charset.c (range_charset_code_point): New function.
4677         (charset_code_point): New function.
4678
4679         * char-ucs.h (range_charset_code_point): New interface.
4680         (breakup_char_1): Use `range_charset_code_point'.
4681
4682 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4683
4684         * mule-charset.c (Fmake_charset): Delete unused local variable
4685         `code_offset'.
4686
4687         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4688         (breakup_char_1): Find a charset and code-point in
4689         `Vcharacter_attribute_table'.
4690
4691 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4692
4693         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4694         to 0.10 (Yao).
4695
4696 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4697
4698         * mule-charset.c (Vcharacter_attribute_table): New variable.
4699         (Fchar_attribute_alist): New function.
4700         (Fget_char_attribute): New function.
4701         (Fput_char_attribute): New function.
4702         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4703         too.
4704         (syms_of_mule_charset): Add new function `char-attribute-alist',
4705         `get-char-attribute' and `put-char-attribute'.
4706         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4707
4708 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4709
4710         * mule-charset.c (Fmake_charset): Just use
4711         `get_unallocated_leading_byte'.
4712
4713         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4714         sets; don't use final-byte based number for private sets.
4715
4716 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4717
4718         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4719         integer.
4720
4721 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4722
4723         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4724         to 0.9.
4725
4726 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4727
4728         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4729         of `CHAR_LEADING_BYTE' in UTF-2000.
4730
4731         * insdel.c (find_charsets_in_bufbyte_string): Use
4732         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4733         (find_charsets_in_emchar_string): Likewise.
4734
4735         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4736         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4737
4738         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4739         (CHAR_CHARSET_ID): New macro.
4740
4741 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4742
4743         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4744         charset-id - MIN_LEADING_BYTE.
4745         (put_char_table): Likewise.
4746
4747 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4748
4749         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4750         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4751         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4752         (CHARSET_ID_OFFSET): New macro.
4753         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4754         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4755         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4756         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4757         4).
4758         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4759         5).
4760         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4761         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4762         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4763         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4764         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4765
4766 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4767
4768         * mule-charset.c (next_allocated_leading_byte): New variable in
4769         UTF-2000.
4770         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4771         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4772         (get_unallocated_leading_byte): Simply use
4773         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4774         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4775         UTF-2000.
4776
4777         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4778         (MAX_LEADING_BYTE_PRIVATE): New macro.
4779         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4780         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4781
4782 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4783
4784         * mule-charset.c (Fmake_charset): Allocate final-byte based
4785         charset-id for 94-set, 96-set and 94x94-set.
4786
4787 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4788
4789         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4790         ambiguous `else'.
4791         (Fmake_charset): Likewise.
4792         (complex_vars_of_mule_charset): Modify the font registry of
4793         `ucs-bmp' not to match `Ethiopic-Unicode'.
4794
4795 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4796
4797         * mule-charset.c (complex_vars_of_mule_charset): Add font
4798         registory of `ucs-bmp'.
4799
4800 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4801
4802         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4803         coded-charsets in `default-coded-charset-priority-list' when
4804         breaking up a character.
4805
4806         * mule-charset.c (Vcharset_latin_viscii): New variable.
4807         (Qlatin_viscii): New variable.
4808         (make_charset): Don't use `decoding_table'.
4809         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4810         byte_offset.
4811         (Fset_charset_mapping_table): New implementation.
4812         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4813         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4814         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4815         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4816         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4817         charset `latin_viscii'.
4818
4819         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4820         (CHARSET_TYPE_94X94): Change to 1 from 2.
4821         (CHARSET_TYPE_96): Change to 2 from 1.
4822         (CHARSET_TYPE_128): New macro.
4823         (CHARSET_TYPE_128X128): Change to 5 from 4.
4824         (CHARSET_TYPE_256): New macro.
4825         (CHARSET_TYPE_256X256): Change to 7 from 5.
4826         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4827
4828 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4829
4830         * text-coding.c (char_encode_shift_jis): Refer
4831         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4832         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4833
4834         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4835         (char_byte_table_equal): New function in UTF-2000.
4836         (char_byte_table_hash): New function in UTF-2000.
4837         (char_byte_table_description): New constant in UTF-2000.
4838         (char_byte_table): New type in UTF-2000.
4839         (make_char_byte_table): New function in UTF-2000.
4840         (copy_char_byte_table): New function in UTF-2000.
4841         (make_char_code_table): New macro in UTF-2000.
4842         (get_char_code_table): New function in UTF-2000.
4843         (put_char_code_table): New function in UTF-2000.
4844         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4845         (charset_description): Add setting in UTF-2000.
4846         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4847         `CHARSET_TO_BYTE1_TABLE(cs)'.
4848         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4849         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4850         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4851         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4852         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4853         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4854         `CHARSET_TO_BYTE2_TABLE(cs)'.
4855
4856         * char-ucs.h (char_byte_table): New type.
4857         (XCHAR_BYTE_TABLE): New macro.
4858         (XSETCHAR_BYTE_TABLE): New macro.
4859         (CHAR_BYTE_TABLE_P): New macro.
4860         (GC_CHAR_BYTE_TABLE_P): New macro.
4861         (struct Lisp_Char_Byte_Table): New structure.
4862         (get_char_code_table): New interface.
4863         (Emchar_to_byte_table): Deleted.
4864         (get_byte_from_character_table): Deleted.
4865         (struct Lisp_Charset): Add `encoding_table'; delete
4866         `to_byte1_table' and `to_byte2_table'.
4867         (CHARSET_ENCODING_TABLE): New macro.
4868         (CHARSET_TO_BYTE1_TABLE): Deleted.
4869         (CHARSET_TO_BYTE2_TABLE): Deleted.
4870         (XCHARSET_ENCODING_TABLE): New macro.
4871         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4872         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4873
4874 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4875
4876         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4877         `vietnamese-viscii-*'.
4878
4879 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4880
4881         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4882         (Qvietnamese_viscii_upper): New variable.
4883         (Fdefine_charset_alias): New function.
4884         (syms_of_mule_charset): Add new function `define-charset-alias'.
4885         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4886         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4887         `latin-viscii-*'.
4888
4889 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4890
4891         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4892         (MAX_CHAR_OBS_94x94): New macro.
4893         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4894         for 94x94 sets.
4895
4896         * mule-charset.c (put_byte_from_character_table): Change unit size
4897         from 128 to 256.
4898         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4899         not defined.
4900         (Fmake_reverse_direction_charset): Modify dummy argument of
4901         `make_charset' for non-UTF-2000 environment.
4902
4903 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4904
4905         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4906
4907         * mule-charset.c (destroy_byte_from_character_table): New macro.
4908         (latin_jisx0201_to_ucs): Deleted.
4909         (latin_iso8859_2_to_ucs): Deleted.
4910         (latin_iso8859_3_to_ucs): Deleted.
4911         (latin_iso8859_4_to_ucs): Deleted.
4912         (latin_iso8859_9_to_ucs): Deleted.
4913         (latin_viscii_lower_to_ucs): Deleted.
4914         (latin_viscii_upper_to_ucs): Deleted.
4915         (mark_charset): Mark `cs->decoding_table'.
4916         (Fcharset_mapping_table): Fix DOC-string.
4917         (Fset_charset_mapping_table): New function.
4918         (syms_of_mule_charset): Add nwe function
4919         `set-charset-mapping-table'.
4920         (complex_vars_of_mule_charset): Don't setup and use
4921         `latin_*_to_ucs'.
4922
4923 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4924
4925         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4926         charset.
4927
4928 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4929
4930         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4931         (Vcharset_katakana_jisx0208): New variable.
4932         (Qhiragana_jisx0208): New variable.
4933         (Qkatakana_jisx0208): New variable.
4934         (make_charset): Add new argument `byte_offset'.
4935         (charset_get_byte1): Modify for new coded-charset definition; use
4936         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4937         `XCHARSET_BYTE_OFFSET'.
4938         (Fmake_charset): Modify for `make_charset'.
4939         (Fmake_reverse_direction_charset): Likewise.
4940         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4941         `katakana-jisx0208'.
4942         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4943         `.'  in font registry of charset `katakana-jisx0201',
4944         `latin-jisx0201', `vietnamese-viscii-lower' and
4945         `vietnamese-viscii-upper'; modify DOC-string of charset
4946         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4947         registry of charset `japanese-jisx0208' not to use font for JIS
4948         X0208:1990; add new charset `hiragana-jisx0208' and
4949         `katakana-jisx0208'.
4950
4951         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4952         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4953         (struct Lisp_Charset): Add `byte_offset'.
4954         (CHARSET_BYTE_OFFSET): New macro.
4955         (XCHARSET_UCS_MIN): New macro.
4956         (XCHARSET_UCS_MAX): New macro.
4957         (XCHARSET_CODE_OFFSET): New macro.
4958         (XCHARSET_BYTE_OFFSET): New macro.
4959         (MIN_CHAR_HIRAGANA): New macro.
4960         (MAX_CHAR_HIRAGANA): New macro.
4961         (MIN_CHAR_KATAKANA): New macro.
4962         (MAX_CHAR_KATAKANA): New macro.
4963         (MAKE_CHAR): Modify for new coded-charset definition; use
4964         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4965         `XCHARSET_BYTE_OFFSET'.
4966
4967 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4968
4969         * mule-charset.c (CHAR96): Deleted.
4970         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4971         <Lisp_Object>.
4972         (latin_iso8859_2_to_ucs): Likewise.
4973         (latin_iso8859_3_to_ucs): Likewise.
4974         (latin_iso8859_4_to_ucs): Likewise.
4975         (latin_iso8859_9_to_ucs): Likewise.
4976         (latin_viscii_lower_to_ucs): Likewise.
4977         (latin_viscii_upper_to_ucs): Likewise.
4978         (latin_tcvn5712_to_ucs): Commented out.
4979         (make_charset): Change type of argument `decoding_table' from
4980         <Emchar*> to <Lisp_Object> [vector of characters].
4981         (Fmake_charset): Modify for `make_charset'.
4982         (Fmake_reverse_direction_charset): Likewise.
4983         (Fcharset_mapping_table): New function in UTF-2000.
4984         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4985         UTF-2000.
4986         (complex_vars_of_mule_charset): Modify for type change of
4987         `*_to_ucs'; modify for `make_charset'.
4988
4989         * char-ucs.h (struct Lisp_Charset): Change type of
4990         `decoding_table' from <Emchar*> to <Lisp_Object>.
4991         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4992
4993 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4994
4995         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4996         error with non-UTF-2000-Mule.
4997
4998 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4999
5000         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5001         in lisp again].
5002         (Vcharset_chinese_cns11643_4): Likewise.
5003         (Vcharset_chinese_cns11643_5): Likewise.
5004         (Vcharset_chinese_cns11643_6): Likewise.
5005         (Vcharset_chinese_cns11643_7): Likewise.
5006         (Qchinese_cns11643_3): Likewise.
5007         (Qchinese_cns11643_4): Likewise.
5008         (Qchinese_cns11643_5): Likewise.
5009         (Qchinese_cns11643_6): Likewise.
5010         (Qchinese_cns11643_7): Likewise.
5011         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5012         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5013         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5014         (complex_vars_of_mule_charset): Likewise.
5015
5016 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5017
5018         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5019         96-set.
5020         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5021         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5022
5023 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5024
5025         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5026         0xFF60.
5027         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5028         (breakup_char_1): Likewise.
5029
5030         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5031         one of them includes the specified character.
5032
5033 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5036
5037 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5038
5039         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5040
5041 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5042
5043         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5044         definition for non-UTF-2000 Mule.
5045         (latin_iso8859_3_to_ucs): Likewise.
5046         (latin_iso8859_4_to_ucs): Likewise.
5047         (latin_iso8859_9_to_ucs): Likewise.
5048         (latin_jisx0201_to_ucs): Likewise.
5049         (MIN_CHAR_THAI): Likewise.
5050         (MAX_CHAR_THAI): Likewise.
5051         (MIN_CHAR_GREEK): Likewise.
5052         (MAX_CHAR_GREEK): Likewise.
5053         (MIN_CHAR_HEBREW): Likewise.
5054         (MAX_CHAR_HEBREW): Likewise.
5055         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5056         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5057         (MIN_CHAR_CYRILLIC): Likewise.
5058         (MAX_CHAR_CYRILLIC): Likewise.
5059
5060 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5061
5062         * char-ucs.h (breakup_char_1): Use
5063         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5064         thai-tis620 and katakana-jisx0201 area.
5065
5066 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5067
5068         * char-ucs.h (breakup_char_1): Use
5069         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5070         area.
5071
5072         * text-coding.c (reset_encoding_stream): Fixed.
5073         (char_encode_ucs4): Delete `& 255'.
5074
5075         * char-ucs.h (breakup_char_1): Use
5076         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5077
5078 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5079
5080         * file-coding.c (Fmake_coding_system): Don't set up
5081         `codesys->fixed.size'.
5082         (encode_coding_no_conversion): Don't refer
5083         `str->codesys->fixed.size'.
5084
5085 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5086
5087         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5088         (latin_a_char_to_byte1): Deleted.
5089         (latin_a_char_to_byte2): Deleted.
5090
5091 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5092
5093         * mule-charset.c (make_charset): Add new argument `ucs_min',
5094         `ucs_max' and `code_offset'.
5095         (charset_get_byte1): New implementation [delete specific charset
5096         depended implementations].
5097         (Fmake_charset): Modify for `make_charset'.
5098         (Fmake_reverse_direction_charset): Likewise.
5099         (complex_vars_of_mule_charset): Likewise.
5100
5101         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5102         `code_offset'.
5103         (CHARSET_UCS_MIN): New macro.
5104         (CHARSET_UCS_MAX): New macro.
5105         (CHARSET_CODE_OFFSET): New macro.
5106         (MAKE_CHAR): Delete charset depended definitions [except
5107         katakana-jisx0201].
5108
5109 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5110
5111         * char-ucs.h (breakup_char_1): Use
5112         `Vdefault_coded_charset_priority_list' for C0-Controls,
5113         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5114
5115 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5116
5117         * char-ucs.h (charset_get_byte1): New function.
5118         (XCHARSET_GET_BYTE1): Deleted.
5119         (charset_get_byte2): New function.
5120         (XCHARSET_GET_BYTE2): Deleted.
5121         (Vdefault_coded_charset_priority_list): New external variable.
5122         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5123         `Vdefault_preferred_coded_charset_list'.
5124
5125         * mule-charset.c (charset_get_byte1): New function.
5126         (charset_get_byte2): New function.
5127         (Vdefault_coded_charset_priority_list): New variable.
5128         (vars_of_mule_charset): Add new variable
5129         `default-coded-charset-priority-list'.
5130
5131 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5132
5133         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5134         (XCHARSET_GET_BYTE2): New inline function.
5135         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5136         `XCHARSET_GET_BYTE2'.
5137
5138 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5139
5140         * mule-charset.c (make_charset): Initialize
5141         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5142         NULL if table is not defined.
5143
5144 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5145
5146         * text-coding.c (char_encode_shift_jis): Use
5147         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5148         `ucs_to_latin_jisx0201'.
5149
5150         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5151         (ucs_to_latin_iso8859_2): Deleted.
5152         (ucs_to_latin_iso8859_3): Deleted.
5153         (ucs_to_latin_iso8859_4): Deleted.
5154         (ucs_to_latin_iso8859_9): Deleted.
5155         (ucs_to_latin_viscii_lower): Deleted.
5156         (ucs_to_latin_viscii_upper): Deleted.
5157         (ucs_to_latin_tcvn5712): Deleted.
5158         (make_charset): Add new argument `decoding_table'; set up
5159         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5160         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5161         `decoding_table' is defined in UTF-2000.
5162         (Fmake_charset): Modify for `make_charset'.
5163         (Fmake_reverse_direction_charset): Likewise.
5164         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5165         and `GENERATE_96_SET'.
5166
5167         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5168         (ucs_to_latin_jisx0201): Deleted.
5169         (latin_iso8859_2_to_ucs): Deleted.
5170         (ucs_to_latin_iso8859_2): Deleted.
5171         (latin_iso8859_3_to_ucs): Deleted.
5172         (ucs_to_latin_iso8859_3): Deleted.
5173         (latin_iso8859_4_to_ucs): Deleted.
5174         (ucs_to_latin_iso8859_4): Deleted.
5175         (latin_iso8859_9_to_ucs): Deleted.
5176         (ucs_to_latin_iso8859_9): Deleted.
5177         (latin_viscii_lower_to_ucs): Deleted.
5178         (ucs_to_latin_viscii_lower): Deleted.
5179         (latin_viscii_upper_to_ucs): Deleted.
5180         (ucs_to_latin_viscii_upper): Deleted.
5181         (struct Lisp_Charset): Renamed `encoding_table' to
5182         `to_byte1_table'; add `to_byte2_table'.
5183         (CHARSET_DECODING_TABLE): New macro.
5184         (CHARSET_TO_BYTE1_TABLE): New macro.
5185         (CHARSET_TO_BYTE2_TABLE): New macro.
5186         (XCHARSET_DECODING_TABLE): New macro.
5187         (XCHARSET_TO_BYTE1_TABLE): New macro.
5188         (XCHARSET_TO_BYTE2_TABLE): New macro.
5189         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5190         tables.
5191         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5192         don't use `ucs_to_*' tables.
5193
5194 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5195
5196         * text-coding.c (Fmake_coding_system): Don't set up
5197         `codesys->fixed.size'.
5198         (encode_coding_no_conversion): Use `if' instead of `switch'.
5199
5200         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5201
5202 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5203
5204         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5205         (Fmake_charset): Modify for `make_charset'.
5206         (Fmake_reverse_direction_charset): Likewise.
5207         (complex_vars_of_mule_charset): Likewise.
5208
5209 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5210
5211         * text-coding.c (char_encode_shift_jis): Use table
5212         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5213
5214 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5215
5216         * text-coding.c (text_encode_generic): Use `if' instead of
5217         `switch'.
5218         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5219         decode JIS-Latin.
5220
5221 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5222
5223         * text-coding.c (encode_coding_sjis): Deleted.
5224         (char_encode_shift_jis): New function.
5225         (char_finish_shift_jis): New function.
5226         (reset_encoding_stream): Set up `encode_char' and `finish' for
5227         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5228         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5229         (char_encode_utf8): Treat `eol_type'.
5230
5231 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5232
5233         * file-coding.c (decode_coding_iso2022): Use
5234         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5235
5236 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5237
5238         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5239         to 0.7 (Hirano).
5240
5241 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5242
5243         * char-lb.h (CHAR_COLUMNS): New macro.
5244
5245 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5246
5247         * text-coding.c (char_encode_ucs4): New function.
5248         (char_finish_ucs4): New function.
5249         (encode_coding_ucs4): Deleted.
5250         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5251         (text_encode_generic): Delete local variable `charset' and `half'.
5252         (ucs_to_mule_table): Deleted.
5253         (mule_to_ucs_table): Deleted.
5254         (Fset_ucs_char): Deleted.
5255         (ucs_to_char): Deleted.
5256         (Fucs_char): Deleted.
5257         (Fset_char_ucs): Deleted.
5258         (Fchar_ucs): Deleted.
5259         (decode_ucs4): Deleted.
5260         (mule_char_to_ucs4): Deleted.
5261         (encode_ucs4): Deleted.
5262         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5263         (decode_coding_utf8): Likewise.
5264         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5265         (char_encode_iso2022): Fixed.
5266         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5267         `Fset_char_ucs' and `Fchar_ucs'.
5268         (complex_vars_of_file_coding): Don't initialize
5269         `ucs_to_mule_table'.
5270
5271         * objects-tty.c (tty_initialize_font_instance): Don't use
5272         `XCHARSET_COLUMNS'.
5273
5274         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5275         UTF-2000.
5276
5277         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5278         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5279
5280         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5281         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5282         (emchar_string_displayed_columns): Likewise.
5283
5284         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5285         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5286         (string_column_at_point): Likewise.
5287         (Fmove_to_column): Likewise.
5288
5289         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5290         `encoding_table' and `decoding_table'.
5291         (CHARSET_REP_BYTES): Deleted.
5292         (XCHARSET_REP_BYTES): Deleted.
5293         (XCHARSET_COLUMNS): Deleted.
5294         (CHAR_COLUMNS): New macro.
5295         (lookup_composite_char): Deleted unconditionally.
5296         (composite_char_string): Likewise.
5297
5298 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5299
5300         * char-ucs.h (Emchar_to_byte_table): New type.
5301         (get_byte_from_character_table): New function interface.
5302         (Vcharset_latin_jisx0201): New variable.
5303         (latin_jisx0201_to_ucs): New variable.
5304         (ucs_to_latin_jisx0201): New variable.
5305         (Vcharset_latin_iso8859_2): New variable.
5306         (latin_iso8859_2_to_ucs): New variable.
5307         (ucs_to_latin_iso8859_2): New variable.
5308         (Vcharset_latin_iso8859_3): New variable.
5309         (latin_iso8859_3_to_ucs): New variable.
5310         (ucs_to_latin_iso8859_3): New variable.
5311         (Vcharset_latin_iso8859_4): New variable.
5312         (latin_iso8859_4_to_ucs): New variable.
5313         (ucs_to_latin_iso8859_4): New variable.
5314         (Vcharset_latin_iso8859_9): New variable.
5315         (latin_iso8859_9_to_ucs): New variable.
5316         (ucs_to_latin_iso8859_9): New variable.
5317         (Vcharset_latin_viscii_lower): New variable.
5318         (latin_viscii_lower_to_ucs): New variable.
5319         (ucs_to_latin_viscii_lower): New variable.
5320         (Vcharset_latin_viscii_upper): New variable.
5321         (latin_viscii_upper_to_ucs): New variable.
5322         (ucs_to_latin_viscii_upper): New variable.
5323         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5324         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5325         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5326         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5327         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5328         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5329         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5330         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5331         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5332         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5333
5334         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5335         (Vcharset_latin_viscii_upper): New variable.
5336         (make_byte_from_character_table): New function.
5337         (put_byte_from_character_table): New function.
5338         (get_byte_from_character_table): New function.
5339         (CHAR96): New macro.
5340         (ucs_to_latin_jisx0201): New variable.
5341         (latin_jisx0201_to_ucs): New variable.
5342         (ucs_to_latin_iso8859_2): New variable.
5343         (latin_iso8859_2_to_ucs): New variable.
5344         (ucs_to_latin_iso8859_3): New variable.
5345         (latin_iso8859_3_to_ucs): New variable.
5346         (ucs_to_latin_iso8859_4): New variable.
5347         (latin_iso8859_4_to_ucs): New variable.
5348         (ucs_to_latin_iso8859_9): New variable.
5349         (latin_iso8859_9_to_ucs): New variable.
5350         (ucs_to_latin_viscii_lower): New variable.
5351         (latin_viscii_lower_to_ucs): New variable.
5352         (ucs_to_latin_viscii_upper): New variable.
5353         (latin_viscii_upper_to_ucs): New variable.
5354         (ucs_to_latin_tcvn5712): New variable.
5355         (latin_tcvn5712_to_ucs): New variable.
5356         (Qlatin_viscii_lower): New variable.
5357         (Qlatin_viscii_upper): New variable.
5358         (syms_of_mule_charset): Set up new symbol
5359         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5360         (complex_vars_of_mule_charset): Set up new charset
5361         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5362         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5363         `ucs_to_<CHARSET>' tables.
5364
5365 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5366
5367         * text-coding.c: New file.
5368
5369 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5370
5371         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5372
5373         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5374         (MAKE_CHAR): Modify for `ucs-bmp'.
5375         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5376         non-MULE characters of BMP.
5377
5378 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5379
5380         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5381         to 0.6.
5382
5383 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5384
5385         * lstream.h:
5386         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5387         - Include character.h for `CHAR_ASCII_P'.
5388
5389         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5390
5391         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5392         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5393
5394         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5395         (BYTE_C0_P): Likewise.
5396         (BYTE_C1_P): Likewise.
5397         (Lstream_get_emchar_1): Likewise.
5398         (Lstream_fput_emchar): Likewise.
5399         (Lstream_funget_emchar): Likewise.
5400         (copy_internal_to_external): Likewise.
5401         (copy_external_to_internal): Likewise.
5402
5403         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5404         (BYTE_C0_P): Likewise.
5405         (BYTE_C1_P): Likewise.
5406         (Lstream_get_emchar_1): Likewise.
5407         (Lstream_fput_emchar): Likewise.
5408         (Lstream_funget_emchar): Likewise.
5409         (copy_internal_to_external): Likewise.
5410         (copy_external_to_internal): Likewise.
5411
5412         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5413         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5414
5415         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5416         (BYTE_ASCII_P): Moved to mb-1byte.h.
5417
5418 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5419
5420         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5421
5422         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5423         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5424         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5425         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5426         (VALIDATE_CHARPTR_FORWARD): Likewise.
5427         (simple_charptr_emchar): Moved to mb-multibyte.h.
5428         (simple_set_charptr_emchar): Likewise.
5429         (simple_charptr_copy_char): Likewise.
5430         (non_ascii_charptr_emchar): Likewise.
5431         (non_ascii_set_charptr_emchar): Likewise.
5432         (non_ascii_charptr_copy_char): Likewise.
5433         (charptr_emchar): Moved to mb-*byte.h.
5434         (set_charptr_emchar): Likewise.
5435         (charptr_copy_char): Likewise.
5436
5437         * mb-1byte.h, mb-multibyte.h: New files.
5438
5439 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5440
5441         * mb-utf-8.h (MULTIBYTE): New macro.
5442         (MAX_EMCHAR_LEN): Moved from buffer.h.
5443         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5444
5445         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5446
5447         * mb-lb.h, multibyte.h: New files.
5448
5449         * char-1byte.h (Charset_ID): Moved from buffer.h.
5450         (MIN_LEADING_BYTE): Likewise.
5451         (LEADING_BYTE_ASCII): Likewise.
5452         (NUM_LEADING_BYTES): Likewise.
5453         (CHARSETP): Likewise.
5454         (CHARSET_BY_LEADING_BYTE): Likewise.
5455         (XCHARSET_LEADING_BYTE): Likewise.
5456         (XCHARSET_GRAPHIC): Likewise.
5457         (XCHARSET_COLUMNS): Likewise.
5458         (XCHARSET_DIMENSION): Likewise.
5459         (CHAR_CHARSET): Likewise.
5460         (CHAR_LEADING_BYTE): Likewise.
5461         (BREAKUP_CHAR): Likewise.
5462         (Vcharset_ascii): Likewise.
5463
5464         * buffer.h: Include multibyte.h unconditionally.
5465         (VALID_CHARPTR_P): Moved to multibyte.h.
5466         (ASSERT_VALID_CHARPTR): Likewise.
5467         (REAL_INC_CHARPTR): Likewise.
5468         (REAL_INC_CHARBYTIND): Likewise.
5469         (REAL_DEC_CHARPTR): Likewise.
5470         (INC_CHARPTR): Likewise.
5471         (INC_CHARBYTIND): Likewise.
5472         (DEC_CHARPTR): Likewise.
5473         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5474         (VALIDATE_CHARPTR_FORWARD): Likewise.
5475         (charptr_n_addr): Likewise.
5476         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5477         (simple_charptr_emchar): Moved to multibyte.h.
5478         (simple_set_charptr_emchar): Likewise.
5479         (simple_charptr_copy_char): Likewise.
5480         (non_ascii_charptr_emchar): Likewise.
5481         (non_ascii_set_charptr_emchar): Likewise.
5482         (non_ascii_charptr_copy_char): Likewise.
5483         (charptr_emchar): Likewise.
5484         (set_charptr_emchar): Likewise.
5485         (charptr_copy_char): Likewise.
5486         (charptr_emchar_n): Likewise.
5487         (Charset_ID): Moved to char-1byte.h.
5488         (Vcharset_ascii): Likewise.
5489         (CHAR_CHARSET): Likewise.
5490         (CHAR_LEADING_BYTE): Likewise.
5491         (LEADING_BYTE_ASCII): Likewise.
5492         (NUM_LEADING_BYTES): Likewise.
5493         (MIN_LEADING_BYTE): Likewise.
5494         (CHARSETP): Likewise.
5495         (CHARSET_BY_LEADING_BYTE): Likewise.
5496         (XCHARSET_LEADING_BYTE): Likewise.
5497         (XCHARSET_GRAPHIC): Likewise.
5498         (XCHARSET_COLUMNS): Likewise.
5499         (XCHARSET_DIMENSION): Likewise.
5500         (BREAKUP_CHAR): Likewise.
5501
5502 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5503
5504         * character.h: Add document about interface for characters.
5505
5506         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5507         (MAKE_CHAR): Delete comment about
5508         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5509         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5510         (BREAKUP_CHAR): Modify name of arguments.
5511         (CHAR_CHARSET): Modify name of argument.
5512
5513         * buffer.h: Delete document about Emchar accessors.
5514
5515 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5516
5517         * character.h (CHAR_INTP): Moved from buffer.h
5518         (CHAR_OR_CHAR_INTP): Likewise.
5519         (XCHAR_OR_CHAR_INT): Likewise.
5520         (CHECK_CHAR_COERCE_INT): Likewise.
5521
5522         * buffer.h (CHAR_INTP): Moved to character.h
5523         (CHAR_OR_CHAR_INTP): Likewise.
5524         (XCHAR_OR_CHAR_INT): Likewise.
5525         (CHECK_CHAR_COERCE_INT): Likewise.
5526
5527 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5528
5529         * character.h:
5530         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5531         - Include char-1byte.h, char-lb.h or char-ucs.h.
5532
5533         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5534
5535         * buffer.h: Include character unconditionally.
5536         (valid_char_p): Moved to char-*.h.
5537         (non_ascii_valid_char_p): Moved to char-lb.h.
5538
5539         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5540
5541 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5542
5543         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5544         in UTF-2000 because it is not ported yet and not to use
5545         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5546         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5547         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5548
5549         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5550         (CHAR_ASCII_P): Moved from character.h.
5551
5552         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5553         (CHAR_ASCII_P): Likewise.
5554         (CHAR_FIELD1_MASK): Deleted.
5555         (CHAR_FIELD2_MASK): Deleted.
5556         (CHAR_FIELD3_MASK): Deleted.
5557         (MAX_CHAR_BASIC_LATIN): New macro.
5558         (CHAR_FIELD1): Deleted.
5559         (CHAR_FIELD2_INTERNAL): Deleted.
5560         (CHAR_FIELD3_INTERNAL): Deleted.
5561         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5562         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5563         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5564         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5565         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5566         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5567         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5568         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5569         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5570         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5571         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5572         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5573         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5574         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5575         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5576         (MIN_CHAR_COMPOSITION): Deleted.
5577         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5578         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5579
5580 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5581
5582         * buffer.h: Include mb-utf-8.h in UTF-2000.
5583
5584         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5585
5586         * mb-utf-8.h: New file.
5587
5588 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5589
5590         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5591         instead of `int'.
5592
5593         * mule-charset.h, buffer.h (Charset_ID): New type.
5594
5595 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5596
5597         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5598         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5599         instead of `MULE_CHAR_PRIVATE_OFFSET',
5600         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5601         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5602         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5603
5604         * character.h (Vcharset_japanese_jisx0212): New variable
5605         definition.
5606
5607 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5608
5609         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5610         (charset_by_attributes): Delete array about direction.
5611         (latin_a_char_to_charset): New variable in UTF-2000.
5612         (latin_a_char_to_byte1): New variable in UTF-2000.
5613         (latin_a_char_to_byte2): New variable in UTF-2000.
5614         (Qucs_bmp): New variable.
5615         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5616         `Bufbyte'.
5617         (next_allocated_2_byte_leading_byte): Likewise.
5618         (non_ascii_set_charptr_emchar): Likewise.
5619         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5620         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5621         `charset_by_attributes'.
5622         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5623         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5624         and `CHARSET_BY_LEADING_BYTE'.
5625         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5626         `utf-2000-version' to `vars_of_mule_charset'.
5627         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5628         define `leading-code-private-11' in UTF-2000; move setting of
5629         `utf-2000-version' from `syms_of_mule_charset'.
5630         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5631         UTF-2000.
5632
5633         * character.h (Charset_ID): New type.
5634         (LEADING_BYTE_UCS_BMP): New macro.
5635         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5636         (CHARSET_ID_OFFSET_94): New macro.
5637         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5638         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5639         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5640         final-byte.
5641         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5642         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5643         (CHARSET_ID_OFFSET_96): New macro.
5644         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5645         CHARSET_ID_OFFSET_96 and final-byte.
5646         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5647         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5648         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5649         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5650         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5651         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5652         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5653         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5654         (LEADING_BYTE_THAI_TIS620): Likewise.
5655         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5656         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5657         (CHARSET_ID_OFFSET_94x94): New macro.
5658         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5659         CHARSET_ID_OFFSET_94x94 and final-byte.
5660         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5661         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5662         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5663         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5664         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5665         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5666         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5667         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5668         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5669         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5670         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5671         (CHARSET_TYPE_128X128): New macro.
5672         (CHARSET_TYPE_256X256): New macro.
5673         (XCHARSET_PRIVATE_P): Delete unconditionally.
5674         (charset_by_attributes): Delete array about direction.
5675         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5676         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5677         (MIN_CHAR_94): New macro.
5678         (MAX_CHAR_94): New macro.
5679         (MIN_CHAR_96): New macro.
5680         (MAX_CHAR_96): New macro.
5681         (MIN_CHAR_94x94): New macro.
5682         (MAX_CHAR_94x94): New macro.
5683         (MIN_CHAR_96x96): New macro.
5684         (MAX_CHAR_96x96): New macro.
5685         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5686         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5687         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5688         - 32)'.
5689         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5690         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5691         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5692         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5693         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5694         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5695         `XCHARSET_LEADING_BYTE' to make code-point.
5696         (latin_a_char_to_charset): New variable.
5697         (latin_a_char_to_byte1): New variable.
5698         (latin_a_char_to_byte2): New variable.
5699         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5700         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5701         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5702
5703         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5704         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5705         (find_charsets_in_emchar_string): Likewise.
5706         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5707
5708         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5709         `int'.
5710         (decode_coding_iso2022): Likewise.
5711
5712         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5713         of `unsigned char'.
5714
5715         * redisplay.c (redisplay_text_width_emchar_string): Use
5716         `Charset_ID' instead of `unsigned char'.
5717         (redisplay_frame_text_width_string): Likewise.
5718
5719         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5720         `unsigned char'.
5721
5722         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5723         instead of `unsigned char'.
5724         (face_cachel_charset_font_metric_info): Likewise.
5725
5726         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5727         (get_non_ascii_char_table_value): Likewise.
5728         (get_char_table): Likewise.
5729         (put_char_table): Likewise.
5730         (map_over_other_charset): Likewise.
5731         (map_char_table): Likewise.
5732
5733         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5734         instead of `unsigned char'.
5735
5736 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5737
5738         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5739         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5740
5741         * mule-charset.c (leading_code_private_11): Don't define in
5742         UTF-2000.
5743
5744         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5745         in UTF-2000 because it is not ported yet and not to use
5746         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5747
5748 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5749
5750         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5751
5752 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5753
5754         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5755         in UTF-2000.
5756
5757         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5758         of unsigned char to store leading-byte.
5759
5760         * chartab.c (get_non_ascii_char_table_value): Don't use
5761         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5762
5763         * file-coding.c (encode_coding_big5): Delete bogus implementation
5764         in UTF2000.
5765
5766         * character.h (LEADING_BYTE_*): Delete definition for
5767         non-UTF-2000.
5768         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5769         (LEADING_BYTE_PREFIX_P): Deleted.
5770         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5771         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5772         (BUFBYTE_LEADING_BYTE_P): Deleted.
5773         (CHARSET_PRIVATE_P): Deleted unconditionally.
5774         (rep_bytes_by_first_byte): Deleted unconditionally.
5775         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5776         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5777         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5778         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5779         (CHAR_FIELD2): Deleted.
5780         (CHAR_FIELD3): Deleted.
5781         (MAKE_CHAR): Delete definition for non-UTF-2000.
5782         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5783         (breakup_char_1): New implementation.
5784         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5785         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5786
5787 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5788
5789         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5790         condition.
5791
5792 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5793
5794         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5795         (CHARSET_PRIVATE_P): Likewise.
5796         (XCHARSET_PRIVATE_P): Likewise.
5797         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5798
5799         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5800         UTF2000.
5801         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5802
5803 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5804
5805         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5806         (NUM_LEADING_BYTES): Changed from 128 to 256.
5807         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5808         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5809         UTF2000.
5810         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5811
5812         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5813         UTF2000.
5814         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5815         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5816         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5817         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5818         (Qchinese_cns11643_3): New variable in UTF2000.
5819         (Qchinese_cns11643_4): New variable in UTF2000.
5820         (Qchinese_cns11643_5): New variable in UTF2000.
5821         (Qchinese_cns11643_6): New variable in UTF2000.
5822         (Qchinese_cns11643_7): New variable in UTF2000.
5823         (syms_of_mule_charset): Define `chinese-cns11643-3',
5824         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5825         and `chinese-cns11643-7' in UTF2000.
5826         (vars_of_mule_charset): Initialize
5827         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5828         + 1 in UTF2000.
5829         (complex_vars_of_mule_charset): Setup charset
5830         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5831         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5832
5833 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5834
5835         * mule-charset.c: Move setting for `leading-code-private-11' from
5836         `syms_of_mule_charset' to `vars_of_mule_charset'.
5837
5838 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5839
5840         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5841         and `NUM_LEADING_BYTES' in assert.
5842
5843 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5844
5845         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5846         instead of 128.
5847         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5848         `NUM_LEADING_BYTES' instead of 128.
5849
5850 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5851
5852         * mule-charset.h (charset_by_leading_byte): Use
5853         `NUM_LEADING_BYTES' instead of 128.
5854         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5855
5856         * mule-charset.c (charset_by_leading_byte): Use
5857         `NUM_LEADING_BYTES' instead of 128.
5858         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5859
5860         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5861         128.
5862
5863 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5864
5865         * mule-charset.c (syms_of_mule_charset): Update to
5866         0.4 (Shin-Imamiya).
5867
5868 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5869
5870         * file-coding.c (encode_coding_sjis): New implementation for
5871         UTF2000.  (decode_coding_sjis): Ditto.
5872
5873 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5874
5875         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5876         Don't define in UTF2000.
5877
5878         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5879         defined.
5880
5881         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5882         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5883         MULE.
5884
5885 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5886
5887         * config.h.in (CHAR_IS_UCS4): New macro.
5888
5889         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5890         conventional MULE representation.
5891         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5892
5893         * mule-charset.h: Reverted to original.
5894
5895         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5896         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5897         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5898
5899         * character.h: New file.
5900
5901         * file-coding.c (Fmake_coding_system): Set 1 to
5902         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5903         defined.
5904         (encode_coding_no_conversion): New implementation for UTF2000.
5905
5906         * file-coding.h (struct Lisp_Coding_System): Add new member
5907         `fixed.size'.
5908
5909 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5910
5911         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5912         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5913         (encode_coding_iso2022): New implementation for UTF2000.
5914
5915 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5916
5917         * mule-canna.c (c2mu): New implementation for UTF2000.
5918         (m2c): Likewise.
5919
5920 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5921
5922         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5923
5924 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5925
5926         * file-coding.c (reset_encoding_stream): Set 0 to
5927         `str->iso2022.current_char_boundary' in UTF2000.
5928         (encode_utf8): Don't define in UTF2000.
5929         (encode_coding_utf8): New implementation for UTF-8 representation
5930         of UTF2000.
5931         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5932
5933 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5934
5935         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5936
5937         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5938         UTF2000.
5939         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5940
5941         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5942
5943         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5944         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5945         as UTF-8 in UTF2000.
5946         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5947         (non_ascii_valid_char_p): Don't define in UTF2000.
5948         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5949         (Lstream_get_emchar_1): Likewise.
5950         (utf-2000-version): New variable in UTF2000.
5951
5952         * lread.c (read_escape): Add new reader `u'.
5953
5954         * insdel.c (three_to_one_table): Don't define in UTF2000.
5955         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5956         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5957         UTF2000.
5958         (bytind_to_bufpos_func): Likewise.
5959         (buffer_mule_signal_inserted_region): Likewise.
5960         (vars_of_insdel): Don't initialize `three_to_one_table'.
5961         (init_buffer_text): Use `buf->text->mule_size' instead of
5962         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5963         UTF2000.
5964
5965         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5966         UTF-8 representation in UTF2000.
5967         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5968         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5969         (decode_coding_iso2022): Don't define local variable `lb' in
5970         UTF2000; don't use LEADING_BYTE in UTF2000; use
5971         `DECODE_ADD_UCS_CHAR' in UTF2000.
5972         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5973
5974         * config.h.in (UTF2000): New macro.
5975
5976         * buffer.h (struct buffer_text): Add new member `mule_size' and
5977         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5978         (valid_char_p): Return always 1 in UTF2000.
5979         (MAX_EMCHAR_LEN): 6 in UTF2000.
5980         (three_to_one_table): Don't define in UTF2000.
5981         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5982         UTF2000.
5983         (real_bytind_to_bufpos): Likewise.
5984
5985         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5986
5987 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5988
5989         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5990         representation change.
5991         (Vutf_2000_version): New variable.
5992         (leading_code_private_11): New variable.
5993         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5994         `leading-code-private-11'.
5995
5996         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5997         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5998         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5999         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6000         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6001         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6002         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6003         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6004         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6005         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6006         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6007         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6008         (MIN_CHAR_GREEK): New macro.
6009         (MAX_CHAR_GREEK): New macro.
6010         (MIN_CHAR_CYRILLIC): New macro.
6011         (MAX_CHAR_CYRILLIC): New macro.
6012         (MIN_CHAR_HEBREW): New macro.
6013         (MAX_CHAR_HEBREW): New macro.
6014         (MIN_CHAR_THAI): New macro.
6015         (MAX_CHAR_THAI): New macro.
6016         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6017         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6018         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6019         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6020         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6021         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6022         (CHAR_FIELD2): New inline function.
6023         (CHAR_FIELD3): New inline function.
6024         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6025         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6026         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6027         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6028         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6029         (MIN_CHAR_COMPOSITION): Likewise.
6030         (CHAR_LEADING_BYTE): Modified for character representation change.
6031         (MAKE_CHAR): Likewise.
6032
6033         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6034         (Vcharset_greek_iso8859_7): Likewise.
6035         (Vcharset_cyrillic_iso8859_5): Likewise.
6036         (Vcharset_hebrew_iso8859_8): Likewise.
6037         (Vcharset_thai_tis620): Likewise.
6038         (Vcharset_katakana_jisx0201): Likewise.
6039
6040 2008-12-28  Vin Shelton  <acs@xemacs.org>
6041
6042         * XEmacs 21.4.22 is released
6043
6044 2008-12-27  Vin Shelton  <acs@xemacs.org>
6045
6046         * syswindows.h: Don't define wide character interfaces for Cygwin
6047         1.7 and up.
6048
6049 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6050
6051         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6052
6053 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6054
6055         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6056         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6057
6058 2008-12-25  Vin Shelton  <acs@xemacs.org>
6059
6060         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6061         By Julian Bradfield in
6062         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6063
6064         * mule-ccl.c (ccl_driver): 
6065
6066 2007-10-07  Vin Shelton  <acs@xemacs.org>
6067
6068         * XEmacs 21.4.21 is released
6069
6070 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6071
6072         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6073
6074 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6075
6076         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6077         (png_instantiate): Initialize setjmp_buffer early, and avoid
6078         recursive entry to error handler.
6079
6080 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6081
6082         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6083         a typo fix.
6084
6085 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6086
6087         * event-Xt.c (x_reset_modifier_mapping):
6088         * event-gtk.c (gtk_reset_modifier_mapping):
6089         Zero out the device's modifier map once we've freed it, to prevent
6090         a double free on a re-entrant call. 
6091
6092 2007-05-17  Vin Shelton  <acs@xemacs.org>
6093
6094         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6095         64-bit linux.  Patch from Hans de Graaff.
6096
6097 2007-05-02  Vin Shelton  <acs@xemacs.org>
6098
6099         * dumper.c (pdump): Don't close pdump_fd (already closed by
6100         fclose() call.  Patch from Steve Higham.
6101         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6102         already closed.  Patch inspired by Steve Higham.
6103
6104 2007-05-01  Vin Shelton  <acs@xemacs.org>
6105
6106         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6107         (mswindows_fstat): Ditto.
6108         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6109
6110 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6111
6112         * postgresql.c: Update Steve Baur's email address by his request.
6113         * postgresql.h: Ditto.
6114
6115 2007-01-04  Vin Shelton  <acs@xemacs.org>
6116
6117         * fileio.c (check_writable): Check old-style readonly bit only for
6118         non-directories.
6119
6120 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6121
6122         * src/fileio.c (check_writable): 
6123         Cope with the fact that the read-only attribute trumps Windows NTFS
6124         ACLS.
6125
6126
6127 2006-12-09  Vin Shelton  <acs@xemacs.org>
6128
6129         * XEmacs 21.4.20 is released
6130
6131 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6132
6133         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6134         relocated the definitions to be used sooner in file.
6135         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6136         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6137         overflow.
6138
6139 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6140
6141         * sound.c (init_native_sound):
6142         Only X11 and GTK devices can possibly not be on the console of the
6143         associated machine. Fixes a crash when init_native_sound is called
6144         on a msprinter device. 
6145
6146 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6147
6148         * buffer.c (buffer-file-name): Document invariant.
6149         (buffer-file-truename): Sync wording to buffer-file-name.
6150         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6151         and discussion.
6152
6153 2006-11-19  Benson Margulies  <benson@dchbk.us>
6154
6155         * fileio.c: Add code to use full Win32 API to check for write
6156         access.  Win32 has the general design policy that you aren't
6157         supposed to ask this question, since security checks change
6158         depending on asynchronous processes.  Nonetheless, there is a way,
6159         by acting as if we are a server doing interpretive access
6160         control.
6161
6162 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6163
6164         * bytecode.c: Use xnew_array instead of alloca.
6165
6166 2006-07-04  Vin Shelton  <acs@xemacs.org>
6167
6168         * redisplay-msw.c: Fix tiny, but crucial typo.
6169
6170 2006-06-22  Jerry James  <james@xemacs.org>
6171
6172         * EmacsShell-sub.c (ChangeManaged):
6173         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6174         NULL.
6175         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6176         checking if it is NULL.  Also fix a memory leak.
6177         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6178         dereference it, not the other way around.
6179         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6180         overflow check.
6181         * dumper.c (pdump_register_struct): Ditto.
6182         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6183         to (short) warnpath overflow warnpath.
6184         * extents.c (detach_all_extents): Call extent_list_delete_all with
6185         a non-NULL parameter only.
6186         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6187         NULL width and height.
6188         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6189         xic before checking if they are NULL.
6190         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6191         allocated array.
6192         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6193         * nas.c (Err): Fix a memory leak.
6194         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6195         Don't create the buffer if there is nothing to do.
6196         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6197         * redisplay-output.c (redisplay_output_layout): Ditto.
6198         * redisplay-tty.c (tty_output_display_block): Ditto.
6199         * redisplay-x.c (x_output_display_block): Ditto.
6200         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6201         dereference instance->scrollbar_data if it is NULL.
6202         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6203         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6204         for sb->scrollbar_data.
6205         * sound.c (init_native_sound): Avoid a buffer overflow by
6206         allocating a buffer with the appropriate size.
6207
6208 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6209
6210         * EmacsShell-sub.c (RootGeometryManager):
6211         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6212         Based on a suggestion by Francois L'Archeveque.
6213
6214 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6215
6216         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6217         current values found in GNU Emacs.
6218
6219 2006-03-17  Vin Shelton  <acs@xemacs.org>
6220
6221         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6222         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6223
6224         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6225         'hex_initialized' because it conflicts with 'initialized' in
6226         lisp.h.
6227
6228 2006-01-28  Vin Shelton  <acs@xemacs.org>
6229
6230         * XEmacs 21.4.19 is released
6231
6232 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6233
6234         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6235
6236 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6237
6238         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6239         5000 to INT_MAX.
6240
6241 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6242
6243         * database.c: Suppress compiler warning under Cygwin.
6244         * database.c: Removed __FreeBSD__ check, should be handled by
6245         HAVE_U_xxx_T defines.
6246
6247 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6248
6249         * console.c (stuff_buffered_input): Compile body only if
6250         HAVE_TTY.
6251
6252 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6253
6254         * callproc.c: #include sysdir.h, so that any appropriate Mule
6255         magic happens with the chdir() call when calling a subprocess. 
6256
6257 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6258
6259         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6260         * mule-ccl.c: Check that a character set exists before using it
6261         to create a character. 
6262
6263 2005-12-06  Vin Shelton  <acs@xemacs.org>
6264
6265         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6266         to INT_MAX.
6267
6268 2005-12-03  Vin Shelton <acs@xemacs.org>
6269
6270         * XEmacs 21.4.18 is released
6271
6272 2005-11-27  Kean Johnston <kean@armory.com>
6273
6274         * redisplay-tty.c (set_tty_modes):
6275         (reset_tty_modes): disable auto-margins if the terminal supports
6276         them.
6277         (init_tty_for_redisplay): fix cursor shape.
6278
6279 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6280
6281         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6282         for control-1 characters properly, both when reading multibyte
6283         characters and writing them. 
6284
6285 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6286
6287         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6288         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6289         were seeing with incremental selection transfer failing. 
6290
6291 2005-11-26  Vin Shelton  <acs@xemacs.org>
6292
6293         * callproc.c (Fold_call_process_internal): Create the buffer if it
6294         does not already exist.  The original patch came from Ben Wing in
6295         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6296
6297 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6298
6299         * callproc.c: Process-related docstring improvements spurred by
6300         Norbert Koch.
6301
6302 2005-11-25  Vin Shelton  <acs@xemacs.org>
6303
6304         * depend: Regenerated.
6305
6306 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6307
6308         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6309         says it clashes with a global with the same name.
6310
6311 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6312
6313         * sysdll.c (dll_open): Under MacOS X return NULL under the
6314         filename is NULL.  Fixes problems finding local symbols under 10.4
6315         (Tiger)
6316
6317 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6318         
6319         * config.h.in: New HAVE_U_INT*_T defines.
6320         
6321         * database.c: Only use u_int*_t typedefs if not already
6322         defined.
6323
6324 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6325
6326         * src/process-unix.c (unix_open_network_stream): moved
6327           'portbuf' buffer out of an inner block as it is used in the
6328           entire function. With gcc4, the stack may get corrupted
6329           after leaving this block. This patches adjusts the size of
6330           the used buffer also; static '128' bytes are far too much
6331           currently and might not suffice for future architectures
6332           (e.g. for 512 bit ones ;)). Instead of, use only the really
6333           required space (max octets * ln(256)/ln(10) chars + space
6334           for '\0' and the sign)
6335
6336 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6337
6338         * callproc.c: Include sysdir.h, so any necessary Mule processing
6339         is done on the current directory name before starting a new
6340         process.
6341
6342 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6343
6344         * chartab.c (Fchar_table_p):
6345         (Fget_range_char_table):
6346         (Fput_char_table):
6347         (Fmap_char_table):
6348         Describe range representation and fix typo.
6349
6350 2005-02-12  Vin Shelton  <acs@xemacs.org>
6351
6352         * emacs.c (shut_down_emacs): Advise users to send email to the
6353         xemacs-beta list instead of crashes@xemacs.org.
6354
6355 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6356
6357         * process-unix.c (unix_send_process): Flush the last chunk, even
6358         when the pipe is blocked.
6359
6360 2005-02-06  Vin Shelton <acs@xemacs.org>
6361
6362         * XEmacs 21.4.17 is released
6363
6364 2005-01-31  Ben Wing  <ben@xemacs.org>
6365
6366         * emacs.c:
6367         Define assert_failed() always.
6368         * lisp.h:
6369         Always define ABORT().
6370
6371 2005-01-25  Ben Wing  <ben@xemacs.org>
6372
6373         * Makefile.in.in:
6374         * Makefile.in.in (%.o):
6375         Don't compile executable as Windows (-mwindows) under Cygwin.
6376         Semi-recent changes to Cygwin's executable-startup handling make
6377         it impossible to access the TTY this way.
6378
6379         Don't use special linker file under Cygwin (cygwin.sc) except
6380         when non-PDUMP (even in this case it is highly questionable); you
6381         get errors like
6382
6383       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6384    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6385
6386 2005-01-29  Ben Wing  <ben@xemacs.org>
6387
6388         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6389
6390         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6391
6392 2005-01-29  Ben Wing  <ben@xemacs.org>
6393
6394         * bytecode.c (optimize_compiled_function):
6395         * print.c (FROB):
6396         * print.c (long_to_string):
6397         Add casts to avoid warning.
6398         
6399         * glyphs-eimage.c:
6400         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6401         #### The better solution is to move the TIFF and JPEG code to
6402         different files.
6403         
6404         * glyphs-msw.c (mswindows_xbm_instantiate):
6405         Define __STDC__ to avoid problems with compface.h.
6406         
6407         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6408         * EmacsShell-sub.c:
6409         * EmacsShell-sub.c (ABORT):
6410         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6411         * EmacsShell-sub.c (RootGeometryManager):
6412         * EmacsShell.c:
6413         * EmacsShell.c (ABORT):
6414         * EmacsShell.c (EmacsShellUpdateSizeHints):
6415         * alloc.c (free_lcrecord):
6416         * alloca.c (i00afunc):
6417         * buffer.c (delete_from_buffer_alist):
6418         * buffer.c (MARKED_SLOT):
6419         * bytecode.c (execute_rare_opcode):
6420         * bytecode.c (optimize_byte_code):
6421         * bytecode.c (Ffetch_bytecode):
6422         * chartab.c (char_table_type_to_symbol):
6423         * chartab.c (Freset_char_table):
6424         * chartab.c (decode_char_table_range):
6425         * chartab.c (Fget_range_char_table):
6426         * chartab.c (check_valid_char_table_value):
6427         * chartab.c (map_char_table):
6428         * chartab.c (slow_map_char_table_fun):
6429         * chartab.c (chartab_instantiate):
6430         * cm.c (cmcheckmagic):
6431         * console-msw.c (DHEADER):
6432         * console.c (MARKED_SLOT):
6433         * data.c (finish_marking_weak_lists):
6434         * data.c (encode_weak_list_type):
6435         * debug.h (DASSERT):
6436         * device-gtk.c (gtk_init_device):
6437         * device-msw.c (mswindows_get_default_margin):
6438         * device-tty.c (tty_init_device):
6439         * device-x.c (get_device_from_display):
6440         * device-x.c (x_get_visual_depth):
6441         * doprnt.c (parse_doprnt_spec):
6442         * doprnt.c (get_doprnt_args):
6443         * dumper.c (pdump_get_indirect_count):
6444         * dumper.c (pdump_register_sub):
6445         * dumper.c (pdump_register_object):
6446         * dumper.c (pdump_register_struct):
6447         * dumper.c (pdump_dump_data):
6448         * dumper.c (pdump_reloc_one):
6449         * elhash.c (print_hash_table):
6450         * elhash.c (make_standard_lisp_hash_table):
6451         * elhash.c (hash_table_instantiate):
6452         * emacs.c:
6453         * emacs.c (Fforce_debugging_signal):
6454         * emacs.c (sort_args):
6455         * emacs.c (main):
6456         * emacs.c (assert_failed):
6457         * eval.c (throw_or_bomb_out):
6458         * eval.c (signal_1):
6459         * eval.c (Fsignal):
6460         * event-Xt.c:
6461         * event-Xt.c (emacs_Xt_mapping_action):
6462         * event-Xt.c (Xt_process_to_emacs_event):
6463         * event-msw.c:
6464         * event-stream.c (check_event_stream_ok):
6465         * event-stream.c (Fadd_timeout):
6466         * event-stream.c (Fadd_async_timeout):
6467         * event-stream.c (Fdiscard_input):
6468         * event-stream.c (execute_internal_event):
6469         * event-stream.c (Frecent_keys):
6470         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6471         * event-stream.c (lookup_command_event):
6472         * event-unixoid.c (poll_fds_for_input):
6473         * events.c:
6474         * events.c (mark_event):
6475         * events.c (event_equal):
6476         * events.c (event_hash):
6477         * events.c (Fmake_event):
6478         * events.c (Fdeallocate_event):
6479         * events.c (event_chain_find_previous):
6480         * events.c (event_to_character):
6481         * events.c (format_event_object):
6482         * events.c (Fevent_type):
6483         * events.c (event_pixel_translation):
6484         * events.c (Fevent_properties):
6485         * extents.c (extent_in_region_p):
6486         * extents.c (print_extent):
6487         * extents.c (process_extents_for_insertion_mapper):
6488         * extents.c (report_extent_modification_mapper):
6489         * extents.c (glyph_layout_to_symbol):
6490         * faces.c (face_validate):
6491         * file-coding.c (eol_type_to_symbol):
6492         * file-coding.c (subsidiary_coding_system):
6493         * file-coding.c (Fcoding_system_type):
6494         * file-coding.c (Fcoding_system_property):
6495         * file-coding.c (mule_decode):
6496         * file-coding.c (mule_encode):
6497         * file-coding.c (encode_coding_ucs4):
6498         * file-coding.c (encode_coding_utf8):
6499         * file-coding.c (parse_iso2022_esc):
6500         * file-coding.c (encode_coding_iso2022):
6501         * fileio.c:
6502         * fns.c (concat):
6503         * fns.c (Fsubseq):
6504         * fns.c (mapcar1):
6505         * fns.c (Fbase64_encode_region):
6506         * fns.c (Fbase64_encode_string):
6507         * fns.c (Fbase64_decode_region):
6508         * fns.c (Fbase64_decode_string):
6509         * font-lock.c (find_context):
6510         * font-lock.c (context_to_symbol):
6511         * frame-gtk.c (gtk_set_frame_pointer):
6512         * frame-gtk.c (gtk_update_frame_external_traits):
6513         * frame-x.c (x_wm_mark_shell_size_user_specified):
6514         * frame-x.c (x_wm_mark_shell_position_user_specified):
6515         * frame-x.c (x_wm_set_shell_iconic_p):
6516         * frame-x.c (x_wm_set_cell_size):
6517         * frame-x.c (x_wm_set_variable_size):
6518         * frame-x.c (x_wm_store_class_hints):
6519         * frame-x.c (x_wm_maybe_store_wm_command):
6520         * frame-x.c (x_initialize_frame_size):
6521         * frame-x.c (x_update_frame_external_traits):
6522         * frame.c:
6523         * frame.c (delete_frame_internal):
6524         * frame.c (mouse_pixel_position_1):
6525         * frame.c (change_frame_size_1):
6526         * free-hook.c (check_free):
6527         * free-hook.c (check_realloc):
6528         * free-hook.c (note_block_input):
6529         * free-hook.c (log_gcpro):
6530         * gccache-gtk.c (gc_cache_lookup):
6531         * glyphs-eimage.c (tiff_memory_write):
6532         * glyphs-gtk.c (gtk_finalize_image_instance):
6533         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6534         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6535         * glyphs-gtk.c (gtk_xpm_instantiate):
6536         * glyphs-gtk.c (gtk_unmap_subwindow):
6537         * glyphs-gtk.c (gtk_map_subwindow):
6538         * glyphs-gtk.c (gtk_button_redisplay):
6539         * glyphs-msw.c:
6540         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6541         * glyphs-x.c (init_image_instance_from_xbm_inline):
6542         * glyphs-x.c (extract_xpm_color_names):
6543         * glyphs-x.c (x_xpm_instantiate):
6544         * glyphs.c (get_image_instantiator_governing_domain):
6545         * glyphs.c (print_image_instance):
6546         * glyphs.c (image_instance_equal):
6547         * glyphs.c (image_instance_hash):
6548         * glyphs.c (encode_image_instance_type):
6549         * glyphs.c (make_image_instance_1):
6550         * glyphs.c (inherit_instantiate):
6551         * glyphs.c (image_instantiate):
6552         * glyphs.c (allocate_glyph):
6553         * glyphs.c (Fglyph_type):
6554         * glyphs.c (redisplay_subwindow):
6555         * glyphs.c (display_table_entry):
6556         * gtk-glue.c (xemacs_list_to_gtklist):
6557         * gtk-glue.c (xemacs_gtklist_to_list):
6558         * gtk-glue.c (xemacs_list_to_array):
6559         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6560         * gutter.c (gutter_was_visible):
6561         * gutter.c (get_gutter_coords):
6562         * input-method-xlib.c (get_XIM_input):
6563         * insdel.c (bufpos_to_bytind_func):
6564         * insdel.c (bytind_to_bufpos_func):
6565         * insdel.c (move_gap):
6566         * intl.c (x_get_composed_input):
6567         * keymap.c (keymap_lookup_directly):
6568         * keymap.c (keymap_delete_inverse_internal):
6569         * keymap.c (ensure_meta_prefix_char_keymapp):
6570         * keymap.c (accessible_keymaps_mapper_1):
6571         * keymap.c (where_is_recursive_mapper):
6572         * lisp.h:
6573         * lisp.h (ABORT):
6574         * lread.c (read_atom):
6575         * lstream.c (Lstream_delete):
6576         * lstream.c (make_lisp_buffer_stream_1):
6577         * macros.c (pop_kbd_macro_event):
6578         * malloc.c (malloc):
6579         * malloc.c (free):
6580         * marker.c (bi_marker_position):
6581         * marker.c (set_bi_marker_position):
6582         * menubar-gtk.c (menu_descriptor_to_widget_1):
6583         * menubar-msw.c (prune_menubar):
6584         * menubar-x.c (set_frame_menubar):
6585         * mule-charset.c (get_unallocated_leading_byte):
6586         * mule-charset.h (CHAR_LEADING_BYTE):
6587         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6588         * nt.c (init_environment):
6589         * nt.c (generate_inode_val):
6590         * ntproc.c (delete_child):
6591         * ntproc.c (_sys_read_ahead):
6592         * ntproc.c (create_child):
6593         * objects.c (color_instantiate):
6594         * objects.c (font_instantiate):
6595         * objects.c (face_boolean_instantiate):
6596         * print.c (printing_major_badness):
6597         * process-nt.c (nt_send_process):
6598         * process-unix.c (unix_send_process):
6599         * process.c (get_process):
6600         * ralloc.c (obtain):
6601         * ralloc.c (relinquish):
6602         * ralloc.c (relocate_blocs):
6603         * ralloc.c (resize_bloc):
6604         * ralloc.c (r_alloc_free):
6605         * ralloc.c (r_re_alloc):
6606         * ralloc.c (r_alloc_thaw):
6607         * ralloc.c (init_ralloc):
6608         * ralloc.c (Free_Addr_Block):
6609         * ralloc.c (r_alloc):
6610         * redisplay-gtk.c (gtk_output_display_block):
6611         * redisplay-msw.c (mswindows_output_display_block):
6612         * redisplay-output.c (get_next_display_block):
6613         * redisplay-output.c (get_cursor_size_and_location):
6614         * redisplay-output.c (redisplay_output_layout):
6615         * redisplay-output.c (redisplay_clear_region):
6616         * redisplay-tty.c (tty_output_display_block):
6617         * redisplay-x.c (x_output_display_block):
6618         * redisplay.c (add_propagation_runes):
6619         * redisplay.c (add_glyph_rune):
6620         * redisplay.c (create_text_block):
6621         * redisplay.c (add_margin_runes):
6622         * redisplay.c (create_left_glyph_block):
6623         * redisplay.c (create_right_glyph_block):
6624         * redisplay.c (create_string_text_block):
6625         * redisplay.c (regenerate_window):
6626         * redisplay.c (REGEN_INC_FIND_START_END):
6627         * redisplay.c (redisplay_frame):
6628         * redisplay.c (point_in_line_start_cache):
6629         * regex.c:
6630         * regex.c (ABORT):
6631         * regex.c (re_compile_fastmap):
6632         * regex.c (re_match_2_internal):
6633         * regex.c (regerror):
6634         * scrollbar-gtk.c (gtk_scrollbar_loop):
6635         * scrollbar-gtk.c (scrollbar_cb):
6636         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6637         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6638         * scrollbar-x.c (x_update_scrollbar_instance_status):
6639         * scrollbar-x.c (x_scrollbar_loop):
6640         * scrollbar-x.c (x_update_frame_scrollbars):
6641         * search.c (search_command):
6642         * search.c (Fmatch_data):
6643         * select-x.c (motif_clipboard_cb):
6644         * signal.c (interrupt_signal):
6645         * specifier.c (specifier_add_spec):
6646         * specifier.c (specifier_instance_from_inst_list):
6647         * specifier.c (specifier_instance):
6648         * specifier.h:
6649         * specifier.h (struct specifier_methods):
6650         * strftime.c (add_num_time_t):
6651         * sunplay.c (init_device):
6652         * symbols.c (Fsetplist):
6653         * symbols.c (do_symval_forwarding):
6654         * symbols.c (store_symval_forwarding):
6655         * symbols.c (Fset):
6656         * symbols.c (Fbuilt_in_variable_type):
6657         * symbols.c (decode_magic_handler_type):
6658         * symbols.c (handler_type_from_function_symbol):
6659         * syntax.c (update_syntax_cache):
6660         * sysdep.c (init_baud_rate):
6661         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6662         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6663         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6664         * toolbar.c (get_toolbar_coords):
6665         * ui-gtk.c (build_gtk_boxed):
6666         * ui-gtk.c (describe_gtk_arg):
6667         * ui-gtk.c (gtk_type_to_lisp):
6668         * ui-gtk.c (lisp_to_gtk_type):
6669         * ui-gtk.c (lisp_to_gtk_ret_type):
6670         * ui-gtk.c (lisp_to_flag):
6671         * unexnt.c (read_in_bss):
6672         * unexnt.c (map_in_heap):
6673         * window.c (real_window):
6674         * window.c (window_display_lines):
6675         * window.c (window_display_buffer):
6676         * window.c (set_window_display_buffer):
6677         * window.c (window_modeline_height):
6678         * window.c (unshow_buffer):
6679         * window.c (window_loop):
6680         * window.c (Fget_lru_window):
6681         * window.c (Fsplit_window):
6682         * window.c (Fset_window_configuration):
6683         * window.c (saved_window_index):
6684         * xgccache.c (gc_cache_lookup):
6685         abort() -> ABORT().  Eliminate preprocessor games with abort()
6686         since it creates huge problems in VC7, solvable only by including
6687         massive amounts of files in every compile (and not worth it).
6688
6689         * sysdep.c:
6690         * sysproc.h:
6691         Inclusion of process.h does not need to be before lisp.h any more.
6692         Move later and remove comment about abort().
6693
6694 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6695
6696         * regex.c (re_match_2_internal):
6697         Correctly initialize loop which clears uninitialized registers.
6698
6699 2005-01-28  Vin Shelton  <acs@xemacs.org>
6700
6701         * sheap.c (more_static_core): Applied Ben's version of the long
6702         string patch.
6703
6704 2005-01-24  Vin Shelton  <acs@xemacs.org>
6705
6706         * sheap.c (more_static_core): Reformatted printf string so
6707         gcc-3.3.3 will compile this on Cygwin.
6708
6709 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6710
6711         * console.c (function_key_map): Reference `key-binding'.
6712
6713         * keymap.c (Vkey_translation_map): Improve docstring.
6714
6715 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6716
6717         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6718         * window.c (window_loop): [fix] Take into account
6719         `allow-deletion-of-last-visible-frame' variable.
6720         * window.c (replace-buffer-in-windows): Ditto.
6721
6722 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6723
6724         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6725
6726 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6727
6728         * event-gtk.c: Recognise AltGr as a valid modifier.
6729
6730 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6731
6732         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6733
6734 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6735
6736         Fix backreference bug caught by test suite.
6737
6738         * regex.c (regex_compile):
6739         Make backref duplicate internal register.
6740
6741 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6742
6743         Documentation, code clarification, and warning suppression.
6744         
6745         * regex.c (regex_compile):
6746         Improve comments.
6747         (re_match_2_internal):
6748         Improve comments and avoid redundant braces.  [Most of the big hunk
6749         at l. 4710 is indentation; use diff -w to see the real changes.]
6750         (alt_match_null_string_p):
6751         (common_op_match_null_string_p):
6752         Avoid shadowing global on Mac OS X 10.4, at least.
6753
6754 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6755
6756         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6757         introduced with shy groups fix).  [Already applied, probably
6758         with the second "fix shy groups" patch of 2004-10-07.] 
6759
6760 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6761
6762         From Andrey Slusar <anrays@gmail.com>:
6763
6764         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6765
6766 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6767
6768         * Makefile (RECURSIVE_MAKE): Removed.
6769         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6770         handling parallel builds.
6771
6772 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6773
6774         * Makefile.in.in: Enable support for parallel builds.
6775
6776 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6777
6778         From Andrey Slusar <anrays@gmail.com>:
6779
6780         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6781         FreeBSD version is >= 199701 _and_ < 600006.
6782
6783 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6784
6785         * scrollbar.c (compute_scrollbar_instance_usage):
6786         Only call device method compute_scrollbar_instance_usage() if it
6787         is defined.
6788
6789 2004-12-05  Vin Shelton <acs@xemacs.org>
6790
6791         * XEmacs 21.4.16 is released
6792
6793 2004-12-04  Vin Shelton  <acs@xemacs.org>
6794
6795         * depend: Regenerated.
6796
6797 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6798
6799         * regex.c (re_match_2_internal): Map internal to external
6800         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6801         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6802
6803 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6804
6805         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6806         to fix a crash.  Also, check the buffer is live and it
6807         really exists in buffer_list.  If the buffer is not in the list,
6808         prepend it.
6809
6810 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6811
6812         Fix shy groups by implementing recording of all groups for
6813         repetition and backtracking.  Backport from 21.5.
6814         
6815         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6816         external_to_internal_register, external_to_internal_register_size,
6817         and update comments for re_nsub.
6818
6819         * regex.c (re_opcode_t): Update comments.
6820         (print_compiled_pattern): Ouput external_to_internal_register,
6821         external_to_internal_register_size, and re_ngroups for debugging.
6822         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6823         (regex_compile): Update header comment.
6824         Ensure that all groups are recorded so that repeat matches and
6825         backtracking work correctly.  Comment related warning for groups >
6826         255.
6827         (re_search_2): Construct map of API indexes (which count only
6828         nonshy groups) to internal register numbers, and keep it updated.
6829
6830 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6831
6832         * frame-gtk.c (gtk_make_frame_visible):
6833         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6834         show/hide.  This is what X uses and is prevents previously hidden
6835         widgets from suddenly reappearing.
6836         * gtk-xemacs.c (gtk_xemacs_paint):
6837         * gtk-xemacs.c (gtk_xemacs_draw):
6838         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6839         drawable.
6840         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6841         size and location changes so that they can be seen before the next
6842         idle event.  Without this rapid changes to scrollbar properties
6843         are not seen.
6844
6845 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6846
6847         * console-gtk.h:
6848         * console-gtk.h (struct gtk_frame):
6849         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6850           Add hash tables track tab_control callback data.
6851           Added #defines for GTK object data names.
6852           Declaration of gtk_widget_to_frame().
6853         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6854         * frame-gtk.c (gtk_widget_to_frame): New.
6855         * frame-gtk.c (gtk_create_widgets):
6856         * frame-gtk.c (allocate_gtk_frame_struct):
6857         * frame-gtk.c (gtk_mark_frame):
6858         Manage frame callbakc hash tables.
6859         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6860         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6861         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6862         of widget size.
6863         * glyphs-gtk.c (gtk_widget_query_geometry): New
6864         * glyphs-gtk.c (gtk_register_gui_item): New
6865         * glyphs-gtk.c (gtk_add_tab_item): New
6866         * glyphs-gtk.c (gtk_tab_control_callback): New
6867         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6868         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6869         Use correct list when loading item.
6870         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6871         Register new methods.
6872         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6873         default size, for widgets.
6874         * gui-x.c:  Improved comment.
6875         * menubar-gtk.c (__generic_button_callback): Use
6876         gtk_widget_to_frame instead of __get_channel.
6877         * scrollbar-gtk.c:
6878         * ui-gtk.c: Use symbolic names for GTK object data.
6879
6880 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6881
6882         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6883
6884 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6885
6886         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6887
6888 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6889
6890         * malloc.c (morecore): siz is a long because in some architectures
6891         (eg ia-64) an int cannot hold the address range.  Additional patch
6892         from the SuSe distribution.
6893
6894 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6895
6896         * emacs.c:
6897         * malloc.c: lim_data is a long because in some architectures
6898         (eg ia-64) an int cannot hold the address range.
6899         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6900         instead of ulimit() because ulimit() always returns -1.
6901
6902 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6903
6904         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6905
6906 2004-06-11  David Kastrup  <dak@gnu.org>
6907
6908         * search.c (match_limit): Don't flag an error if match-data
6909         exceeding the allocated search_regs.num_regs gets requested, just
6910         return Qnil.
6911
6912 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6913
6914         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6915         replace symbolic color entries with the real colors specified in
6916         xpm-color-symbols, before passing the XPM to gtk.
6917         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6918         instead of a GTK specific field, so that it is used in by generic
6919         code.
6920
6921 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6922
6923        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6924         coredump from deref of NULL ptr (ExtData)
6925
6926 2004-04-19  Jerry James  <james@xemacs.org>
6927
6928         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6929         VALBITS to compute the location of the sign bit.
6930         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6931         of VALBITS with EMACS_INT_MAX.
6932         * events.c (Fevent_timestamp): Ditto.
6933         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6934         compute the halfway point to timestamp wraparound.
6935         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6936         EMACS_INT_MIN instead of using VALBITS.
6937         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6938         incorrect number with VALBITS.
6939         * fns.c (Frandom): Correct number of integer bits in docstring.
6940         Use INT_VALBITS instead of VALBITS to compute the denominator.
6941         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6942         build random numbers.
6943
6944 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6945         * event-gtk.c:
6946         * event-gtk.c (gtk_event_to_emacs_event):
6947         * menubar-gtk.c:
6948         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6949         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6950         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6951         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6952         * menubar-gtk.c (__activate_menu):
6953         * menubar-gtk.c (convert_underscores):
6954         * menubar-gtk.c (remove_underscores):
6955         * menubar-gtk.c (menu_convert):
6956         * menubar-gtk.c (menu_descriptor_to_widget_1):
6957         * menubar-gtk.c (menu_descriptor_to_widget):
6958         * menubar-gtk.c (menu_can_reuse_widget):
6959         * menubar-gtk.c (menu_create_menubar):
6960         * menubar-gtk.c (gtk_popup_menu):
6961         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6962         Added support for Gtk menu bar and menu item mnemonics.
6963
6964 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6965
6966         * sysdll.c: (dll_function): Added support for finding symbols in
6967         Darwin shared libraries as well in Darwin bundles.
6968         * sysdll.c (image_for_address): New
6969         * sysdll.c (my_find_image): New
6970         * sysdll.c (search_linked_libs): New
6971
6972 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6973
6974         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6975         return to GTK requires a different API to marshalling data to use
6976         as GTK parameters.
6977         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6978
6979 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6980
6981         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6982
6983 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6984
6985         * glyphs.c (process_image_string_instantiator):
6986         (Fset_console_type_image_conversion_list):
6987         Stop GCC from warning about shadowing of `exp'.
6988
6989         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6990
6991 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6992
6993         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6994
6995 2004-02-03  Vin Shelton  <acs@xemacs.org>
6996
6997         * glyphs.c (image_instance_layout): Remove pointless assertion.
6998         * regex.c (regex_grow_registers): Return type is void.
6999
7000 2004-02-02  Vin Shelton <acs@xemacs.org>
7001
7002         * XEmacs 21.4.15 is released
7003
7004 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7005
7006         * device-x.c (x_error_handler): Don't call stderr_out
7007
7008 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7009
7010         * buffer.c (other-buffer): Clarify documentation of order of
7011         arguments for FSF Emacs.
7012
7013 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7014
7015         * window.c (Fdelete_window): Dirty the mirror structure _before_
7016         marking the window deleted.
7017
7018 2003-09-15  Jerry James  <james@xemacs.org>
7019
7020         * event-msw.c (debug_mswin_messages): Conditionally compile
7021         messages missing from the Cygwin headers.
7022
7023 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7024
7025         * data.c (eq_with_ebola_notice): Fix typo in comment.
7026         (Ftrue_list_p): Improve docstring.
7027
7028 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7029
7030         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7031
7032 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7033
7034         * search.c (trivial_regexp_p): Regexps containing "\{" are
7035         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7036         Stefan Monnier for suggesting a diagnosis.
7037
7038 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7039
7040         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7041
7042 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7043
7044         * search.c (Fsearch_forward):
7045         (Fsearch_backward):
7046         Document negative count.
7047
7048 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7049
7050         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7051
7052 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7053
7054         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7055
7056 2003-09-15  Vin Shelton  <acs@xemacs.org>
7057
7058         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7059         21.5.
7060
7061 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7062
7063         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7064         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7065         (re_match_2_internal): Use TRANSLATE instead of
7066         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7067         non-ASCII char case conversion.
7068
7069 2003-09-08  Mike Sperber  <mike@xemacs.org>
7070
7071         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7072         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7073
7074 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7075
7076        * .gdbinit (pobj): fix printing of symbol name.
7077
7078 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7079
7080         * frame-x.c (x_layout_widgets): When resizing is about to cause
7081         frame size slip, mark it for redisplay.
7082
7083 2003-08-18  Jerry James  <james@xemacs.org>
7084
7085         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7086
7087 2003-09-03  Vin Shelton <acs@xemacs.org>
7088
7089         * XEmacs 21.4.14 is released
7090
7091 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7092
7093         * config.h.in (REGEX_MALLOC): Make it configure'able.
7094
7095 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7096
7097         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7098         linking.
7099         * sysdll.c (dll_init):
7100         * sysdll.c (dll_open):
7101         * sysdll.c (dll_close):
7102         * sysdll.c (dll_function):
7103         * sysdll.c (dll_variable):
7104         * sysdll.c (dll_error):
7105         Add support for loading bundles using Darwin/MacOSX
7106         native API.
7107
7108 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7109
7110         * process.c (start-process-internal): Document coding systems.
7111
7112 2003-07-30  Jerry James  <james@xemacs.org>
7113
7114         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7115
7116 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7117
7118         * event-msw.c (mswindows_enqueue_mouse_button_event):
7119         * event-msw.c (mswindows_wnd_proc):
7120           enqueue button event when scrollwheel event isn't handled by 
7121           mswindows_handle_mousewheel_event, such as when the scrollbars
7122           are not showing.
7123
7124 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7125
7126         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7127
7128 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7129
7130         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7131
7132 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7133
7134         * regex.c (re_match_2_internal): Fix matching degenerate word
7135         boundaries.
7136
7137 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7138
7139         * XEmacs 21.4.13 is released
7140
7141 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7142
7143         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7144         * lisp.h (<inttypes.h>):
7145         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7146         the definition.
7147
7148 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7149
7150         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7151         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7152         Result: "temacs can only be run in -batch mode."
7153         Fix: Check xemacs executable candidate for directory-ness.
7154
7155 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7156
7157         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7158           they conflict with <sys/types.h>.
7159
7160 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7161
7162         * database.c: Berkeley DB wants __STDC__ to be defined.
7163
7164 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7165
7166         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7167
7168 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7169
7170         * process-unix.c (unix_send_process): Fix C++ compile error.
7171
7172 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7173
7174         * Added .dylib as an acceptable shared library file extension
7175         * to support MacOSX.
7176
7177 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7178
7179         * EmacsFrameP.h (EmacsFramePart):
7180         Kludge to allow compiling with Motif1, but linking with Motif2.
7181
7182 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7183
7184         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7185
7186
7187 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7188
7189         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7190
7191 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7192
7193         * sysdll.c: Included lisp.h to define needed alloca_array.
7194
7195 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7196
7197         Make XEmacs redisplay 10 times faster.
7198         If, that is, you're using a slow X connection and MoveOpaque.
7199         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7200         Use compress_motion = TRUE.
7201         * EmacsFrame.c (emacsFrameClassRec): 
7202         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7203         * EmacsManager.c (emacsManagerClassRec):
7204         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7205
7206 2003-01-30  Vin Shelton  <acs@xemacs.org>
7207
7208         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7209
7210 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7211
7212         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7213         Patch by Martin Buchholz.
7214
7215 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7216
7217         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7218         Thanks to icc for warning and Martin Buchholz for reporting.
7219
7220 2003-01-29  Vin Shelton <acs@xemacs.org>
7221
7222         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7223
7224         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7225         remember to multiply by the element size.
7226
7227 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7228
7229         * XEmacs 21.4.12 "Portable Code" is released.
7230
7231 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7232
7233         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7234         * s/cygwin.sc: new linker file.
7235
7236 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7237
7238         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7239
7240         * redisplay-x.c (x_output_string): Use X11-specified types.
7241         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7242         * emacs.c (__free_hook): Use typeof with Intel compiler.
7243         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7244
7245 2003-01-08  Andy Piper  <andy@xemacs.org>
7246
7247         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7248         reserve size during unexec().
7249
7250 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7251
7252         * process-unix.c (unix_create_process): Don't let outchannel block.
7253
7254 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7255
7256         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7257         Needed for IsBadReadPtr().
7258
7259 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7260
7261         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7262
7263 2002-12-14  Ben Wing  <ben@xemacs.org>
7264
7265         * callint.c: Declaration error.
7266         * dumper.c (pdump):
7267         * dumper.c (pdump_load): Warning fix.
7268         * process.c: GCPRO error.
7269         * glyphs.c (unmap_subwindow):
7270         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7271         * event-stream.c (maybe_kbd_translate): Wrong argument to
7272         character_to_event().
7273
7274         * alloc.c (garbage_collect_1):
7275         * emacs.c:
7276         * emacs.c (debug_can_access_memory):
7277         * emacs.c (fatal_error_signal):
7278         * emacs.c (mswindows_handle_hardware_exceptions):
7279         * emacs.c (main_1):
7280         * emacs.c (main):
7281         * emacs.c (assert_failed):
7282         * emacs.c (syms_of_emacs):
7283         * lisp.h:
7284         * print.c:
7285         * print.c (std_handle_out_va):
7286         * print.c (write_string_to_stdio_stream):
7287         * print.c (write_fmt_string):
7288         * print.c (printing_badness):
7289         * print.c (printing_major_badness):
7290         * print.c (print_internal):
7291         * print.c (debug_print_no_newline):
7292         * print.c (debug_backtrace):
7293         Be more defensive in handling bad values when printing.  Add code
7294         from trunk involving inhibit_non_essential_printing_operations.
7295         When going down or in debug_print(), don't do external conversion
7296         and such and try really, really hard when printing to avoid core
7297         dumping.  Add force-debugging-signal, debug_break().
7298
7299 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7300
7301         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7302         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7303
7304 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7305
7306         * database.c: Fix open_database. Berkeley DB API has changed in
7307         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7308
7309 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7310
7311         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7312
7313 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7314
7315         * event-Xt.c (Xt_timeout):
7316         (Xt_timeout_callback):
7317         (emacs_Xt_add_timeout):
7318         (emacs_Xt_remove_timeout):
7319         (Xt_timeout_to_emacs_event):
7320         Turn completed_timeouts from a stack into a queue.  Fixes
7321         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7322
7323 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7324
7325         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7326         * emacs.c (main): Assert that mmap'd allocation is disabled.
7327
7328 2002-10-14  Andy Piper  <andy@xemacs.org>
7329
7330         * glyphs-widget.c (layout_query_geometry): add in fiddle
7331         factor. Include border text in width layout calculation.
7332         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7333
7334 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7335
7336         * XEmacs 21.4.10 "Military Intelligence" is released.
7337
7338 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7339
7340         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7341         using the NAS private array SoundFileInfo that no longer exists in
7342         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7343         and earlier.  This is broken for some versions between 1.5a and
7344         1.5f.
7345
7346 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7347
7348         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7349
7350         * emacs.c (shut_down_emacs): Improve crash message.
7351
7352 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7353
7354         * file-coding.c (determine_real_coding_system): Check for coding
7355         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7356         shebangs and Python PEP 263.
7357
7358 2002-10-08  Andy Piper  <andy@xemacs.org>
7359
7360         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7361         if static sizes haven't been set.
7362
7363 2002-08-30  Mike Alexander  <mta@arbortext.com>
7364
7365         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7366         to close a socket.
7367
7368 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7369
7370         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7371
7372 2002-09-20  Mike Sperber <mike@xemacs.org>
7373
7374         (This partially gets back my patch from 2002-07-20 without the
7375         bug.)
7376         * callproc.c (child_setup): Remove Ben's comment noting confusion
7377         over the file descriptors >= 3: close_process_descs() doesn't
7378         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7379         * process-unix.c (unix_create_process): Call
7380         begin_dont_check_for_quit to inhibit unwanted interaction (and
7381         thus breaking of X event synchronicity) in the child.
7382
7383 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7384
7385         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7386         widget.
7387
7388 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7389
7390         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7391         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7392         the xemacs process did not exit, but looped infinitely here.  This
7393         fixes that problem.
7394
7395 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7396
7397         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7398         (find_context): Improve comments.
7399
7400         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7401         (re_match_2): An XCHAR_TABLE operation was missing.
7402
7403         Many of the following changes were inspired by Andy Piper's (now
7404         obsolete) patch to make syntax-table text property lookup optional.
7405
7406         [Documentation]
7407
7408         * syntax.h (top level): Document semantics of syntax flags.
7409         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7410         * syntax.c, syntax.h (top level): Document syntax cache better in
7411         comments.
7412
7413         [Instrument syntax caching (temporary change)]
7414
7415         * syntax.h (enum syntax_cache_statistics_functions, struct
7416         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7417         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7418         * syntax.c (scan_words, Fforward_comment, scan_lists,
7419         Fbackward_prefix_characters):
7420         * font-lock.c (find_context):
7421         Use them to instrument syntax caching. 
7422         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7423         syntax_cache_statistics_function_names): New type and variables.
7424         * syntax.c (update_syntax_cache): Update and report statistics.
7425
7426         [Major syntax cache optimizations]
7427
7428         syntax.c (lookup_syntax_properties): Default off.
7429
7430         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7431         * syntax.c (update_syntax_cache):
7432         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7433
7434         [Minor syntax cache optimizations and code clarifications]
7435
7436         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7437         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7438         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7439         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7440         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7441         (Code clarification.)
7442
7443         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7444         scan_lists): Compute code from syncode, use Boolean macros instead
7445         of redundant masking operations.  (Code clarification; any decent
7446         compiler can do this optimization.)
7447
7448         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7449         for clarity.
7450
7451         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7452         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7453         use F*_single_property_change instead of F*_extent_change.
7454         Currently F*_single_property_change is _much_ less efficient.
7455
7456         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7457         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7458         syntax_cache.object properly, don't leave Qt or Qnil.
7459         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7460         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7461         tests for Qt or Qnil.
7462
7463 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7464
7465         * redisplay.c (point_in_line_start_cache): 
7466         * extents.c (print_extent_1):
7467         Fix warnings.
7468
7469         * extents.c (Fset_extent_property): Document `syntax-table' property.
7470
7471         * extents.h (Fnext_single_property_change): EXFUN it.
7472
7473 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7474
7475         * search.c (clear_unused_search_regs): New static function.
7476         (search_buffer): 
7477         (simple_search): 
7478         (boyer_moore):
7479         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7480         Minor clarifications in comments.
7481
7482         * regex.c (re_match_2_internal): Ensure no stale submatches.
7483
7484 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7485
7486         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7487
7488 2002-08-29  Jerry James  <james@xemacs.org>
7489
7490         * lisp.h: structrures -> structures.
7491
7492 2002-06-03  Andy Piper  <andy@xemacs.org>
7493
7494         * frame.c (frame_conversion_internal): add conversion appropriate
7495         for setting frame dimensions in pixels.
7496
7497         * console.h (struct console_methods): add device-specific widget
7498         layout functions.
7499
7500         * emacs.c (main_1): initialize glyph vars.
7501
7502         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7503         (handle_focus_event_2): new function. Allow focus to
7504         be set to a particular window and widget.
7505         (enqueue_focus_event): new function. Create a
7506         synthetic focus event.
7507         (emacs_Xt_handle_magic_event): call
7508         handle_focus_event_2.
7509
7510         * frame.c (Fset_frame_pixel_height): new function. Allow
7511         pixel-based sizing. Does the right thing on character-oriented
7512         displays.
7513         (Fset_frame_pixel_width): ditto.
7514         (Fset_frame_pixel_size): ditto.
7515         (syms_of_frame): declare.
7516
7517         * general-slots.h: add :vertically-justify and
7518         :horizontally-justify.
7519
7520         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7521         (mswindows_widget_border_width): new function.
7522         (mswindows_combo_box_instantiate): set border widths.
7523         (console_type_create_glyphs_mswindows): declare.
7524
7525         * glyphs-widget.c:
7526         (check_valid_justification): allow vertical and horizontal
7527         justification.
7528         (widget_border_width): new function. Call device methods.
7529         (widget_instance_border_width): ditto.
7530         (logical_unit_height): new function. Determine the height of a
7531         logical-unit. Logical units are intended to provide grid-like
7532         layout for subcontrols in a layout. If the layout is
7533         :vertically-justify top then subcontrols will be positioned on
7534         logical-unit boundaries, thus allowing adjacent subcontrols to
7535         line up.
7536         (widget_logical_unit_height): ditto for widgets.
7537         (redisplay_widget): misc cleanup.
7538         (widget_spacing): new function. Call device specific
7539         methods. Intended to be the default gap between adjacent widgets.
7540         (widget_query_geometry): use new spacing functions to determine
7541         appropriate geometry.
7542         (initialize_widget_image_instance): initialize horizontal and
7543         vertical justification.
7544         (widget_instantiate): use logica-units where appropriate for
7545         sizing large widgets.
7546         (button_query_geometry): use widget_instance_border_width.
7547         (tree_view_query_geometry): ditto.
7548         (tab_control_query_geometry): ditto.
7549         (edit_field_query_geometry): new function.
7550         (layout_update): pick up :justify, :horizontally-justify and
7551         :vertically-justify none of which worked previously. :justify is
7552         used as a fallback for both horizontal and vertical justification.
7553         (layout_query_geometry): use logical units to size appropriately.
7554         (layout_layout): ditto.
7555         (Fwidget_logical_to_character_width): new function. Allow users to
7556         convert from logical units to characters so that frame sizes can
7557         be set appropriately.
7558         (Fwidget_logical_to_character_height): ditto.
7559         (syms_of_glyphs_widget): declare.
7560         (image_instantiator_edit_fields): add edit_field_query_geometry.
7561         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7562         :horizontally-justify.
7563         (specifier_vars_of_glyphs_widget): new function. Declare
7564         Vwidget_border_width which is not yet used.
7565
7566         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7567         (x_widget_border_width): new function.
7568         (x_widget_instantiate): create a sensible name for widgets.
7569         (console_type_create_glyphs_x): declare x_widget_border_width.
7570
7571         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7572         (struct Lisp_Image_Instance): add :vertically-justify and
7573         :horizontally-justify.
7574         (LAYOUT_JUSTIFY_TOP): new.
7575         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7576         (ROUND_UP): new macro. Round argument up to next integral
7577         interval.
7578
7579         * redisplay-output.c (redisplay_output_layout): misc formatting.
7580
7581         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7582
7583 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7584
7585         * XEmacs 21.4.9 "Informed Management" is released.
7586
7587 2002-08-19  Andy Piper  <andy@xemacs.org>
7588
7589         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7590         win32 format.
7591
7592         * realpath.c (xrealpath): normalize drive spec also so that dir
7593         sep chars are not mixed on cygwin.
7594
7595 2002-08-06  Jerry James  <james@xemacs.org>
7596
7597         * window.c (Fsplit_window): Count only half of the divider width
7598         against the left window when splitting horizontally. 
7599
7600 2002-06-24  Andy Piper  <andy@xemacs.org>
7601
7602         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7603         toolbar was cleared.
7604
7605         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7606         function. Split out from mswindows_output_frame_toolbars.
7607         (mswindows_output_frame_toolbars): move clear pieces to
7608         mswindows_output_frame_toolbars.
7609
7610         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7611         out from gtk_output_frame_toolbars.
7612         (gtk_output_frame_toolbars): move clear pieces to
7613         gtk_clear_frame_toolbars.
7614
7615         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7616         the frame is cleared. How this ever worked before is a mystery.
7617         (x_output_frame_toolbars): Only output toolbars.
7618         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7619
7620         * gutter.c (update_gutter_geometry):
7621         Mark frame layout changed.
7622         (update_frame_gutter_geometry, update_frame_gutters):
7623         Respect frame_layout_changed.
7624
7625         * console.h (struct console_methods): add
7626         clear_frame_toolbars_method.
7627
7628         * redisplay.c (redisplay_frame): call
7629         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7630
7631         * toolbar.h: declare update_frame_toolbars_geometry.
7632
7633         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7634         out from update_frame_toolbars.  Call clear_frame_toolbars.
7635         (update_frame_toolbars): only output, do not change geometry.
7636
7637         * redisplay.c: add frame_layout_changed.
7638
7639         * redisplay.h: add frame_layout_changed.
7640         (CLASS_RESET_CHANGED_FLAGS): set it.
7641         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7642         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7643         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7644
7645         * device.h (struct device): add frame_layout_changed.
7646         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7647
7648         * frame.h (struct frame): add frame_layout_changed.
7649         (MARK_FRAME_LAYOUT_CHANGED): new.
7650
7651 2002-06-30  Mike Alexander  <mta@arbortext.com>
7652
7653         * event-msw.c (mswindows_need_event): Don't wait for a new message
7654         if the queue is not empty.  Suggested by Paul Moore.
7655
7656 2002-06-12  Andy Piper  <andy@xemacs.org>
7657
7658         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7659         for printing on accurately.
7660
7661 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7662
7663         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7664         WM_ACTIVATE message. Make sure that the frame is visible if the
7665         window is visible. This seemss to fix the problem where XEmacs
7666         appears to freeze after switching desktops with certain virtual
7667         window managers.
7668         (debug_output_mswin_message): Added code to output message
7669         parameters for WM_WINDOWPOSCHANGED, 
7670         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7671
7672 2002-05-25  Andy Piper  <andy@xemacs.org>
7673
7674         * select-x.c (vars_of_select_x): Fix docstring of
7675         x-selection-strict-motif-ownership
7676
7677 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7678
7679         * keymap.c (get_keymap):
7680         Add comment about do_autoload GCPROs own args.
7681
7682 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7683
7684         * bytecode.c (execute_optimized_program): check_opcode ifdef
7685         ERROR_CHECK_BYTE_CODE.
7686
7687 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7688
7689         Thanks to Ben Wing and Michael Sperber.
7690
7691         * eval.c (Fcommand_execute):
7692         (Feval):
7693         (Ffuncall):
7694         (Fmacroexpand_internal):
7695         (function_argcount):
7696         callint.c (Fcall_interactively):
7697         Add comment about do_autoload GCPROs own args.
7698
7699         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7700
7701         * eval.c (Ffuncall): Extra braces to placate GCC.
7702
7703 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7704
7705         * backtrace.h (grow_specpdl):
7706         (SPECPDL_RESERVE):
7707         * EmacsFrame.c (EmacsFrameSetValues):
7708         * eval.c (grow_specpdl):
7709         * ExternalShell.c (hack_event_masks_1):
7710         * glyphs-x.c (convert_EImage_to_XImage): 
7711         (x_finalize_image_instance):
7712         * ralloc.c (page_size):
7713         (r_alloc_sbrk):
7714         * xgccache.c (gc_cache_hash):
7715         Fix unsigned comparison warnings.
7716
7717 2002-07-29  Jerry James  <james@xemacs.org>
7718
7719         * lread.c (locate_file): Any nonnegative return value indicates
7720         success if MODE is nonnegative.
7721
7722 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7723
7724         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7725         argument. 
7726
7727 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7728
7729         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7730
7731         * dumper.c (pdump_get_indirect_count):
7732         (pdump_scan_by_alignment):
7733         (pdump_dump_root_struct_ptrs):
7734         (pdump_dump_rtables):
7735         (pdump_dump_root_objects):
7736         (pdump):
7737         * nas.c (WaveOpenDataForReading):
7738         * fns.c (print_bit_vector):
7739         * font-lock.c (SINGLE_SYNTAX_STYLE):
7740         * glyphs.c (check_for_ignored_expose):
7741         (find_matching_subwindow):
7742         * glyphs-eimage.c:
7743         * imgproc.c (get_histogram):
7744         * redisplay.c (point_in_line_start_cache):
7745         * redisplay-output.c (redisplay_unmap_subwindows):
7746         * symbols.c (defsymbol_massage_name_1):
7747         (defkeyword_massage_name):
7748         (deferror_massage_name_and_message):
7749         * redisplay-x.c (x_output_string): 
7750         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7751         * frame.h (struct frame):
7752         * filelock.c (current_lock_owner):
7753         * doprnt.c (emacs_doprnt_1):
7754         * lisp.h (struct Lisp_Bit_Vector):
7755         (DO_REALLOC):
7756         Fix warnings.
7757
7758 2002-02-13  Ben Wing  <ben@xemacs.org>
7759
7760         * event-stream.c (reset_key_echo):
7761         * event-stream.c (reset_this_command_keys):
7762         * event-stream.c (execute_command_event):
7763         If console is dead as a result of C-x 5 0, then post-command stuff
7764         needs to be careful and do only non-console-specific stuff.
7765
7766 2002-07-01  Mike Sperber <mike@xemacs.org>
7767
7768         * process-unix.c (unix_send_process): Mark coding_outstream as
7769         non-open upon SIGPIPE.
7770
7771         * event-stream.c (Fnext_event): Reorder switch cases to something
7772         that makes sense.
7773
7774 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7775
7776         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7777         Don't bogusly reinitialize ascii_character property.
7778
7779 2002-07-08  Mike Sperber <mike@xemacs.org>
7780
7781         * process.c (Fstart_process_internal): Do error checking before we
7782         fork off the child, so the child can't muck with the state of the
7783         parent.
7784
7785 2002-07-08  Mike Sperber <mike@xemacs.org>
7786
7787         * ralloc.c (init_ralloc): Allocate properly for pdump.
7788
7789 2002-06-12  Andy Piper  <andy@xemacs.org>
7790
7791         * glyphs.c (query_string_geometry): check the string.
7792
7793         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7794         widget names.
7795
7796 2002-06-17  Jerry James  <james@xemacs.org>
7797
7798         * sysdll.c: Remove RTLD_GLOBAL initialization.
7799         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7800
7801 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7802
7803         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7804
7805 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7806
7807         * sysdep.c (sys_rename): Make sys_rename work for the case where
7808         Windows rename sets errno to EACCES if target file exists.
7809
7810 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7811
7812         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7813         Fix detection of metric units to work on Win95
7814
7815 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7816
7817         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7818
7819 2002-04-25  Andy Piper  <andy@xemacs.org>
7820
7821         * redisplay.c (create_text_block): Remove extra comment trailer.
7822
7823 2002-04-24  Andy Piper  <andy@xemacs.org>
7824
7825         * redisplay.c (create_text_block): Don't actually add propagation
7826         data if the line ends after we have added a glyph.
7827
7828 2002-04-22  Andy Piper  <andy@xemacs.org>
7829
7830         * extents.c (extent_fragment_update): check for glyphs we have
7831         previously displayed.
7832         * extents.c (print_extent_1): warning removal.
7833         * extents.h: change prototype.
7834         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7835         widths correctly for wide glyphs.
7836         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7837         * redisplay.c (prop_type): add PROP_GLYPH.
7838         * redisplay.c (struct prop_block): add glyph type
7839         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7840         to the propagation data.
7841         * redisplay.c (create_text_block): if there is a glyph in the
7842         propagation data use it to salt extent_fragment_update.
7843         * redisplay.c (create_string_text_block): ditto.
7844
7845 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7846
7847         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7848         * redisplay-output.c (compare_runes): Compare them.
7849         * redisplay.c: Update copyright date.
7850         * redisplay.c (pos_data): Add need_baseline_computation field.
7851         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7852         need_baseline_computation; zero yoffset. Set max_pixmap_height
7853         for all pixmaps, not just automatically positioned ones.
7854         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7855         * redisplay.c (calculate_baseline): New, compute textual baseline.
7856         * redisplay.c (add_glyph_rune): Call them.
7857         * redisplay.c (create_text_block): Likewise.
7858         * redisplay.c (create_overlay_glyph_block): Likewise.
7859         * redisplay.c (add_margin_runes): Likewise.
7860         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7861
7862         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7863         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7864         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7865         * redisplay-msw.c (mswindows_output_string): Likewise.
7866         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7867         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7868         * redisplay-x.c (x_output_display_block): Likewise.
7869
7870 2002-03-28  Ben Wing  <ben@xemacs.org>
7871
7872         * redisplay.c: Fixed bug in redisplay
7873         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7874         and down of the lines, since they're bigger than the line
7875         size. (It was seen most obviously when there's a horizontal scroll
7876         bar, e.g. do C-h a glyph or something like that.) The problem was
7877         that the glyph-contrib-p setting on glyphs was ignored even if it
7878         was set properly, which it wasn't until now.
7879
7880 2002-04-24  Andy Piper  <andy@xemacs.org>
7881
7882         * lisp.h (Dynarr_end): Fix definition.
7883
7884 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7885
7886         * redisplay.c (mark_redisplay): Remove call to
7887         update_frame_window_mirror.
7888
7889 2001-11-15  Andy Piper  <andy@xemacs.org>
7890
7891         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7892         cygwin (again).
7893
7894 2002-02-13  Andy Piper  <andy@xemacs.org>
7895
7896         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7897         we did in fact enqueue the XM_MAPFRAME event.
7898
7899 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7900
7901         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7902         to fix problem switching between virtual desktops under virtuawin
7903         virtual window manager.
7904
7905 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7906
7907         * event-msw.c: Typo fix.
7908         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7909         magic XM_MAPFRAME event has been sent.
7910
7911 2001-11-23  Andy Piper  <andy@xemacs.org>
7912
7913         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7914
7915 2001-11-21  Andy Piper  <andy@xemacs.org>
7916
7917         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7918         mouse events outside the frame.
7919
7920 2002-03-20  Andy Piper  <andy@xemacs.org>
7921
7922         * menubar-msw.c (mswindows_popup_menu): warning removal.
7923         * dialog-msw.c (dialog_popped_down): ditto.
7924
7925 2001-12-11  Andy Piper  <andy@xemacs.org>
7926
7927         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7928         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7929         popup_up_p.
7930         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7931         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7932         * menubar-msw.c (mswindows_popup_menu): ditto.
7933
7934 2001-10-29  Andy Piper  <andy@xemacs.org>
7935
7936         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7937         cancels.
7938
7939 2002-01-03  Andy Piper  <andy@xemacs.org>
7940
7941         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7942         letters.
7943         (xrealpath): ditto.
7944
7945 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7946
7947         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7948         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7949         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7950         Detect and handle case where machine is set up for metric units
7951
7952 2002-04-02  Andy Piper  <andy@xemacs.org>
7953
7954         * dired-msw.c (mswindows_get_files): 
7955         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7956         completely handled by XEmacs. Suggested by Thomas Vogler
7957         <mail@thomas-vogler.de>.
7958
7959 2001-11-14  Andy Piper  <andy@xemacs.org>
7960
7961         * nt.c (REG_ROOT): change registry key to XEmacs.
7962
7963 2002-04-27  Andy Piper  <andy@xemacs.org>
7964
7965         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7966
7967 2002-04-26  Andy Piper  <andy@xemacs.org>
7968
7969         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7970         behavior.
7971
7972 2002-03-14  Mike Alexander  <mta@arbortext.com>
7973
7974         * event-msw.c (mswindows_unwait_process): New, remove process from
7975         wait list
7976         * process-nt.c (nt_finalize_process_data): Call
7977         mswindows_unwait_process
7978         * console-msw.h: Declare mswindows_unwait_process
7979
7980 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7981
7982         * editfns.c (Fdecode_time):
7983         (Fformat_time_string):
7984         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7985         (make_time): Warning elimination (change arg name).
7986
7987 2001-11-24  Andy Piper  <andy@xemacs.org>
7988
7989         * window.c (Fsplit_window): Doc return type.
7990
7991 2002-04-01  Andy Piper  <andy@xemacs.org>
7992
7993         * emacs.c (Fkill_emacs): Only output message box in interactive
7994         mode.
7995
7996 2002-04-26  Andy Piper  <andy@xemacs.org>
7997  
7998         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7999         cygwin.
8000
8001 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8002
8003         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8004         bit platform.
8005
8006 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8007
8008         * XEmacs 21.4.8 "Honest Recruiter" is released.
8009
8010 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8011
8012         Supersedes 2002-04-17 patch.
8013
8014         * process.h (PROCESS_LIVE_P): Use the process status as
8015         evidence of health, not the state of the input stream.
8016         (PROCESS_READABLE_P): Say if the process is readable
8017         from. (It may be dead nonetheless.)
8018         (CHECK_READABLE_PROCESS): Test for that condition.
8019
8020         * process.c (create_process): Use PROCESS_READABLE_P.
8021         (read_process_output, set_process_filter): Likewise.
8022
8023         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8024         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8025
8026         This code is #if 0'd, this is not the time to add new functions:
8027
8028         * process.c (Fprocess_readable_p): Report readability status.
8029         * process.c (Qprocess_readable_p): New, associated symbol...
8030         * process.c (syms_of_process): ... initialize it.
8031
8032 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8033
8034         * XEmacs 21.4.7 "Economic Science" is released.
8035
8036 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8037
8038         * process.h (PROCESS_LIVE_P): Use the process status as
8039         evidence of health, not the state of the input stream.
8040
8041 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8042
8043         * sysdep.c (sys_siglist): change "signum" to "signal"
8044
8045 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8046
8047         * s/darwin.h: New file.
8048         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8049         
8050 2002-04-23  Andreas Jaeger  <aj@suse.de>
8051
8052         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8053         which use lib64 for 64-bit libs.
8054         (START_FILES): Likewise.
8055
8056 2002-02-11  Mike Sperber  <mike@xemacs.org>
8057
8058         * device-x.c: 
8059         (x_IO_error_handler):
8060         (x_init_device): Temporarily keep device in static variable
8061         `device_being_initialized' so we can recover gracefully from
8062         internal XOpenDevice failure.  (XOpenDevice is documented to
8063         return NULL on failure, but sometimes calls the IO error handler
8064         instead.)
8065
8066 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8067
8068         * dired.c (Ffile_name_all_completions): Change documentation --
8069         remove reference to completion-ignored-extensions.
8070         * dired.c (vars_of_dired): Change documentation for
8071         completion-ignored-extensions -- remove reference to
8072         file-name-all-completions.
8073
8074 2002-03-06  Jerry James  <james@xemacs.org>
8075
8076         * emodules.c (emodules_load): Fix multiple loading of same module.
8077
8078 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8079         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8080         RTLD_LAZY to avoid incorrect symbol binding when using nested
8081         shared libraries on Solaris.
8082
8083 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8084
8085         * fileio.c (Ffind_file_name_handler): Improve docstring.
8086
8087 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8088
8089         * fns.c (Fmapconcat): Improve docstring.
8090
8091 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8092
8093         * device-gtk.c: Add prototype for
8094         emacs_gtk_selection_clear_event_handle.
8095         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8096         selection.  Setup signal handler for "selection_clear_event"
8097         (emacs_gtk_selection_clear_event_handle).
8098
8099         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8100         other applications owning the clipboard (based on
8101         x_handle_selection_clear).
8102
8103 2001-12-23  William M. Perry  <wmperry@gnu.org>
8104
8105         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8106         
8107 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8108
8109         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8110
8111 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8112
8113         * XEmacs 21.4.6 "Common Lisp" is released.
8114
8115 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8116
8117         * search.c (Freplace_match): Add missing sub-expression functionality.
8118
8119         * buffer.c (decode_buffer): Add a check for pointer type to
8120         decode_buffer, before gcc's CSE optimization reorders a
8121         dereference in front of the allow_string test.
8122
8123 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8124
8125         * window.c (window_loop): Fix bug that sometimes prevented
8126         window_loop() from iterating across multiple devices.  Also, at
8127         Ben's request, changed infloop-detecting code to abort() instead
8128         of silently terminating window_loop().
8129
8130 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8131
8132         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8133         * editfns.c (make_time): New function.
8134         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8135         * lisp.h (make_time): Prototype and comment it.
8136         * dired.c (wasteful_word_to_lisp): Deprecate.
8137         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8138
8139 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8140
8141         * fileio.c (auto_save_1): Use current coding system, not
8142         escape-quoted.
8143
8144 2001-11-13  Ben Wing  <ben@xemacs.org>
8145
8146         * window.c:
8147         * window.c (window_truncation_on):
8148         * window.c (syms_of_window):
8149         truncate-partial-width-windows should respect the buffer being
8150         displayed, like other redisplay vars.
8151
8152 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8153
8154         * event-stream.c (Fread_key_sequence): save current buffer.
8155
8156 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8157
8158         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8159
8160 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8161
8162         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8163
8164 2001-10-26  Mike Alexander  <mta@arbortext.com>
8165
8166         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8167
8168 2001-10-25  Andy Piper  <andy@xemacs.org>
8169
8170         * ChangeLog:
8171         * dialog-msw.c (handle_directory_proc): new function.
8172          (handle_directory_dialog_box): new fucntion.
8173          (handle_file_dialog_box): use new directory dialog support.
8174          (mswindows_make_dialog_box_internal): ditto.
8175         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8176         handling.
8177         (mswindows_find_frame): make global.
8178         * fileio.c (Fexpand_file_name): build fix.
8179         * general-slots.h: add Qdirectory.
8180         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8181         handling.
8182         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8183         cygwin not leaving win32 paths unchanged.
8184         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8185         cygwin runtime to do path conversion.
8186         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8187         (syms_of_win32): add new function.
8188         * window.c (window_loop): build fix.
8189
8190 2001-10-15  Andy Piper  <andy@xemacs.org>
8191
8192         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8193
8194 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8195
8196         * XEmacs 21.4.5 "Civil Service" is released.
8197
8198 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8199
8200         * glyphs-x.c: Force buffer-tab highlight update when moving the
8201         buffer, avoiding an ugly black border, used for keyboard focus
8202         indication, on a widget that can never have keyboard focus, the
8203         buffer tab.
8204
8205 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8206
8207         * process-unix.c (unix_open_multicast_group): Remove too much
8208         conversion between host and network byte order.
8209
8210 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8211
8212         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8213         before replacing them.
8214
8215         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8216         operation.
8217
8218         * src/window.c (undedicate_windows): Use it.
8219         * src/window.h: Add prototype.
8220
8221 2001-09-17  Ben Wing  <ben@xemacs.org>
8222
8223         * fileio.c (normalize_filename):
8224         * fileio.c (Fexpand_file_name):
8225         Fix various C++ compile errors in Andy's recent code.
8226         
8227         * callint.c (Fcall_interactively):
8228         * editfns.c (Ftemp_directory):
8229         * editfns.c (Fuser_full_name):
8230         * emacs.c (argmatch):
8231         * lread.c (locate_file_map_suffixes):
8232         * redisplay-x.c (x_ring_bell):
8233         Fix sign-compare warnings.
8234         
8235 2001-09-08  Andy Piper  <andy@xemacs.org>
8236
8237         * fileio.c (normalize_filename): copied from nt.c
8238         * (Ffile_name_directory): enable win32 paths under cygwin.
8239         * (Ffile_name_nondirectory): ditto.
8240         * (directory_file_name): ditto.
8241         * (Fexpand_file_name): ditto.
8242         * (Ffile_truename): ditto.
8243         * (Fsubstitute_in_file_name): ditto.
8244         * (Ffile_name_absolute_p): ditto.
8245         * (Ffile_readable_p): ditto.
8246
8247 2001-09-08  Andy Piper  <andy@xemacs.org>
8248
8249         * device-msw.c (mswindows_finish_init_device): remove dde
8250         initialization.
8251         * device-msw.c (mswindows_init_dde): factor out from
8252         mswindows_finish_init_device()
8253         * device-msw.c (init_mswindows_very_early): new function
8254         initialize but don't enable dde.
8255         * emacs.c (main_1): call init_mswindows_very_early.
8256         * event-msw.c:
8257         * event-msw.c (mswindows_dde_callback): only execute when we are
8258         ready.
8259         * symsinit.h: declare init_mswindows_very_early.
8260
8261 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8262
8263         [sjt: This has been in 21.5 for months with no complaints.]
8264
8265         * console.h (struct console_methods): Added flags member.
8266         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8267         (CONMETH_IMPL_FLAG):
8268         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8269         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8270
8271         * device.c (window_system_pixelated_geometry): Use the above macros.
8272
8273         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8274         implememntation flag.
8275         * device.h (DEVICE_DISPLAY_P): Use it.
8276
8277         * frame.c (delete_frame_internal): Use the above macro.
8278
8279         * redisplay.c (redisplay_device): Use it.
8280         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8281         (redisplay_frame): Ditto.
8282
8283         * device-msw.c (mswindows_device_implementation_flags): Removed.
8284         (msprinter_device_implementation_flags): Removed.
8285         (console_type_create_device_mswindows): Removed references to
8286         implementation_flags methods, set implementation flags here.
8287         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8288
8289         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8290         (console_type_create_device_gtk): Removed method declaration.
8291         Added commented out statement which semantically matches the
8292         commented out statement in the above removed method.
8293
8294 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8295
8296         The attached patch fixes a few warnings. 
8297
8298         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8299         * src/frame-gtk.c: guard against GNOME calls in GTK only
8300         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8301         * src/select-gtk.c: prototype lisp_to_time
8302
8303 2001-06-08  Ben Wing  <ben@xemacs.org>
8304
8305         ------ gc-in-window-procedure fixes ------
8306         
8307         * alloc.c:
8308         * alloc.c (struct post_gc_action):
8309         * alloc.c (register_post_gc_action):
8310         * alloc.c (run_post_gc_actions):
8311         * alloc.c (garbage_collect_1):
8312         Create "post-gc actions", to avoid those dreaded "GC during window
8313         procedure" problems.
8314
8315         * event-msw.c:
8316         Abort, clean and simple, when GC in window procedure.  We want
8317         to flush these puppies out.
8318
8319         * glyphs-msw.c:
8320         * glyphs-msw.c (finalize_destroy_window):
8321         * glyphs-msw.c (mswindows_finalize_image_instance):
8322         Use a post-gc action when destroying subwindows.
8323
8324         * lisp.h:
8325         Declare register_post_gc_action().
8326
8327         * scrollbar-msw.c:
8328         * scrollbar-msw.c (unshow_that_mofo):
8329         Use a post-gc action when unshowing scrollbar windows, if in gc.
8330
8331         * redisplay.c (mark_redisplay):
8332         Add comment about the utter evilness of what's going down here.
8333
8334         ------ cygwin setitimer fixes ------
8335         
8336         * Makefile.in.in (sheap_objs):
8337         * Makefile.in.in (profile_objs):
8338         * Makefile.in.in (objs):
8339         Compile profile.c only when HAVE_SETITIMER.
8340         
8341         * nt.c (mswindows_sigset):
8342         * nt.c (mswindows_sighold):
8343         * nt.c (mswindows_sigrelse):
8344         * nt.c (mswindows_sigpause):
8345         * nt.c (mswindows_raise):
8346         * nt.c (close_file_data):
8347         Style fixes.
8348         
8349         * nt.c:
8350         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8351         
8352         * profile.c:
8353         * profile.c (Fstart_profiling):
8354         * profile.c (Fstop_profiling):
8355         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8356         instead of just plain setitimer().
8357         
8358         * signal.c:
8359         * signal.c (set_one_shot_timer):
8360         * signal.c (alarm):
8361         Define qxe_setitimer() as an encapsulation around setitimer() --
8362         call setitimer() directly unless Cygwin or MS Win, in which case
8363         we use our simulated version in win32.c.
8364         
8365         * systime.h:
8366         * systime.h (struct itimerval):
8367         * systime.h (ITIMER_REAL):
8368         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8369         comment about "qxe" and the policy regarding encapsulation.
8370
8371         * win32.c:
8372         * win32.c (setitimer_helper_proc):
8373         * win32.c (setitimer_helper_period):
8374         * win32.c (setitimer_helper):
8375         * win32.c (mswindows_setitimer):
8376         Move setitimer() emulation here, so Cygwin can use it.
8377         Rename a couple of functions and variables to be longer and more
8378         descriptive.  In setitimer_helper_proc(), send the signal
8379         using either mswindows_raise() or (on Cygwin) kill().  If for
8380         some reason we are still getting lockups, we'll change the kill()
8381         to directly invoke the signal handlers.
8382
8383         ------ windows shell fixes ------
8384         
8385         * callproc.c:
8386         * ntproc.c:
8387         Comments about how these two files must die.
8388
8389         * callproc.c (init_callproc):
8390         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8391         not just COMSPEC. (more correct and closer to FSF.) Don't
8392         force a value for SHELL into the environment. (Comments added
8393         to explain why not.)
8394         
8395         * nt.c (init_user_info):
8396         Don't shove a fabricated SHELL into the environment.  See above.
8397
8398 2001-06-01  Ben Wing  <ben@xemacs.org>
8399
8400         * Makefile.in.in (ldflags):
8401         eliminate that pesky "defaulting to 00401000" warning.
8402         * nt.h:
8403         eliminate warnings.
8404
8405 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8406
8407         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8408         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8409
8410 2001-04-24  Jerry James <james@xemacs.org>
8411
8412         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8413         correct order.
8414
8415 2001-06-01  Ben Wing  <ben@xemacs.org>
8416
8417         * event-msw.c (debug_mswin_messages):
8418         conditionalize the messages that were causing compile errors.
8419         (if only macros could generate #ifdef statements ...)
8420
8421 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8422
8423         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8424
8425 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8426
8427         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8428
8429 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8430
8431         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8432         * process-unix.c (unix_canonicalize_host_name):
8433         sysdep.c (init_system_name):
8434         Use it to conditionally support IPv6 canonicalization.
8435
8436 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8437
8438         * event-msw.c:
8439         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8440
8441 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8442
8443         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8444         attempt is made to scroll when no scroll bar is available.
8445
8446 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8447
8448         * input-method-motif.c (XIM_delete_frame): New callback.
8449         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8450         got deleted from 21.4.3.)
8451
8452 2001-06-01  Ben Wing  <ben@xemacs.org>
8453
8454         * nt.c (mswindows_utime):
8455         * nt.c (close_file_data):
8456         fix off-by-one-indirection error.
8457
8458 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8459
8460         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8461         because set_file_times() now takes Lisp_Object path, instead of
8462         char*.
8463         * nt.c: Include buffer.h.
8464         * nt.c (convert_from_time_t): New.
8465         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8466         not set mtime correctly.
8467         * nt.h: Declare mswindows_utime().
8468         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8469         path, instead of char*.
8470         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8471
8472 2001-05-30  Ben Wing  <ben@xemacs.org>
8473
8474         For 21.4:
8475
8476         (Stephen, just take all event-msw.c patches.  This includes
8477         the "iconify" fix below.)
8478
8479         * event-msw.c:
8480         * event-msw.c (mswindows_dequeue_dispatch_event):
8481         * event-msw.c (assert):
8482         * event-msw.c (emacs_mswindows_quit_p):
8483         * event-msw.c (debug_mswin_messages):
8484         * event-msw.c (debug_output_mswin_message):
8485         * event-msw.c (vars_of_event_mswindows):
8486         Fix yet more problems with C-g handling.
8487         Implement debug-mswindows-events.
8488         
8489 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8490
8491         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8492         
8493 2001-05-23  Ben Wing  <ben@xemacs.org>
8494
8495         * event-msw.c (winsock_writer):
8496         * event-msw.c (winsock_closer):
8497         prior kludgy code was clobbering the buffer, thinking it was
8498         "unused" space to store an unneeded return value; instead, use
8499         the variable we've already got staring us in the face.
8500
8501 2001-05-17  Andy Piper  <andy@xemacs.org>
8502
8503         * sysfile.h: don't assume that file attributes are boolean
8504
8505 2001-05-23  Ben Wing  <ben@xemacs.org>
8506
8507         * device-msw.c (msprinter_init_device):
8508         signal an error rather than crash with an unavailable network
8509         printer (from Mike Alexander).
8510         
8511         * event-msw.c:
8512         * event-msw.c (struct winsock_stream):
8513         * event-msw.c (winsock_writer):
8514         * event-msw.c (winsock_closer):
8515         * event-msw.c (make_winsock_stream_1):
8516         cleanup headers.  fix (hopefully) an error with data corruption
8517         when sending to a network connection.
8518
8519         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8520         to handle the ~user prefix by (a) always assuming we're referencing
8521         ourselves and not even verifying the user -- hence any file with
8522         a tilde as its first char is invalid! (b) if there wasn't a slash
8523         following the filename, the pointer was set *past* the end of
8524         file and we started reading from uninitialized memory.  Now we
8525         simply treat these as files, always.
8526
8527         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8528         
8529 2001-05-19  Ben Wing  <ben@xemacs.org>
8530
8531         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8532
8533         * process-nt.c:
8534         * process-nt.c (vars_of_process_nt):
8535         remove unused mswindows-quote-process-args.  rec for 21.4.
8536         
8537 2001-05-12  Ben Wing  <ben@xemacs.org>
8538
8539         * event-msw.c (mswindows_dde_callback):
8540         * event-msw.c (mswindows_wnd_proc):
8541         eliminate cygwin warnings.
8542
8543 2001-05-06  Ben Wing  <ben@xemacs.org>
8544
8545         * console-msw.h:
8546         * device-msw.c:
8547         * device-msw.c (print_dialog_worker):
8548         * device-msw.c (mswindows_handle_print_dialog_box):
8549         * device-msw.c (syms_of_device_mswindows):
8550         * dialog-msw.c (mswindows_make_dialog_box_internal):
8551         * general-slots.h:
8552         implement printing the selection when it's selected.
8553
8554 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8555
8556         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8557
8558 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8559
8560         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8561         EMACS_INT is signed.
8562
8563 2001-04-15  Michael Lausch  <mla@1012surf.net>
8564
8565         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8566         gtk_widget_request_size() to give scrollbar >0 width for
8567         GTK >1.2.8.
8568
8569 2001-05-30  William M. Perry  <wmperry@gnu.org>
8570
8571         * event-gtk.c: Check for buttons as modifier keys.
8572
8573 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8574
8575         * s\mingw32.h:
8576         Properly find MinGW's <process.h> inside Cygwin's restructured
8577         include directories.  Don't try to include <cygwin/version.h>
8578         since we are dropping support for MinGW in versions of Cygwin
8579         earlier than b21.
8580         * nt.c:
8581         Drop support for MinGW in versions of Cygwin before b21.
8582         * sysdep.c:
8583         Properly find MinGW's <process.h> inside Cygwin's restructured
8584         include directories.
8585         * syswindows.h:
8586         Drop support for MinGW in versions of Cygwin before b21.
8587         * unexcw.c:
8588         Even though a.out.h is no longer detected by configure, allow
8589         MinGW to use it until we figure out how to do the job with Win32.
8590
8591 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8592
8593         * syntax.c (find_start_of_comment):
8594         Fix `unbalanced parentheses' bug when dealing with mixed comment
8595         styles in c++/java/etc. mode
8596
8597 2001-05-29  Mike Alexander  <mta@arbortext.com>
8598
8599         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8600         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8601
8602 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8603
8604         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8605
8606 2001-03-31  Mike Sperber <mike@xemacs.org>
8607
8608         * search.c (Freplace_match): Support FSF-style specification of
8609         match subexpression when applied to a buffer.
8610
8611 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8612
8613         * event-stream.c (is_scrollbar_event): add missing semicolon
8614
8615 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8616
8617         * Makefile.in.in: Use TAR macro instead of hardcoding
8618           tar.  Allows use of GNU tar instead of system tar
8619
8620 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8621
8622         * event-stream.c (is_scrollbar_event): add missing semicolon
8623
8624 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8625
8626         * XEmacs 21.4.3 "Academic Rigor" is released.
8627
8628 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8629
8630         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8631
8632 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8633
8634         * buffer.c (Vcase_fold_search): Remove obsolete
8635           comment about non ASCII case-fold-search.  This
8636           bug has been fixed by case-table changes.
8637
8638 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8639
8640         * event-msw.c: Restore include of events-mod.h.
8641
8642 2001-04-22   zhaoway  <zw@debian.org>
8643
8644         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8645         !HAVE_SCROLLBARS.
8646
8647 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8648
8649         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8650
8651 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8652
8653         * mule-charset.c (Fmake_charset): Add missing else.
8654
8655 2001-04-23  Ben Wing  <ben@xemacs.org>
8656
8657         * event-msw.c (FAKE_MOD_QUIT):
8658         * event-msw.c (mswindows_dequeue_dispatch_event):
8659         * event-msw.c (mswindows_wnd_proc):
8660         * event-msw.c (emacs_mswindows_quit_p):
8661         Get critical quit working.
8662
8663 2001-05-05  Ben Wing  <ben@xemacs.org>
8664
8665         * console-msw.h:
8666         * device-msw.c:
8667         * device-msw.c (mswindows_get_default_margin):
8668         * frame-msw.c (mswindows_size_frame_internal):
8669         * frame-msw.c (msprinter_init_frame_1):
8670         * frame-msw.c (vars_of_frame_mswindows):
8671         Change top/bottom margin defaults to 0.5 inches.
8672
8673 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8674
8675         Fix link error with gcc 3.0 on Linux.
8676         * terminfo.c (UP): Remove.
8677         * terminfo.c (BC): Remove.
8678         * terminfo.c (PC): Remove.
8679         They weren't used, and in any case, these symbols should be
8680         defined in the *library*.
8681
8682 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8683
8684         * s/aix4.h: Fix crash with xlc -O3.
8685         Improve comment explaining how -O3 works.
8686
8687 2001-04-15  Ben Wing  <ben@xemacs.org>
8688
8689         * event-stream.c:
8690         * event-stream.c (Fnext_event):
8691         * event-stream.c (is_scrollbar_event):
8692         * event-stream.c (execute_command_event):
8693         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8694         crash' problem.  His fix introduces other problems.  We filter
8695         out scrollbar events specifically, making them somewhat invisible
8696         to command-building, and not appearing in `this-command-keys'.
8697         More work is still needed (see comments in event-stream.c), but
8698         this fixes all the major problems.
8699
8700 2001-04-20  Ben Wing  <ben@xemacs.org>
8701
8702         * .cvsignore: Added stuff for Windows.
8703
8704 2001-04-28  Ben Wing  <ben@xemacs.org>
8705
8706         * buffer.c (Ferase_buffer):
8707         * editfns.c (buffer_insert1):
8708         * editfns.c (Finsert_before_markers):
8709         * editfns.c (Finsert_string):
8710         * editfns.c (Finsert_char):
8711         * editfns.c (Fdelete_region):
8712         * editfns.c (Fwiden):
8713         * editfns.c (Fnarrow_to_region):
8714         remove bogus lines setting zmacs_region_stays to 0.
8715         
8716 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8717
8718         * process-unix.c (unix_open_network_stream): If connect() fails
8719         invalidate file descriptor after closing it.
8720
8721 2001-03-08  Mike Alexander  <mta@arbortext.com>
8722
8723         * event-msw.c (mswindows_need_event_in_modal_loop):
8724         Don't dispatch a message if we didn't get one.
8725         (mswindows_need_event):
8726         Terminate the correct process when one exits instead of the first
8727         one on Vprocess_list and look for process termination when in
8728         mswindows_protect_modal_loop.
8729
8730 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8731
8732         * XEmacs 21.4.1 "Copyleft" is released.
8733
8734 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8735
8736         * input-method-motif.c (XIM_delete_frame): New callback.
8737         (XIM_init_frame): Register it.
8738
8739 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8740
8741         * XEmacs 21.4.0 "Solid Vapor" is released.
8742
8743 2001-04-15  Ben Wing  <ben@xemacs.org>
8744
8745         * cmdloop.c (call_command_loop):
8746         Fix braino in bit-rotting code.
8747         
8748 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8749
8750         * extents.c (Fset_extent_endpoints): Force creation of extent info
8751         in buffer_or_string.
8752
8753         * extents.c (process_extents_for_insertion_mapper): Correctly
8754         check for open-open zero-length extents.
8755
8756 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8757
8758         * lisp.h: New typedefs Memory_count, Element_count.
8759         * regex.c:
8760         * regex.h:
8761         Sign-compare warning elimination: several unsigned -> signed.
8762         Based on work by Ben Wing <ben@xemacs.org>.
8763
8764 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8765
8766         * XEmacs 21.2.47 "Zephir" is released.
8767
8768 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8769
8770         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8771
8772 2001-04-03  Mike Sperber <mike@xemacs.org>
8773
8774         * search.c: Revert previous patch due because of release.
8775
8776 2001-03-30  Ben Wing  <ben@xemacs.org>
8777
8778         * s\cygwin32.h:
8779         Add missing killpg prototype.
8780
8781         * elhash.c:
8782         Add a comment about fixing problems when a new entry is added
8783         while mapping.
8784
8785         * frame-msw.c (mswindows_init_frame_1):
8786         Fix compile warnings.
8787
8788         * menubar.c (vars_of_menubar):
8789         Provide `menu-accelerator-support' to indicate that we properly
8790         support %_ in menu specifications, so that package code can
8791         conditionalize on this (and remove %_ from menu specifications
8792         on older versions).
8793
8794         * event-msw.c:
8795         * scrollbar-msw.c:
8796         * scrollbar-msw.c (can_scroll):
8797         * scrollbar-msw.h:
8798         Fix handling of mouse wheel under Windows to follow standards --
8799         now scrolls window under pointer, not selected window.
8800
8801 2001-03-31  Mike Sperber <mike@xemacs.org>
8802
8803         * search.c (Freplace_match): Support FSF-style specification of
8804         match subexpression when applied to a buffer.
8805
8806 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8807
8808         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8809         function to modify KEYMAP, so map over a copy of the hash table.
8810
8811 2001-03-21  Martin Buchholz <martin@xemacs.org>
8812
8813         * XEmacs 21.2.46 "Urania" is released.
8814
8815 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8816
8817         * realpath.c (xrealpath): Make file-truename work with symlinks to
8818         /cygdrive paths on cygwin. Always lowercase drive-letters on
8819         native windows.
8820         (cygwin_readlink): Don't try to find canonical filename unless
8821         file exists.
8822
8823 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8824
8825         * ChangeLog: Log GTK merge.
8826
8827         * dumper.c:
8828         * select-x.c:
8829         * specifier.c:
8830         * symeval.h:
8831         Revert gratuitous whitespace changes from GTK merge.
8832
8833         * emacs.c: Document end of complex #ifdef @ l. 1495.
8834
8835
8836 2001-03-12  Andy Piper  <andy@xemacs.org>
8837
8838         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8839         have to do likewise.
8840
8841 2001-03-12  Andy Piper  <andy@xemacs.org>
8842
8843         * sysdep.c: we only support mingw now.
8844
8845 2001-03-09  Andy Piper  <andy@xemacs.org>
8846
8847         * unexcw.c (copy_executable_and_dump_data_section): making approx
8848         overrun a warning only.
8849
8850 2001-03-10  William M. Perry  <wmperry@aventail.com>
8851
8852         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8853         satisfy Stephen's identical-after-cpp plea.
8854
8855 2001-03-02  Ben Wing  <ben@xemacs.org>
8856
8857         * cmds.c:
8858         * cmds.c (Fforward_char):
8859         * syntax.c:
8860         * window.c:
8861
8862         Augment documentation of the most common motion commands to make
8863         note of the shifted-motion support.
8864         
8865 2001-03-02  Ben Wing  <ben@xemacs.org>
8866
8867         * nt.c (mswindows_fstat):
8868         * nt.c (mswindows_stat):
8869         * search.c (boyer_moore):
8870         Fix compile warnings under Windows.
8871         
8872         * sysdep.c (sys_readdir):
8873         Fix buggy filename-conversion code under Mule.
8874
8875 2001-03-09  William M. Perry  <wmperry@aventail.com>
8876
8877         * Makefile.in.in:
8878         * config.h.in:
8879         * console.c:
8880         * console.h:
8881         * device.c:
8882         * device.h:
8883         * dragdrop.c:
8884         * emacs.c:
8885         * event-stream.c:
8886         * events.c:
8887         * events.h:
8888         * faces.c:
8889         * frame.h:
8890         * general-slots.h:
8891         * glyphs.c:
8892         * gutter.c:
8893         * inline.c:
8894         * lisp.h:
8895         * lrecord.h:
8896         * make-src-depend:
8897         * redisplay-output.c:
8898         * redisplay.c:
8899         * symsinit.h:
8900         * sysfile.h:
8901         * toolbar.c:
8902         * window.c:
8903         The Great GTK Merge.
8904
8905         * ChangeLog.GTK:
8906         * console-gtk.c:
8907         * console-gtk.h:
8908         * device-gtk.c:
8909         * emacs-marshals.c:
8910         * emacs-widget-accessors.c:
8911         * event-gtk.c:
8912         * frame-gtk.c:
8913         * gccache-gtk.c:
8914         * gccache-gtk.h:
8915         * glade.c:
8916         * glyphs-gtk.c:
8917         * glyphs-gtk.h:
8918         * gtk-glue.c:
8919         * gtk-xemacs.c:
8920         * gtk-xemacs.h:
8921         * gui-gtk.c:
8922         * gui-gtk.h:
8923         * menubar-gtk.c:
8924         * native-gtk-toolbar.c:
8925         * objects-gtk.c:
8926         * objects-gtk.h:
8927         * redisplay-gtk.c:
8928         * scrollbar-gtk.c:
8929         * scrollbar-gtk.h:
8930         * select-gtk.c:
8931         * toolbar-gtk.c:
8932         * ui-byhand.c:
8933         * ui-gtk.c:
8934         * ui-gtk.h:
8935         The Great GTK Merge: new files.
8936
8937 2001-02-26  Ben Wing  <ben@xemacs.org>
8938
8939         Reapplied Lstream change.
8940
8941 2001-02-26  Ben Wing  <ben@xemacs.org>
8942
8943         Undid the last change, since it is more controversial than I
8944         thought.  It should be back in at some point soon.
8945         
8946 2001-02-25  Ben Wing  <ben@xemacs.org>
8947
8948         * buffer.c:
8949         * callproc.c (Fold_call_process_internal):
8950         * event-msw.c (ntpipe_slurp_reader):
8951         * event-msw.c (ntpipe_shove_writer):
8952         * event-msw.c (winsock_reader):
8953         * event-msw.c (winsock_writer):
8954         * file-coding.c:
8955         * file-coding.c (detect_eol_type):
8956         * file-coding.c (detect_coding_type):
8957         * file-coding.c (determine_real_coding_system):
8958         * file-coding.c (Fdetect_coding_region):
8959         * file-coding.c (decoding_reader):
8960         * file-coding.c (decoding_writer):
8961         * file-coding.c (mule_decode):
8962         * file-coding.c (Fdecode_coding_region):
8963         * file-coding.c (encoding_reader):
8964         * file-coding.c (encoding_writer):
8965         * file-coding.c (mule_encode):
8966         * file-coding.c (Fencode_coding_region):
8967         * file-coding.c (detect_coding_sjis):
8968         * file-coding.c (decode_coding_sjis):
8969         * file-coding.c (encode_coding_sjis):
8970         * file-coding.c (detect_coding_big5):
8971         * file-coding.c (decode_coding_big5):
8972         * file-coding.c (encode_coding_big5):
8973         * file-coding.c (detect_coding_ucs4):
8974         * file-coding.c (decode_coding_ucs4):
8975         * file-coding.c (encode_coding_ucs4):
8976         * file-coding.c (detect_coding_utf8):
8977         * file-coding.c (decode_coding_utf8):
8978         * file-coding.c (encode_coding_utf8):
8979         * file-coding.c (detect_coding_iso2022):
8980         * file-coding.c (decode_coding_iso2022):
8981         * file-coding.c (encode_coding_iso2022):
8982         * file-coding.c (decode_coding_no_conversion):
8983         * file-coding.c (encode_coding_no_conversion):
8984         * glyphs-x.c (write_lisp_string_to_temp_file):
8985         * gpmevent.c (tty_get_foreign_selection):
8986         * lisp.h:
8987         * lstream.c:
8988         * lstream.c (Lstream_flush_out):
8989         * lstream.c (Lstream_adding):
8990         * lstream.c (Lstream_write_1):
8991         * lstream.c (Lstream_write):
8992         * lstream.c (Lstream_raw_read):
8993         * lstream.c (Lstream_read_more):
8994         * lstream.c (Lstream_read):
8995         * lstream.c (Lstream_unread):
8996         * lstream.c (Lstream_fputc):
8997         * lstream.c (stdio_reader):
8998         * lstream.c (stdio_writer):
8999         * lstream.c (filedesc_reader):
9000         * lstream.c (filedesc_writer):
9001         * lstream.c (lisp_string_reader):
9002         * lstream.c (struct fixed_buffer_stream):
9003         * lstream.c (make_fixed_buffer_input_stream):
9004         * lstream.c (make_fixed_buffer_output_stream):
9005         * lstream.c (fixed_buffer_reader):
9006         * lstream.c (fixed_buffer_writer):
9007         * lstream.c (struct resizing_buffer_stream):
9008         * lstream.c (resizing_buffer_writer):
9009         * lstream.c (dynarr_writer):
9010         * lstream.c (lisp_buffer_reader):
9011         * lstream.c (lisp_buffer_writer):
9012         * lstream.h:
9013         * lstream.h (lstream_implementation):
9014         * lstream.h (struct lstream):
9015         * md5.c (Fmd5):
9016         * process-nt.c (nt_send_process):
9017         * process-unix.c (unix_send_process):
9018         
9019         Correct Lstream lossage due to mixing of signed and unsigned
9020         quantities.  All Lstream uses of size_t and ssize_t are now a
9021         single signed data type Lstream_data_count.  This fixes problems
9022         under Windows with sending large quantities of data to a process,
9023         and may well fix other subtle bugs.
9024
9025 2001-02-23  Martin Buchholz <martin@xemacs.org>
9026
9027         * XEmacs 21.2.45 "Thelxepeia" is released.
9028
9029 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9030
9031         * lisp-union.h (XSETINT): 
9032         (XSETCHAR):
9033         (XSETOBJ): 
9034         Reverse previous change of 2001-02-06.
9035
9036 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9037
9038         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9039         buffers.
9040         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9041         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9042         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9043         * regex.c (POS_AS_IN_BUFFER): removed
9044         * regex.c (re_search_2):
9045         * regex.c (re_match_2):
9046         Don't use an offset of 1 when calculating buffer positions, since
9047         `BI_BUF_BEGV' does it already.
9048
9049 2001-02-18  Wim Dumon  <wim@easics.be>
9050
9051         * insdel.c (prepare_to_modify_buffer): Also check for
9052         supersession when clash-detection is enabled. 
9053
9054 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9055
9056         * regex.c (re_match_2_internal):
9057         Convert temp characters from 'const unsigned char' to 're_char'.
9058         Fix crashing bug with extended characters under mule.
9059         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9060         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9061         font-lock, pdump, and new syntax-table code.
9062         * syntax.c (find_start_of_comment):
9063         (find_end_of_comment):
9064         (forward-comment):
9065         Fix crashing bugs involving moving beyond end of buffer.
9066         * syntax.c (find_start_of_comment):
9067         Fixed logic to allow proper detection of cases where the same
9068         character is used to end both a two-char comment start and a
9069         two-char comment end sequence. Fixes `(forward-comment -1)'.
9070         * syntax.c (find_start_of_comment):
9071         Return position just past last comment-end character for all cases
9072         (previously was only done for two-char comment-end sequences).
9073         * syntax.c (forward-comment):
9074         Take value returned from `find_end_of_comment', rather than
9075         incrementing it.
9076         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9077         Properly deal with BUFFERP (syntax_cache.object)
9078
9079 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9080
9081         * alloc.c (Fgarbage_collect): 
9082         * alloc.c (make_bit_vector_from_byte_vector):
9083         -Wsign-compare-correctness.
9084
9085 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9086
9087         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9088         (XSETCHAR): Likewise.
9089         (XSETOBJ): Likewise.
9090
9091 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9092
9093         * mule-canna.c (canna-func-delete_previous): 
9094         Rename to canna-func-delete-previous.
9095
9096 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9097
9098         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9099
9100 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9101
9102         * font-lock.c (find_context): Fix C++ compile errors introduced by
9103         recent patch
9104
9105 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9106
9107         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9108         pragma, but earlier ones barf on the same pragma.
9109
9110 2001-02-06  Mike Sperber <mike@xemacs.org>
9111
9112         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9113         `configure-mule-lisp-directory'.
9114
9115 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9116
9117         Make sure dump-id.c is compiled in the same way as other .c's.
9118         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9119         * dump-id.h: Remove.
9120         * emacs.c: Move dump-id.h into dumper.h.
9121         * dumper.h: Move dump-id.h into dumper.h.
9122         * Makefile.in.in:
9123         Use standard .c.o rule for building dump-id.o.
9124         Remove preprocessor flags from link command.
9125         Add dump-id.o to ${otherobjs} if PDUMP.
9126
9127 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9128
9129         Port FSF 20.7 syntax table improvements.
9130         * syntax.c.
9131         * syntax.h.
9132
9133         Fixups for new syntax table stuff.
9134         * dired.c: Include syntax.c.
9135         (Fdirectory_files): Initialize regex_match_object and
9136         regex_emacs_buffer.
9137         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9138         and Fget_char_property.
9139
9140         Use ported FSF 20.7 syntax table improvements.
9141         * font-lock.c.
9142         * regex.c.
9143         * search.c.
9144         
9145 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9146
9147         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9148         Unixware's enum boolean from sys/types.h.
9149
9150 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9151
9152         Fix support for building with latest Purify.
9153         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9154         (PURIFY_FLAGS): Likewise.
9155
9156 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9157
9158         * fileio.c (lisp_string_set_file_times): New.
9159         * fileio.c (Fcopy_file): Use it.
9160         Fixes bug:
9161         (copy-file filename non-ascii-filename t t)
9162         ==> No such file or directory, non-ascii-filename
9163
9164 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9165
9166         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9167         USHRT_MAX seems clearer than ~0 anyways.
9168
9169 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9170
9171         dumper improvements.  Inspired by Olivier.
9172         * dumper.c (pdump_max_align): New.
9173         * dumper.c (pdump_add_entry): Use pdump_max_align.
9174         * dumper.c (pdump_get_entry_list): Likewise.
9175         * dumper.c (pdump_scan_by_alignment): Likewise.
9176         Don't iterate through unnecessary alignments.
9177         * dumper.c (pdump_file_get): No need to align result of malloc().
9178         * dumper.c (pdump_mallocadr): Remove.  
9179         The result of malloc() is guaranteed to be maximally aligned.
9180         * dumper.c: s/elmt/elt/g;
9181         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9182         * dumper.c (pdump_alert_undump_object): Likewise.
9183         * dumper.c (pdump_align_table): 
9184         Don't support alignments > 64.
9185         Store ALIGNOF's, not shift counts, in table.
9186
9187 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9188
9189         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9190         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9191         * systime.h: Use HAVE_UTIME.
9192         * sysdep.c (struct utimbuf): Remove.
9193         * sysdep.c (set_file_times): Prefer utime() to utimes().
9194         * config.h.in (HAVE_UTIME): New.
9195         * config.h.in (HAVE_UTIME_H): Remove.
9196         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9197
9198 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9199
9200         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9201
9202 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9203
9204         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9205
9206 2001-02-08  Martin Buchholz <martin@xemacs.org>
9207
9208         * XEmacs 21.2.44 "Thalia" is released.
9209
9210 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9211
9212         Fixes crashes in kill-emacs on some systems.
9213         * process-unix.c (unix_kill_child_process):
9214         It's OK for kill() to fail with ESRCH.
9215
9216 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9217
9218         Contortions to make .gdbinit tricks work on most systems.
9219         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9220         * alloc.c (dbg_valmask): Make non-const.
9221         * alloc.c (dbg_typemask): Make non-const.
9222         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9223         * alloc.c (dbg_valbits): Make non-const.
9224         * alloc.c (dbg_gctypebits): Make non-const.
9225         * .gdbinit (decode_object): Make it work with AIX cc.
9226
9227 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9228
9229         * elhash.c (make_general_lisp_hash_table):
9230         Use simpler and more efficient calloc to clear entries.
9231
9232 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9233
9234         * window.c (window_scroll): Work around an AIX C compiler bug.
9235         Fixes 'scroll-up' does nothing problem with xlC.
9236
9237 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9238
9239         * .gdbinit: Remove obsolete comment.
9240
9241 2001-01-31  Mike Alexander  <mta@arbortext.com>
9242
9243         * select.c (Fown_selection_internal): Set owned_p for device
9244         method correctly.
9245
9246 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9247
9248         Port to g++ 2.97.
9249         "not" cannot be used as a macro name as it is an operator in C++
9250         * config.h.in: Stop #defining `not'.
9251         * chartab.c (check_category_char): not ==> not_p
9252         * chartab.h: Likewise.
9253         * regex.c (re_match_2_internal): Likewise.
9254
9255 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9256
9257         * lisp-disunion.h: Fix up comments.
9258
9259 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9260
9261         * keymap.c (define_key_check_and_coerce_keysym):
9262         (syms_of_keymap):
9263         Support mouse-6 and mouse-7 bindings in the obvious way.
9264
9265 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9266
9267         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9268
9269 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9270
9271         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9272         Previous patch missed DEFVAR_INT_MAGIC.
9273         Make sure future DEFVAR_foo use correct types.
9274         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9275         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9276         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9277         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9278         * (DEFVAR_INT): Likewise.
9279         * redisplay.c (vertical_clip): Should be of type Fixnum.
9280         * redisplay.c (horizontal_clip): Likewise.
9281         * lisp.h (dump_add_opaque_int): New.
9282         (dump_add_opaque_fixnum): New.
9283
9284 2001-01-29  Andy Piper  <andy@xemacs.org>
9285
9286         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9287         since they can be eval'ed
9288
9289 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9290
9291         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9292         Oops, XEmacs redefines `class'.  Use `typename' instead.
9293
9294 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9295
9296         * dumper.c: Fix C++ compile errors.
9297
9298 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9299
9300         * tparam.c: Use correct prototypes.
9301
9302 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9303
9304         * sysproc.h: #include util.h for NetBSD's openpty.
9305
9306 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9307
9308         More 64-bit correctness.
9309         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9310         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9311         Fix up comments.
9312         This finally finishes the 64-bit SGI port.
9313         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9314         * symbols.c: Fix up comments and type casts.
9315         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9316         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9317         * symeval.h (Fixnum): New type.
9318         * symeval.h (symbol_value_type): Fix up comment.
9319
9320         * commands.h:
9321         * nt.c:
9322         * emacs.c:
9323         * data.c:
9324         * redisplay.c:
9325         * abbrev.c:
9326         * dired-msw.c:
9327         * event-Xt.c:
9328         * eldap.c:
9329         * window.c:
9330         * sound.c:
9331         * event-stream.c:
9332         * eval.c:
9333         * buffer.c:
9334         * mule-canna.c: A million DEFVAR_INTs here...
9335         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9336         * extents.c:
9337         * cmdloop.c:
9338         * lisp.h:
9339         * select-x.c:
9340         * console-x.h:
9341         * event-msw.c:
9342         * mule-wnnfns.c:
9343         * hpplay.c:
9344         * ralloc.c:
9345         * alloc.c:
9346         * keymap.c:
9347         * profile.c:
9348         s/int/Fixnum/g in DEFVAR_INT declarations.
9349
9350 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9351
9352         Port pdump to SGI alignment-sensitive environment.
9353         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9354         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9355         properly aligned.
9356         Define and use aligned reading and writing macros.
9357         Use buffered stdio instead of posix i/o for faster dumping.
9358         Eliminate kludgy 256 byte space for header.
9359         Read and write from dump file using structs for alignment safety.
9360         * dumper.c (pdump_align_stream): New.
9361         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9362         * dumper.c (PDUMP_READ_ALIGNED): New.
9363         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9364         * dumper.c (pdump_static_Lisp_Object): New struct.
9365         * dumper.c (pdump_static_pointer): New struct.
9366         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9367         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9368         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9369         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9370
9371         * dumper.c (pdump_backtrace):
9372         * dumper.c (pdump_get_indirect_count):
9373         * dumper.c (pdump_register_object):
9374         * dumper.c (pdump_register_struct):
9375         * dumper.c (pdump_reloc_one):
9376         * dumper.c (pdump_scan_by_alignment):
9377         * dumper.c (pdump_dump_from_root_struct_ptrs):
9378         * dumper.c (pdump_dump_opaques):
9379         * dumper.c (pdump_dump_rtables):
9380         * dumper.c (pdump_dump_from_root_objects):
9381         * dumper.c (pdump):
9382         * dumper.c (pdump_load_finish):
9383         Use aligned reading and writing.
9384
9385         * dumper.c (pdump_free): Make static.
9386         * dumper.c (pdump_hFile): Likewise.
9387         * dumper.c (pdump_hMap): Likewise.
9388
9389 2001-01-26  Martin Buchholz <martin@xemacs.org>
9390
9391         * XEmacs 21.2.43 "Terspichore" is released.
9392
9393 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9394
9395         Type fiddling for window_config.saved_windows_count
9396         * window.c (struct window_config): 
9397         Make saved_windows_count member unsigned.
9398         * window.c (sizeof_window_config_for_n_windows): 
9399         Make parameter unsigned.
9400         * window.c (mark_window_config):
9401         * window.c (window_config_equal):
9402         * window.c (free_window_configuration):
9403         * window.c (Fset_window_configuration):
9404         * window.c (count_windows):
9405         * window.c (Fcurrent_window_configuration):
9406         * window.c (reinit_vars_of_window):
9407         Update all callers and users.
9408
9409 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9410
9411         Alignment correctness for flexible arrays.
9412         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9413         Make alignment-correct. Add interesting comments.
9414         * alloc.c (size_vector):
9415         * alloc.c (make_vector_internal):
9416         * alloc.c (make_bit_vector_internal):
9417         * alloc.c (sweep_bit_vectors_1):
9418         * fns.c (size_bit_vector):
9419         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9420         * window.c (sizeof_window_config_for_n_windows): 
9421         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9422
9423 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9424
9425         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9426
9427 2001-01-23  Andy Piper  <andy@xemacs.org>
9428
9429         * select.c (Fown_selection_internal): pass owned_p
9430
9431         * select-msw.c (mswindows_own_selection): New Signature.
9432
9433         * console.h (struct console_methods): add owned_p to
9434         _own_selection.
9435
9436         * select-x.c (x_own_selection): pass owned_p
9437         (hack_motif_clipboard_selection): use owned_p
9438         (vars_of_select_x): new variable -
9439         x_selection_strict_motif_ownership.
9440
9441 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9442
9443         * specifier.h (specifier_data_offset): Remove pointless parens.
9444         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9445
9446 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9447
9448         Make Lisp_Object sizeof methods be alignment-correct.
9449         pdump must restore objects to the same alignment as the C compiler
9450         assumes.  It really matters on SGIs.
9451         * lstream.c (aligned_sizeof_lstream): New.
9452         (sizeof_lstream): Use aligned_sizeof_lstream.
9453         (Lstream_new): Likewise.
9454         * opaque.c (aligned_sizeof_opaque): New.
9455         (sizeof_opaque): Use aligned_sizeof_opaque.
9456         (make_opaque): Likewise.
9457         * specifier.c (aligned_sizeof_specifier): New.
9458         (sizeof_specifier): Use aligned_sizeof_specifier.
9459         (make_specifier_internal): Likewise.
9460
9461 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9462
9463         * lstream.h (struct lstream): Use max_align_t for trailing data.
9464         * specifier.h (struct Lisp_Specifier): Likewise.
9465
9466 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9467
9468         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9469         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9470         (CCL_SUSPEND): Likewise.
9471         (CCL_INVALID_CMD): Likewise.
9472         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9473         (ccl_driver): Likewise.
9474         (CCL_WRITE_CHAR): Macro hygiene.
9475         (CCL_WRITE_STRING): Macro hygiene.
9476
9477 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9478
9479         Port "portable" dumper to SunOS 4 and HP-UX.
9480         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9481         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9482         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9483
9484 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9485
9486         * lisp.h (ALIGNOF): A better definition for C++.
9487
9488 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9489
9490         Macro hygiene.
9491         Fix printf warnings: int format, long int arg.
9492         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9493         (PUSH_FAILURE_POINT): Use correct printf formats.
9494         (POP_FAILURE_POINT): Use correct printf formats.  
9495         Use do {...} while (0)
9496
9497 2001-01-20  Martin Buchholz <martin@xemacs.org>
9498
9499         * XEmacs 21.2.42 "Poseidon" is released.
9500
9501 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9502
9503         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9504
9505 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9506
9507         De-kludgify FIXED_TYPE free list frobbing.
9508         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9509         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9510         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9511         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9512         * alloc.c (LRECORD_FREE_P): New.
9513         * alloc.c (MARK_LRECORD_AS_FREE): New.
9514         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9515         * alloc.c (STRUCT_FREE_P): Deleted.
9516         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9517         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9518         * alloc.c (STRING_CHARS_FREE_P): New.
9519         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9520         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9521         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9522         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9523         * alloc.c (resize_string): Use new definitions.
9524         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9525         * alloc.c (verify_string_chars_integrity): Use new definitions.
9526         * alloc.c (compact_string_chars): Use new definitions.
9527         * alloc.c: Update monster comments.
9528         * lrecord.h (lrecord_type): Add some new lrecord types for
9529         alloc.c's use.
9530
9531 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9532
9533         Improve alignment hackery.
9534         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9535         (max_align_t): Moved from opaque.h - general purpose.
9536         (ALIGN_PTR): Use size_t, not long.
9537         * opaque.h (max_align_t): Move to lisp.h.
9538
9539 2001-01-18  Norbert Koch  <nk@LF.net>
9540
9541         * gui.h: Fix and add prototypes to fix build problems.
9542
9543 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9544
9545         temacs is going away, so `dump-temacs' is now a bad name.
9546         * .dbxrc (dump-temacs): Rename to `dmp'.
9547         * .gdbinit (dump-temacs): Rename to `dmp'.
9548
9549 2001-01-17  Andy Piper  <andy@xemacs.org>
9550
9551         * glyphs.c (print_image_instance): comment to make martin happy.
9552
9553         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9554         change.
9555
9556         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9557         activation.
9558         (mswindows_tab_control_redisplay): warning suppression.
9559
9560         * glyphs-widget.c (widget_update): re-write to cope with updated
9561         items.
9562         (widget_instantiate): use new gui_item functions.
9563         (tab_control_update): deleted.
9564         (progress_gauge_update): deleted.
9565         (image_instantiator_progress_guage): take out update reference.
9566         (image_instantiator_tree_view): ditto.
9567         (image_instantiator_tab_control): ditto.
9568
9569         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9570         Right the new way.
9571         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9572         return whether anything was changed.
9573         (update_gui_item_keywords): as it sounds.
9574
9575         * gui.h: declare widget_gui_parse_item_keywords.
9576
9577         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9578         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9579
9580 2001-01-17  Martin Buchholz <martin@xemacs.org>
9581
9582         * XEmacs 21.2.41 "Polyhymnia" is released.
9583
9584 2001-01-16  Didier Verna  <didier@xemacs.org>
9585
9586         * glyphs.c (image_instantiate): don't use fallbacks when
9587         instantiating a face's background pixmap by inheritance.
9588
9589 2001-01-14  Mike Sperber <mike@xemacs.org>
9590
9591         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9592         Conditionalize accordingly.
9593
9594 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9595
9596         * dumper.c (pdump_file_get): Fix a compiler warning.
9597
9598 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9599
9600         Make Purify happy when pdumping.
9601         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9602         iniitalizing all bits of new lisp object memory.
9603         * symbols.c (Fmake_local_variable): Likewise.
9604         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9605         * symbols.c (Fdefvaralias): Likewise.
9606         * mule-charset.c (vars_of_mule_charset): Likewise.
9607
9608 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9609         Add the `-nd' flag when running pre-dump operations under the debugger.
9610         * .dbxrc (run-temacs): Add `-nd'.
9611         * .dbxrc (update-elc): Likewise.
9612         * .dbxrc (dump-temacs): Likewise.
9613         * .gdbinit (run-temacs): Likewise.
9614         * .gdbinit (check-temacs): Likewise.
9615         * .gdbinit (update-elc): Likewise.
9616         * .gdbinit (dump-temacs): Likewise.
9617
9618 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9619
9620         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9621         export OBJECT_MODE=64
9622         configure --pdump --use-union-type=no
9623         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9624         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9625
9626         * miscplay.c (sndcnv8U_2mono):
9627         Avoid two uses of `++' in the same expression.
9628         Suppresses a GCC warning.
9629
9630 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9631
9632         Make sure future compilers don't miscompile alloc.c.
9633         * alloc.c:
9634         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9635         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9636
9637 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9638
9639         * dumper.c: A little post-pdump-rename comment fixup.
9640
9641 2001-01-09  Jerry James  <james@eecs.ku.edu>
9642
9643         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9644
9645 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9646
9647         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9648         script:
9649         #!/bin/sh
9650         replace_symbol () {
9651           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9652         }
9653
9654         replace_symbol pdump_wire_lists pdump_weak_object_chains
9655         replace_symbol pdump_wire_list dump_add_weak_object_chain
9656
9657         replace_symbol pdump_wires pdump_root_objects
9658         replace_symbol pdump_wire dump_add_root_object
9659
9660         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9661         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9662
9663         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9664         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9665         replace_symbol dumpstructinfo pdump_root_struct_ptr
9666         replace_symbol dumpstruct dump_add_root_struct_ptr
9667
9668         replace_symbol dumpopaque dump_add_opaque
9669         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9670         replace_symbol dumpopaqueinfos pdump_opaques
9671         replace_symbol dumpopaqueinfo pdump_opaque
9672
9673         replace_symbol nb_structdump nb_root_struct_ptrs
9674         replace_symbol nb_opaquedump nb_opaques
9675
9676         replace_symbol align_table pdump_align_table
9677         replace_symbol dump_header pdump_header
9678
9679         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9680         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9681
9682
9683 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9684
9685         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9686         optimizing bytecount_to_charcount().
9687
9688 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9689
9690         * config.h.in:
9691         (HAVE_DLFCN_H): Removed.
9692         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9693
9694 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9695
9696         Portable dumper maintainability improvements.
9697         * alloc.c (staticpro):
9698         * alloc.c (staticpro_nodump):
9699         * alloc.c (garbage_collect_1):
9700         * alloc.c (reinit_alloc_once_early):
9701         * alloc.c (init_alloc_once_early):
9702         * alloc.c: Move dumper functions to alloc.c.
9703         * dumper.c (pdump_backtrace):
9704         * dumper.c (pdump_dump_structs):
9705         * dumper.c (pdump_dump_opaques):
9706         * dumper.c (pdump_dump_rtables):
9707         * dumper.c (pdump_dump_wired):
9708         * dumper.c (pdump):
9709         * dumper.c (pdump_load_check):
9710         * dumper.c (pdump_load_finish):
9711         * dumper.c (pdump_file_unmap):
9712         * dumper.c (pdump_file_get):
9713         * dumper.c (pdump_resource_free):
9714         * dumper.c (pdump_resource_get):
9715         * dumper.c (pdump_file_free):
9716         * dumper.c (pdump_file_try):
9717         * dumper.c (pdump_load):
9718         Remove fixed size limits on staticpro(), staticpro_nodump(),
9719         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9720         Remove custom code for dumping lrecord_implementations_table - use
9721         dumpopaque instead.
9722         Remove (most of the) custom code for dumping staticpros - dump it
9723         like any other dynarr.
9724
9725         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9726         * dumper.c: Moved functions from alloc.c.
9727         * alloc.c (dumpstruct): Moved to dumper.c.
9728         * alloc.c (dumpopaque): Likewise.
9729         * alloc.c (pdump_wire): Likewise.
9730         * alloc.c (pdump_wire_list): Likewise.
9731
9732         * lisp.h (Dynarr_sizeof): New.
9733         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9734         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9735         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9736
9737         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9738         * lisp.h (dumpopaque): ditto.
9739         * lisp.h (pdump_wire): ditto.
9740         * lisp.h (pdump_wire_list): ditto.
9741
9742 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9743
9744         * make-src-depend (PrintPatternDeps):
9745         Use `sort' to make output independent of perl version.
9746
9747 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9748
9749         Port to Netbsd 1.5.
9750         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9751         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9752
9753 2001-01-03  Didier Verna  <didier@xemacs.org>
9754
9755         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9756         that `focus_frame' is alive before thinking of calling
9757         `redisplay_redraw_cursor' on it.
9758
9759 2001-01-08  Martin Buchholz <martin@xemacs.org>
9760
9761         * XEmacs 21.2.40 is released.
9762
9763 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9764
9765         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9766
9767 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9768
9769         * alloc.c (dbg_valmask): Make const.
9770         * alloc.c (dbg_typemask): Make const.
9771         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9772         * alloc.c (dbg_valbits): Make const.
9773         * alloc.c (dbg_gctypebits): Make const.
9774
9775 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9776
9777         * redisplay-x.c (x_bevel_area):
9778         redisplay.h (struct rune):
9779         Typo fixes in comments.
9780
9781 2001-01-05  Andy Piper  <andy@xemacs.org>
9782
9783         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9784         adjustment.
9785
9786         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9787
9788 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9789
9790         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9791
9792         * mule-ccl.c (stack_idx_of_map_multiple):
9793         Non const global data must not be initialized!
9794         Found by MIYASHITA Hisashi.
9795
9796 2001-01-02  Andy Piper  <andy@xemacs.org>
9797
9798         * frame.c (change_frame_size): make sure frame size is always
9799         marked as changed.
9800
9801         * glyphs.c (image_instance_layout): minor code reuse.
9802
9803         * window.c (Fcurrent_window_configuration): revert previous
9804         change.
9805
9806 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9807
9808         * glyphs.h:
9809         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9810
9811 2000-12-31  Andy Piper  <andy@xemacs.org>
9812
9813         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9814         when widget gets unmapped.
9815
9816         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9817         function. Make sure widgets losing focus don't just drop it.
9818         (handle_focus_event_1): record the widget with focus.
9819
9820 2000-12-31  Andy Piper  <andy@xemacs.org>
9821
9822         * window.c (allocate_window): use
9823         make_image_instance_cache_hash_table.
9824         (make_dummy_parent): ditto.
9825         (Fset_window_configuration): ditto.
9826
9827         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9828
9829         * glyphs.c (process_image_string_instantiator): use
9830         INSTANTIATOR_TYPE.
9831         (get_image_instantiator_governing_domain): ditto.
9832         (normalize_image_instantiator): ditto.
9833         (instantiate_image_instantiator): ditto.
9834         (make_image_instance_1): ditto.
9835         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9836         (instantiator_eq_equal): new function for use with instance hash
9837         tables.
9838         (instantiator_eq_hash): ditto.
9839         (make_image_instance_cache_hash_table): create a suitable hash
9840         table for storing image instances.
9841
9842         * elhash.h (hash_table_weakness): new internal weakness type
9843         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9844         declare new functions.
9845
9846         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9847         another weakness type for glyphs.
9848         (make_standard_lisp_hash_table): new function split out from
9849         make_general_lisp_hash_table.
9850         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9851         (hash_table_instantiate): ditto.
9852         (Fmake_hash_table): ditto.
9853
9854 2000-12-31  Martin Buchholz <martin@xemacs.org>
9855
9856         * XEmacs 21.2.39 is released.
9857
9858 2000-12-29  Andy Piper  <andy@xemacs.org>
9859
9860         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9861
9862         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9863         the frame has changed so that we pick up geometry changes such as
9864         menubar visibility.
9865
9866 2000-12-28  Andy Piper  <andy@xemacs.org>
9867
9868         * lastfile.c (my_ebss): make a char array so we can pad the
9869         bss. Fixes cygwin unexec.
9870
9871         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9872
9873 2000-12-26  Andy Piper  <andy@xemacs.org>
9874
9875         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9876         comments and try and be more precise about a non-/SIGIO world.
9877         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9878         SIGIO.
9879
9880         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9881         we don't normalize to zero width or height.
9882
9883 2000-12-24  Andy Piper  <andy@xemacs.org>
9884
9885         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9886
9887 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9888
9889         * s/sco5.h: SCO 5 has pty support.
9890
9891 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9892
9893         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9894         input-method-xlib.c contains whole contents of input-method-xfs.c,
9895         so we can use input-method-xlib.c's code for USE_XFONTSET
9896         using #ifdefs.
9897         * input-method-xfs.c: removed.
9898
9899 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9900
9901         * file-coding.h (enum coding_category_type): reorder enumerators to
9902         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9903         (now one greater than largest real coding_category_type enumerator).
9904         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9905         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9906         Fcoding_category_list, Fset_coding_priority_list,
9907         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9908         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9909
9910 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9911
9912         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9913         * redisplay-output.c (redisplay_output_window): Clear top of window
9914         when face is changed.
9915         * redisplay-x.c (x_redraw_exposed_window): Call
9916         redisplay_clear_top_of_window.
9917         * redisplay.h: Publish redisplay_clear_top_of_window.
9918
9919 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9920
9921         * buffer.c (Fkill_buffer): Map over all devices.
9922         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9923         (list_windows): New function.
9924         (list_all_windows): Ditto.
9925         (Freplace_buffer_in_windows): Use them.
9926
9927 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9928
9929         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9930         (Fopen_database): Use `db_create' instead of `db_open'.
9931         (syms_of_database): Initialize Qqueue.
9932
9933 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9934
9935         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9936         buffer_local_face_property.
9937         * buffer.h (struct buffer): New member buffer_local_face_property.
9938         * window.c (Fset_window_buffer):  Mark window's face as changed
9939         when buffer has buffer local face.
9940         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9941         * objects.c (color_after_change): Set buffer_local_face_property
9942         when locale of face specifier is buffer.
9943         * objects.c (font_after_change): Ditto.
9944         * objects.c (face_boolean_after_change): Ditto.
9945         * glyphs.c (image_after_change): Ditto.
9946
9947 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9948
9949         * nt.c (mswindows_fstat): Report file permissions, volume serial
9950         number, etc. Code adapted from FSF Emacs 20.7.
9951
9952 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9953
9954         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9955         of stat when we don't have symbolic links, to make sure
9956         mswindows_stat is called on mswindows.
9957
9958 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9959
9960         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9961
9962 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9963
9964         * doprnt.c (emacs_doprnt_1): More printing fixes.
9965         Make printing of numbers compatible with libc and FSF Emacs.
9966         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9967         Use the system printf to do most of the hard work of formatting,
9968         instead of doprnt_1().
9969         Calculate memory to allocate for format string.
9970         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9971         (doprnt_1): Cleaner code and documentation.
9972
9973 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9974
9975         * Makefile.in.in: Use the loop variable to install headers.
9976
9977 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9978
9979         * window.c (Fsplit_window): Don't invalidate face cache.
9980
9981 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9982
9983         * minibuf.c (Fall_completions): Undo the previous change
9984         which removed checking elements start with space.
9985
9986 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9987
9988         * mule-canna.c: Didier suppression.
9989
9990 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9991
9992         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9993         (warning suppression).  Add English comment translations.
9994
9995 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9996
9997         * unexelfsgi.c (unexec): Better test for mmap failure.
9998
9999 2000-12-05  Martin Buchholz <martin@xemacs.org>
10000
10001         * XEmacs 21.2.38 is released.
10002
10003 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10004
10005         * redisplay.c (bar-cursor): Make a user variable.
10006
10007         * symsinit.h: Add init_postgresql_from_environment.
10008
10009 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10010
10011         * regex.c: Convert to clean C.
10012
10013 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10014
10015         * realpath.c:
10016         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10017         initialization.
10018         (sys_readlink): renamed to system_readlink to avoid conflict with
10019         the other sys_readlink.
10020
10021 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10022
10023         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10024
10025 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10026
10027         * postgresql.c (init_postgresql_from_environment): new function.
10028         (vars_of_postgresql): Move code initializing Lisp variables out and
10029         into init_postgresql_from_environment.
10030         emacs.c (main_1): Call init_postgresql_from_environment if and only
10031         if running a dumped XEmacs.
10032
10033 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10034
10035         * buffer.c: Make find-file-compare-truenames default to true on
10036         windows.
10037
10038         * realpath.c (win32_abs_start):
10039         (cygwin_readlink):
10040         (win32_readlink): New functions.
10041         (xrealpath): Return really real filenames on windows.
10042
10043         * fileio.c (Ffile_truename): Make file-truename work on windows.
10044
10045 2000-11-29  Didier Verna  <didier@xemacs.org>
10046
10047         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10048         * faces.c (update_face_cachel_data): use it.
10049         * faces.c (add_face_cachel): use it. Complete background pixmap
10050         frobbing in face cache if `update_face_cachel_data' has not done so.
10051
10052 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10053
10054         * search.c (string_match_1): Don't set last_thing_searched
10055         when search failed.
10056
10057 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10058
10059         * buffer.c: Include casetab.h
10060         (common_init_complex_vars_of_buffer): Use new case-table object.
10061         * buffer.h: Include casetab.h
10062         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10063         (DOWNCASE_TABLE_OF): Ditto.
10064         * bufslots.h: Remove char-tables and add case-table.
10065         * casetab.c: Include casetab.h
10066         (CASE_TABLE_P): Removed.
10067         (mark_case_table): New function.
10068         (allocate_case_table): New function.
10069         (Fcase_table_p): Use new case-table.
10070         (case_table_char): New function.
10071         (Fget_case_table): Ditto.
10072         (Fput_case_table): Ditto.
10073         (Fput_case_table_pair): Ditto.
10074         (Fcopy_case_table): Ditto.
10075         (Fcurrent_case_table): Return case-table.
10076         (Fstandard_case_table): Return case-table.
10077         (Fset_case_table): Fix doc-string.
10078         (set_case_table): Use case-table
10079         (syms_of_casetab): DEFSUBR new functions.
10080         (complex_vars_of_casetab): Set up standard case-table.
10081         * casetab.h: New file.
10082         * editfns.c: Include casetab.h
10083         (Fcompare_buffer_substrings): Use case-table.
10084         * inline.c: Include casetab.h
10085         * lisp.h: Remove bogus extern.
10086         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10087         * search.c: Include casetab.h
10088         (TRANSLATE_ASCII): Removed.
10089         (TRANSLATE): Unconditionally translate character.
10090         (looking_at_1): Use case-table.
10091         (string_match_1): Ditto.
10092         (fast_string_match): Ditto.
10093         (search_command): Ditto.
10094         (search_buffer): Separate boyer_moore.  Check whether
10095         boyer_moore is possible.
10096         (simple_search): New function.
10097         (boyer_moore): Separated from search_buffer. Translate char.
10098
10099 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10100
10101         * regex.c (RE_TR_ASCII): Removed.
10102         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10103         (PATFETCH): Call PATFETCH_RAW.
10104         (PATFETCH_RAW): Fetch Emchar.
10105         (PATUNFETCH): Decrement charptr.
10106         (GET_BUFFER_SPACE): Rename b to buf_end.
10107         (BUF_PUSH): Ditto.
10108         (BUF_PUSH_2): Ditto.
10109         (BUF_PUSH_3): Ditto.
10110         (EXTEND_BUFFER): Ditto.
10111         (SET_LIST_BIT): Ditto.
10112         (regex_compile): Ditto.  Translate non ASCII char.
10113         (compile_range): Ditto.
10114         (re_search_2): Ditto.
10115         (re_match_2_internal): Compare Emchar.
10116         (bcmp_translate): Ditto.
10117
10118 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10119
10120         * lisp.h (basic char/int typedefs):  comment improvement.
10121
10122 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10123
10124         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10125         unstomp inhibit_site_lisp.  Improve comments.
10126
10127 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10128
10129         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10130
10131 2000-11-28  Andy Piper  <andy@xemacs.org>
10132
10133         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10134         clipped display for windows in the gutter also.
10135         (redisplay_display_boxes_in_window_p): change semantics of return
10136         codes to be more intuitive.
10137
10138         * gutter.h: declare display_boxes_in_gutter_p.
10139
10140         * gutter.c (display_boxes_in_gutter_p): new function for
10141         redisplay.
10142
10143 2000-11-22  Andy Piper  <andy@xemacs.org>
10144
10145         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10146         autodetect domain.
10147
10148 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10149
10150         * callproc.c (Fold_call_process_internal):
10151         * gpm.c (Freceive_gpm_event):
10152         (tty_get_foreign_selection): Might be just warning supression.
10153         * fileio.c (Fwrite_region_internal):
10154         (Fset_visited_file_modtime):
10155         * keymap.c (event_matches_key_specifier_p):
10156         Initialize GCPROed variable.
10157
10158         * menubar-x.c (command_builder_find_menu_accelerator):
10159         Initialize before use.
10160
10161 2000-11-23  Andy Piper  <andy@xemacs.org>
10162
10163         * unexcw.c (unexec): make the resulting executable executable.
10164
10165 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10166
10167         * doc.c (get_doc_string):
10168         Use size_t, not int, for result of XSTRING_LENGTH.
10169
10170         * cmds.c (Fdelete_char):
10171         * cmds.c (Fpoint_at_eol):
10172         * cmds.c (Fself_insert_command):
10173         Use EMACS_INT, not int, for result of XINT.
10174         Someday, someone will want to insert more than 2**31 identical characters.
10175
10176         * cmds.c (Fdelete_char):
10177         * cmds.c (Fdelete_backward_char):
10178         * syntax.c (Fforward_word):
10179         * syntax.c (Fforward_comment):
10180         Make COUNT argument optional, for consistency with forward-char et al.
10181
10182 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10183
10184         * lisp.h:
10185         * print.c (long_to_string):
10186         Return a useful value: the pointer at end of data written.
10187
10188         * doprnt.c:
10189         Use `static const char * const' for constant strings.
10190         (union printf_arg): Delete `i', `ui' members.
10191         (get_doprnt_args):
10192         (emacs_doprnt_1):
10193         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10194         Do all printf-ing via the `l' specifier.
10195         Use EMACS_INT instead of int.
10196         Optimize.
10197
10198 2000-11-20  Didier Verna  <didier@xemacs.org>
10199
10200         * faces.c (update_face_cachel_data): don't frob the background
10201         pixmap when the window is being created. The face is needed but
10202         does not exist yet.
10203
10204 2000-11-20  Andy Piper  <andy@xemacs.org>
10205
10206         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10207         messing with a debug environment.
10208
10209 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10210
10211         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10212
10213 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10214
10215         * casetab.c (Fcase_table_p): Fix compile error and crash.
10216
10217 2000-11-18  Philip Aston  <philipa@mail.com>
10218
10219         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10220
10221 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10222
10223         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10224         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10225
10226 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10227
10228         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10229         * unexelf.c: Use HAVE_ELF_H.
10230         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10231         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10232         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10233         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10234         for testing.
10235         So this is an unexelfsgi.c from a different line of development.
10236
10237 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10238
10239         * regex.c (RE_TR_ASCII): New function.
10240         (RE_TRANSLATE): Call it.
10241
10242 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10243
10244         * buffer.h (TRT_TABLE_OF): Remove assert.
10245         (IN_TRT_TABLE_DOMAIN): Removed.
10246
10247 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10248
10249         * free-hook.c (log_gcpro):
10250         (show_gcprohist): Add support for GCPRO5.
10251
10252 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10253
10254         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10255
10256 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10257
10258         * symeval.h: Declare flush_all_buffer_local_cache.
10259
10260         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10261         (flush_buffer_local_cache): Added.
10262         (flush_all_buffer_local_cache): Added.
10263
10264         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10265
10266         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10267         (pdump_dump_data): Ditto.
10268         (pdump_reloc_one): Ditto.
10269         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10270         before dumping.
10271
10272
10273 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10274
10275         * buffer.c: Remove if 0'ed entry.
10276         * buffer.h: Rewrite TRT to use char-table.
10277         * bufslots.h: Remove mirror tables.
10278         * casetab.c: Remove mirror tables.
10279         (CASE_TABLE_P): New macro.
10280         (Fcase_table_p): Element of a case table is string or char-table.
10281         (make_mirror_trt_table): Removed.
10282         (set_case_table): Setup char-table from strings for backward
10283         compatibility.
10284         * dired.c (Fdirectory_files):
10285         * dired-msw.c: (mswindows_get_files):
10286         * lisp.h: Change prototype of re_pattern_buffer.
10287         * regex.c: (RE_TRANSLATE): New macro.
10288         (TRANSLATE_P): Ditto.
10289         Change translate to type RE_TRANSLATE_TYPE.
10290         * regex.h: Define RE_TRANSLATE_TYPE
10291         * search.c (TRANSLATE): New macro.
10292         (TRANSLATE_ASCII): New macro.
10293         Translate table is changed to Lisp_Object.
10294         (signal_failure): Inhibit return.
10295
10296 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10297
10298         * device-msw.c:
10299         * eldap.c:
10300         * event-Xt.c:
10301         * event-stream.c:
10302         * print.c:
10303         Do UNGCPRO before return.
10304
10305 2000-11-14  Martin Buchholz <martin@xemacs.org>
10306
10307         * XEmacs 21.2.37 is released.
10308
10309 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10310
10311         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10312         Add comments about discarded return value.
10313
10314 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10315
10316         * callint.c:
10317         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10318
10319 2000-10-27  Andy Piper  <andy@xemacs.org>
10320
10321         * gutter.c (Fset_default_gutter_position): default left and right
10322         gutters to visible.
10323         (calculate_gutter_size): calculate resonable heuristic for left
10324         and right gutter sizes.
10325         (specifier_vars_of_gutter): change left and right gutter sizes to
10326         autodetect.
10327         (calculate_gutter_size_from_display_lines): new function.
10328         (output_gutter): check for resizing on left and right gutters.
10329         (clear_gutter): don't special case top and left gutters.
10330         (specifier_vars_of_gutter): use new signature for
10331         set_specifier_caching.
10332
10333         * glyphs-x.c (x_redisplay_widget): spelling fix.
10334         * glyphs.c (specifier_vars_of_glyphs):
10335         * menubar.c (specifier_vars_of_menubar):
10336         * redisplay.c (specifier_vars_of_redisplay):
10337         * toolbar.c (specifier_vars_of_toolbar):
10338         * window.c (specifier_vars_of_window):
10339         * scrollbar.c (specifier_vars_of_scrollbar):
10340         (complex_vars_of_scrollbar): use new signature for
10341         set_specifier_caching.
10342
10343         * specifier.c (set_specifier_caching): include recompute flag.
10344         (recompute_one_cached_specifier_in_window): always recompute if
10345         flag set.
10346         (recompute_one_cached_specifier_in_frame): ditto.
10347
10348         * specifier.h (struct specifier_caching): add recompute flag.
10349
10350 2000-10-24  Andy Piper  <andy@xemacs.org>
10351
10352         * unexcw.c (copy_executable_and_dump_data_section): add new
10353         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10354         5.0 happy.
10355
10356 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10357
10358         * console-x.h (x_device): New member modifier_release_time.
10359         * event-Xt.c (x_handle_sticky_modifiers):
10360         Bound interval modifier keys are sticky.
10361         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10362         * events.h: extern it.
10363
10364 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10365
10366         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10367
10368 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10369
10370         * event-stream.c (execute_command_event): Preserve current_events
10371         and the like when event is misc-user-event.
10372         Inhibit quit during the call to maybe_echo_keys.
10373
10374 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10375
10376         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10377         symlink when buffer is killed.
10378         (inhibit_clash_detection): New variable.
10379
10380 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10381
10382         * console.c (Fset_input_method): Trigger redisplay on tty.
10383
10384 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10385
10386         * process.c (Fprocess_status): Revert to previous behavior:
10387         (process-status "nosuchprocess") ==> nil
10388
10389 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10390
10391         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10392         Work around another GCC 2.95.2 optimizer bug.
10393
10394 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10395
10396         * process.c (Fget_process): Use LIST_LOOP_2.
10397         (kill_buffer_processes): Use LIST_LOOP_2.
10398
10399         * minibuf.c (Fall_completions):
10400         Delete old non-functional code for FSF fourth argument.
10401
10402         * frame.c (frame_matches_frame_spec):
10403         Renamed from `frame_matches_frametype'.  Update all callers.
10404         (device_matches_device_spec):
10405         Renamed from 'device_matches_console_spec'.  Update all callers.
10406
10407         * doc.c (Fsubstitute_command_keys):
10408         Remove buffer overflow crash.  Small code cleanups.
10409
10410         * casetab.c (check_case_table): Simpler code.
10411
10412         * window.c (Freplace_buffer_in_windows):
10413         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10414         (and similar implementation) as Fdelete_windows_on.
10415         Update all callers.
10416
10417         * alloc.c (Fmake_list):
10418         * alloc.c (make_vector):
10419         * alloc.c (Fmake_vector):
10420         * alloc.c (make_bit_vector):
10421         * alloc.c (Fmake_bit_vector):
10422         * alloc.c (Fbit_vector):
10423         * alloc.c (Fmake_string):
10424         * alloc.c (Fpurecopy):
10425         * alloc.c (Fmemory_limit):
10426         * buffer.c:
10427         * buffer.c (Fget_buffer):
10428         * buffer.c (Fkill_buffer):
10429         * buffer.c (complex_vars_of_buffer):
10430         * bytecode.c (Fcompiled_function_stack_depth):
10431         * callint.c (Fprefix_numeric_value):
10432         * event-stream.c:
10433         * event-stream.c (Fread_key_sequence):
10434         * casetab.c:
10435         * casetab.c (Fcase_table_p):
10436         * casetab.c (check_case_table):
10437         * casetab.c (Fset_case_table):
10438         * casetab.c (Fset_standard_case_table):
10439         * chartab.c:
10440         * chartab.c (Fchar_table_type):
10441         * chartab.c (Freset_char_table):
10442         * chartab.c (Fget_char_table):
10443         * chartab.c (Fget_range_char_table):
10444         * chartab.c (Fput_char_table):
10445         * chartab.c (Fmap_char_table):
10446         * chartab.c (Fcategory_table_p):
10447         * chartab.c (Fcheck_category_at):
10448         * chartab.c (Fchar_in_category_p):
10449         * chartab.c (Fcategory_table):
10450         * chartab.c (Fcopy_category_table):
10451         * chartab.c (Fset_category_table):
10452         * chartab.c (Fcategory_designator_p):
10453         * chartab.c (Fcategory_table_value_p):
10454         * cmds.c (Fdelete_char):
10455         * cmds.c (Fdelete_backward_char):
10456         * cmds.c (Fself_insert_command):
10457         * cmds.c (Fself_insert_internal):
10458         * console.c (Fvalid_console_type_p):
10459         * console.c (Fcdfw_console):
10460         * console.c (Fconsole_type):
10461         * console.c (Fconsole_name):
10462         * console.c (Fconsole_device_list):
10463         * console.c (Fconsole_on_window_system_p):
10464         * data.c:
10465         * data.c (Feq):
10466         * data.c (Fold_eq):
10467         * data.c (Fsubr_interactive):
10468         * data.c (Fchar_to_int):
10469         * data.c (Fint_to_char):
10470         * data.c (Fsetcar):
10471         * data.c (Fsetcdr):
10472         * data.c (Fnumber_to_string):
10473         * data.c (Fstring_to_number):
10474         * data.c (Frem):
10475         * database.c (mark_database):
10476         * database.c (finalize_database):
10477         * database.c (Fdatabase_live_p):
10478         * database.c (Fdatabasep):
10479         * device-x.c (Fx_get_resource):
10480         * device.c (Fdfw_device):
10481         * dired.c:
10482         * dired.c (Ffile_name_completion):
10483         * dired.c (Ffile_name_all_completions):
10484         * dired.c (Fuser_name_completion):
10485         * dired.c (Fuser_name_completion_1):
10486         * dired.c (Fuser_name_all_completions):
10487         * doc.c (Fdocumentation):
10488         * doc.c (Fdocumentation_property):
10489         * doc.c (Fsubstitute_command_keys):
10490         * editfns.c:
10491         * editfns.c (Fchar_to_string):
10492         * editfns.c (Fstring_to_char):
10493         * editfns.c (Ftemp_directory):
10494         * editfns.c (Finsert_char):
10495         * editfns.c (Fbuffer_substring_no_properties):
10496         * editfns.c (Fnarrow_to_region):
10497         * editfns.c (Fchar_equal):
10498         * editfns.c (Fchar_Equal):
10499         * editfns.c (Ftranspose_regions):
10500         * emacs.c (Fdump_emacs):
10501         * eval.c (Fthrow):
10502         * eval.c (Fcommand_execute):
10503         * eval.c (Fautoload):
10504         * eval.c (Fbacktrace):
10505         * eval.c (Fbacktrace_frame):
10506         * events.c:
10507         * events.c (Fcopy_event):
10508         * events.c (Fcharacter_to_event):
10509         * events.c (Fevent_button):
10510         * events.c (Fevent_process):
10511         * extents.c:
10512         * extents.c (Fnext_extent_change):
10513         * extents.c (Fextent_property):
10514         * faces.c (Ffacep):
10515         * faces.c (Fmake_face):
10516         * file-coding.c:
10517         * file-coding.c (Fencode_shift_jis_char):
10518         * file-coding.c (Fencode_big5_char):
10519         * fileio.c (Ffile_name_directory):
10520         * fileio.c (Ffile_name_nondirectory):
10521         * fileio.c (Ffile_name_as_directory):
10522         * fileio.c (Fdirectory_file_name):
10523         * fileio.c (Ffile_truename):
10524         * fileio.c (Fsubstitute_in_file_name):
10525         * fileio.c (Ffile_modes):
10526         * fileio.c (Fset_file_modes):
10527         * fileio.c (Fset_default_file_modes):
10528         * fileio.c (Fverify_visited_file_modtime):
10529         * floatfns.c (Facos):
10530         * floatfns.c (Fasin):
10531         * floatfns.c (Fatan):
10532         * floatfns.c (Fcos):
10533         * floatfns.c (Fsin):
10534         * floatfns.c (Ftan):
10535         * floatfns.c (Fbessel_j0):
10536         * floatfns.c (Fbessel_j1):
10537         * floatfns.c (Fbessel_jn):
10538         * floatfns.c (Fbessel_y0):
10539         * floatfns.c (Fbessel_y1):
10540         * floatfns.c (Fbessel_yn):
10541         * floatfns.c (Ferf):
10542         * floatfns.c (Ferfc):
10543         * floatfns.c (Flog_gamma):
10544         * floatfns.c (Fexp):
10545         * floatfns.c (Fexpt):
10546         * floatfns.c (Flog):
10547         * floatfns.c (Flog10):
10548         * floatfns.c (Fsqrt):
10549         * floatfns.c (Fcube_root):
10550         * floatfns.c (Facosh):
10551         * floatfns.c (Fasinh):
10552         * floatfns.c (Fatanh):
10553         * floatfns.c (Fcosh):
10554         * floatfns.c (Fsinh):
10555         * floatfns.c (Ftanh):
10556         * floatfns.c (Fabs):
10557         * floatfns.c (Ffloat):
10558         * floatfns.c (Flogb):
10559         * floatfns.c (Fceiling):
10560         * floatfns.c (Ffloor):
10561         * floatfns.c (Fround):
10562         * floatfns.c (Ftruncate):
10563         * floatfns.c (Ffceiling):
10564         * floatfns.c (Fffloor):
10565         * floatfns.c (Ffround):
10566         * floatfns.c (Fftruncate):
10567         * fns.c (Fstring_equal):
10568         * fns.c (Fstring_lessp):
10569         * fns.c (concat2):
10570         * fns.c (concat3):
10571         * fns.c (vconcat2):
10572         * fns.c (vconcat3):
10573         * fns.c (Fsubstring):
10574         * fns.c (Fassoc):
10575         * fns.c (Fold_assoc):
10576         * fns.c (assoc_no_quit):
10577         * fns.c (Fassq):
10578         * fns.c (Fold_assq):
10579         * fns.c (assq_no_quit):
10580         * fns.c (Frassoc):
10581         * fns.c (Fold_rassoc):
10582         * fns.c (Frassq):
10583         * fns.c (Fold_rassq):
10584         * fns.c (rassq_no_quit):
10585         * fns.c (Fremassoc):
10586         * fns.c (remassoc_no_quit):
10587         * fns.c (Fremassq):
10588         * fns.c (remassq_no_quit):
10589         * fns.c (Fremrassoc):
10590         * fns.c (Fremrassq):
10591         * fns.c (remrassq_no_quit):
10592         * fns.c (Fsort):
10593         * fns.c (Fplist_get):
10594         * fns.c (Fplist_put):
10595         * fns.c (Fplist_remprop):
10596         * fns.c (Fplist_member):
10597         * fns.c (Flax_plist_get):
10598         * fns.c (Flax_plist_put):
10599         * fns.c (Flax_plist_remprop):
10600         * fns.c (Flax_plist_member):
10601         * fns.c (Fequal):
10602         * fns.c (Fold_equal):
10603         * fns.c (Frequire):
10604         * fns.c (Fbase64_encode_region):
10605         * fns.c (Fbase64_encode_string):
10606         * fns.c (Fbase64_decode_region):
10607         * frame.c:
10608         * frame.c (frame_matches_frame_spec):
10609         * frame.c (device_matches_device_spec):
10610         * frame.c (next_frame):
10611         * frame.c (previous_frame):
10612         * frame.c (Fnext_frame):
10613         * frame.c (Fprevious_frame):
10614         * frame.c (Fframe_property):
10615         * frame.c (Fset_frame_height):
10616         * frame.c (Fset_frame_size):
10617         * frame.h:
10618         * glyphs.c:
10619         * glyphs.c (if):
10620         * glyphs.c (decode_error_behavior_flag):
10621         * glyphs.c (Fmake_image_instance):
10622         * indent.c (Findent_to):
10623         * intl.c (Fignore_defer_gettext):
10624         * keymap.c (Fkeymapp):
10625         * keymap.c (Flookup_key):
10626         * lread.c:
10627         * lread.c (Fload_internal):
10628         * lread.c (Feval_buffer):
10629         * lread.c (Feval_region):
10630         * macros.c (Fexecute_kbd_macro):
10631         * marker.c (set_marker_internal):
10632         * marker.c (Fset_marker):
10633         * marker.c (set_marker_restricted):
10634         * marker.c (Fcopy_marker):
10635         * marker.c (noseeum_copy_marker):
10636         * menubar.c:
10637         * menubar.c (Fpopup_menu):
10638         * minibuf.c:
10639         * mule-charset.c (Fcharset_name):
10640         * mule-charset.c (Fchar_charset):
10641         * mule-charset.c (Fchar_octet):
10642         * mule-charset.c (Fsplit_char):
10643         * mule-wnnfns.c (Fwnn_open):
10644         * mule-wnnfns.c (Fwnn_dict_comment):
10645         * mule-wnnfns.c (Fwnn_quit_henkan):
10646         * mule-wnnfns.c (Fwnn_word_toroku):
10647         * mule-wnnfns.c (Fwnn_word_sakujo):
10648         * mule-wnnfns.c (Fwnn_word_use):
10649         * mule-wnnfns.c (Fwnn_hindo_set):
10650         * objects.c:
10651         * objects.c (Fmake_color_instance):
10652         * objects.c (Fmake_font_instance):
10653         * print.c (Fwrite_char):
10654         * process.c:
10655         * process.c (mark_process):
10656         * process.c (print_process):
10657         * process.c (get_process_from_usid):
10658         * process.c (Fprocessp):
10659         * process.c (Fprocess_live_p):
10660         * process.c (Fget_process):
10661         * process.c (Fget_buffer_process):
10662         * process.c (get_process):
10663         * process.c (Fprocess_id):
10664         * process.c (Fprocess_name):
10665         * process.c (Fprocess_command):
10666         * process.c (init_process_io_handles):
10667         * process.c (start_process_unwind):
10668         * process.c (Fstart_process_internal):
10669         * process.c (Fopen_multicast_group_internal):
10670         * process.c (Fset_process_window_size):
10671         * process.c (read_process_output):
10672         * process.c (send_process):
10673         * process.c (Fprocess_tty_name):
10674         * process.c (Fset_process_buffer):
10675         * process.c (Fprocess_buffer):
10676         * process.c (Fprocess_mark):
10677         * process.c (set_process_filter):
10678         * process.c (Fset_process_filter):
10679         * process.c (Fprocess_filter):
10680         * process.c (Fprocess_send_region):
10681         * process.c (Fprocess_send_string):
10682         * process.c (exec_sentinel):
10683         * process.c (Fset_process_sentinel):
10684         * process.c (Fprocess_sentinel):
10685         * process.c (status_notify):
10686         * process.c (Fprocess_status):
10687         * process.c (Fprocess_exit_status):
10688         * process.c (process_send_signal):
10689         * process.c (Fprocess_send_eof):
10690         * process.c (deactivate_process):
10691         * process.c (remove_process):
10692         * process.c (Fdelete_process):
10693         * process.c (kill_buffer_processes):
10694         * process.c (Fprocess_kill_without_query):
10695         * process.c (Fprocess_kill_without_query_p):
10696         * rangetab.c:
10697         * rangetab.c (Fget_range_table):
10698         * rangetab.c (Fput_range_table):
10699         * rangetab.c (Fremove_range_table):
10700         * rangetab.c (Fclear_range_table):
10701         * search.c:
10702         * search.c (Fskip_chars_forward):
10703         * search.c (Fskip_chars_backward):
10704         * search.c (Fskip_syntax_forward):
10705         * search.c (Fskip_syntax_backward):
10706         * search.c (search_command):
10707         * search.c (Freplace_match):
10708         * search.c (Fregexp_quote):
10709         * select.c (Fown_selection_internal):
10710         * select.c (Fselection_owner_p):
10711         * select.c (Fselection_exists_p):
10712         * select.c (Fget_selection_internal):
10713         * specifier.c:
10714         * symbols.c:
10715         * symbols.c (Fintern):
10716         * symbols.c (Fintern_soft):
10717         * symbols.c (Funintern):
10718         * symbols.c (Fapropos_internal):
10719         * symbols.c (Fset_default):
10720         * syntax.c:
10721         * syntax.c (Fsyntax_table_p):
10722         * syntax.c (Fcopy_syntax_table):
10723         * syntax.c (Fset_syntax_table):
10724         * syntax.c (Fchar_syntax):
10725         * syntax.c (syntax_match):
10726         * syntax.c (Fmatching_paren):
10727         * syntax.c (Fforward_word):
10728         * syntax.c (scan_lists):
10729         * syntax.c (Fscan_lists):
10730         * syntax.c (Fscan_sexps):
10731         * syntax.c (Fparse_partial_sexp):
10732         * toolbar.c (Fcheck_toolbar_button_syntax):
10733         * tooltalk.doc:
10734         * window.c:
10735         * window.c (Fwindowp):
10736         * window.c (Fwindow_live_p):
10737         * window.c (Fwindow_point):
10738         * window.c (Fdelete_window):
10739         * window.c (Fnext_window):
10740         * window.c (Fprevious_window):
10741         * window.c (Fother_window):
10742         * window.c (window_loop):
10743         * window.c (Fget_lru_window):
10744         * window.c (Fsplit_window):
10745         * window.c (Fenlarge_window):
10746         * window.c (Fenlarge_window_pixels):
10747         * window.c (Fshrink_window):
10748         * window.c (Fshrink_window_pixels):
10749         * window.c (change_window_height):
10750         * window.c (Fwindow_configuration_p):
10751         * window.c (Fcurrent_window_configuration):
10752         * window.h:
10753         * casefiddle.c (casify_object):
10754         * casefiddle.c (Fupcase):
10755         * casefiddle.c (Fdowncase):
10756         * casefiddle.c (Fcapitalize):
10757         * casefiddle.c (Fupcase_initials):
10758         * casefiddle.c (casify_region_internal):
10759         * casefiddle.c (casify_region):
10760         * casefiddle.c (Fupcase_region):
10761         * casefiddle.c (Fdowncase_region):
10762         * casefiddle.c (Fcapitalize_region):
10763         * casefiddle.c (Fupcase_initials_region):
10764         * casefiddle.c (Fupcase_word):
10765         * casefiddle.c (Fdowncase_word):
10766         * casefiddle.c (Fcapitalize_word):
10767         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10768         Replace 0 with '\0' when working with bytes.
10769         Replace initial "(" with "\(" in docstrings.
10770
10771 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10772
10773         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10774
10775         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10776
10777 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10778
10779         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10780
10781 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10782
10783         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10784         correctly.
10785
10786 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10787
10788         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10789         (inhibit_auto_save_session): New variable.
10790         (vars_of_fileio): Declare and initialize them.
10791         * fileio.c (Fdo_auto_save): Don't create session file if
10792         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10793
10794 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10795
10796         * sgiplay.c (play_internal): C++ compilability.
10797         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10798         * callproc.c (Fold_call_process_internal):
10799         Remove unused vars `env', `first'.
10800         * scrollbar.c (update_scrollbar_instance):
10801         #### unused var `current_window'.
10802         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10803         etc. within #ifdef NOT_YET.
10804         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10805         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10806         * specifier.c (specifier_instance):
10807         #### unused var `tag'.
10808         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10809
10810 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10811
10812         * fns.c (Fbutlast):
10813         * fns.c (list_sort):
10814         * fns.c (Ffillarray):
10815         * fns.c (bytecode_nconc2):
10816         * fns.c (Fnconc):
10817         * fns.c (mapcar1):
10818         * fns.c (Fmapconcat):
10819         Be pedantically 64-bit correct.  For the time when someone will
10820         want to have a list with length > 2**32.
10821
10822         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10823         Work around MIPSpro compiler bug.
10824
10825         * process-unix.c (unix_kill_child_process): Add snarky comment.
10826         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10827
10828         * config.h.in: Oops, _getpt ==> _getpty
10829
10830 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10831
10832         * config.h.in:
10833         * regex.c:
10834         Use void*, not char*, as return type of alloca().
10835
10836         * alloc.c (free_marker): Side effect inside assert expression!
10837
10838 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10839
10840         * mule-charset.c (Fset_charset_ccl_program): To check
10841         if the given ccl program is valid, use setup_ccl_program()
10842         instead of CHECK_VECTOR().
10843         (Fmake_charset): Likewise.
10844
10845 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10846
10847         * faces.c (get_extent_fragment_face_cache_index):
10848         Fix cachel.merged_faces memory leak.
10849
10850 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10851
10852         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10853         Reset MSB of octets obtained by DECODE_SJIS
10854         because of the incompatibility with Emacs.
10855         (ccl_driver)<CCL_ENCODE_SJIS>:
10856         Set MSB of octets before passing them to
10857         ENCODE_SJIS because of the incompatibility
10858         with Emacs.
10859
10860 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10861
10862         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10863         (DECLARE_LRECORD): Undo the last change.
10864         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10865
10866 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10867
10868         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10869         the implementation to lrecord_implementations_table.
10870
10871 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10872
10873         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10874         initial value of `lrecord_type_##c_name' and
10875         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10876         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10877         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10878         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10879         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10880
10881 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10882
10883         * miscplay.c (sndcnv8S_2mono):
10884         (sndcnv2monounsigned):
10885         (sndcnvULaw_2linear):
10886         (sndcnv16swap):
10887         Remove implementation-defined behavior.
10888
10889 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10890
10891         * input-method-xlib.c: Warning suppression.
10892
10893 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10894
10895         * mule-ccl.c: Sync up with Emacs 21.0.90.
10896         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10897         Do nothing.
10898         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10899         Likewise.
10900         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10901         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10902         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10903         leading char belongs to official 2-dimensional charset.
10904         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10905         write the given character as is.  Otherwise,
10906         if it is a multibyte char, convert it by
10907         non_ascii_set_charptr_emchar, then write it.
10908         (CCL_WRITE_STRING): Likewise.
10909         (ccl_get_compiled_code): New function.
10910         (setup_ccl_program): When ccl_prog is invalid,
10911         return -1.
10912         (Fregister_code_conversion_map): New function.
10913         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10914
10915         * mule-ccl.h: Sync up with Emacs 21.0.90.
10916         (Fregister_ccl_program): export it.
10917
10918         * redisplay-msw.c (separate_textual_runs):
10919         If ccl program is not valid, don't do ccl conversion.
10920
10921         * redisplay-x.c (separate_textual_runs): Ditto.
10922
10923         * file-coding.c (Fmake_coding_system):
10924         When type is ccl and value is vector, register it
10925         with a proper symbol.  And checks whether the
10926         given ccl program is valid.
10927         (mule_decode): When calling ccl_driver, if src indicates
10928         NULL pointer, set an empty string instead.
10929         (mule_encode): Likewise.
10930
10931 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10932
10933         The following large batch of changes gets us back to a state of
10934         C++ compilability.  Extbyte is now a char, which means that
10935         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10936
10937         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10938
10939         * sound.c (Fplay_sound): Type correctness.
10940
10941         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10942         (x_get_window_property): Type correctness.
10943         (receive_incremental_selection): unsigned char ==> Extbyte
10944         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10945         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10946         (Fx_store_cutbuffer_internal): Type correctness.
10947
10948         * process-unix.c (try_to_initialize_subtty): Type correctness.
10949
10950         * objects-x.c (x_print_color_instance): Type correctness.
10951         (x_print_font_instance): Type correctness.
10952         (x_list_fonts): SExtbyte ==> Extbyte.
10953         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10954         (x_find_charset_font): SExtbyte ==> Extbyte.
10955         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10956         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10957         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10958         Use bufbyte_strcmp.
10959
10960         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10961         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10962         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10963         (BYTE_C0_P): Use bit ops for char-signedness safety.
10964         (BYTE_C1_P): Use bit ops for char-signedness safety.
10965         (CHARSET_BY_LEADING_BYTE):
10966         (CHARSET_BY_ATTRIBUTES):
10967         Always use inline function.
10968         Use type_checking_assert.
10969         Hide chlook.
10970
10971         * mule-charset.c (non_ascii_charptr_copy_char):
10972         Modify to work with both ASCII and non-ASCII characters.
10973         Improve docs and variable names.
10974         Replace over-clever fall-through switch with a simple loop.
10975         (Lstream_get_emchar_1):
10976         Replace over-clever fall-through switch with a simple loop.
10977
10978         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10979         Warning suppression.
10980
10981         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10982         the return value of Lstream_getc, which could be EOF as well.
10983
10984         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10985
10986         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10987         APIs can be used on Extbytes without casts.  Risky!
10988         (SExtbyte): Remove.
10989         (UExtbyte): Remove.
10990
10991         * input-method-xlib.c (XIM_init_device):
10992         Use Xlib.h instead of IntrinsicP.h.
10993         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10994         which will break in X11R7.
10995         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10996         to call XRegisterIMInstantiateCallback with correct types.
10997
10998         * gui-x.c (button_item_to_widget_value): Type correctness.
10999
11000         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11001
11002         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11003         (xbm_instantiate_1): Type correctness.
11004         (BUILD_GLYPH_INST):  Type correctness.
11005
11006         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11007
11008         * file-coding.c:
11009         (decode_coding_sjis):
11010         (decode_coding_big5):
11011         (decode_coding_ucs4):
11012         (decode_coding_utf8):
11013         (decode_coding_iso2022):
11014         (decode_coding_no_conversion):
11015         Make all decoding functions take an Extbyte * arg.
11016         (encode_coding_sjis):
11017         (encode_coding_big5):
11018         (encode_coding_ucs4):
11019         (encode_coding_utf8):
11020         (encode_coding_iso2022):
11021         (encode_coding_no_conversion):
11022         Make all encoding functions take a Bufbyte * arg.
11023         Use size_t instead of unsigned int for memory sizes.
11024         Only cast to unsigned char whenever dereferencing Extbyte *.
11025
11026         * doc.c (unparesseuxify_doc_string): Type correctness.
11027
11028         * console-x.c (split_up_display_spec):
11029         Rewrite without using details of internal string representation.
11030         (x_semi_canonicalize_device_connection): Type correctness.
11031
11032         * config.h.in:
11033         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11034         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11035         (HAVE_XFREE386): Removed.
11036
11037         * buffer.h (DEC_CHARPTR): `const' correctness.
11038         (bufbyte_strcmp): New.
11039         (bufbyte_memcmp): New.
11040
11041         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11042
11043         * buffer.h (XCHAR_OR_CHAR_INT):
11044         Always use inline function.
11045         Remove redundant type checking assert() - XINT will abort quite nicely.
11046
11047 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11048
11049         * search.c (Freplace_match): Set newtext to an empty string.
11050
11051 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11052
11053         * s/decosf1-3.h: Remove #include of stropts.h
11054         * s/ptx.h: Remove #include of stropts.h
11055         * s/usg5-4.h: Remove #include of stropts.h
11056         * sysproc.h:
11057         * config.h.in:
11058         Use stropts.h, not sys/stropts.h.
11059         Use strtio.h, not sys/strtio.h.
11060
11061 2000-10-04  Martin Buchholz <martin@xemacs.org>
11062
11063         * XEmacs 21.2.36 is released.
11064
11065 2000-09-21  Andy Piper  <andy@xemacs.org>
11066
11067         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11068         changes still involve copying the widget tree.
11069         (update_widget_face): make sure a change is register in the widget
11070         tree. Call update_tab_widget_face appropriately.
11071         (update_tab_widget_face): ditto.
11072         (x_tab_control_redisplay): make sure non-structural changes still
11073         involve copying the widget tree.
11074
11075 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11076
11077         * lread.c (locate_file): Check the path element is non-nil.
11078
11079 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11080
11081         * lisp.h: Warning suppression for SCO compilers.
11082
11083         * redisplay-tty.c (reset_tty_modes): Fix crash.
11084         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11085
11086 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11087
11088         Big signal/process handling overhaul.  Bugs fixed:
11089         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11090         M-x comint-kill-subjob should work for both values nil and t of
11091         process-connection-type. It was broken on most platforms.
11092         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11093         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11094         * process-unix.c: Signal/Process handling overhaul.
11095         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11096         (allocate_pty): Use all available modern methods of allocating
11097         ptys, falling back to old style BSD allocation as a last resort.
11098         Use allegedly more secure Unix98 pty allocation by default.
11099         (allocate_pty_the_old_fashioned_way): New. the last resort.
11100         (unix_create_process): Push ptem, ldterm, ttcompat where
11101         available.  Autoconfiscate.
11102         (try_to_initialize_subtty): New.
11103         (unix_kill_child_process): Proper signal handling for ptys on most
11104         platforms, using special knowledge of AIX, BSD, etc...
11105         (unix_create_process): Always disconnect_controlling_terminal() for
11106         subprocesses, whether using ptys or not.
11107         * process.h: Remove old getpt-dependent PTY code.
11108         * process.c (Fprocess_send_signal): New, obvious generic function.
11109         (decode_signal): New.
11110         (Finterrupt_process):
11111         (Fkill_process):
11112         (Fquit_process):
11113         (Fstop_process):
11114         (Fcontinue_process):
11115         (Fsignal_process): Use decode_signal.
11116         (process_send_signal):
11117         Many docstring corrections.
11118         Allow any signal to be sent to a process object.
11119         * config.h.in: Add symbols for big signal/process overhaul.
11120         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11121         * sysproc.h: Include process-related headers, where available:
11122         sys/stropts.h sys/strtio.h pty.h libutil.h
11123         * s/irix4-0.h:
11124         * s/irix5-0.h:
11125         * s/cygwin32.h:
11126         * s/gnu.h:
11127         * s/linux.h:
11128         * s/hpux.h:
11129         * s/aix3-1.h:
11130         Remove old S&M pty stuff.
11131         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11132         * systty.h: Simplify cpp hackery, improve comments.
11133         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11134
11135         * editfns.c (Fformat_time_string):
11136         Be a little more paranoid with the return value of ctime.
11137
11138         * fileio.c (check_executable):
11139         (check_writable):
11140         Use symbolic constants X_OK, W_OK.
11141
11142         * console-x.c (split_up_display_spec): Fix a warning.
11143
11144 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11145
11146         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11147         * ntproc.c (sys_spawnve): make_string ==> build_string
11148         Small clarity improvements.
11149
11150 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11151
11152         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11153
11154         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11155
11156         * config.h.in (HAVE_STRCASECMP): Remove.
11157
11158 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11159
11160         * redisplay-output.c (redisplay_output_pixmap):
11161         Cleaner and possibly more 64-bit correct code.
11162
11163 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11164
11165         * dumper.c (pdump_load_finish): move restoration of
11166         `noninteractive1' to emacs.c (main_1).
11167         * emacs.c (main_1): protect LISP-visible command-line flags
11168         from pdump_load().
11169
11170 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11171
11172         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11173         DUMP_TARGET instead of literal program names.
11174
11175 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11176
11177         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11178
11179 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11180
11181         * *: Spelling mega-patch
11182
11183 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11184
11185         * fns.c (bad_bad_turtle):
11186         Delete "Eek!" comment, since we fixed the bug to which it refers.
11187
11188 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11189
11190         * alloca.c: Replace REGISTER with register.
11191
11192 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11193
11194         * file-coding.c (ucs_to_char): Use countof.
11195
11196 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11197
11198         * file-coding.c: (ucs_to_char):
11199         (complex_vars_of_file_coding):
11200         Use countof instead of sizeof.
11201         Use CHECK_NATNUM instead of CHECK_INT.
11202
11203         * sysdep.c (strcasecmp): Remove.
11204         * device-x.c (ascii_strcasecmp): New.
11205         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11206         Avoid using non-standard non-portable strcasecmp.
11207
11208 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11209
11210         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11211         * font-lock.c: remove reference to emacsfns.h.
11212         * search.c: small doc improvement.
11213         * event-Xt.c: correct file names in comments.
11214         * console-x.h Correct file names in comments.
11215         * frame.c: Correct file names in comments.
11216         * event-stream.c: remove Energize from comments.
11217
11218 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11219
11220         * symeval.h (DEFERROR_STANDARD):
11221         (DEFERROR):
11222         (DEFSYMBOL):
11223         (DEFSYMBOL_NO_DUMP):
11224         (DEFSYMBOL_MULTIWORD_PREDICATE):
11225         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11226         (DEFKEYWORD):
11227         The construct &##name is not sensible C.
11228         Fixes compilation errors with Unixware native compiler.
11229
11230 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11231
11232         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11233         (next_frame_internal): Removed.  We now just have next_frame.
11234         (next_frame):
11235         Write a simpler and cleaner one-pass algorithm.
11236         Remove called_from_delete_device arg and #ifdefed-out code.
11237         (previous_frame):
11238         Renamed from prev_frame.  Update callers.
11239         Cleaned up to have an analogous implementation to next_frame.
11240         (other_visible_frames_internal): Remove the
11241         called_from_delete_device bogus arg, and hence, remove this
11242         function.  Just use other_visible_frames().
11243
11244         * window.c (Fnext_window):
11245         Prettify docstring.
11246         Since next_frame() is guaranteed to return a frame, remove check
11247         for nil inserted in previous patch.
11248         (Fprevious_window):
11249         Prettify docstring.
11250         Make code look more like Fnext_window.
11251         (window_loop):
11252         Respect the `console' arg when iterating through windows.
11253         Fixes bug: (get-buffer-window buffer t device) not respecting
11254         the `device' arg.
11255         This function needs more work, as others have pointed out.
11256
11257         * frame.h: Rename prev_frame to previous_frame.
11258         device_matches_console_spec no longer takes a `frame' arg.
11259
11260         * s/gnu.h:
11261         * s/linux.h:
11262         * s/hpux.h:
11263         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11264         From "Golubev I. N." <gin@mo.msk.ru>.
11265
11266         * make-src-depend: Fix typo.
11267
11268 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11269
11270         * window.c (Fnext_window):
11271         next_frame() might return nil, not a frame.
11272         Fixes this crash:
11273         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11274
11275         * frame.c (next_frame_internal):
11276         We've passed a frame if we've passed its device.
11277         Fixes this crash:
11278         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11279 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11280
11281 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11282
11283         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11284         Allow option to suppress accelerators in menu/dialog items.
11285         (populate_or_checksum_helper): Pass dialog title through above.
11286
11287 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11288
11289         * event-msw.c (mswindows_key_to_emacs_keysym):
11290         Add "pause" key, fix "menu" key.
11291
11292 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11293
11294         * eval.c (reinit_vars_of_eval):
11295         Increase max_lisp_eval_depth to 1000,
11296         required for thai-xtis.el to byte-compile under some circumstances.
11297
11298 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11299
11300         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11301         From Kenichi Handa.
11302
11303 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11304
11305         * make-src-depend: Make the generated Makefiles smaller.
11306
11307         * s/hpux.h (SETUP_SLAVE_PTY):
11308         Provide a %d in the format string for the errno argument.
11309
11310         * editfns.c (Ftemp_directory):
11311         Warning fix.
11312         Avoid buffer overrun on very long file name.
11313
11314         * input-method-xlib.c (XIM_init_device):
11315         6th parameter of XRegisterIMInstantiateCallback has different
11316         pointer types on different OSes, so simply cast to (void *).
11317
11318         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11319
11320         * sysdll.c (dll_open):
11321         shl_load will hang hard if passed a NULL filename.
11322         Simply return NULL for compatibility with dlopen.
11323         * sysdll.c: Conform to XEmacs coding standards.
11324
11325         * sysdep.c (get_pty_max_bytes):
11326         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11327
11328 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11329
11330         * tooltalk.c: Add #include <syssignal.h>
11331
11332 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11333
11334         * s/hpux.h: Don't use undefined function sigunblock().
11335
11336 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11337
11338         * config.h.in: Add HAVE_BALLOON_HELP.
11339         * emacs.c: Use HAVE_BALLOON_HELP.
11340         * Makefile.in.in (x_objs):
11341         Make Balloon Help conditional on finding shape.h.
11342
11343 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11344
11345         * syntax.c (regex_emacs_buffer_p): New variable.
11346         * syntax.h (regex_emacs_buffer_p): extern.
11347         * search.c (looking_at_1):
11348         (string_match_1):
11349         (fast_string_match):
11350         (search_buffer): Set regex_emacs_buffer_p.
11351         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11352         when before_dot, at_dot, after_dot.
11353
11354 2000-08-23  Andy Piper  <andy@xemacs.org>
11355
11356         * gui-x.c (popup_selection_callback): Only set action_occurred
11357         when we really have an image instance.
11358         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11359
11360 2000-08-23  Andy Piper  <andy@xemacs.org>
11361
11362         * gui-msw.c (mswindows_handle_gui_wm_command): set
11363         action_occurred.
11364         * gui-x.c (popup_selection_callback): ditto.
11365
11366         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11367         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11368         (struct Lisp_Image_Instance): add action_occurred flag.
11369
11370         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11371         (image_instance_changed): ditto.
11372         (reset_frame_subwindow_instance_cache): only unmap windows - do
11373         not remove them from the cache also.
11374
11375         * glyphs-widget.c (tab_control_update): better debug.
11376         (progress_gauge_update): ditto.
11377         (layout_update): ditto.
11378         (layout_instantiate): ditto.
11379         (tab_control_order_only_changed): cope with null pending items.
11380
11381         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11382         debug. Force selection of an item when an action occurred. Cope
11383         with null pending_items.
11384         (mswindows_progress_gauge_redisplay): better debug.
11385         * glyphs-x.c (x_tab_control_redisplay): ditto.
11386
11387         * redisplay.c (redisplay_frame): reset the frame cache if the
11388         frame is garbaged.
11389
11390         * window.c (Fset_window_configuration): potentially re-enable
11391         frame cache reset.
11392         (window_unmap_subwindows): need to finalize instances here since
11393         it is only used in mark_window_as_deleted.
11394
11395 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11396
11397         * nas.c (SndOpenDataForReading):
11398         nas.c (WaveOpenDataForReading):
11399         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11400         Somehow escaped from the 2000-08-14 patch.
11401
11402 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11403
11404         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11405         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11406
11407 2000-08-21  Andy Piper  <andy@xemacs.org>
11408
11409         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11410         window if it is not already displayed.
11411
11412         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11413         it is not already displayed.
11414
11415         * window.c (Fset_window_configuration): don't reset the frame
11416         cache.
11417
11418         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11419         instances from the frame cache if we are actually finalizing them.
11420         (reset_frame_subwindow_instance_cache): reset frame cache only
11421         after unmapping everything.
11422         (map_subwindow): set displayed flag after mapping.
11423
11424 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11425
11426         * data.c (indirect_function):
11427         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11428
11429         * eval.c (function_argcount):
11430         Use original function when signaling errors.
11431
11432 2000-08-18  Andy Piper  <andy@xemacs.org>
11433
11434         * frame.c (delete_frame_internal): use new
11435         free_frame_subwindow_instances name.
11436
11437         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11438         (add_tab_item): make return type correct.
11439         (mswindows_tab_control_instantiate): assert index of tab.
11440         (mswindows_tab_control_redisplay): Re-code to use
11441         gui_item_equal_sans_selected and gui_item_list_find_selected.
11442
11443         * glyphs-widget.c (tab_control_update): Correct comment.
11444
11445         * window.c (window_unmap_subwindows): use new
11446         unmap_subwindow_instance_cache_mapper.
11447         (window_unmap_subwindows_cache_mapper): deleted.
11448         (Fset_window_configuration): comparisons should now be with
11449         EQ. Preserve the subwindow instance cache across configuration
11450         changes.
11451         (allocate_window): ditto.
11452         (make_dummy_parent): ditto.
11453
11454         * glyphs.c (free_frame_subwindow_instances): rename from
11455         free_frame_subwindow_instance_cache. finalize all instances rather
11456         than just those in the display cache.
11457         (finalize_all_subwindow_instances): walk windows unmapping and
11458         finalizing subwindows.
11459         (unmap_subwindow_instance_cache_mapper): moved from
11460         window.c. Allow finalization as well as unmapping.
11461
11462         * gui.c (gui_item_list_find_selected): new function.
11463
11464         * gui.h (gui_item_list_find_selected): declare.
11465
11466         * glyphs-x.c (x_tab_control_redisplay): pick tab
11467         explicitly. Re-code to use gui_item_equal_sans_selected and
11468         gui_item_list_find_selected.
11469
11470         * glyphs-x.h: add lwlib-utils.h
11471
11472         * buffer.c (Frecord_buffer): undo previous change.
11473
11474 2000-08-09  Vin Shelton  <acs@xemacs.org>
11475
11476         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11477         possible.  Create temporary files more securely.  The patch was
11478         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11479         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11480         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11481         for details.
11482
11483 2000-08-07  Ben Wing  <ben@xemacs.org>
11484
11485         * getloadavg.c: remove duplicate (and windows-breaking)
11486         includes of fcntl.h and sys/file.h.
11487
11488         * nt.c: remove duplicate getloadavg() definition.
11489
11490         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11491         encodings.
11492
11493 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11494
11495         * eval.c (function_argcount): If function needs to be autoloaded
11496         actually use the loaded definition.
11497         GCPRO function.
11498
11499 2000-08-05  Ben Wing  <ben@xemacs.org>
11500
11501         * getloadavg.c: add prototype for getloadavg().  remove
11502         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11503         of the code).  remove duplicate header includes.
11504
11505         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11506
11507         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11508         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11509         useful load average.
11510
11511         * alloc.c (reinit_alloc_once_early): removed references to
11512         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11513         the lisp vars are the only things referencing the malloc_sbrk_*
11514         vars, and they were already if 0'd out.  these vars only exist
11515         in the older malloc.c, which is basically unused, and they're
11516         only for informational purposes.
11517
11518         * m\*.h: removed useless VIRT_ADDR_VARIES.
11519
11520         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11521
11522 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11523
11524         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11525         color if the image is a mono pixmap.
11526
11527 2000-07-30  Ben Wing  <ben@xemacs.org>
11528
11529         * Makefile.in.in (release):
11530         Remove stray @.
11531
11532         * buffer.c (directory_is_current_directory):
11533         * dired-msw.c (mswindows_get_files):
11534         * dired.c:
11535         * dired.c (Fdirectory_files):
11536         * dired.c (file_name_completion_stat):
11537         * dired.c (Ffile_attributes):
11538         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11539         preprocessor tricks, to avoid problems on some machines
11540         (e.g. SCO).
11541
11542         * callproc.c (egetenv): GC docs.
11543
11544         * console-msw.h:
11545         * console-msw.h (struct mswindows_dialog_id):
11546         * lrecord.h (lrecord_type):
11547         New object for use with MSW dialogs.
11548
11549         * console.h (struct console_methods):
11550         New enable/disable frame methods, for proper modal dialogs.
11551
11552         * device-msw.c (msprinter_default_printer): Fix to follow
11553         proper Mule conventions.
11554
11555         * device-msw.c:
11556         * device-msw.c (signal_open_printer_error):
11557         * device-msw.c (msprinter_init_device):
11558         * device-msw.c (ensure_not_printing):
11559         * device-msw.c (plist_get_margin):
11560         * device-msw.c (Fmsprinter_select_settings):
11561         * device-msw.c (finalize_devmode):
11562         * device-msw.c (Fmsprinter_settings_despecialize):
11563         * device-msw.c (signal_enum_priner_error):
11564         * extents.c (decode_extent):
11565         * extents.c (decode_map_extents_flags):
11566         * extents.c (decode_extent_at_flag):
11567         * extents.c (Fextent_at):
11568         * extents.c (Fextents_at):
11569         * extents.c (symbol_to_glyph_layout):
11570         [[[[2]]]] Use structured errors.
11571
11572         * dialog-msw.c:
11573         * dialog-msw.c (mswindows_is_dialog_msg):
11574         * dialog-msw.c (mark_mswindows_dialog_id):
11575         * dialog-msw.c (dialog_proc):
11576         * dialog-msw.c (handle_question_dialog_box):
11577         * dialog-msw.c (syms_of_dialog_mswindows):
11578         Define new object to clean up marking; use it as a dialog identifier.
11579         Call new delete-dialog-box-hook.
11580
11581         * dialog-x.c (dbox_selection_callback):
11582         * dialog-x.c (dbox_descriptor_to_widget_value):
11583         * dialog-x.c (x_make_dialog_box_internal):
11584         Call new delete-dialog-box-hook.
11585         Return an id.
11586
11587         * dialog.c:
11588         * dialog.c (syms_of_dialog):
11589         * dialog.c (vars_of_dialog):
11590         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11591
11592         * eval.c:
11593         * eval.c (signal_call_debugger):
11594         when noninteractive, output stack traces on the console instead
11595         of in a (never-seen) buffer.
11596
11597         * eval.c (signal_type_error):
11598         * eval.c (invalid_argument_2):
11599         * lisp.h:
11600         new funs for use w/structured errors.
11601
11602         * event-Xt.c:
11603         * event-Xt.c (x_to_emacs_keysym):
11604         * event-Xt.c (describe_event):
11605         * event-Xt.c (emacs_Xt_event_handler):
11606         * event-Xt.c (vars_of_event_Xt):
11607         * event-msw.c:
11608         * event-msw.c (mswindows_wnd_proc):
11609         * event-msw.c (vars_of_event_mswindows):
11610         rename {x,mswindows}-debug-events to debug-{}-events for
11611         consistency with other debug-foo variables.
11612
11613         * event-stream.c:
11614         document next-event more clearly.
11615
11616         * fileio.c (Ffile_name_directory):
11617         * fileio.c (Ffile_name_nondirectory):
11618         * fileio.c (Funhandled_file_name_directory):
11619         * fileio.c (file_name_as_directory):
11620         * fileio.c (Ffile_name_as_directory):
11621         * fileio.c (directory_file_name):
11622         * fileio.c (Fdirectory_file_name):
11623         * fileio.c (Fmake_temp_name):
11624         * fileio.c (Ffile_truename):
11625         * fileio.c (Fsubstitute_in_file_name):
11626         * fileio.c (expand_and_dir_to_file):
11627         * fileio.c (barf_or_query_if_file_exists):
11628         * fileio.c (check_executable):
11629         * fileio.c (Ffile_exists_p):
11630         * fileio.c (Ffile_writable_p):
11631         * fileio.c (Ffile_directory_p):
11632         * fileio.c (Ffile_regular_p):
11633         * fileio.c (Ffile_modes):
11634         * fileio.c (Ffile_newer_than_file_p):
11635         * fileio.c (Fverify_visited_file_modtime):
11636         * fileio.c (Fset_visited_file_modtime):
11637         * fileio.c (auto_save_1):
11638         (1). (2).
11639         fix up gcpro's.
11640
11641         * frame-msw.c:
11642         * frame-msw.c (mswindows_init_frame_1):
11643         * frame-msw.c (mswindows_enable_frame):
11644         * frame-msw.c (error_frame_unsizable):
11645         * frame-msw.c (msprinter_init_frame_1):
11646         * frame-msw.c (msprinter_init_frame_3):
11647         * frame-msw.c (console_type_create_frame_mswindows):
11648         (2).
11649         implement new enable/disable frame methods.
11650
11651         * frame-x.c:
11652         * frame-x.c (x_enable_frame):
11653         * frame-x.c (console_type_create_frame_x):
11654         implement new enable/disable frame methods.
11655
11656         * frame.c:
11657         * frame.c (Fdisable_frame):
11658         * frame.c (syms_of_frame):
11659         * frame.h (struct frame):
11660         implement new enable/disable frame methods/functions.
11661
11662         * general-slots.h:
11663         add initial-focus.
11664
11665         * glyphs-msw.c (mswindows_widget_instantiate):
11666         comment that initial-focus should be implemented.
11667
11668         * glyphs-widget.c:
11669         * glyphs-widget.c (check_valid_instantiator):
11670         * glyphs-widget.c (check_valid_orientation):
11671         * glyphs-widget.c (check_valid_tab_orientation):
11672         * glyphs-widget.c (check_valid_justification):
11673         * glyphs-widget.c (check_valid_border):
11674         * glyphs-widget.c (check_valid_callback):
11675         * glyphs-widget.c (check_valid_int_or_function):
11676         * glyphs-widget.c (check_valid_string_or_vector):
11677         * glyphs-widget.c (check_valid_item_list_1):
11678         * glyphs-widget.c (widget_validate):
11679         * glyphs-widget.c (combo_box_validate):
11680         * glyphs-widget.c (widget_instantiate):
11681         * glyphs-widget.c (syms_of_glyphs_widget):
11682         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11683         * glyphs-widget.c (image_instantiator_combo_box):
11684         * glyphs-widget.c (image_instantiator_scrollbar):
11685         * glyphs-widget.c (image_instantiator_tab_control):
11686         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11687         (2).
11688         support (unimplemented) keyword initial-focus.
11689         reindent long macros.
11690
11691         * glyphs-x.c (x_redisplay_widget):
11692         * glyphs-x.c (x_button_instantiate):
11693         * glyphs-x.c (x_button_redisplay):
11694         * glyphs-x.c (x_progress_gauge_instantiate):
11695         * glyphs-x.c (x_edit_field_instantiate):
11696         * glyphs-x.c (x_combo_box_instantiate):
11697         * glyphs-x.c (x_tab_control_instantiate):
11698         * glyphs-x.c (x_label_instantiate):
11699         * gui-x.c:
11700         * gui-x.c (button_item_to_widget_value):
11701         * gui-x.c (gui_items_to_widget_values_1):
11702         * gui-x.c (gui_item_children_to_widget_values):
11703         * gui-x.c (gui_items_to_widget_values):
11704         * gui-x.h:
11705         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11706         add new flag to gui-parsing routines to indicate whether
11707         accelerator specs should be supported.
11708
11709         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11710
11711         * glyphs.h (struct Lisp_Image_Instance):
11712         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11713         add initial-focus flag.
11714
11715         * gui.c:
11716         * gui.c (syms_of_gui):
11717         * gui.c (vars_of_gui):
11718         clean up menu-no-selection-hook.
11719
11720         * gui.h:
11721         support delete-dialog-box-hook.
11722
11723         * lread.c (Fload_internal):
11724         * lread.c (locate_file_in_directory_mapper):
11725         (1).
11726
11727         * lrecord.h:
11728         * lrecord.h (struct toolbar_button):
11729         * lrecord.h (syms_of_toolbar):
11730         document how to create a new object.
11731
11732         * menubar-msw.c (mswindows_char_is_accelerator):
11733         may be called on frames w/o menus.
11734
11735         * menubar.c (vars_of_menubar):
11736         clean up :filter docs.
11737
11738         * nt.c (readdir):
11739         * ntproc.c:
11740         (1).
11741
11742         * process-nt.c:
11743         * process-nt.c (validate_signal_number):
11744         * process-nt.c (signal_cannot_launch):
11745         * process-nt.c (nt_create_process):
11746         * process-nt.c (nt_send_process):
11747         * process-nt.c (nt_kill_child_process):
11748         * process-nt.c (nt_open_network_stream):
11749         * process-nt.c (syms_of_process_nt):
11750         (2).
11751         delete quote-handling.  call new lisp code that does it better.
11752
11753         * process-unix.c (connect_to_file_descriptor):
11754         * process-unix.c (allocate_pty):
11755         * process-unix.c (unix_send_process):
11756         * process-unix.c (unix_kill_child_process):
11757         * process-unix.c (unix_open_network_stream):
11758         * process-unix.c (unix_open_multicast_group):
11759         (1). (2).
11760
11761         * process.c:
11762         * process.c (Fstart_process_internal):
11763         (2).  need to canonicalize process path even if absolute.
11764
11765         * select-msw.c (symbol_to_ms_cf):
11766         * select-msw.c (ms_cf_to_symbol):
11767         * select-msw.c (cf_is_autofreed):
11768         * select-msw.c (mswindows_destroy_selection):
11769         * select.c:
11770         * select.c (syms_of_select):
11771         * select.h:
11772         support dibv5, fix bugs. (from Mike Alexander)
11773
11774         * select.c (Fget_selection_internal):
11775         * select.c (select_convert_out):
11776
11777         * sysdep.c:
11778         * sysdep.c (xemacs_stat):
11779         renamed.
11780
11781         * sysdep.c (mkdir):
11782         * sysdep.c (rmdir):
11783         but keep original stat() here because we provide encapsulation
11784         around these funs.
11785
11786         * sysfile.h:
11787         * sysfile.h (fstat):
11788         remove stat garbage.
11789
11790         * syswindows.h:
11791         fix X/MSW conflict.
11792         don't include tchar.h.  it's inappropriate because it makes
11793         compile-time distinctions when we want runtime distinctions.
11794         (we provide our own tchar replacements)
11795
11796         * toolbar.c:
11797         use default object printer for toolbar-button.
11798
11799         * unexcw.c:
11800         make sure we don't encapsulate.
11801
11802         * window.c (vars_of_window):
11803         emphasize that temp-buffer-show-hook is obsolete.
11804
11805 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11806
11807         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11808         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11809
11810         * events.c (Fevent_timestamp_lessp):
11811         Not 64-bit clean.  Use EMACS_INT, not int.
11812
11813 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11814
11815         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11816         unsigned int and changed the last enum to
11817         lrecord_type_last_built_in_type.
11818         (lrecord_implementations_table): changed prototype to know how
11819         long the array is supposed to be.
11820         (lrecord_type_count): new unsigned int to keep track of the
11821         current number of lisp lrecord types.
11822         (DEFINE_EXTERNAL_LRECORD):
11823         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11824         dynamic-modules to declare new lisp types. They are the same
11825         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11826         int for each new type, and increment lrecord_type_count by 1.
11827
11828         * alloc.c (lrecord_implementations_table): Changed to reference
11829         lrecord_type_last_built_in_type for the size of the array.
11830         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11831
11832 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11833
11834         * glyphs.h (check_valid_item_list): Renamed from
11835         check_valid_item_list_1.
11836
11837 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11838
11839         * select.c (Qselect_coerce): New.
11840         * select.c (Vselection_coercion_alist): New.
11841         * select.c (syms_of_select): Declare.
11842         * select.c (get-selection-internal): Use it.
11843         Use the new select-coerce functionality.
11844
11845         * select.c (select_coerce): New.
11846         * select.h (select_coerce): Declare.
11847         New function to coerce one type of data into another.
11848
11849 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11850
11851         * callproc.c (Fcall_process_internal):
11852         (Fcall_process_internal):
11853         * process-unix.c (unix_create_process):
11854         Save and restore the value of errno, so that error messages are accurate.
11855
11856 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11857
11858         * elhash.c (print_hash_table):
11859         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11860         Prettify docstrings and indentation.
11861
11862 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11863
11864         * window.c (Fwindow_pixel_edges): Subtract frame border and
11865         gutter size.
11866
11867 2000-07-31  Andy Piper  <andy@xemacs.org>
11868
11869         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11870         will acknowledge the change.
11871
11872         * glyphs.h: declare tab_control_order_only_changed.
11873
11874         * glyphs-x.c (x_tab_control_redisplay): use
11875         tab_control_order_only_changed.
11876
11877         * glyphs-widget.c (tab_control_order_only_changed): new function.
11878
11879         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11880         tab_control_order_only_changed.
11881
11882         * gui.c (gui_item_equal_sans_selected): new function.
11883         (gui_item_equal): use it.
11884
11885         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11886         :properties in favor of :items..
11887
11888         * glyphs-widget.c (check_valid_item_list): rename from
11889         check_valid_item_list_1.
11890         (check_valid_item_list_1): renamed.
11891         (combo_box_validate): deprecate :properties in favor of :items.
11892         (widget_instantiate): ditto.
11893         (tab_control_update): ditto.
11894         (image_instantiator_combo_box): ditto.
11895         (image_instantiator_tree_view): ditto.
11896         (image_instantiator_tab_control): ditto.
11897         (layout_post_instantiate): remove dead code.
11898
11899         * print.c (debug_print_no_newline): only write to debugger if in
11900         WIN32_NATIVE.
11901
11902         * elhash.c (Fmake_hash_table): update doc string.
11903
11904         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11905         messages whilst in GC. This at least stops XEmacs crashing but has
11906         the potential for wierd behaviour.
11907
11908 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11909
11910         * config.h.in:
11911         Make existence of s&m files optional.
11912
11913         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11914         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11915         * s/gnu.h: Remove HAVE_GETLOADAVG.
11916         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11917         * s/sol2.h: Remove HAVE_GETLOADAVG.
11918         * lisp.h: Remove getloadavg() declaration.
11919         * fns.c:
11920         Include <sys/loadavg.h> if available.
11921         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11922         * config.h.in:  Group together getloadavg()-related macros.
11923         Use only configure-time tests to detect getloadavg().
11924
11925 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11926
11927         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11928
11929 2000-07-25  Andy Piper  <andy@xemacs.org>
11930
11931         * syswindows.h: add tchar.h for native builds.
11932
11933         * frame.c (syms_of_frame): remove set-glyph-image.
11934
11935         * general-slots.h: add Qset_glyph_image.
11936
11937         * glyphs-widget.c (layout_update): add domain arg to
11938         set-glyph-image.
11939         (syms_of_glyphs_widget): remove set-glyph-image.
11940
11941 2000-07-23  Ben Wing  <ben@xemacs.org>
11942
11943         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11944         Vpopup_frame_list.
11945
11946 2000-07-22  Andy Piper  <andy@xemacs.org>
11947
11948         * symsinit.h: add syms_of_win32().
11949
11950         * gui-msw.c (syms_of_gui_mswindows): remove
11951         Fmswindows_shell_execute.
11952         (Fmswindows_shell_execute): moved to win32.c.
11953
11954         * emacs.c (main_1): add syms_of_win32 ().
11955
11956         * win32.c (init_potentially_nonexistent_functions): rewrite in
11957         compiler-friendly terms.
11958         (Fmswindows_shell_execute): move here from gui-msw.c.
11959         (syms_of_win32): new.
11960
11961         * device-msw.c (Fmswindows_printer_list): clean up args to
11962         EnumPrinters.
11963         Don't include tchar under cygwin or mingw.
11964         (msprinter_default_printer): make cygwin-friendly.
11965
11966 2000-07-21  Andy Piper  <andy@xemacs.org>
11967
11968         * glyphs-widget.c (image_instantiator_tree_view): use tab
11969         control's update function.
11970         (layout_property): new function. Retrieve items.
11971
11972         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11973         function. Re-populate the tree view from the pending items.
11974
11975         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11976         is designated the parent if the domain is an image instance. This
11977         is needed so that dirtiness can be cascade up the hierarchy and
11978         thus for layout children to be redisplayed correctly.
11979         (allocate_image_instance): rename glyph -> parent.
11980
11981         * redisplay.h: change redisplay_output_layout signature.
11982
11983         * redisplay-msw.c (mswindows_output_display_block): use domain
11984         arg.
11985
11986         * redisplay-x.c (x_output_display_block): use domain arg.
11987
11988 2000-07-10  Andy Piper  <andy@xemacs.org>
11989
11990         * window.c (Fset_window_configuration): add comment.
11991
11992         * redisplay-output.c (compare_runes):
11993         (redisplay_output_subwindow): redisplay rather than update subwindow.
11994         (redisplay_output_layout): ditto.
11995
11996         * redisplay-msw.c (mswindows_frame_output_end):
11997         (mswindows_frame_output_end): make defer window pos optional.
11998
11999         * lisp.h: add Flast.
12000
12001         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12002         normalize method. Change update method to be for changed
12003         instantiators. Add redisplay method. Change signature of layout
12004         method.
12005         (struct Lisp_Image_Instance): add instantiator.
12006         (IMAGE_INSTANCE_INSTANTIATOR): new.
12007         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12008         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12009         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12010
12011         * glyphs.c:
12012         (find_instantiator_differences): new function.
12013         (Fset_instantiator_property): new convenience function.
12014         (check_image_instance_structure): strictly check for vector
12015         instantiators.
12016         (normalize_image_instantiator): make non-static.
12017         (instantiate_image_instantiator): pass on dest_mask and use new
12018         signatures for image_instance_layout and friends.
12019         (mark_image_instance): mark the instantiator. Mark the subwindow
12020         face not the widget face.
12021         (image_instance_equal): add instantiator.
12022         (image_instance_hash): ditto.
12023         (allocate_image_instance): ditto.
12024         (Fset_image_instance_property): removed.
12025         (Fimage_instance_file_name): ditto.
12026         (Fcolorize_image_instance): ditto.
12027         (image_instance_layout): add offsets to be set.
12028         (update_image_instance): new function. update an image instance
12029         from its changed instantiator.
12030         (inherit_normalize): add dest_mask.
12031         (xbm_normalize): ditto.
12032         (xface_normalize): ditto.
12033         (xpm_normalize): ditto.
12034         (text_update): set_property -> update.
12035         (image_instantiate): use the glyph identity as a hash key, not the
12036         instantiator.
12037         (glyph_width): use new image_instance_layout signature.
12038         (glyph_ascent): ditto.
12039         (glyph_descent): ditto.
12040         (glyph_height): ditto.
12041         (glyph_query_geometry): ressurrect.
12042         (glyph_layout): ditto.
12043         (redisplay_subwindow): update -> redisplay.
12044         (syms_of_glyphs): add Fset_instantiator_property.
12045         (image_instantiator_format_create): set_property -> update.
12046
12047         * glyphs-x.c:
12048         (autodetect_normalize): add dest_maks to signature.
12049         (x_redisplay_subwindow): update -> redisplay.
12050         (x_redisplay_widget): ditto.
12051         (x_button_redisplay): ditto.
12052         (x_progress_gauge_redisplay): ditto.
12053         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12054         stacking order.
12055         (console_type_create_glyphs_x): update -> redisplay.
12056         (image_instantiator_format_create_glyphs_x): ditto.
12057
12058         * glyphs-widget.c:
12059         (check_valid_instantiator): disallow glyphs in the instantiator,
12060         they must now be vectors.
12061         (check_valid_instantiator_list): ditto.
12062         (glyph_instantiator_to_glyph): use internal symbol rather than
12063         intern.
12064         (widget_update): renamed from widget_set_property. Call cascaded
12065         update methods.
12066         (redisplay_widget): renamed from update_widget.
12067         (widget_layout): image_instance_layout now takes position as well
12068         as size.
12069         (widget_normalize): ditto.
12070         (widget_instantiate): ditto.
12071         (tab_control_query_geometry) ditto.:
12072         (tab_control_update): renamed from tab_control_set_property.
12073         (progress_gauge_update): set_property -> update.
12074         (layout_normalize): rewrite so that child instantiators are
12075         normalized also.
12076         (layout_update): new function. Create glyphs from the normalized
12077         children and cope with any other layout keywords. We do not
12078         instantiate children here that will be take care of by
12079         redisplay_output_layout.
12080         (layout_instantiate): call layout_update and not much else.
12081         (layout_post_instantiate): not sure whether this is needed
12082         anymore.
12083         (layout_query_geometry): query glyph geometry rather than
12084         image_instance geometry.
12085         (layout_layout): set offsets from pass in parameters. Use glyph
12086         geometry and layout functions rather than image instance ones.
12087         (native_layout_layout): ditto.
12088         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12089         (image_instantiator_widget): set_property -> update.
12090         (image_instantiator_buttons): ditto.
12091         (image_instantiator_progress_guage): ditto.
12092         (image_instantiator_tab_control): ditto.
12093         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12094         (image_instantiator_layout): add update method.
12095
12096         * glyphs-msw.c (bmp_normalize):
12097         (mswindows_resource_normalize): add dest_mask so that it can be
12098         proprogated by layout_normalize.
12099         (begin_defer_window_pos): make optional because it may not be the
12100         right thing to do and it introduces differences with X.
12101         (mswindows_unmap_subwindow): ditto.
12102         (mswindows_map_subwindow): ditto.
12103         (mswindows_redisplay_subwindow): renamed from
12104         mswindows_update_subwindow.
12105         (mswindows_redisplay_widget): ditto.
12106         (mswindows_button_redisplay): renamed from
12107         mswindows_button_update. Update is now what the instantiation
12108         function does for a changed instantiator.
12109         (mswindows_progress_gauge_instantiate): set the progress value
12110         here if appropriate.
12111         (mswindows_tab_control_redisplay): cope with re-ordering of the
12112         members of the tab widget by simply selecting the new top
12113         widget. This makes things appear ok if you click on a tab.
12114         (mswindows_combo_box_instantiate): image_instance_layout now takes
12115         position as well as size.
12116         (mswindows_progress_gauge_redisplay): renamed from
12117         mswindows_progress_gauge_update.
12118         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12119         (image_instantiator_format_create_glyphs_mswindows): ditto.
12120
12121         * glyphs-eimage.c (jpeg_normalize):
12122         (gif_normalize):
12123         (png_normalize):
12124         (tiff_normalize): add dest_mask so that it can be proprogated by
12125         layout_normalize.
12126
12127         * elhash.c:
12128         (print_hash_table):
12129         (hash_table_weakness_validate):
12130         (decode_hash_table_weakness):
12131         (Fhash_table_weakness):
12132         (Fhash_table_type):
12133         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12134
12135         * console.h (struct console_methods): move update_* to
12136         redisplay_*.
12137
12138 2000-07-20  Ben Wing  <ben@xemacs.org>
12139
12140         * *.[ch] (XSETOBJ): remove unused middle argument.
12141         lisp-disunion.h: correct wrap_object() to one argument.
12142
12143 2000-07-15  Ben Wing  <ben@xemacs.org>
12144
12145         * s/cygwin32.h:
12146         * s/cygwin32.h (CYGWIN_CONV_PATH):
12147         Add missing logb prototype for v1.1.
12148         Use post-b20 names and alias to pre-b20 names when pre-b20.
12149
12150         * s/windowsnt.h: [5].
12151
12152 2000-07-15  Ben Wing  <ben@xemacs.org>
12153
12154         * Makefile.in.in (x_objs):
12155         * Makefile.in.in (sheap_objs):
12156         * Makefile.in.in (objs):
12157         added win32.o, cosmetic cleanups.
12158
12159         * alloc.c (Fmake_byte_code):
12160         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12161         etc. macros which declare their own args now.
12162
12163         * alloc.c (syms_of_alloc):
12164         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12165
12166         * buffer.c:
12167         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12168
12169         * buffer.c (Fget_file_buffer):
12170         Fixed GCPRO problem.
12171
12172         * buffer.c (get_truename_buffer):
12173         Fixed comment about GC checking.
12174
12175         * buffer.c (syms_of_buffer):
12176         Undeclared those dedicated frame funs.
12177         [2].
12178
12179         * buffer.h:
12180         Define convenience macros for internal/external conversions.
12181         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12182         and Qenvironment_variable_encoding for cleaner code.
12183
12184         * bufslots.h:
12185         Remove dedicated-frame; in lisp.
12186
12187         * bytecode.c (funcall_compiled_function):
12188         [1].
12189
12190         * bytecode.c (syms_of_bytecode):
12191         [2].
12192
12193         * console-msw.c:
12194         * console-msw.c (mswindows_show_console): Rewrote.
12195
12196         * console-msw.c (Fmswindows_debugging_output): New.
12197         Sends to OutputDebugString (special MSWin debugger interface).
12198
12199         * console-msw.c (Fmswindows_message_box):
12200         Fixed stupid bugs so it works when called from kill-emacs.
12201
12202         * console-msw.c (syms_of_console_mswindows):
12203         Declare Fmswindows_debugging_output.
12204
12205         * console-msw.h:
12206         New MSWin prototypes.
12207
12208         * console-msw.h (struct mswindows_frame):
12209         New entry last-click-mods for improved button-modifier support.
12210
12211         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12212         New struct entry `popup' with corresponding accessor.
12213
12214         * console-x.c:
12215         * console-x.c (split_up_display_spec):
12216         * console-x.c (get_display_arg_connection):
12217         * console-x.c (x_semi_canonicalize_console_connection):
12218         * console-x.c (x_canonicalize_device_connection):
12219         [[[6]]]: Change char to more specific type.
12220         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12221
12222         * console-x.c (x_semi_canonicalize_console_connection):
12223         * console-x.c (x_canonicalize_device_connection):
12224         [[[9]]]: Fix up error signalling to use new structured error system.
12225
12226         * console-x.h:
12227         [[[4]]]: Define codesys aliases:
12228         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12229         Qx_color_name_encoding, Qx_display_name_encoding.
12230
12231         * console.h (struct console_methods):
12232         New method make_dialog_box_internal supersedes older
12233         popup_dialog_box method.
12234
12235         * data.c:
12236         Define many new errors, part of new structured errors.
12237
12238         * data.c (init_errors_once_early):
12239         * data.c (syms_of_data):
12240         [2].
12241
12242         * device-msw.c (mswindows_init_device):
12243         [[[5]]]: Cleanup to support NT 3.51.
12244
12245         * device-msw.c (decode_devmode): Cleanup.
12246
12247         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12248         * device-msw.c (mswindows_handle_print_dialog_box):
12249         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12250         * device-msw.c (syms_of_device_mswindows):
12251         Delete the dialog box primitives recently introduced by Kirill and
12252         instead interface to general dialog box interface.
12253
12254         * device-x.c:
12255         * device-x.c (compute_x_app_name):
12256         * device-x.c (x_init_device):
12257         * device-x.c (Fx_valid_keysym_name_p):
12258         * device-x.c (Fx_set_font_path):
12259         [6].
12260         [7].
12261
12262         * device.h (wrap_device): New.
12263         First of its kind; meant to replace XSETDEVICE.
12264
12265         * dialog-msw.c: Many file-dialog symbols.
12266
12267         * dialog-msw.c (mswindows_register_popup_frame): New.
12268         * dialog-msw.c (mswindows_is_dialog_msg): New.
12269         For supporting kbd traversal in dialog boxes.
12270
12271         * dialog-msw.c (dialog_proc):
12272         Support hitting ESC in dialogs.
12273
12274         * dialog-msw.c (struct):
12275         Common dialog box errors.
12276
12277         * dialog-msw.c (handle_file_dialog_box): New.
12278         Add file dialog code.
12279
12280         * dialog-msw.c (handle_question_dialog_box):
12281         Redo existing code to support new question dialog syntax.
12282
12283         * dialog-msw.c (console_type_create_dialog_mswindows):
12284         We support new dialog console method.
12285
12286         * dialog-msw.c (syms_of_dialog_mswindows):
12287         * dialog-msw.c (vars_of_dialog_mswindows):
12288         New file dialog symbols, vars.
12289
12290         * dialog-x.c:
12291         * dialog-x.c (maybe_run_dbox_text_callback):
12292         * dialog-x.c (dbox_descriptor_to_widget_value):
12293         * dialog-x.c (x_make_dialog_box_internal):
12294         * dialog-x.c (console_type_create_dialog_x):
12295         Mule-ize entire file.
12296         Redo to support question dialog syntax.
12297         [6].
12298
12299         * dialog.c:
12300         * dialog.c (Fmake_dialog_box_internal):
12301         * dialog.c (syms_of_dialog):
12302         Kill old popup-dialog-box, replace with new primitive.
12303         Just call device method or signal error.
12304
12305         * eldap.c (Fldap_open):
12306         * eldap.c (Fldap_search_basic):
12307         * eldap.c (Fldap_add):
12308         * eldap.c (Fldap_modify):
12309         [1].
12310         [7].
12311
12312         * emacs.c:
12313         * emacs.c (make_arg_list_1):
12314         * emacs.c (make_arg_list):
12315         Mule-ize call to dll_init().
12316         [6].
12317         [8].
12318
12319         * emacs.c (make_argc_argv):
12320         * emacs.c (free_argc_argv):
12321         * emacs.c (init_cmdargs):
12322         * emacs.c (main_1):
12323         * emacs.c (Fkill_emacs):
12324         * emacs.c (Fdump_emacs):
12325         Update comments about what can be used in syms_* etc.
12326         Call init_win32() when necessary.
12327         Fix up MS Win dialog box in kill-buffer to actually work right.
12328         [7].
12329
12330         * eval.c:
12331         * eval.c (For):
12332         * eval.c (Fand):
12333         * eval.c (Fprogn):
12334         * eval.c (Fprog1):
12335         * eval.c (Fprog2):
12336         * eval.c (FletX):
12337         * eval.c (Flet):
12338         * eval.c (condition_case_3):
12339         * eval.c (Feval):
12340         * eval.c (function_argcount):
12341         * eval.c (funcall_lambda):
12342         [1].
12343
12344         * eval.c (type_error): New.
12345         * eval.c (maybe_type_error): New.
12346         * eval.c (continuable_type_error): New.
12347         * eval.c (maybe_continuable_type_error): New.
12348         * eval.c (type_error_with_frob): New.
12349         * eval.c (maybe_type_error_with_frob): New.
12350         * eval.c (continuable_type_error_with_frob): New.
12351         * eval.c (maybe_continuable_type_error_with_frob): New.
12352         New functions for use with structured errors.
12353
12354         * event-Xt.c:
12355         * event-Xt.c (x_event_to_emacs_event):
12356         Buttons are now modifiers too.
12357
12358         * event-Xt.c (emacs_Xt_current_event_timestamp):
12359         Implement new event method.
12360         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12361
12362         * event-msw.c:
12363         * event-msw.c (ntpipe_shove_writer): [5].
12364         * event-msw.c (mswindows_enqueue_mouse_button_event):
12365         * event-msw.c (mswindows_drain_windows_queue):
12366         * event-msw.c (mswindows_wnd_proc): [7].
12367         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12368         * event-msw.c (mswindows_modifier_state):
12369         Throughout: support new button modifiers.
12370
12371         * event-msw.c (emacs_mswindows_current_event_timestamp):
12372         Implement new event method.
12373         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12374
12375         * event-stream.c:
12376         * event-stream.c (event_stream_current_event_timestamp): New.
12377         * event-stream.c (maybe_kbd_translate): New functionality.
12378         * event-stream.c (vars_of_event_stream):
12379         Document new kbd-translate-table functionality.
12380
12381         * event-stream.c (Fcurrent_event_timestamp): New.
12382         New primitive for use in fabricated events.
12383         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12384
12385         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12386
12387         * events.c:
12388         * events.c (Fmake_event):
12389         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12390         [1].
12391         [9].
12392
12393         * events.c (format_event_object): fix gcc warnings.
12394
12395         * events.c (Fevent_timestamp): Document new primitives.
12396
12397         * events.c (TIMESTAMP_HALFSPACE): New.
12398
12399         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12400         comparing timestamps correctly (half-space algorithm).
12401
12402         * events.c (Fevent_modifier_bits): Doc fix.
12403
12404         * events.c (Fevent_modifiers): Major doc addition.
12405         * events.c (event_x_y_pixel_internal): Typo fix.
12406         * events.c (syms_of_events): Declare new primitives.
12407
12408         * events.h:
12409         Update long comment for button modifiers, timestamps.
12410
12411         * events.h (struct event_stream):
12412         New current_event_timestamp method.
12413
12414         * extents.c:
12415         * extents.c (extent_in_region_p):
12416         * extents.c (decode_extent):
12417         * extents.c (Fset_extent_parent):
12418         * extents.c (decode_map_extents_flags):
12419         Fix gcc warnings.
12420         [9].
12421
12422         * extents.c (struct extent_at_arg):
12423         * extents.c (decode_extent_at_flag):
12424         * extents.c (extent_at_mapper):
12425         * extents.c (extent_at_bytind):
12426         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12427         * extents.c (Fextents_at): New primitive. [9].
12428         * extents.c (symbol_to_glyph_layout): [9].
12429         Support new primitive `extents-at'.
12430
12431
12432         * extents.c (get_text_property_bytind):
12433         extent_at_bytind has another arg.
12434         [9].
12435
12436         * extents.c (syms_of_extents): New primitive.
12437
12438         * file-coding.c (Fmake_coding_system): [1].
12439         * file-coding.c (subsidiary_coding_system): fix gcc warning
12440         * file-coding.c (syms_of_file_coding): [2].
12441
12442         * fileio.c (Fexpand_file_name):
12443         * fileio.c (Fsysnetunam):
12444         * fileio.c (Ffile_exists_p):
12445         * fileio.c (Ffile_executable_p):
12446         * fileio.c (Fverify_visited_file_modtime):
12447         Clean up GCPROing.
12448
12449         * fileio.c (syms_of_fileio): [2].
12450
12451         * filelock.c (lock_file_1):
12452         * filelock.c (current_lock_owner):
12453         * filelock.c (lock_if_free):
12454         * filelock.c (lock_file):
12455         * filelock.c (unlock_file):
12456         Clean up GCPROing.
12457
12458         * fns.c (concat): Fix gcc warning.
12459
12460         * fns.c (Fmember):
12461         * fns.c (Fold_member):
12462         * fns.c (Fmemq):
12463         * fns.c (Fold_memq):
12464         * fns.c (memq_no_quit):
12465         * fns.c (Fassoc):
12466         * fns.c (Fold_assoc):
12467         * fns.c (Fassq):
12468         * fns.c (Fold_assq):
12469         * fns.c (assq_no_quit):
12470         * fns.c (Frassoc):
12471         * fns.c (Fold_rassoc):
12472         * fns.c (Frassq):
12473         * fns.c (Fold_rassq):
12474         * fns.c (rassq_no_quit):
12475         * fns.c (Fdelete):
12476         * fns.c (Fold_delete):
12477         * fns.c (Fdelq):
12478         * fns.c (Fold_delq):
12479         * fns.c (delq_no_quit):
12480         * fns.c (Fremassoc):
12481         * fns.c (Fremassq):
12482         * fns.c (remassq_no_quit):
12483         * fns.c (Fremrassoc):
12484         * fns.c (Fremrassq):
12485         * fns.c (remrassq_no_quit):
12486         * fns.c (Freverse):
12487         * fns.c (mapcar1):
12488         [1].
12489
12490         * frame-msw.c (mswindows_init_frame_1):
12491         * frame-msw.c (mswindows_delete_frame):
12492         Register popups with dialog code so keyboard traversing works.
12493
12494         * frame-tty.c (tty_raise_frame_no_select): [1].
12495
12496         * frame-x.c:
12497         * frame-x.c (x_set_frame_text_value):
12498         * frame-x.c (x_set_frame_properties):
12499         * frame-x.c (x_create_widgets):
12500         [7].
12501
12502         * frame.c:
12503         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12504
12505         * frame.h (wrap_frame): New.
12506         Macro like wrap_device.
12507
12508         * general.c:
12509         * general.c (SYMBOL):
12510         * general.c (syms_of_general):
12511         Major reorg.  This is now just a wrapper and symbols themselves
12512         are listed in general-slots.h.
12513
12514         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12515         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12516
12517         * glyphs-msw.c (mswindows_native_layout_instantiate):
12518         Add DS_CONTROL so keyboard traversal will work.
12519
12520         * glyphs-widget.c:
12521         * glyphs-widget.c (syms_of_glyphs_widget):
12522         Move some symbols to general-slots.h.
12523
12524         * glyphs-x.c:
12525         * glyphs-x.c (xbm_instantiate_1):
12526         * glyphs-x.c (x_xbm_instantiate):
12527         * glyphs-x.c (x_xface_instantiate):
12528         * glyphs-x.c (autodetect_instantiate):
12529         * glyphs-x.c (cursor_font_instantiate):
12530         * glyphs-x.c (x_update_widget):
12531         * glyphs-x.c (x_widget_instantiate):
12532         * glyphs.c (bitmap_to_lisp_data):
12533         * glyphs.c (pixmap_to_lisp_data):
12534         [7].
12535
12536         * glyphs.c (syms_of_glyphs):
12537         [2].
12538
12539         * gui-x.c:
12540         * gui-x.c (print_widget_value):
12541         * gui-x.c (menu_separator_style_and_to_external):
12542         * gui-x.c (add_accel_and_to_external):
12543         * gui-x.c (button_item_to_widget_value):
12544         * gui-x.c (gui_items_to_widget_values_1):
12545         * gui-x.c (gui_items_to_widget_values):
12546         * gui-x.c (syms_of_gui_x):
12547         * gui-x.c (vars_of_gui_x):
12548         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12549         [9].
12550
12551         * gui-x.h:
12552         Muleize, prototype changes matching gui-x.c.
12553
12554         * gui.c:
12555         * gui.c (separator_string_p):
12556         * gui.c (gui_item_add_keyval_pair):
12557         * gui.c (make_gui_item_from_keywords_internal):
12558         * gui.c (signal_too_long_error):
12559         * gui.c (parse_gui_item_tree_item):
12560         * gui.c (syms_of_gui):
12561         * gui.c (vars_of_gui):
12562         * gui.h:
12563         menu-no-selection-hook moved here (used by MSWin).
12564         Move some symbols to general-slots.h.
12565         [6].
12566         [9].
12567
12568         * insdel.c (get_buffer_pos_char):
12569         * insdel.c (get_buffer_range_char):
12570         Add GC comments.
12571
12572         * keymap.c (keymap_lookup_directly):
12573         * keymap.c (keymap_store):
12574         * keymap.c (ensure_meta_prefix_char_keymapp):
12575         * keymap.c (describe_map):
12576         * keymap.h:
12577         Support new button modifiers.
12578
12579         * lisp-disunion.h (wrap_object):
12580         * lisp-disunion.h (XSETOBJ):
12581         Rename make_obj to wrap_object.
12582
12583         * lisp-union.h:
12584         * lisp-union.h (make_int):
12585         * lisp-union.h (make_char):
12586         Support wrap_object.
12587
12588         * lisp.h:
12589         * lisp.h (LIST_LOOP):
12590         * lisp.h (EXTERNAL_LIST_LOOP):
12591         * lisp.h (LIST_LOOP_2):
12592         * lisp.h (EXTERNAL_LIST_LOOP_1):
12593         * lisp.h (EXTERNAL_LIST_LOOP_2):
12594         * lisp.h (EXTERNAL_LIST_LOOP_3):
12595         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12596         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12597         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12598         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12599         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12600         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12601         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12602         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12603         * lisp.h (struct Lisp_Symbol):
12604         * lisp.h (maybe_continuable_error_with_frob):
12605         Fix up section comments.
12606         Add new types for char to indicate usage.
12607         Delete symbols auto-generated from general-slots.h.
12608         Add prototypes for structured error functions.
12609         Add long comments describing looping macros and change interface
12610         so that lvalues are automatically declared.
12611         Add NO_DECLARE macro in case callers want to declare lvalues
12612         themselves.
12613
12614         * lread.c (read_syntax_error):
12615         * lread.c (continuable_read_syntax_error):
12616         * lread.c (read_structure):
12617         * lread.c (sequence_reader):
12618         * lread.c (read_list_conser):
12619         * lread.c (read_compiled_function):
12620         Rename syntax_error and continuable_syntax_error to avoid clash
12621         with same-named structured error functions.
12622
12623         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12624         * menubar-msw.c (populate_menu_add_item):
12625         * menubar-msw.c (populate_or_checksum_helper):
12626         [5].
12627         [9].
12628
12629         * menubar-x.c:
12630         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12631         Mule-ize whole file.
12632
12633         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12634
12635         * mule-charset.c (Fmake_charset):
12636         * mule-wnnfns.c (Fwnn_set_param):
12637         [1].
12638
12639         * ntproc.c (create_child):
12640         * ntproc.c (Fwin32_set_current_locale):
12641         Add comments portending doom.
12642
12643         * objects-msw.c:
12644         * objects-msw.c (old_font_enum_callback_2):
12645         * objects-msw.c (font_enum_callback_1):
12646         * objects-msw.c (mswindows_enumerate_fonts):
12647         [5].
12648
12649         * objects-x.c:
12650         * objects-x.c (allocate_nearest_color):
12651         * objects-x.c (x_parse_nearest_color):
12652         * objects-x.c (x_initialize_color_instance):
12653         * objects-x.c (x_print_color_instance):
12654         * objects-x.c (x_finalize_color_instance):
12655         * objects-x.c (x_valid_color_name_p):
12656         * objects-x.c (x_initialize_font_instance):
12657         * objects-x.c (x_print_font_instance):
12658         * objects-x.c (valid_x_font_name_p):
12659         * objects-x.c (truename_via_FONT_prop):
12660         * objects-x.c (truename_via_random_props):
12661         * objects-x.c (truename_via_XListFonts):
12662         * objects-x.c (x_font_truename):
12663         * objects-x.c (x_font_instance_truename):
12664         * objects-x.c (x_font_instance_properties):
12665         * objects-x.c (x_list_fonts):
12666         * objects-x.c (x_find_charset_font):
12667         Mule-ize entire file.
12668         [7].
12669
12670         * objects-x.h:
12671         Mule-verify.
12672
12673         * print.c:
12674         * print.c (std_handle_out_external):
12675         * print.c (debug_print_no_newline):
12676         * print.c (syms_of_print):
12677         Output to all debugger kinds in debug-print.
12678         Fix console-output code under MSWin to actually work.
12679
12680         * process-nt.c (send_signal):
12681         * process-nt.c (nt_create_process):
12682         Use newer Unicode macros.
12683
12684         * process-unix.c (unix_create_process):
12685         * process-unix.c (unix_canonicalize_host_name):
12686         * process-unix.c (unix_open_network_stream):
12687         [7].
12688
12689         * scrollbar-x.c:
12690         Mule-verify.
12691
12692         * search.c (syms_of_search):
12693         [2].
12694
12695         * select-msw.c (mswindows_destroy_selection):
12696         Use LIST_LOOP_2.
12697
12698         * select-x.c (symbol_to_x_atom):
12699         [7].
12700
12701         * select.c (syms_of_select):
12702         [2].
12703
12704         * sound.c (Fplay_sound_file):
12705         [7].
12706
12707         * specifier.c:
12708         * specifier.c (decode_specifier_type):
12709         * specifier.c (Fvalid_specifier_locale_type_p):
12710         * specifier.c (check_valid_locale_or_locale_type):
12711         * specifier.c (decode_locale):
12712         * specifier.c (decode_locale_type):
12713         * specifier.c (decode_locale_list):
12714         * specifier.c (check_valid_domain):
12715         * specifier.c (decode_specifier_tag_set):
12716         * specifier.c (Fcanonicalize_tag_set):
12717         * specifier.c (Fdefine_specifier_tag):
12718         * specifier.c (Fspecifier_tag_predicate):
12719         * specifier.c (check_valid_inst_list):
12720         * specifier.c (check_valid_spec_list):
12721         * specifier.c (decode_how_to_add_specification):
12722         * specifier.c (check_modifiable_specifier):
12723         * specifier.c (specifier_add_spec):
12724         * specifier.c (boolean_validate):
12725         * specifier.c (display_table_validate):
12726         [9].
12727
12728         * specifier.c (syms_of_specifier):
12729         Move some symbols to general-slots.h.
12730         [2].
12731
12732         * symbols.c:
12733         * symbols.c (Fmapatoms):
12734         * symbols.c (Fapropos_internal):
12735         Add GCPROs.
12736
12737         * symbols.c (set_default_buffer_slot_variable):
12738         * symbols.c (set_default_console_slot_variable):
12739         [1].
12740
12741         * symbols.c (defsymbol_massage_name_1):
12742         * symbols.c (defkeyword_massage_name):
12743         * symbols.c (deferror_1):
12744         * symbols.c (deferror):
12745         * symbols.c (deferror_massage_name_and_message):
12746         * symeval.h:
12747         * symeval.h (DEFSYMBOL):
12748         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12749
12750         * symbols.c (syms_of_symbols):
12751         [2].
12752
12753         * symsinit.h:
12754         * symsinit.h (init_win32): New.
12755         Also new is syms_of_dialog_mswindows.
12756
12757         * syswindows.h:
12758         Add new Unicode macros, missing Cygwin wide-char functions,
12759         convenience conversion macros for Qmswindows_tstr, macros for
12760         encapsulating required MSWin <-> Cygwin filename conversions,
12761         prototype for dynamically-extracted (not in NT 3.51) functions.
12762
12763         * toolbar-x.c:
12764         Mule-verify.
12765
12766         * tooltalk.c (Fadd_tooltalk_message_arg):
12767         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12768         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12769         [7].
12770
12771         * tooltalk.c (syms_of_tooltalk):
12772         [2].
12773
12774         * unexnt.c:
12775         * unexnt.c (unexec):
12776         Fix up headers, declaration of unexec() to be more standard.
12777
12778 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12779
12780         * offix.h: Revert change to guard macros - they're used in offix.c!
12781
12782 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12783
12784         * lisp.h: Defsubred Fdelete.
12785
12786         * console-msw.h:  (msprinter_default_printer): Added.
12787
12788         * console-msw.c (msprinter_canonicalize_console_connection):
12789         (msprinter_canonicalize_device_connection): Added.
12790
12791         * device-msw.c (msprinter_default_printer):
12792         (Fmswingows_get_default_printer):
12793         (signal_enum_priner_error):
12794         (Fmswingows_printer_list): Added.
12795
12796 2000-07-19  Martin Buchholz <martin@xemacs.org>
12797
12798         * XEmacs 21.2.35 is released.
12799
12800 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12801
12802         * select-x.c (x_handle_selection_request):
12803         Text selected in xemacs and pasted into xterm failed to appear.
12804         Spelling fixes and cosmetic changes.
12805
12806 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12807
12808         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12809         XEmacs frame (fix for doubling chars in dialog boxes).
12810
12811 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12812
12813         * select.c (select_convert_in, select_convert_out):
12814         Don't call intern() every time.
12815
12816         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12817         * select.c (vars_of_select): Initialise them.
12818
12819 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12820
12821         * select.c (selection-coercible-types): New.
12822
12823         * select.c (own-selection-internal):
12824         * select.c (get-selection-internal):
12825         MULE bug fix - these should default to COMPOUND_TEXT and not
12826         STRING for MULE. I think.
12827
12828         * select.c (select_convert_out): Use selection-coercible-types
12829         to find types that we can attempt to perform coercions on.
12830
12831 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12832
12833         * mule-wnnfns.c:
12834         * mule-canna.c:
12835         Add coding: cookie to identify encoding.
12836
12837         * mule-canna.c (CANNA_mode_keys): make static.
12838         Use proper prototypes, even for functions of no arguments.
12839         Remove external prototype for Fding().
12840
12841         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12842
12843         * select.c (syms_of_select): Add missing DEFSUBR.
12844
12845 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12846
12847         * select.c (get_selection_internal, own_selection_internal):
12848         Make the type default to STRING, rather than placing a nil type
12849         into Vselection_alist.
12850
12851 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12852
12853         * gpmevent.c (tty_selection_exists_p):
12854         * gpmevent.c (tty_own_selection):
12855         Updated parameter lists.
12856
12857 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12858
12859         * select.h (selection-alist): Removed declaration.
12860
12861         * select.h (get_local_selection):
12862         * select.c (get_local_selection):
12863         Made static.
12864
12865         * select.h (convert_selection): Removed declaration.
12866         * select.c (convert_selection): Removed.
12867         This function belongs in Lisp.
12868
12869         * select.h (select_convert_in): Declare.
12870         * select.h (select_convert_out): Declare.
12871         * select.c (select_convert_in): New.
12872         * select.c (select_convert_out): New.
12873         New conversion functions for other files to call.
12874
12875         * select.h (select_notify_buffer_kill): Declare.
12876         * select.c (select_notify_buffer_kill): New.
12877         New functions that get called from kill-buffer.
12878
12879         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12880         X-specific lisp code.
12881
12882         * select.h: Declare some of the lisp-visible functions for
12883         external use.
12884
12885         * select.c (clean_local_selection_data): Removed. This was
12886         a disgusting function, and previously should have been in
12887         select-x.c in any case. The functionality is now provided
12888         in select-convert-from-integer (select.el).
12889
12890         * select.c (available-selection-types): Fixed stupidity where
12891         INTEGER and ATOM got added twice. Also add STRING when we see an
12892         extent.
12893
12894         * select.c (get-selection-internal): Removed symbol stripping. No
12895         longer causes conversion when data comes from the internal cache.
12896
12897         * select.c (syms_of_select): Added new functions.
12898
12899         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12900         error checking - previously this called abort!
12901
12902         * select-x.c (x_own_selection): Changed comment.
12903
12904         * select-x.c (x_handle_selection_request): Use select_convert_out.
12905         Don't mess with selection-alist; it's an internal variable of select.c.
12906
12907         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12908
12909         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12910         rather than messing with selection-alist.
12911
12912         * select-msw.c (mswindows_get_foreign_selection):
12913         Use TO_INTERNAL_FORMAT rather than hacking.
12914
12915 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12916
12917         * process-unix.c (unix_open_multicast_group):
12918         (unix_open_multicast_group): Remove useless casts.
12919
12920 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12921
12922         * sound.c (Fplay_sound): Fix `unused variable' warning.
12923
12924         * emacs.c (main): Use correct type for _environ on SCO5.
12925
12926 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12927
12928         * console.h (own_selection_method):
12929         * console.h (selection_exists_p_method):
12930         * console.h (available_selection_types_method): New.
12931         * console.h (register_selection_data_type_method): New.
12932         * console.h (selection_data_type_name): New.
12933
12934         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12935         function & alist to track GlobalAlloc()'d handles that need
12936         releasing when the clipboard data gets replaced or emptied.
12937
12938         * event-msw.c (mswindows_wnd_proc): Call it.
12939
12940         * lisp.h, general.c (Qappend): New symbol representing a
12941         `how-to-add' mode.
12942
12943         * select.c (own-selection-internal):
12944         * select.c (selection-exists-p):
12945         * select.c (available-selection-types): New.
12946         * select.c (register-selection-data-type): New.
12947         * select.c (selection-data-type-name): New.  New functions to deal
12948         with device-specific selection data formats.
12949         * select.c (selection-converter-out-alist): Renamed.
12950         * select.c (selection-converter-in-alist): New.
12951         * select.c (selection-appender-alist): New.  Added new alists.
12952         * select.c (syms_of_select, vars_of_select): Added new symbols &
12953         variables.
12954         * select.c (get_local_selection): Split.
12955         * select.c: Removed spurious type checking - selections may now be
12956         of any type, not just strings.
12957         * select.c (own-selection-internal):
12958
12959         * select.h, select.c (convert_selection): New. Created
12960         convert_selection() function based on get_local_selection().
12961         * select.h, select.c (QCF_*): New symbols representing mswindows
12962         clipboard formats.
12963         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12964         symbols representing `how-to-add' modes.
12965
12966         * select-msw.c (x_sym_p): New.
12967         * select-msw.c (symbol_to_ms_cf): New.
12968         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12969         symbols & clipboard formats. Can also handle string names.
12970         * select-msw.c (mswindows_own_selection):
12971         * select-msw.c (mswindows_selection_exists_p):
12972         Added `data-type' parameter. Use it.
12973         * select-msw.c (mswindows_available_selection_types): New.
12974         * select-msw.c (mswindows_register_selection_data_type): New.
12975         * select-msw.c (mswindows_selection_data_type_name): New.
12976         * select-msw.c (mswindows_own_selection):
12977         * select-msw.c (mswindows_get_foreign_selection):
12978         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12979         * select-msw.c (console_create_select_mswindows): Added new methods.
12980         * select-msw.c (mswindows_destroy_selection): New.
12981         * select-msw.c (Vhandle_alist): New list.
12982         * select-msw.c (mswindows_own_selection):
12983
12984         * select-x.c (x_own_selection):
12985         * select-x.c (x_selection_exists_p):
12986         * select-x.c: Added some comments about maybe using new
12987         functionality.
12988         * select-x.c (x_own_selection):
12989
12990         * specifier.c: Remove definition of Qappend (now in general.c)
12991         * specifier.c (syms_of_specifier): Remove Qappend.
12992
12993 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12994
12995         * config.h.in: Add socklen_t.
12996
12997         * s/decosf4-0.h: No special compiler flags needed or desired.
12998         In particular, undefine _BSD for DEC OSF 4.0.
12999
13000 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13001
13002         * redisplay-msw.c (msprinter_frame_output_end): Added.
13003         (console_type_create_redisplay_mswindows): Referred the above.
13004
13005         * frame.c (setup_frame_without_minibuffer): Do not create a
13006         default minibuffer frame on a printer device.
13007
13008         * frame-msw.c (apply_dc_geometry): Added.
13009         (msprinter_start_page):
13010         (msprinter_init_frame_3):
13011         (msprinter_eject_page): Use it.
13012
13013         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13014         and removed residual duplex and orientation properties.
13015
13016 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13017
13018         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13019
13020         * unexalpha.c: Remove system prototypes from C sources!
13021
13022 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13023
13024         * eval.c: Remove references to M-x edit-options in DEFUNs for
13025         `defvar' and `defconst'.
13026
13027 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13028
13029         * config.h.in: Remove SMART_INCLUDE hackery.
13030
13031         PostgreSQL hacking:
13032         * config.h.in: Don't use SMART_INCLUDE.
13033
13034         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13035         * inline.c: Simply #include "postgresql.h"
13036         * postgresql.c:
13037         - Don't use SMART_INCLUDE
13038         - Use simply "const".
13039         - Use standard doc string conventions.
13040         - Use correct type for result of PQstatus.
13041
13042 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13043
13044         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13045
13046         C++ compilation changes.
13047         * config.h.in (EXTERN_C): Define.
13048         * config.h.in (not): This is also a C++ keyword.
13049         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13050         * cm.c: Use EXTERN_C.
13051         * redisplay-tty.c: Use EXTERN_C.
13052         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13053
13054 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13055
13056         * general.c: Remove duplicate definition for Qfunction.
13057
13058 2000-07-08  Ben Wing  <ben@xemacs.org>
13059
13060         * device-msw.c (msprinter_init_device):
13061         * device-msw.c (sync_printer_with_devmode):
13062         * device-msw.c (handle_devmode_changes):
13063         * device-msw.c (print_dialog_worker):
13064         * device-msw.c (Fmsprinter_apply_settings):
13065         * device-msw.c (hash_devmode):
13066         * device-msw.c (Fmsprinter_settings_despecialize):
13067         use Qmswindows_tstr, not Qctext.
13068
13069         * vm-limit.c (check_memory_limits):
13070         avoid infinite loop printing warning messages.
13071
13072 2000-07-05  Craig Lanning  <lanning@scra.org>
13073
13074         * Makefile.in.in: Add support for including the Windows resources
13075         when building with the cygwin and mingw targets.
13076
13077         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13078         not set or not correct.
13079         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13080         (init_initial_directory): Don't try to use $PWD on the
13081         WIN32_NATIVE target.
13082
13083         * s\cygwin32.h:
13084         [[Add -mwindows to eliminate console window.]] not required --ben
13085         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13086         (MAIL_USE_POP): removed; now handled by configure.
13087
13088         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13089         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13090         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13091         (MAIL_USE_POP): removed; now handled by configure.
13092         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13093         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13094         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13095         constant string.
13096         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13097         up from <winsock.h> via systime.h.
13098         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13099         (getpagesize): from Dan Holmsand, added.
13100         Added #endif which was left dangling by Ben's mega patch; added
13101         comment to help prevent this in the future.
13102
13103         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13104
13105 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13106
13107         * console-msw.h (struct mswindows_device): Removed unnecessary
13108         cached device geometry values.
13109         Added update_tick and an accessor macro.
13110         (Lisp_Devmode): Added lrecord declaration.
13111         (struct msprinter_device): Contain devmode as a Lisp object.
13112         Added mswindows_get_selected_frame_hwnd();
13113
13114         * console.h (struct console_methods): Indentation nitpicking.
13115
13116         * device-msw.c (mswindows_init_device): Do not initialize geometry
13117         cache. Initialize update tick.
13118         (mswindows_device_system_metrics): Ask the device for its geometry.
13119         (global_free_2_maybe):
13120         (devmode_to_hglobal):
13121         (handle_printer_changes):
13122         (ensure_not_printing):
13123         (print_dialog_worker):
13124         (Fmsprinter_print_setup_dialog):
13125         (Fmsprinter_print_dialog):
13126         (plist_get_margin):
13127         (plist_set_margin):
13128         (Fmsprinter_page_setup_dialog): Added functions.
13129         (sync_printer_with_devmode):
13130         (handle_devmode_changes):
13131         (Fmsprinter_get_settings):
13132         (Fmsprinter_select_settings):
13133         (Fmsprinter_apply_settings):
13134         (allocate_devmode):
13135         (Fmsprinter_settings_copy):
13136         (Fmsprinter_settings_despecialize):
13137         (print_devmode):
13138         (finalize_devmode):
13139         (equal_devmode):
13140         (hash_devmode): Added functions
13141         (syms_of_device_mswindows): Init devmode lrecord class.
13142
13143         * device.h: Added an exfun for find-device.
13144
13145         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13146         geometry; although, recreate the device compatible DC.
13147
13148         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13149         (msprinter_init_frame_3):
13150         (msprinter_frame_property):
13151         (msprinter_internal_frame_property_p):
13152         (msprinter_frame_properties):
13153         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13154         print job properties (will move to device settings).
13155
13156         * lisp.h: Added symbols.
13157
13158         * general.c (syms_of_general): Declared them.
13159
13160         * hash.c (string_hash): Added.
13161
13162         * lrecord.h (lrecord_type): Added devmode lrecord type.
13163
13164 2000-07-02  Mike Sperber <mike@xemacs.org>
13165
13166         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13167         FreeBSD 4.0.
13168
13169 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13170
13171         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13172         integer.
13173
13174 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13175
13176         * data.c (Fstring_to_number): Don't recognize floating point if
13177         base is not 10.
13178
13179 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13180
13181         * glyphs-widget.c (tab_control_query_geometry):
13182         (widget_query_geometry):
13183         (button_query_geometry):
13184         * glyphs.c (text_query_geometry):
13185         Enforce type correctness.
13186
13187 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13188
13189         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13190         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13191
13192 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13193
13194         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13195         conflicts with gcc's fixincluded version of FOO.h.
13196
13197         * glyphs.h (image_instance_geometry): Remove trailing `,'
13198
13199 2000-06-08  Mike Alexander  <mta@arbortext.com>
13200
13201         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13202         (shove_thread): Don't write the same output twice
13203         (make_ntpipe_output_stream): Increase priority of shove thread
13204         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13205         chance to run
13206         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13207         it.
13208
13209 2000-06-12  Ben Wing  <ben@xemacs.org>
13210
13211         * s\mingw32.h (sigset):
13212         * s\windowsnt.h (sigset):
13213         rename msw_ to mswindows_ for consistency with general convention.
13214
13215 2000-06-12  Ben Wing  <ben@xemacs.org>
13216
13217         * console-msw.c:
13218         * console-msw.c (mswindows_get_console_hwnd):
13219         * console-msw.c (mswindows_ensure_console_allocated):
13220         * console-msw.c (mswindows_hide_console):
13221         * console-msw.c (mswindows_show_console):
13222         * console-msw.c (mswindows_ensure_console_buffered):
13223         * console-msw.c (mswindows_output_console_string):
13224         * console-msw.c (mswindows_windows9x_p):
13225         * console-msw.h:
13226         * device-msw.c (mswindows_get_workspace_coords):
13227         * device-msw.c (mswindows_device_system_metrics):
13228         * dialog-msw.c (mswindows_popup_dialog_box):
13229         * event-msw.c (mswindows_wnd_proc):
13230         * frame-msw.c (mswindows_size_frame_internal):
13231         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13232         * menubar-msw.c (displayable_menu_item):
13233         * menubar-msw.c (mswindows_char_is_accelerator):
13234         * nt.c:
13235         * nt.c (mswindows_sigset):
13236         * nt.c (mswindows_sigrelse):
13237         * nt.c (mswindows_sigpause):
13238         * nt.c (mswindows_raise):
13239         * nt.c (timer_proc):
13240         * ntproc.c:
13241         * ntproc.c (find_child_console):
13242         * ntproc.c (sys_kill):
13243         * print.c:
13244         * print.c (std_handle_out_external):
13245         * process-nt.c (find_child_console):
13246         * process-nt.c (send_signal_the_95_way):
13247         * process-nt.c (ensure_console_window_exists):
13248         * process-nt.c (nt_create_process):
13249         * syssignal.h:
13250         rename msw_ to mswindows_ for consistency with general convention.
13251
13252         * emacs.c:
13253         * dumper.c:
13254         include nt.h, not syswindows.h.
13255
13256         * nt.c (mswindows_fstat):
13257         * nt.c (mswindows_stat):
13258         prefix mswindows_ instead of attempting to directly override the
13259         library functions.  fix declarations.
13260
13261         * nt.h:
13262         include syswindows.h.  move some sysdep.h stuff here.
13263
13264         * ntheap.h:
13265         include syswindows.h, not <windows.h>.
13266
13267         * ntplay.c:
13268         clean up headers.
13269
13270         * sysdep.c:
13271         clean up headers.
13272
13273         * sysdep.c (sys_fstat):
13274         * sysdep.c (sys_stat):
13275         call mswindows versions when appropriate.
13276
13277         * sysdep.h:
13278         move mswin decls to nt.h.
13279
13280         * syswindows.h:
13281         add long comment describing appropriate use of the various windows
13282         headers.
13283
13284 2000-06-11  Ben Wing  <ben@xemacs.org>
13285
13286         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13287
13288 2000-06-10  Ben Wing  <ben@xemacs.org>
13289
13290         * Makefile.in.in (release):
13291         Correction to make sure xemacs.exe always dumped when correct.
13292
13293         * alloca.c:
13294         * balloon_help.c:
13295         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13296
13297         * buffer.c (set_buffer_internal):
13298         [[[[2]]]]: Remove HAVE_FEP code.
13299
13300         * buffer.c (init_initial_directory):
13301         [3].
13302
13303         * bytecode.c:
13304         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13305         individual files.
13306
13307         * callproc.c:
13308         * callproc.c (call_process_cleanup):
13309         * callproc.c (Fold_call_process_internal):
13310         * callproc.c (child_setup):
13311         * callproc.c (getenv_internal):
13312         * callproc.c (init_callproc):
13313         * callproc.c (vars_of_callproc):
13314         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13315         __CYGWIN32__ -> CYGWIN.
13316         DOS_NT -> WIN32_NATIVE.
13317         Remove MSDOS support/references, converting to WIN32_NATIVE
13318           where correct.
13319         __MINGW32__ -> MINGW.
13320         Fix windows.h includes.
13321         Remove bogus HAVE_NTGUI.
13322
13323         * config.h.in:
13324         [2].
13325
13326         * console-msw.c:
13327         mswindows_message_outputted added for use in allowing startup
13328         errors on the console to be seen.
13329
13330         * console-msw.c (msw_ensure_console_allocated):
13331         * console-msw.c (msw_output_console_string):
13332         * console-msw.c (DHEADER):
13333         * console-msw.c (DOPAQUE_DATA):
13334         * console-msw.c (DEVENT):
13335         * console-msw.c (DCONS):
13336         * console-msw.c (DCONSCDR):
13337         * console-msw.c (DSTRING):
13338         * console-msw.c (DVECTOR):
13339         * console-msw.c (DSYMBOL):
13340         * console-msw.c (DSYMNAME):
13341         Fix warnings.
13342
13343         * console-stream.c (stream_init_console):
13344         Fix text/binary problems.
13345
13346         * device-msw.c:
13347         * device-msw.c (mswindows_finish_init_device):
13348         * device-msw.c (mswindows_delete_device):
13349         [1].
13350
13351         * device.c (handle_asynch_device_change):
13352         [3].
13353
13354         * dgif_lib.c:
13355         * dgif_lib.c (DGifOpenFileName):
13356         * dgif_lib.c (DGifOpenFileHandle):
13357         * dgif_lib.c (DGifGetLine):
13358         * dgif_lib.c (DGifGetPixel):
13359         Added config.h/lisp.h, fix up includes.
13360         [1].
13361
13362         * dired-msw.c:
13363         [4].
13364
13365         * dired.c:
13366         * dired.c (file_name_completion):
13367         * dired.c (Ffile_attributes):
13368         * dired.c (syms_of_dired):
13369         [1].
13370
13371         * dumper.c:
13372         * dumper.c (pdump_file_unmap):
13373         * dumper.c (pdump_load):
13374         [1].
13375
13376         * editfns.c:
13377         * editfns.c (Ftemp_directory):
13378         * editfns.c (user_login_name):
13379         * editfns.c (Fuser_real_login_name):
13380         * editfns.c (get_home_directory):
13381         [1].
13382
13383         * elhash.c (finish_marking_weak_hash_tables):
13384         [[[[5]]]]: Fix GCC warnings.
13385
13386         * emacs.c:
13387         * emacs.c (mswindows_handle_hardware_exceptions):
13388         * emacs.c (make_arg_list_1):
13389         * emacs.c (main_1):
13390         * emacs.c (Fkill_emacs):
13391         * emacs.c (Fdump_emacs):
13392         [1].
13393         Fix problems with nested crashes, add long comment.
13394
13395         * event-Xt.c (init_event_Xt_late):
13396         [1].
13397
13398         * event-msw.c:
13399         * event-msw.c (mswindows_dde_callback):
13400         * event-msw.c (mswindows_handle_sticky_modifiers):
13401         * event-msw.c (mswindows_wnd_proc):
13402         [1].
13403         [5].
13404
13405         * events.c (character_to_event):
13406         [1].
13407
13408         * fileio.c:
13409         * fileio.c (Ffile_name_directory):
13410         * fileio.c (Ffile_name_nondirectory):
13411         * fileio.c (directory_file_name):
13412         * fileio.c (Fexpand_file_name):
13413         * fileio.c (Fsubstitute_in_file_name):
13414         * fileio.c (Ffile_name_absolute_p):
13415         * fileio.c (check_executable):
13416         * fileio.c (Ffile_readable_p):
13417         * fileio.c (Ffile_accessible_directory_p):
13418         * fileio.c (Ffile_modes):
13419         * fileio.c (Funix_sync):
13420         * fileio.c (vars_of_fileio):
13421         [1]. [4].
13422
13423         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13424
13425         Expand getdefdir defn.
13426         Fix bogus rename() comment.
13427
13428         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13429         to use standard XEmacs include files, e.g. sysfile.h, rather
13430         than system-specific includes.
13431
13432         * fns.c:
13433         * fns.c (Fsubseq):
13434         [5]. [6].
13435
13436         * frame.c (vars_of_frame):
13437         [1].
13438
13439         * getloadavg.c:
13440         * getloadavg.c (getloadavg):
13441         [1]. [6].
13442         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13443         (We don't use it elsewhere in the code; just add a comment.)
13444
13445         * gif_io.c:
13446         [6].
13447         Add config.h.
13448
13449         * glyphs-msw.c:
13450         * glyphs-msw.c (mswindows_resource_instantiate):
13451         [1].
13452
13453         * glyphs-x.c (x_native_layout_instantiate):
13454         [5].
13455
13456         * gui-msw.c (Fmswindows_shell_execute):
13457         [1].
13458
13459         * insdel.c:
13460         [4].
13461
13462         * lisp.h:
13463         [4]. [5].
13464
13465         * lread.c (locate_file_in_directory_mapper):
13466         [1].
13467
13468         * lstream.c:
13469         [4].
13470
13471         * mem-limits.h:
13472         * mem-limits.h (get_lim_data):
13473         [1].
13474
13475         * menubar-msw.c:
13476         [4].
13477
13478         * ndir.h:
13479         [1].
13480
13481         * nt.c:
13482         * nt.c (getwd):
13483         * nt.c (closedir):
13484         * nt.c (rva_to_section):
13485         * nt.c (mswindows_executable_type):
13486         [1]. [6].
13487         Fix closedir() defn.
13488
13489         * nt.h:
13490         [[[[8]]]]: *_OK defs moved to sysfile.h.
13491
13492         * ntproc.c:
13493         [6]. [7].
13494
13495         * objects-x.c:
13496         [4].
13497
13498         * print.c:
13499         * print.c (std_handle_out_external):
13500         [1]. [4].
13501
13502         * process-nt.c:
13503         * process-nt.c (nt_create_process):
13504         [6].
13505         try to fix process quoting somewhat.
13506
13507         * process-unix.c (unix_create_process):
13508         [1].
13509
13510         * process.c:
13511         * process.c (vars_of_process):
13512         Add Vnull_device.
13513
13514         * process.h:
13515         [1].
13516
13517         * realpath.c:
13518         * realpath.c (xrealpath):
13519         [1].
13520
13521         * redisplay-tty.c (init_tty_for_redisplay):
13522         [3].
13523
13524         * redisplay.c:
13525         [4]. [6].
13526
13527         * scrollbar-msw.c:
13528         [4].
13529
13530         * sheap.c:
13531         * sheap.c (more_static_core):
13532         * sheap.c (report_sheap_usage):
13533         [5]. [6].
13534
13535         * signal.c:
13536         * signal.c (alarm_signal):
13537         [1]. [6].
13538
13539         * sound.c:
13540         [6].
13541
13542         * strftime.c:
13543         * strftime.c (zone_name):
13544         [1]. [5].
13545
13546         * symsinit.h (init_sunpro):
13547         [1].
13548
13549         * syscommctrl.h:
13550         commctrl.h not in Cygwin b20.1.
13551
13552         * sysdep.c:
13553         * sysdep.c (endif):
13554         * sysdep.c (sys_subshell):
13555         * sysdep.c (init_baud_rate):
13556         * sysdep.c (emacs_get_tty):
13557         * sysdep.c (emacs_set_tty):
13558         * sysdep.c (tty_init_sys_modes_on_device):
13559         * sysdep.c (init_system_name):
13560         * sysdep.c (sys_open):
13561         * sysdep.c (interruptible_open):
13562         * sysdep.c (sys_fopen):
13563         * sysdep.c (sys_mkdir):
13564         * sysdep.c (sys_rename):
13565         * sysdep.c (get_process_times_1):
13566         [1]. [6].
13567
13568         * sysdep.h:
13569         [1].
13570
13571         * sysdir.h:
13572         * sysdir.h (DIRENTRY_NONEMPTY):
13573         [1]. [6].
13574
13575         * sysdll.c (dll_init):
13576         * sysdll.h:
13577         [1].
13578
13579         * sysfile.h:
13580         [1]. [6]. [8].
13581         added text/binary defs.
13582
13583         * sysfloat.h:
13584         [1].
13585
13586         * sysproc.h:
13587         * sysproc.h (EDESTADDRREQ):
13588         * sysproc.h (poll_fds_for_input):
13589         [1]. [6].
13590
13591         * syspwd.h:
13592         [6].
13593
13594         * syssignal.h:
13595         [1].
13596
13597         * systime.h:
13598         [1]. [6].
13599
13600         * systty.h:
13601         [1].
13602
13603         * syswindows.h:
13604         [1].
13605         Always define WIN32_LEAN_AND_MEAN.
13606
13607         * unexcw.c (unexec):
13608         [5].
13609
13610         * unexec.c:
13611         * unexec.c (copy_text_and_data):
13612         * unexec.c (adjust_lnnoptrs):
13613         [1].
13614
13615         * unexnt.c:
13616         * unexnt.c (_start):
13617         [1].
13618
13619 2000-06-07  Ben Wing  <ben@xemacs.org>
13620
13621         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13622         was used only as a model.  We've long since extracted any useful
13623         logic or code out of this. (I just did an exhaustive search.)
13624
13625         * s\msdos.h: Removed.
13626
13627         * s\windows95.h: Removed.
13628
13629 2000-06-10  Ben Wing  <ben@xemacs.org>
13630
13631         * s\cygwin32.h:
13632         [1]. [5].
13633         Don't use extern with fun defs.
13634
13635         * s\mingw32.h:
13636         [1]. [7].
13637         Remove nt\inc include.
13638         Remove getdisk, getdefdir. (The former is unused, the latter
13639         expanded in fileio.h.)
13640
13641         * s\windowsnt.h:
13642         * s\windowsnt.h (WIN32_NATIVE):
13643         * s\windowsnt.h (HAVE_STRCASECMP):
13644         [1]. [7].
13645         Add long comment about preprocessor changes.
13646         Remove getdisk, getdefdir. (The former is unused, the latter
13647         expanded in fileio.h.)
13648
13649 2000-06-10  Ben Wing  <ben@xemacs.org>
13650
13651         * m\arm.h:
13652         * m\delta.h:
13653         * m\intel386.h:
13654         * m\sequent.h:
13655         * m\template.h:
13656         * m\windowsnt.h:
13657         [1].
13658         Remove bogus/unused NO_SOCK_SIGIO.
13659
13660 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13661
13662         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13663         not an Emchar.
13664
13665 2000-06-04  Mike Sperber <mike@xemacs.org>
13666
13667         * casetab.c (set_case_table): For `set-standard-case-table',
13668         actually deposit the new case tables where the rest of XEmacs can
13669         see them.
13670
13671 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13672
13673         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13674
13675 2000-06-05  Ben Wing  <ben@xemacs.org>
13676
13677         * callproc.c (child_setup): Don't do close_load_descs() under
13678         MS Windows.  Put in a comment explaining why.
13679
13680 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13681
13682         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13683         Toolkit shell" which breaks `kill-compilation' on Windows NT
13684         native, retaining STDERR handling improvements.
13685
13686 2000-06-01  Andreas Jaeger  <aj@suse.de>
13687
13688         * s/s390.h: Support for S390, based on a patch by Martin
13689         Schwidefsky <schwidefsky@de.ibm.com>.
13690
13691 2000-05-30  Andy Piper  <andy@xemacs.org>
13692
13693         * window.c (allocate_window):
13694         (make_dummy_parent):
13695         (Fset_window_configuration): use new hashtable type.
13696
13697         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13698         (struct image_instantiator_methods):
13699         (struct Lisp_Image_Instance): make instance geometry signed.
13700
13701         * glyphs.c (instantiate_image_instantiator):
13702         (image_instance_query_geometry):
13703         (image_instance_layout):
13704         (image_instance_layout):
13705         (query_string_geometry):
13706         (text_query_geometry):
13707         (image_instantiate):
13708         (image_instantiate):
13709         (cache_subwindow_instance_in_frame_maybe):
13710         (subwindow_query_geometry): make instance geometry signed.
13711
13712         * glyphs-widget.c (widget_query_geometry):
13713         (widget_layout):
13714         (button_query_geometry):
13715         (tree_view_query_geometry):
13716         (tab_control_query_geometry):
13717         (layout_query_geometry):
13718         (layout_layout):
13719         (native_layout_layout): make instance geometry signed.
13720
13721 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13722
13723         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13724         constant.
13725
13726         * general.c (syms_of_general): Add Qfull_assoc symbol.
13727
13728         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13729         correctly.
13730         (decode_weak_list_type): Decode full-assoc type.
13731         (encode_weak_list_type): Encode full-assoc type.
13732         (Fmake_weak_list): Update doc string.
13733
13734 2000-05-30  Andy Piper  <andy@xemacs.org>
13735
13736         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13737
13738         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13739         (decode_hash_table_weakness): ditto.
13740         (Fhash_table_weakness): ditto.
13741         (Fhash_table_type): ditto.
13742         (finish_marking_weak_hash_tables): ditto.
13743         (hash_table_weakness_validate): ditto.
13744         (syms_of_elhash): ditto.
13745
13746 2000-05-28  Martin Buchholz <martin@xemacs.org>
13747
13748         * XEmacs 21.2.34 is released.
13749
13750 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13751
13752         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13753         start cache.
13754         (updating_line_start_cache): Gone.
13755         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13756         generic code to force a minimum of 1 line laid out in the
13757         CMOTION_DISP case.
13758
13759 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13760
13761         * glyphs.c (instantiate_image_instantiator): Check for initialized
13762         height & width no longer special cases IMAGE_NOTHING.
13763         (nothing_instantiate): Set height and width of instance.
13764
13765 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13766
13767         * unexelf.c (unexec): Search for ".data" section.
13768         Initialize new_data2_offset from old_data_index.
13769         Remove redundant check for ElfW.
13770
13771 2000-05-23  Andy Piper  <andy@xemacs.org>
13772
13773         * glyphs.c (get_image_instantiator_governing_domain): allow more
13774         specific domains as the governing domain rather than expecting an
13775         exact match. This fixes problems with layouts.
13776
13777 2000-05-22  Andy Piper  <andy@xemacs.org>
13778
13779         * redisplay-output.c (compare_runes): check for non-images
13780
13781         * glyphs.c (set_glyph_dirty_p): ditto.
13782         (update_glyph_cachel_data): ditto.
13783
13784         * glyphs-widget.c (layout_post_instantiate): ditto.
13785         (layout_post_instantiate): ditto.
13786
13787         * event-msw.c (mswindows_wnd_proc): warning removal.
13788
13789 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13790
13791         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13792
13793         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13794
13795         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13796
13797         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13798         (mswindows_executable_type): mingw32 now has enough headers for
13799         this to work.
13800
13801 2000-05-20  Andy Piper  <andy@xemacs.org>
13802
13803         * console-msw.c (mswindows_output_last_error): ; -> ,
13804
13805 2000-05-12  Andy Piper  <andy@xemacs.org>
13806
13807         * console-msw.c (FROB): compare ints with ints.
13808
13809 2000-05-11  Andy Piper  <andy@xemacs.org>
13810
13811         * glyphs-x.c (x_finalize_image_instance): make minimal build
13812         happy.
13813
13814 2000-05-20  Ben Wing  <ben@xemacs.org>
13815
13816         * event-Xt.c:
13817         * event-Xt.c (vars_of_event_Xt):
13818         move modifier-keys-are-sticky to event-stream.c.
13819
13820         * event-msw.c:
13821         * event-msw.c (mswindows_enqueue_mouse_button_event):
13822         * event-msw.c (key_needs_default_processing_p):
13823         * event-msw.c (XEMSW_LCONTROL):
13824         * event-msw.c (mswindows_handle_sticky_modifiers):
13825         * event-msw.c (FROB):
13826         * event-msw.c (clear_sticky_modifiers):
13827         * event-msw.c (output_modifier_keyboard_state):
13828         * event-msw.c (output_alt_keyboard_state):
13829         * event-msw.c (mswindows_wnd_proc):
13830         * event-msw.c (mswindows_modifier_state):
13831         * event-msw.c (emacs_mswindows_handle_magic_event):
13832         implement sticky modifiers.
13833
13834         * event-stream.c:
13835         * event-stream.c (vars_of_event_stream):
13836         move modifier-keys-are-sticky here.
13837
13838         * lisp.h:
13839         add CHECK_FUNCTION.
13840
13841         * rangetab.c:
13842         implement map-range-table.
13843
13844
13845 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13846
13847         * redisplay-tty.c (reset_tty_modes):
13848         (tty_redisplay_shutdown): Adjust argument type to
13849         tty_frame_output_end.
13850
13851 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13852
13853         * eval.c (Fbacktrace): Don't output a line with only right
13854         parenthesis.
13855
13856 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13857
13858         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13859         (Fpq_reset_poll): Ditto.
13860
13861 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13862
13863         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13864
13865 2000-05-16  Ben Wing  <ben@xemacs.org>
13866
13867         * buffer.c:
13868         * buffer.c (dfc_convert_to/from_internal_format):
13869         * buffer.c (reinit_vars_of_buffer):
13870         Fix conversion functions to allow reentrancy.
13871
13872         * console-msw.c:
13873         * console-msw.c (mswindows_output_last_error):
13874         New fun, generally useful -- output a human-readable
13875         version of GetLastError() on the console.
13876
13877         * console-msw.h:
13878         * console-msw.h (struct mswindows_frame):
13879         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13880
13881         * console-stream.c (stream_output_begin):
13882         * console-stream.c (stream_output_end):
13883         * console-stream.c (stream_output_vertical_divider):
13884         * console-stream.c (stream_clear_region):
13885         * console-stream.c (stream_flash):
13886         * console-stream.c (console_type_create_stream):
13887         Delete blank stream methods, not needed.
13888
13889         * console.h (struct console_methods):
13890         Split begin/end methods into window and frame.
13891
13892         * event-msw.c:
13893         * event-msw.c (mswindows_handle_paint):
13894         * event-msw.c (output_alt_keyboard_state):
13895         * event-msw.c (mswindows_wnd_proc):
13896         * event-msw.c (vars_of_event_mswindows):
13897         Comment about problems with ignored-expose.
13898         Define mswindows-debug-events; not really implemented.
13899
13900         * frame-msw.c (mswindows_init_frame_1):
13901         random cleanups.
13902
13903         * glyphs-msw.c:
13904         * glyphs-msw.c (begin_defer_window_pos):
13905         * glyphs-msw.c (mswindows_unmap_subwindow):
13906         * glyphs-msw.c (mswindows_map_subwindow):
13907         * glyphs-msw.c (mswindows_resize_subwindow):
13908         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13909
13910         * glyphs.c (make_image_instance_1):
13911         Fix crash.
13912
13913         * gutter.c (Fredisplay_gutter_area):
13914         Use new begin/end methods.
13915
13916         * lisp.h (Dynarr_new2):
13917         New creation fun.
13918
13919         * redisplay-msw.c:
13920         * redisplay-msw.c (mswindows_frame_output_begin):
13921         * redisplay-msw.c (mswindows_frame_output_end):
13922         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13923         New begin/end methods -- handle DeferWindowPos.
13924
13925         * redisplay-output.c (redisplay_move_cursor):
13926         * redisplay-output.c (redraw_cursor_in_window):
13927         * redisplay-output.c (redisplay_update_line):
13928         * redisplay-output.c (redisplay_output_window):
13929         New begin/end methods.
13930
13931         * redisplay-tty.c:
13932         * redisplay-tty.c (tty_frame_output_begin):
13933         * redisplay-tty.c (tty_frame_output_end):
13934         * redisplay-tty.c (console_type_create_redisplay_tty):
13935         New begin/end methods.
13936
13937         * redisplay-x.c:
13938         * redisplay-x.c (x_window_output_begin):
13939         * redisplay-x.c (x_window_output_end):
13940         * redisplay-x.c (console_type_create_redisplay_x):
13941         New begin/end methods.
13942
13943         * redisplay.c (redisplay_frame):
13944         * redisplay.c (Fredisplay_echo_area):
13945         New begin/end methods.
13946         use MAYBE_DEVMETH for clear_frame; it may not exist.
13947
13948         * window.h (WINDOW_XFRAME):
13949         WINDOW_XFOO macros -- get locale and decode struct pointer.
13950
13951
13952 2000-05-12  Ben Wing  <ben@xemacs.org>
13953
13954         * emacs.c:
13955         * emacs.c (ensure_no_quitting_from_now_on):
13956         * emacs.c (fatal_error_signal):
13957         * emacs.c (mswindows_handle_hardware_exceptions):
13958         * emacs.c (main):
13959         * emacs.c (Fkill_emacs):
13960         * emacs.c (shut_down_emacs):
13961         * emacs.c (assert_failed):
13962         various improvements in fatal error handling.
13963
13964         * eval.c:
13965         move preparing_for_armageddon to emacs.c.
13966
13967         * lisp.h:
13968         declare fatal_error_in_progress.
13969
13970         * print.c:
13971         * print.c (std_handle_out_external):
13972         * print.c (std_handle_out_va):
13973         * print.c (stderr_out):
13974         * print.c (stdout_out):
13975         use console under mswin when no standard output.
13976         don't do code conversion during fatal error.
13977
13978         * scrollbar.c (Fscrollbar_page_up):
13979         * scrollbar.c (Fscrollbar_page_down):
13980         fix missing else.  reindent.
13981
13982 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13983
13984         Emergency fix.
13985
13986         * glyphs.h (GLYPH_CACHEL_DESCENT):
13987         (GLYPH_CACHEL_DESCENT):
13988         (GLYPH_CACHEL_DESCENT):
13989         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13990         used in case these are inline functions.
13991         Use more absurd values to error check.
13992
13993         include window.h for error check functions.
13994
13995 2000-05-11  Ben Wing  <ben@xemacs.org>
13996
13997         * cmdloop.c (Freally_early_error_handler):
13998         Display message box under windows; otherwise, message will disappear
13999         before it can be viewed.
14000
14001         * console-msw.c:
14002         * console-msw.c (Fmswindows_message_box):
14003         * console-msw.c (FROB):
14004         * console-msw.c (syms_of_console_mswindows):
14005         Define new fun `mswindows-message-box'.
14006         #### I will merge this into `popup-dialog-box'; just give me
14007         a bit of time.
14008
14009         * general.c:
14010         * general.c (syms_of_general):
14011         Some new symbols used in `mswindows-message-box'.
14012
14013         * glyphs.c:
14014         * glyphs.c (Fset_image_instance_property):
14015         put warning in this fun.
14016
14017         * glyphs.h:
14018         * glyphs.h (GLYPH_CACHEL_WIDTH):
14019         * glyphs.h (GLYPH_CACHEL_ASCENT):
14020         * glyphs.h (GLYPH_CACHEL):
14021         * glyphs.h (GLYPH_CACHEL_GLYPH):
14022         define error-checking versions to try to catch a bug i've seen --
14023         redisplay gets in an infinite loop because the glyph width of the
14024         continuation glyph is 65535.
14025
14026         * lisp.h:
14027         Extern message-box stuff.
14028
14029         * window.c (allocate_window):
14030         * window.c (make_dummy_parent):
14031         * window.c (Fset_window_configuration):
14032         Use EQUAL not EQ for subwindow caches to make them work a bit
14033         better. (Something is still very broken.)
14034
14035
14036 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14037
14038         * glyphs.c (image_instantiate): Suppress gcc warnings.
14039         (Fmake_image_instance): Fix doc string.
14040         * specifier.c (Fmake_specifier): Ditto.
14041
14042 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14043
14044         * paths.h.in (PATH_LOCK): Removed.
14045         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14046         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14047
14048 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14049
14050         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14051         Document (featurep '(and xemacs 21.02)).
14052
14053 2000-05-09  Ben Wing  <ben@xemacs.org>
14054
14055         * buffer.c (complex_vars_of_buffer):
14056         update modeline-format doc.
14057
14058         * device.h:
14059         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14060
14061         * emacs.c:
14062         timeline of all released versions of Emacs, for use in creating
14063         authorship comments and in synching up.
14064
14065         * glyphs-widget.c (image_instantiator_buttons):
14066         * glyphs-widget.c (image_instantiator_edit_fields):
14067         * glyphs-widget.c (image_instantiator_combo_box):
14068         * glyphs-widget.c (image_instantiator_scrollbar):
14069         * glyphs-widget.c (image_instantiator_progress_guage):
14070         * glyphs-widget.c (image_instantiator_tree_view):
14071         * glyphs-widget.c (image_instantiator_tab_control):
14072         * glyphs-widget.c (image_instantiator_labels):
14073         * glyphs-widget.c (image_instantiator_layout):
14074         * glyphs-widget.c (image_instantiator_native_layout):
14075         rename decode_domain method to governing_domain.
14076
14077         * glyphs.c:
14078         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14079         * glyphs.c (add_entry_to_device_ii_format_list):
14080         make sure we don't put an entry more than once into the list.
14081         * glyphs.c (check_instance_cache_mapper):
14082         *************************************************************
14083         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14084         HAVE BEEN GETTING.
14085         *************************************************************
14086         * glyphs.c (get_image_instantiator_governing_domain):
14087         clean up, expand on new concept of governing domain.
14088         * glyphs.c (instantiate_image_instantiator):
14089         * glyphs.c (allocate_image_instance):
14090         use governing_domain instead of cache_domain in naming.
14091         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14092         * glyphs.c (make_image_instance_1):
14093         * glyphs.c (Fmake_image_instance):
14094         allow for any domain (not just device), and process the
14095         governing domain correctly.  very big doc fix.
14096         * glyphs.c (Fimage_instance_domain):
14097         new primitive, to retrieve the governing domain of an image instance.
14098         * glyphs.c (image_instantiate):
14099         use new governing_domain stuff.  this fixes a crash you could get
14100         by instantiating certain widget glyphs in frame locales. (should
14101         signal an error instead of crashing.)
14102         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14103         * glyphs.c (Fglyphp): clean up doc.
14104         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14105         * glyphs.c (syms_of_glyphs):
14106         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14107         * glyphs.c (image_instantiator_format_create): add some comments about
14108         bogus code.
14109         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14110         for current-display-table. (Apparently Hrjove implemented in 1998 a
14111         design I wrote up in 1996, but didn't update the doc string.)
14112
14113         * glyphs.h: clean up a doc string.
14114         * glyphs.h (governing_domain):
14115         * glyphs.h (struct image_instantiator_methods):
14116         changes for governing_domain stuff.
14117
14118         * gutter.c:
14119         * gutter.c (Fgutter_specifier_p):
14120         * gutter.c (Fgutter_size_specifier_p):
14121         * gutter.c (Fgutter_visible_specifier_p):
14122         * objects.c:
14123         * objects.c (Fcolor_specifier_p):
14124         * objects.c (Ffont_specifier_p):
14125         * objects.c (Fface_boolean_specifier_p):
14126         doc strings moved to make-*-specifier.
14127
14128         * redisplay.c (add_disp_table_entry_runes_1):
14129         * redisplay.c (generate_fstring_runes):
14130         * redisplay.c (screen):
14131         add random comments and doc strings.
14132
14133         * specifier.c:
14134         * specifier.c (Fmake_specifier):
14135         major overhaul of this doc string.
14136
14137         * specifier.c (Fvalid_specifier_domain_p):
14138         comment about the bogosity of image instances being domains.
14139         * specifier.c (decode_domain):
14140         now non-static, used in glyphs.c.
14141         * specifier.c (specifier_instance):
14142         comment about the bogosity of image instances being domains.
14143         * specifier.c (Fgeneric_specifier_p):
14144         move doc string to make-generic-specifier.
14145         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14146         rebackslashify.
14147
14148         * specifier.h:
14149         * specifier.h (DOMAIN_FRAME):
14150         * specifier.h (DOMAIN_LIVE_P):
14151         * specifier.h (DOMAIN_XDEVICE):
14152         rebackslashify.
14153         add comments about problems with these macros.
14154         prototype for decode_domain.
14155
14156         * toolbar.c:
14157         * toolbar.c (Ftoolbar_specifier_p):
14158         move doc string to `make-toolbar-specifier'.
14159
14160         * window.c (window_unmap_subwindows_cache_mapper):
14161         *************************************************************
14162         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14163         HAVE BEEN GETTING.
14164         *************************************************************
14165
14166 2000-05-09  Andy Piper  <andy@xemacs.org>
14167
14168         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14169
14170         * window.c (Fset_window_configuration): reset the frame subwindow
14171         cache and re-initialize the window subwindow caches.
14172
14173         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14174
14175 2000-05-09  Ben Wing  <ben@xemacs.org>
14176
14177         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14178         DWORD.
14179
14180 2000-04-26  Mike Woolley  <mike@bulsara.com>
14181
14182         * ntheap.c: Changed recreate_heap to limit the amount reserved
14183         for the heap to that which is actually available. Also now
14184         displays a message box (with some dignostics) in the event that
14185         it still can't start.
14186
14187 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14188
14189         * callproc.c (Fold_call_process_internal): GCPRO path
14190
14191 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14192
14193         Patch by Bill Perry.
14194
14195         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14196         back data instead of #ifdef.
14197         (Fscrollbar_page_down): ditto.
14198
14199 2000-05-07  Ben Wing  <ben@xemacs.org>
14200
14201         * buffer.h:
14202         Kludge for defining Qmswindows_tstr.
14203
14204         * nt.c:
14205         * nt.c (open_input_file):
14206         * nt.c (open_output_file):
14207         * nt.c (rva_to_section):
14208         * nt.c (mswindows_executable_type):
14209         Move all memory-mapped-file routines here (some were in unexnt.c,
14210         which is bad because they are used by process-nt.c, and unexnt
14211         won't be around when portable dumping).  Synched the above routines
14212         with FSF 20.6.
14213
14214         * nt.h:
14215         Removed ifdef'd out bogus code.
14216         Fixed some prototypes.
14217
14218         * nt.h (file_data):
14219         * nt.h (OFFSET_TO_RVA):
14220         * nt.h (RVA_TO_OFFSET):
14221         * nt.h (RVA_TO_PTR):
14222         Moved the memory-mapped-file structures, macros and prototypes
14223         here, to parallel nt.c.  ntheap.h should really be removed
14224         entirely, and it's a non-portable-dumper specific file.
14225
14226         * ntheap.h (round_to_next):
14227         Moved the memory-mapped-file structures, macros and prototypes
14228         to nt.h.
14229
14230         * ntproc.c (compare_env):
14231         Moved rva_to_section and mswindows_executable_type to nt.c.
14232         Moved compare_env to process-nt.c.
14233         ntproc.c will die, one day.
14234
14235         * ntproc.c (sys_spawnve):
14236         Account for win32_ -> mswindows_.
14237
14238         * process-nt.c:
14239         * process-nt.c (struct nt_process_data):
14240         * process-nt.c (ensure_console_window_exists):
14241         * process-nt.c (compare_env):
14242         * process-nt.c (nt_create_process):
14243         * process-nt.c (nt_kill_process_by_pid):
14244         * process-nt.c (syms_of_process_nt):
14245         * process-nt.c (vars_of_process_nt):
14246         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14247         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14248         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14249         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14250         Move compare_env here from ntproc.c.
14251
14252         * process.c (Fprocess_send_region):
14253         Takes an optional fourth argument, BUFFER, which should fix some
14254         problems with call-process.
14255
14256         * syscommctrl.h:
14257         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14258
14259         * syswindows.h:
14260         Move ICC_BAR_CLASSES to syscommctrl.h.
14261         Add preliminary macros for MSWindows/Mule.  More to come.
14262
14263         * unexnt.c:
14264         * unexnt.c (unexec):
14265         open_output_file moved to nt.c.
14266
14267
14268 2000-05-05  Andy Piper  <andy@xemacs.org>
14269
14270         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14271         instance from the frame cache also since GC may catch up too late
14272         to make frame deletion sane.
14273
14274 2000-05-04  Andy Piper  <andy@xemacs.org>
14275
14276         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14277         (x_finalize_image_instance): ungcpro on deletion.
14278
14279         * glyphs.c (image_instantiator_format_create): give pointers a
14280         query geometry method so that the geometry is at least set.
14281
14282         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14283         initialize layouts if using widgets.
14284
14285 2000-05-03  Andy Piper  <andy@xemacs.org>
14286
14287         * nt.c: remove bogus reference to sysmmsystem.h
14288
14289         * gui-x.c (popup_selection_callback): fix no selection abort.
14290
14291 2000-05-02  Andy Piper  <andy@xemacs.org>
14292
14293         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14294         (mswindows_widget_instantiate): ditto.
14295
14296         * glyphs-widget.c (initialize_widget_image_instance): initialize
14297         children correctly.
14298         (widget_instantiate): cope with children and items in the same
14299         instance.
14300
14301         * glyphs.c (mark_image_instance): cope with children as a first
14302         class member.
14303         (image_instance_equal): ditto.
14304         (image_instance_hash): ditto.
14305         (image_instance_changed): ditto.
14306
14307 2000-04-30  Andy Piper  <andy@xemacs.org>
14308
14309         * glyphs.c (subwindow_query_geometry): new function. Return some
14310         defaults.
14311         (subwindow_instantiate): don't assign dimensions if none have been
14312         given.
14313         (image_instantiator_format_create): add subwindow_query_geometry.
14314         (print_image_instance): cope with layouts as widgets.
14315
14316 2000-04-29  Andy Piper  <andy@xemacs.org>
14317
14318         * frame.c (delete_frame_internal): call
14319         free_frame_subwindow_instance_cache so that all subwindows are
14320         finalized before their parent.
14321         (mark_frame): remove subwindow_cachels.
14322         (Fmake_frame): remove subwindow_cachel manipulation.
14323         (allocate_frame_core): subwindow_instance_cache is a weak list.
14324         (delete_frame_internal): set subwindow_instance_cache to nil.
14325
14326         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14327         finalization safe.
14328         (mswindows_finalize_image_instance): use the device
14329         not the domain as the domain may have died already.
14330
14331         * glyphs-x.c (x_finalize_image_instance): ditto.
14332         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14333         HEIGHT.
14334
14335         * redisplay-output.c (redisplay_unmap_subwindows): update for
14336         subwindow instance cache as a weak list.
14337         (redisplay_unmap_subwindows_maybe): ditto.
14338         (redisplay_unmap_subwindows_except_us): ditto.
14339
14340         * glyphs.c (unmap_subwindow): error checking will check the domain
14341         so don't deal with it here. Don't use cachels anymore.
14342         (map_subwindow): ditto.
14343         (update_subwindow_cachel_data): remove old accessor names.
14344         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14345         (Fresize_subwindow): don't update cachel.
14346         (mark_subwindow_cachels):
14347         (update_subwindow_cachel_data):
14348         (add_subwindow_cachel):
14349         (get_subwindow_cachel_index):
14350         (update_subwindow_cachel):
14351         (reset_subwindow_cachels):
14352         (mark_subwindow_cachels_as_not_updated): deleted.
14353         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14354         subwindow instance to the frame cache.
14355         (find_matching_subwindow): update for subwindow instance cache as
14356         a weak list.
14357         (update_widget_instances): ditto.
14358         (image_instance_type_to_mask):inlined.
14359         (free_frame_subwindow_instance_cache): new function. finalize all
14360         subwindows that are instantiated.
14361
14362         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14363         of cachel information.
14364         (IMAGE_INSTANCE_DISPLAY_X):
14365         (IMAGE_INSTANCE_DISPLAY_Y):
14366         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14367         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14368         (XIMAGE_INSTANCE_DISPLAY_X):
14369         (XIMAGE_INSTANCE_DISPLAY_Y):
14370         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14371         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14372         remove subwindow_cachel structure and function references.
14373         (image_instance_type_to_mask): inline from glyphs.c
14374
14375         * redisplay.c (redisplay_frame): remove subwindow_cachel
14376         references.
14377
14378         * frame.h (struct frame): remove subwindow_cachels.
14379         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14380
14381         * frameslots.h: add subwindow_instance_cache.
14382
14383         * window.c (replace_window): check subwindow cache of replacement.
14384         (window_unmap_subwindows_cache_mapper):
14385         (window_unmap_subwindows): new functions. Unmap all subwindows
14386         cached on this window.
14387         (mark_window_as_deleted): unmap all subwindows.
14388
14389 2000-04-27  Andy Piper  <andy@xemacs.org>
14390
14391         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14392
14393         * glyphs-widget.c (widget_layout): return something.
14394         (layout_layout): return something. Fail if not initialized.
14395         (layout_query_geometry): ditto.
14396         (image_instantiator_native_layout): new function. Initialized the
14397         native layout type.
14398         (widget_instantiate): don't do layout stuff here.
14399
14400         * glyphs.c (instantiate_image_instantiator): reorded calling or
14401         instantiate and post_instantiate with layout in between.
14402         (image_instance_layout): be more selective about deciding whether
14403         the layout has been done or not.
14404
14405         * glyphs.h (struct image_instantiator_methods): return a value
14406         from layout_method.
14407
14408 2000-04-26  Andy Piper  <andy@xemacs.org>
14409
14410         * glyphs.c (allocate_image_instance): make initial width and
14411         height unspecified. Set initialized to 0.
14412
14413         * syscommctrl.h new file. Encapsulates commctrl.h.
14414
14415         * syswindows.h new file. Encapsulates windows.h.
14416
14417         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14418         * nt.c: ditto.
14419         * console-msw.h: ditto.
14420
14421         * redisplay-tty.c (tty_output_display_block): remove layout references.
14422
14423         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14424         window handle rather than just the frame.
14425
14426         * glyphs.c (mark_image_instance): remove layout references.
14427         (print_image_instance): ditto.
14428         (image_instance_equal): ditto.
14429         (image_instance_hash): ditto.
14430         (decode_image_instance_type): ditto.
14431         (encode_image_instance_type): ditto.
14432         (image_instantiate): ditto.
14433         (allocate_glyph): ditto.
14434         (Fimage_instance_height): ditto.
14435         (Fimage_instance_width): ditto.
14436         (update_subwindow): ditto.
14437
14438         * redisplay-x.c (x_output_display_block): recode for layouts as
14439         widgets.
14440
14441         * redisplay-output.c (redisplay_output_layout): recode for layouts
14442         as widgets.
14443         (compare_runes): remove layout references.
14444
14445         * redisplay-msw.c (mswindows_output_display_block): recode for
14446         layouts as widgets.
14447
14448         * glyphs-widget.c (image_instantiator_layout): remove
14449         layout_possible_dest_types.
14450         (layout_possible_dest_types): deleted.
14451
14452         * glyphs.h (image_instance_type): remove layout references.
14453         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14454         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14455         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14456
14457 2000-04-25  Andy Piper  <andy@xemacs.org>
14458
14459         * glyphs-widget.c (image_instantiator_buttons):
14460         (image_instantiator_edit_fields):
14461         (image_instantiator_combo_box):
14462         (image_instantiator_scrollbar):
14463         (image_instantiator_progress_guage):
14464         (image_instantiator_tree_view):
14465         (image_instantiator_tab_control):
14466         (image_instantiator_labels):
14467         (image_instantiator_layout): call default post_instantiate method.
14468         (widget_post_instantiate): new function. Simply lays out the
14469         widgets.
14470
14471         * glyphs.h (struct image_instantiator_methods): add
14472         post_instantiate method.
14473
14474         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14475         method calls.
14476
14477 2000-04-23  Andy Piper  <andy@xemacs.org>
14478
14479         * glyphs.h (struct image_instantiator_methods): add
14480         decode_domain_method.
14481         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14482         derived from the domain.
14483         (IMAGE_INSTANCE_FRAME): new accessor.
14484         (XIMAGE_INSTANCE_FRAME): ditto.
14485
14486         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14487         instead of _SUBWINDOW_FRAME.
14488         (finalize_image_instance): ditto.
14489         (Fimage_instance_foreground): ditto.
14490         (Fimage_instance_background): ditto.
14491         (image_instantiate): ditto.
14492         (update_subwindow_cachel): ditto.
14493         (update_subwindow): ditto.
14494         (unmap_subwindow): ditto.
14495         (map_subwindow): ditto
14496         (subwindow_instantiate): ditto.
14497         * glyphs-msw.c (mswindows_update_widget): ditto.
14498         (mswindows_progress_gauge_instantiate): ditto.
14499         (mswindows_tab_control_update): ditto.
14500         * glyphs-x.c (x_update_widget): ditto.
14501         (x_widget_instantiate): ditto.
14502         (x_tab_control_instantiate): ditto.
14503         (x_tab_control_update): ditto.
14504         * event-msw.c (mswindows_wnd_proc): ditto
14505
14506         * glyphs-widget.c (image_instantiator_layout): use
14507         subwindow_decode_domain.
14508         (image_instantiator_buttons): ditto.
14509         (image_instantiator_edit_fields): ditto.
14510         (image_instantiator_combo_box): ditto.
14511         (image_instantiator_scrollbar): ditto.
14512         (image_instantiator_progress_guage): ditto.
14513         (image_instantiator_tree_view): ditto.
14514         (image_instantiator_tab_control): ditto.
14515         (image_instantiator_labels): ditto.
14516         (image_instantiator_layout): ditto.
14517
14518         * glyphs.c: add instance error checking to many functions.
14519         (instantiate_image_instantiator): decode device from cache_domain.
14520         (image_instantiate): partially rewrite by using
14521         decode_image_instantiator_domain to determine what domain the
14522         instance needs to be cached in.
14523         (decode_image_instantiator_domain): new function. Determine what
14524         domain the image needs to be cached in.
14525         (check_window_subwindow_cache): new error checking function.
14526         (check_instance_cache_mapper): ditto.
14527         (check_image_instance_structure): ditto.
14528         (subwindow_decode_domain): new function. Encodes a window as a
14529         subwindow's cache domain.
14530         (image_instantiator_format_create): use it for text and
14531         subwindows.
14532
14533 2000-04-21  Andy Piper  <andy@xemacs.org>
14534
14535         * glyphs.c (image_instance_device): new function.
14536         (image_instance_frame): new function.
14537         (image_instance_window): new function.
14538         (image_instance_live_p): new function.
14539
14540         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14541         cache to nil.
14542
14543         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14544         (IMAGE_INSTANCE_DOMAIN): new accessor.
14545         (XIMAGE_INSTANCE_DOMAIN): ditto.
14546
14547         * glyphs-x.c (x_finalize_image_instance): device->domain.
14548
14549         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14550         (mswindows_finalize_image_instance): ditto.
14551
14552         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14553         (gif_instantiate): ditto.
14554         (png_instantiate): ditto.
14555         (tiff_instantiate): ditto.
14556
14557         * glyphs.c (instantiate_image_instantiator): use domain rather
14558         than device.
14559         (mark_image_instance): device -> domain.
14560         (print_image_instance): ditto.
14561         (finalize_image_instance): ditto.
14562         (image_instance_equal): ditto.
14563         (allocate_image_instance): ditto.
14564         (Fcolorize_image_instance): ditto.
14565         (query_string_geometry): ditto.
14566         (image_instantiate): ditto
14567         (query_string_font): ditto.
14568         (image_instantiate): ditto.
14569         (update_subwindow): ditto.
14570         (unmap_subwindow): ditto.
14571         (map_subwindow): ditto.
14572         (subwindow_instantiate): ditto.
14573
14574         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14575         (DOMAIN_FRAME): ditto.
14576         (DOMAIN_WINDOW): ditto.
14577         (DOMAIN_LIVE_P): ditto.
14578         (XDOMAIN_DEVICE): ditto.
14579         (XDOMAIN_FRAME): ditto.
14580         (XDOMAIN_WINDOW): ditto.
14581
14582         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14583         a valid specifier domain.
14584
14585 2000-04-19  Andy Piper  <andy@xemacs.org>
14586
14587         * glyphs-widget.c (syms_of_glyphs_widget): remove
14588         widget-callback-current-channel.
14589         (vars_of_glyphs_widget): ditto.
14590         * glyphs.h: ditto
14591
14592         * gui.c (get_gui_callback): revert to previous behaviour.
14593
14594 2000-04-18  Andy Piper  <andy@xemacs.org>
14595
14596         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14597         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14598         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14599
14600         * glyphs.c (image_instance_equal): add margin_width.
14601         (image_instance_hash): ditto.
14602
14603         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14604         (layout_query_geometry): ditto.
14605         (layout_layout): ditto.
14606         (syms_of_glyphs_widget): add margin-width.
14607         (image_instantiator_layout): allow margin-width.
14608
14609         * glyphs.c (update_widget_instances): make a normal function.
14610         (syms_of_glyphs): remove Qupdate_widget_instances.
14611         * glyphs.h: ditto.
14612
14613         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14614         so that we don't corrupt ideas about the last event or
14615         command. Remove widget-callback-current-channel fiddling.
14616         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14617
14618 2000-05-01  Martin Buchholz <martin@xemacs.org>
14619
14620         * XEmacs 21.2.33 is released.
14621
14622 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14623
14624         * make-src-depend: Allow dots in header file name.
14625
14626 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14627
14628         * mule-charset.h (struct charset_lookup): Add
14629         next_allocated_1_byte_leading_byte and
14630         next_allocated_2_byte_leading_byte.
14631         * mule-charset.c: Move above two variables so that those values
14632         will be dumped.
14633
14634 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14635
14636         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14637         when string length is zero.
14638         (find_charsets_in_emchar_string): Ditto.
14639
14640 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14641
14642         * lisp.h: extern Qdialog and Qmenubar.
14643
14644         * gui-x.c: added events.h.
14645                 also fixed typo which made the file uncompilable.
14646
14647         * general.c: Added Qmenubar and Qdialog
14648
14649 2000-04-28  Ben Wing  <ben@xemacs.org>
14650
14651         * frame-msw.c (mswindows_init_frame_1):
14652         * frame-msw.c (mswindows_mark_frame):
14653         * event-msw.c (mswindows_enqueue_dispatch_event):
14654         * console-msw.h:
14655         * console-msw.h (struct mswindows_frame):
14656         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14657         there are now three hash tables for callbacks.
14658         mswindows_enqueue_dispatch_event is no longer static.
14659
14660         * dialog-x.c (maybe_run_dbox_text_callback):
14661         * dialog-x.c (dbox_descriptor_to_widget_value):
14662         switch to new cons3 form for callbacks.
14663
14664         * glyphs-msw.c (mswindows_register_gui_item):
14665         * glyphs-msw.c (mswindows_widget_instantiate):
14666         * glyphs-msw.c (add_tree_item):
14667         * glyphs-msw.c (add_tab_item):
14668         new image instance parameter, so it can be passed to callback-ex.
14669         respect :callback-ex as well as :callback.
14670
14671         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14672         add :callback-ex.
14673
14674         * glyphs.c (print_image_instance):
14675         prettify, e.g. now prints widget type.
14676
14677         * gui-x.h:
14678         certain funs have new image instance parameter.
14679
14680         * gui.c:
14681         * gui.c (get_gui_callback):
14682         * gui.c (gui_item_add_keyval_pair):
14683         * gui.c (gui_item_init):
14684         * gui.c (gui_add_item_keywords_to_plist):
14685         * gui.c (mark_gui_item):
14686         * gui.c (gui_item_hash):
14687         * gui.c (gui_item_equal):
14688         * gui.c (copy_gui_item):
14689         * gui.c (syms_of_gui):
14690         recognize callback-ex in a number of places.
14691         also, fix the annoying "can't get out of yes-no dialog" bug.
14692
14693         * gui.h:
14694         * gui.h (struct Lisp_Gui_Item):
14695         recognize callback-ex in a number of places.
14696
14697         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14698         new parameter in button_item_to_widget_value.
14699
14700         * glyphs-x.c (x_update_widget):
14701         * glyphs-x.c (x_button_instantiate):
14702         * glyphs-x.c (x_button_update):
14703         * glyphs-x.c (x_progress_gauge_instantiate):
14704         * glyphs-x.c (x_edit_field_instantiate):
14705         * glyphs-x.c (x_combo_box_instantiate):
14706         * glyphs-x.c (x_tab_control_instantiate):
14707         * glyphs-x.c (x_label_instantiate):
14708         new image instance parameter in various places.
14709
14710         * event-Xt.c:
14711         * event-Xt.c (enqueue_Xt_dispatch_event):
14712         this fun gets exported.
14713
14714         * gui-msw.c:
14715         * gui-msw.c (mswindows_handle_gui_wm_command):
14716         handle both :callback and :callback-ex, and generate our own
14717         event because it's one of the callback-ex arguments.
14718
14719         * gui-x.c:
14720         * gui-x.c (popup_selection_callback):
14721         handle both :callback and :callback-ex, and generate our own
14722         event because it's one of the callback-ex arguments.
14723         * gui-x.c (button_item_to_widget_value):
14724         * gui-x.c (gui_items_to_widget_values_1):
14725         * gui-x.c (gui_item_children_to_widget_values):
14726         * gui-x.c (gui_items_to_widget_values):
14727         new image instance parameter in various places.
14728
14729         * fns.c (Freplace_list):
14730         fix small typo in doc string.
14731
14732         * lisp.h:
14733         declare enqueue_Xt_dispatch_event.
14734
14735 2000-04-28  Ben Wing  <ben@xemacs.org>
14736
14737         * buffer.c:
14738         * buffer.c (Frecord_buffer):
14739         * buffer.c (syms_of_buffer):
14740         delete record-buffer-hook.
14741
14742         * fns.c:
14743         * fns.c (Freplace_list):
14744         * fns.c (syms_of_fns):
14745         new primitive replace-list.
14746
14747         * frameslots.h:
14748         slot for old buffer-alist.
14749
14750         * lisp.h:
14751         exfun replace-list.
14752
14753         * redisplay.c:
14754         * redisplay.c (redisplay_frame):
14755         * redisplay.c (syms_of_redisplay):
14756         * redisplay.c (vars_of_redisplay):
14757         new hook buffer-list-changed-hook.
14758         call it.
14759
14760 2000-04-27  Ben Wing  <ben@xemacs.org>
14761
14762         * extents.h: extern in_modeline_generation.
14763
14764         * redisplay.c (generate_formatted_string_db): set
14765         in_modeline_generation.
14766
14767         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14768         flags if in modeline generation.  otherwise frame-modified-tick
14769         is ticked far too often.
14770         Declare in_modeline_generation.
14771
14772 2000-04-26  Ben Wing  <ben@xemacs.org>
14773
14774         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14775         option.
14776         (vars_of_emacs): add quick-build as an error-checking option.
14777         A bit kludgy, but there doesn't seem much point in creating
14778         a real var for this.
14779
14780         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14781
14782 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14783
14784         * redisplay.h (struct display_line): Add a new variable,
14785         line_continuation.
14786
14787         * redisplay.c (create_text_block): Set dl->line_continuation if
14788         the line continues.
14789         (create_string_text_block): Ditto.
14790         (regenerate_window_incrementally): Use line_continuation instead
14791         of searching continuation glyph.
14792         (add_margin_runes): Call add_glyph_rune.
14793         (add_glyph_rune): Handle margin glyph.
14794
14795 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14796
14797         * filelock.c (fill_in_lock_file_name):
14798         ANSIfy.
14799         Check for IS_ANY_SEP instead of '/'.
14800         (lock_file_1):
14801         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14802         Never check errno without first seeing that system call failed.
14803         (unlock_file): Add GCPRO.
14804         (Flock_buffer): Fix docstring.
14805         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14806
14807 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14808
14809         * sysdep.c (get_pty_max_bytes):
14810         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14811         strings longer than 252 bytes.
14812
14813         * md5.c: Unconditionally include ANSI header <limits.h>
14814
14815         * glyphs-x.c (convert_EImage_to_XImage):
14816         * lisp-union.h (union Lisp_Object):
14817         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14818
14819 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14820
14821         * filelock.c (current_lock_owner): Remove unused variable o, p.
14822
14823 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14824
14825         * callint.c: Remove multiply defined symbol Qlet
14826         (syms_of_callint): ditto.
14827
14828 2000-04-14  Andy Piper  <andy@xemacs.org>
14829
14830         * general.c (syms_of_general): add last-command, this-command, let
14831         and funcall.
14832
14833         * lisp.h: declare various symbols.
14834
14835         * glyphs.h: declare Qwidget_callback_current_channel;
14836
14837         * glyphs-widget.c (syms_of_glyphs_widget): add
14838         Qgui_callback_current_channel.
14839         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14840
14841         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14842         widget-callback-current-channel when invoking the interactive
14843         arg. Also bind last-command and next-command when invoking the
14844         widget updates.
14845         * gui-x.c (popup_selection_callback): ditto.
14846
14847         * gui.c (get_gui_callback): massage args so that we are always
14848         calling eval. This allows us to add our own variable bindings
14849         outside.
14850
14851         * glyphs-x.c (x_button_instantiate): use
14852         gui_items_to_widget_values since this is GC safe.
14853         (x_progress_gauge_instantiate): ditto.
14854         (x_edit_field_instantiate): ditto.
14855         (x_label_instantiate): ditto.
14856
14857         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14858         (emacs_Xt_event_widget_focus_out): new function
14859         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14860         focus.
14861         (emacs_Xt_event_add_widget_actions): new function. add focus
14862         functions as actions.
14863         (init_event_Xt_late): use it.
14864
14865 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14866
14867         * event-stream.c (Fdispatch_event): Doc fix.
14868
14869 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14870
14871         * postgresql.c: Remove all references to PQsetenv*.
14872
14873         * postgresql.h: Remove references to PGsetenvHandler object.
14874         * lrecord.h (lrecord_type): Ditto.
14875
14876 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14877
14878         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14879         real_heigh and real_width members, and accessor macros for these.
14880
14881         * glyphs-msw.c (init_image_instance_geometry): New function.
14882         (init_image_instance_from_dibitmap): Use it.
14883         (mswindows_resource_instantiate): Use it.
14884         (init_image_instance_from_xbm_inline): Use it.
14885         (mswindows_initialize_image_instance_mask): Use real bitmap
14886         geometry.
14887         (mswindows_create_resized_bitmap): Ditto.
14888         (mswindows_create_resized_mask): Ditto.
14889
14890         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14891         and bitmap to their surface size.
14892
14893 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14894
14895         * process-unix.c (unix_send_process): Guard against process MIA
14896         after Faccept_process_output.
14897
14898 2000-04-11  Ben Wing  <ben@xemacs.org>
14899
14900         * eval.c (unbind_to_hairy): fix brokenness introduced by
14901         nanosecond speed improvements.
14902
14903 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14904
14905         * sunplay.c (init_device): To play sounds correctly, the device
14906         apparently needs to be initialized at least once by XEmacs.  Make
14907         it so.
14908
14909 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14910
14911         * redisplay.c (add_margin_runes): Add text image glyph
14912           handling.
14913
14914 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14915
14916         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14917         gcc is newer than 2.5.
14918
14919 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14920
14921         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14922
14923         * fns.c (size_bit_vector):
14924         * alloc.c (size_vector):
14925         (make_vector_internal):
14926         (make_bit_vector_internal):
14927         (sweep_bit_vectors_1):
14928         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14929
14930 2000-04-06  Andy Piper  <andy@xemacs.org>
14931
14932         * gmalloc.c (malloc): undo previous change.
14933         (malloc): ditto.
14934         (free): ditto.
14935         (realloc): ditto.
14936
14937 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14938
14939         * line-number.c (buffer_line_number): Revert to former version.
14940
14941 2000-04-06  Andy Piper  <andy@xemacs.org>
14942
14943         * gmalloc.c (malloc): add error checking.
14944         (malloc): ditto.
14945         (free): ditto.
14946         (realloc): ditto.
14947
14948         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14949         button_item_to_widget_value arg.
14950
14951         * glyphs-x.c (x_button_instantiate): add extra
14952         button_item_to_widget_value arg.
14953         (x_progress_gauge_instantiate): ditto.
14954         (x_edit_field_instantiate): ditto.
14955         (x_label_instantiate): ditto.
14956
14957         * gui-x.c (gui_items_to_widget_values_1): add extra
14958         button_item_to_widget_value arg.
14959         (button_item_to_widget_value): add extra menu_item_p arg.
14960
14961         * gui-x.h: change signature of button_item_to_widget_value.
14962
14963         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14964         button_item_to_widget_value arg.
14965
14966 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14967
14968         * buffer.h (struct buffer): auto_save_modified should be long.
14969
14970 2000-04-05  Andy Piper  <andy@xemacs.org>
14971
14972         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14973         type.
14974         (button_query_geometry): give a little more room so that athena
14975         buttons fit.
14976
14977 2000-04-05  Andy Piper  <andy@xemacs.org>
14978
14979         * faces.c (complex_vars_of_faces): The widget face should inherit
14980         the font of the gui-element face.
14981
14982 2000-04-04  Andy Piper  <andy@xemacs.org>
14983
14984         * glyphs-x.c (x_button_update): new function. unconditionally
14985         update a button's state when the instance is dirty.
14986         (image_instantiator_format_create_glyphs_x): add x_button_update.
14987         (x_widget_instantiate): remove old resize cruft.
14988
14989 2000-04-02  Andy Piper  <andy@xemacs.org>
14990
14991         * frame.c (change_frame_size_1): The introduction of gutters means
14992         that we need to allow 0 as a potential frame dimension.
14993
14994 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14995
14996         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14997         image glyph if allow_cursor.
14998         (add_hscroll_rune): Don't allow cursor to border glyph.
14999         (create_text_block): Ditto.
15000
15001         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15002         text not in buffer.
15003         (redisplay_output_layout): Call ensure_face_cachel_complete for
15004         text image glyph.
15005
15006
15007 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15008
15009         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15010
15011         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15012         not in buffer
15013
15014         * redisplay-tty.c (tty_output_display_block): Delete the routine
15015         for text image glyph
15016         * redisplay-x.c (x_output_display_block): ditto
15017         * redisplay-msw.c (mswindows_output_display_block): ditto
15018
15019 2000-02-02  Mike Alexander  <mta@arbortext.com>
15020
15021         Note: Some of these were committed by accident as part of other
15022         patches.
15023
15024         * regex.c (regex_compile): Avoid compiler warnings.
15025
15026         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15027
15028         * nt.h: Declare term_ntproc correctly.
15029
15030         * nt.c: Remove incorrect declaration of get_home_directory which
15031         is declared correctly in lisp.h.
15032
15033         * keymap.c (get_keyelt): Avoid compiler warnings.
15034         (raw_lookup_key_mapper): Avoid compiler warnings.
15035
15036         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15037
15038         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15039
15040         * filemode.c (mode_string): Avoid compiler warnings.
15041
15042         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15043         avoid warning.
15044
15045         * events-mod.h: Undef some things that winuser.h defines differently.
15046
15047         * data.c (Faset): Avoid compiler warnings.
15048
15049         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15050
15051 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15052
15053         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15054         Fall through to simple beep on error.
15055         Replace "extern" by real header file.
15056
15057         * linuxplay.c: Use nativesound.h
15058         (play_sound_data): Return error code. Be less verbose on error.
15059
15060         * sunplay.c: Use nativesound.h
15061         (play_sound_data): Return error code. Be less verbose on error.
15062
15063         * ntplay.c: Use nativesound.h
15064         (play_sound_data): Return fake error code
15065
15066         * sgiplay.c: Use nativesound.h
15067         (play_sound_data): Return error code
15068
15069         * hpplay.c: Use nativesound.h, partially implement
15070         new error code. Break compilation until finished.
15071         (play_sound_data): error code.
15072
15073         * nativesound.h (play_sound_file):
15074           (play_sound_data): Prototype in new header.
15075
15076 2000-03-31  Andy Piper  <andy@xemacs.org>
15077
15078         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15079         for toggle and radio buttons.
15080         (image_instantiator_buttons): use it.
15081
15082 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15083
15084         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15085         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15086         found. Scrollbar event probably belonged to some old config.
15087
15088 2000-03-31  Andy Piper  <andy@xemacs.org>
15089
15090         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15091         than 1.
15092         (initialize_widget_image_instance): default layout to
15093         LAYOUT_HORIZONTAL rather than 0.
15094         (widget_instantiate): reverse the item list at the end rather than
15095         every iteration.
15096         (layout_layout): re-code for the border text at the front of the
15097         item list rather than at the end.
15098         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15099         provided by the user.
15100         (widget_query_geometry): comment.
15101
15102 2000-03-30  Andy Piper  <andy@xemacs.org>
15103
15104         * glyphs-widget.c (image_instantiator_layout): allow standard
15105         widget keywords in layouts.
15106
15107         * gutter.c (output_gutter): cope with nil gutter contents.
15108
15109         * frame.c (Fset_frame_properties): add gutter docs.
15110
15111 2000-03-29  Andy Piper  <andy@xemacs.org>
15112
15113         * toolbar-msw.c (TBSTYLE_FLAT): add.
15114         (mswindows_output_toolbar): minor fiddling.
15115
15116 2000-03-29  Andy Piper  <andy@xemacs.org>
15117
15118         * gutter.c (output_gutter): force gutter size recalculation if
15119         what we are trying to display won't fit.
15120         (update_gutter_geometry): new function. A per-gutter version of
15121         update_frame_gutter_geometry.
15122         (update_frame_gutter_geometry): use it.
15123         (redraw_exposed_gutter): add extra debugging output.
15124
15125 2000-03-28  Mike Alexander  <mta@arbortext.com>
15126
15127         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15128         (pdump_file_unmap): Implement it on Windows
15129         (pdump_file_get): Save alocated handles for pdump_file_unmap
15130
15131 2000-03-28  Andy Piper  <andy@xemacs.org>
15132
15133         * gui.c (get_gui_callback): treat Quit specially.
15134
15135 2000-03-27  Andy Piper  <andy@xemacs.org>
15136
15137         * glyphs.c (image_instantiate): be careful to check in the same
15138         way we assigned.
15139
15140 2000-03-27  Didier Verna  <didier@xemacs.org>
15141
15142         * config.h.in: define the proper SMART_INCLUDE macro.
15143         handle renaming of `foo_h_path' to `foo_h_file'.
15144
15145         * database.c: ditto.
15146
15147         * emacs.c: ditto.
15148
15149         * linuxplay.c: ditto.
15150
15151         * terminfo.c: ditto.
15152
15153         * tooltalk.h: ditto.
15154
15155 2000-03-27  Andy Piper  <andy@xemacs.org>
15156
15157         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15158         gets updated whenever the face might have changed.
15159
15160 2000-03-26  Mike Alexander  <mta@arbortext.com>
15161
15162         * dumper.c (pdump_resource_free): Fix the comment.
15163
15164 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15165
15166         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15167
15168 2000-03-22  Mike Alexander  <mta@arbortext.com>
15169
15170         * dumper.c: Include Windows headers on Windows
15171         (pdump_resource_free): Add a body to the function
15172         (pdump_load): exe_name -> exe_path and add some comments.
15173
15174 2000-03-25  Mike Alexander  <mta@arbortext.com>
15175
15176         * gui.c (copy_gui_item_tree): Return a value in all cases
15177
15178 2000-03-21  Didier Verna  <didier@xemacs.org>
15179
15180         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15181         lwlib/config.h.in.
15182         (SMART_INCLUDE): new macro.
15183         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15184         the proper location.
15185
15186         * postgresql.c: use it.
15187
15188         * inline.c: ditto.
15189
15190 2000-03-24  Andy Piper  <andy@xemacs.org>
15191
15192         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15193         do this.
15194
15195 2000-03-24  Andy Piper  <andy@xemacs.org>
15196
15197         * redisplay-output.c (compare_runes): use image_instance_changed
15198         to detect changes. Do not depend on glyphs_changed, only depend on
15199         dirtiness.
15200          (redisplay_output_layout): add debug messages.
15201         (compare_runes): ditto.
15202
15203         * glyphs.h: declare new functions.
15204         (struct Lisp_Image_Instance): remove percent and associated
15205         accessors.
15206
15207         * gui.h: declare new copying functions.
15208
15209         * gui.c (copy_gui_item_tree): new function.
15210         (copy_gui_item): new function.
15211         (gui_item_id_hash): revert to standard hash.
15212         (gui_item_hash): ditto.
15213         (gui_item_hash_internal): deleted.
15214         (mark_gui_item): mark value.
15215         (gui_item_add_keyval_pair): add value.
15216         (gui_item_init): ditto.
15217         (gui_add_item_keywords_to_plist): ditto.
15218         (gui_item_equal): ditto.
15219         (syms_of_gui): add Q_value.
15220
15221         * glyphs-x.c (x_progress_gauge_update): use pending items and
15222         value for setting the state.
15223         (x_update_widget): don't set items from pending here.
15224
15225         * glyphs-widget.c (update_widget): update items here.
15226         (progress_gauge_set_property): use items for storing value. Put
15227         new value in pending items.
15228
15229         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15230         items for new value. Convert percent -> value.
15231         (mswindows_tab_control_update): don't update items here.
15232
15233         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15234         (update_subwindow): ditto.
15235         (image_instance_changed): new function. Compare hash values and
15236         past and present widget items.
15237         (image_instantiate): We more careful about where we instantiate
15238         things.
15239         (image_instantiate): add error checking.
15240
15241         * gutter.c (syms_of_gutter): use -hook.
15242
15243 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15244
15245         * console-tty.c (Fset_console_tty_input_coding_system): Use
15246         Qkeyboard.
15247         (Fset_console_tty_output_coding_system): Use Qterminal.
15248         (tty_init_console): Use Qkeyboard and Qterminal.
15249
15250 2000-03-21  Ben Wing  <ben@xemacs.org>
15251
15252         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15253         From Mike Alexander <mta@arbortext.com>.
15254
15255 2000-03-21  Ben Wing  <ben@xemacs.org>
15256
15257         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15258         process brokenness.  Proper implementation to come.
15259         * callproc.c:
15260         Rename call-process-internal to old-call-process-internal.
15261         New impl. in process.el.
15262
15263 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15264
15265         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15266
15267 2000-03-20  Andy Piper  <andy@xemacs.org>
15268
15269         * glyphs.c (full_list_hash): make hashes of the same elements in
15270         different orders return different values.
15271
15272 2000-03-20  Martin Buchholz <martin@xemacs.org>
15273
15274         * XEmacs 21.2.32 is released.
15275
15276 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15277
15278         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15279         (DFC_MALLOC_USE_CONVERTED_DATA):
15280         Add aliasing-safe casts to allow use with char* or unsigned char*
15281         lvalues.
15282
15283         * eldap.c (Fldap_open):
15284         (Fldap_search_basic):
15285         (Fldap_add):
15286         (Fldap_modify):
15287         Make C++-compilable.
15288         Make sure GCPRO'ed variables are initialized.
15289         Use temp variables to avoid repeated calls to Flength.
15290
15291 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15292
15293         * sysfile.h:
15294         Make sure PATH_MAX is always defined.
15295         Include limits.h for PATH_MAX.
15296         Deprecate use of MAXPATHLEN.
15297
15298 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15299
15300         * emacs.c: Add reinit_vars_of_fileio.
15301         * symsinit.h: Add reinit_vars_of_fileio.
15302         * fileio.c (reinit_vars_of_fileio): New.
15303         * fileio.c (Fmake_temp_name):
15304         Initialize temp_name random number from microseconds to make
15305         collisions even less likely.  Initialize always at process startup
15306         time.  (make-temp-name) used to return the same file name twice in
15307         a row when PDUMP.
15308         Random stylistic fiddling.
15309         Comment fixes.
15310
15311 2000-03-20  Andy Piper  <andy@xemacs.org>
15312
15313         * glyphs.c (image_instantiate): allow text glyphs to be
15314         instantiated in the minibuffer window.
15315
15316 2000-03-19  Andy Piper  <andy@xemacs.org>
15317
15318         * glyphs.c (image_instance_hash): be careful about which items we
15319         hash on.
15320
15321         * glyphs-widget.c (tab_control_set_property): record into pending
15322         items rather than the actual items.
15323
15324         * glyphs-x.c (x_update_widget): use pending items to update with.
15325
15326         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15327         to update with.
15328
15329         * glyphs.c (mark_image_instance): mark pending items.
15330
15331         * window.c (Fset_window_configuration): record the buffer.
15332         (Fselect_window): totally revert previous change which breaks many
15333         things.
15334
15335 2000-03-18  Andy Piper  <andy@xemacs.org>
15336
15337         * glyphs-msw.c (mswindows_tab_control_update): force selected
15338         item.
15339
15340         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15341         window domain cache, otherwise we get inconsistencies at
15342         startup. There is something fishy at startup which can lead to the
15343         minibuffer being the selected window when the gutter content is
15344         instantiated.
15345
15346         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15347         gcpros.
15348         (parse_gui_item_tree_children): ditto.
15349         (parse_gui_item_tree_item): ditto.
15350
15351         * glyphs.c (Fupdate_widget_instances): return something.
15352
15353 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15354
15355         * window.c (Fselect_window): Undo 2000-03-17 change.
15356
15357 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15358
15359         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15360         against v7.0 libraries.  Insta-coredump city until the postgres
15361         folks fix it.
15362
15363 2000-03-17  Andy Piper  <andy@xemacs.org>
15364
15365         * faces.c (complex_vars_of_faces): don't give the widget face an
15366         inherited background pixmap.
15367
15368         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15369         selected item.
15370
15371         * event-stream.c (Fdispatch_non_command_events): return something.
15372
15373         * gutter.c (output_gutter): use widget face.
15374         (clear_gutter): ditto.
15375
15376         * NEWS: adjust again.
15377
15378         * window.c (Fselect_window): make sure this runs to completion to
15379         avoid oddities with Fset_window_configuration.
15380         (Fcurrent_window_configuration): in general do not save the
15381         minibuffer as the selected window.
15382
15383         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15384
15385 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15386
15387         * emacs.c (Frunning_temacs_p): Revert previous patch.
15388         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15389
15390 2000-03-16  Andy Piper  <andy@xemacs.org>
15391
15392         * glyphs-x.c (x_tab_control_update): if no widget values then
15393         return.
15394
15395         * NEWS: update for new features.
15396
15397         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15398         synthetic event to the native system.
15399         (reinit_vars_of_event_Xt): set force_event_pending to
15400         emacs_Xt_force_event_pending.
15401
15402         * events.h (struct event_stream): add force_event_pending.
15403
15404         * specifier.c (recompute_one_cached_specifier_in_window): add
15405         comment.
15406
15407         * redisplay.c (redisplay_frame): don't call
15408         update_frame_subwindows. Reset subwindow cachels when
15409         subwindows_changed, removing this was an optimization too far.
15410
15411         * redisplay-output.c (compare_runes): reorganize so that we catch
15412         glyph changes when we want them. Set optimize_output when this
15413         would help layouts.
15414         (redisplay_output_layout): remove frame_really_changed, use
15415         optimize_output instead.
15416
15417         * redisplay-msw.c (mswindows_output_display_block): reset
15418         optimize_output after outputting a glyph.
15419         * redisplay-x.c (x_output_display_block): ditto.
15420         * redisplay-tty.c (tty_output_display_block): ditto.
15421
15422         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15423         functions.
15424         (gutter_specs_changed): do specific gutter positions.
15425         (top_gutter_specs_changed): new function. Only update the
15426         specified gutter specs.
15427         (bottom_gutter_specs_changed): ditto.
15428         (left_gutter_specs_changed): ditto.
15429         (right_gutter_specs_changed): ditto.
15430
15431         * gui.c (gui_item_hash_internal): new function, does a real hash.
15432         (gui_item_id_hash): use it.
15433         (gui_item_hash): hash the eval'ed gui_item.
15434
15435         * gui-x.c (popup_selection_callback): send an eval event to call
15436         Fupdate_widget_instances.
15437
15438         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15439         to call Fupdate_widget_instances.
15440
15441         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15442         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15443
15444         * glyphs.c: (update_frame_subwindows): deleted.
15445         (Fupdate_widget_instances): new function for updating the dirty
15446         state of widgets that might have changed.
15447         (syms_of_glyphs): add Qupdate_widget_instances.
15448         (full_list_hash): hash a list completely.
15449         (image_instance_hash): use it for items and properties.
15450
15451         * frame-msw.c (mswindows_size_frame_internal): remove unused
15452         variable.
15453
15454         * faces.h (struct face_cachel): fix comment.
15455
15456         * event-stream.c (Fdispatch_non_command_events): new
15457         function. Process non-command events, forcing an event cycle
15458         beforehand.
15459         (syms_of_event_stream): declare.
15460         (event_stream_force_event_pending): new function. Force an event
15461         on the native event queue so that an event cycle will occur next
15462         time we check.
15463
15464         * event-msw.c:
15465         (struct ntpipe_shove_stream):
15466         (mswindows_enqueue_dispatch_event):
15467         (mswindows_dequeue_dispatch_event):
15468         (mswindows_cancel_dispatch_event):
15469         (mswindows_pump_outstanding_events):
15470         (mswindows_drain_windows_queue):
15471         (mswindows_handle_paint):
15472         (mswindows_wnd_proc):
15473         (mswindows_key_to_emacs_keysym):
15474         (get_process_input_waitable):
15475         (emacs_mswindows_delete_stream_pair): re-indent file.
15476         (mswindows_need_event): do not process further fds if the windows
15477         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15478         fixes the 100% cpu problem.
15479         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15480
15481 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15482
15483         * alloc.h: New.
15484         * dumper.h: New.
15485         * dumper.c: New.
15486
15487         * emacs.c: Moved dump file searching to dumper.c.
15488         (Frunning_temacs_p): Fixed.
15489
15490         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15491         last_lrecord_type_index_assigned.
15492
15493 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15494
15495         * symsinit.h: Added reinit parameter to init_console_stream
15496         declaration.
15497
15498         * lisp.h: Added file parameter to pdump_load declaration.
15499
15500         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15501         support.  Added dump file searching.
15502
15503         * config.h.in: Added EMACS_PROGNAME.
15504
15505         * console-stream.c (init_console_stream): Fix reinitialisation
15506         when running from temacs.
15507
15508         * alloc.c (pdump): Add id support.
15509         (pdump_load): Add file parameter and signature/id support.
15510
15511         * Makefile.in.in: Add full pdump support.
15512
15513 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15514
15515         * postgresql.c: Update documentation to reflect latest code
15516         status.
15517         (print_result): Show tuple counts in printed representation when
15518         appropriate.
15519         (Fpq_put_nbytes): MULE-ize.
15520         (Fpq_get_line_async): Ditto.
15521
15522 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15523
15524         * postgresql.c (Fpq_lo_import): Fix return value.
15525         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15526
15527 2000-03-13  Ben Wing  <ben@xemacs.org>
15528
15529         * alloc.c (pdump_load):
15530         Fix compile warning under mswin.
15531
15532 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15533
15534         * postgresql.c: Mule-ization, bug fixes.
15535         Use PG_CODING to encapsulate coding system name changes.
15536         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15537         (pg-coding-system): Create.
15538
15539         (Fpq_conn_defaults): Mule-ize.
15540         (Fpq_connectdb): Mule-ize & bug fix.
15541         (Fpq_connect_start): Mule-ize.
15542         (Fpq_set_client_encoding): Mule-ize.
15543         (Fpq_finish): Document `DEAD' connection status.
15544         (Fpq_clear): Ditto.
15545         (Fpq_pgconn): Mule-ize.
15546         (Fpq_exec): Mule-ize & bug fix.
15547         (Fpq_send_query): Ditto.
15548         (Fpq_get_result): Ditto.
15549         (Fpq_res_status): Mule-ize.
15550         (Fpq_result_error_message): Mule-ize.
15551         (Fpq_ntuples): fix comments.
15552         (Fpq_fname): Mule-ize.
15553         (Fpq_fnumber): Mule-ize.
15554         (Fpq_ftype): fix comments.
15555         (Fpq_get_value): Mule-ize.
15556         (Fpq_cmd_status): Ditto.
15557         (Fpq_cmd_tuples): Ditto.
15558         (Fpq_oid_value): Ditto.
15559         (Fpq_notifies): Ditto.
15560         (Fpq_lo_import): Ditto.
15561         (Fpq_lo_export): Ditto.
15562         (Fpq_get_line): Ditto.
15563         (Fpq_put_line): Mule-ize and bug fix.
15564         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15565
15566 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15567
15568         * postgresql.c (vars_of_postgresql): Mule-ize.
15569         (Fpq_conn_defaults): Ditto.
15570
15571 2000-03-12  Ben Wing  <ben@xemacs.org>
15572
15573         * alloc.c (Fmake_byte_code):
15574         * alloc.c (debug_string_purity_print):
15575         * alloc.c (pdump_backtrace):
15576         * alloc.c (pdump_get_indirect_count):
15577         * alloc.c (pdump_register_sub):
15578         * alloc.c (pdump_register_object):
15579         * alloc.c (pdump_register_struct):
15580         * alloc.c (pdump_dump_data):
15581         * alloc.c (pdump_reloc_one):
15582         Minor cleanups.
15583
15584         * console-msw.c:
15585         * console-msw.c (GetConsoleHwnd):
15586         * console-msw.c (msw_hide_console):
15587         * console-msw.c (msw_show_console):
15588         * console-msw.c (msw_ensure_console_buffered):
15589         * console-msw.c (msw_output_console_string):
15590         * console-msw.c (console_type_create_mswindows):
15591
15592         a) Added functions to manipulate the console window for use with
15593         shell support.
15594
15595         b) Added support for writing text to the console, which is now
15596         used under Windows when xemacs is not being run non-interactively,
15597         to write text that would otherwise be destined for stdout because
15598         under these circumstances, text written to stdout tends to
15599         disappear and not be seen.
15600
15601         * console-msw.h:
15602         * event-Xt.c:
15603         * event-Xt.c (x_event_to_emacs_event):
15604         * event-Xt.c (describe_event_window):
15605         * events-mod.h (XEMACS_MOD_CONTROL):
15606         * events.c:
15607         * events.c (Fmake_event):
15608         * events.c (character_to_event):
15609         * events.c (event_to_character):
15610         * events.c (format_event_object):
15611         * events.c (Fevent_modifiers):
15612         * events.h:
15613         * events.h (struct key_data):
15614         * events.h (struct button_data):
15615         * events.h (struct misc_user_data):
15616         * frame-x.c (Fcde_start_drag_internal):
15617         * frame-x.c (Foffix_start_drag_internal):
15618         * gpmevent.c (Freceive_gpm_event):
15619         * keymap.c:
15620         * keymap.c (bucky_sym_to_bucky_bit):
15621         * keymap.c (control_meta_superify):
15622         * keymap.c (make_key_description):
15623         * keymap.c (keymap_lookup_directly):
15624         * keymap.c (create_bucky_submap):
15625         * keymap.c (keymap_store):
15626         * keymap.c (define_key_check_and_coerce_keysym):
15627         * keymap.c (define_key_parser):
15628         * keymap.c (define_key_alternate_name):
15629         * keymap.c (Fdefine_key):
15630         * keymap.c (raw_lookup_key_mapper):
15631         * keymap.c (struct map_keymap_unsorted_closure):
15632         * keymap.c (map_keymap_unsorted_mapper):
15633         * keymap.c (map_keymap_sort_predicate):
15634         * keymap.c (map_keymap_sorted):
15635         * keymap.c (accessible_keymaps_mapper_1):
15636         * keymap.c (where_is_recursive_mapper):
15637         * keymap.c (describe_map_mapper):
15638         * keymap.c (describe_map_sort_predicate):
15639         * keymap.c (describe_map):
15640         * keymap.c (complex_vars_of_keymap):
15641         And a number of other files, the key modifier preprocessor
15642         constants that xemacs uses have names that conflict with constants
15643         defined under MS Windows for other purposes, so they were renamed
15644         to begin with the prefix XEMACS_. The variables that hold such
15645         modifiers were changed to consistently be of type int to fix
15646         various compile warnings.
15647
15648         * console.c (complex_vars_of_console):
15649         * device.c:
15650         * device-msw.c:
15651         * device-msw.c (mswindows_finish_init_device):
15652         * device-msw.c (msw_get_workspace_coords):
15653         * device-msw.c (mswindows_device_system_metrics):
15654         and various other files, added support for a new
15655         device property called offset-workspace which returns the position
15656         of the upper left corner of the workspace area and goes along with
15657         the existing size-workspace property.
15658
15659         * dialog-msw.c:
15660         * dialog-msw.c (push_bufbyte_string_as_unicode):
15661         * dialog-msw.c (mswindows_popup_dialog_box):
15662         Added support for XEmacs-style accelerator specifications in
15663         button text.  Note: I didn't add support for this under X Windows,
15664         and somebody needs to do this.
15665
15666         * dialog.c:
15667         * dialog.c (Fpopup_dialog_box):
15668         Documented the support for accelerators that was just mentioned.
15669
15670         editfns.c (get_home_directory): Changed behavior under Windows
15671         when HOME not defined; former behavior was irretrievably broken.
15672
15673         * emacs.c:
15674         * emacs.c (main_1):
15675         * emacs.c (main):
15676         * minibuf.c (clear_echo_area_internal):
15677         * minibuf.c (echo_area_append):
15678         * print.c:
15679         * print.c (std_handle_out_external):
15680         * print.c (std_handle_out_va):
15681         * print.c (fatal):
15682         * print.c (write_string_to_stdio_stream):
15683         * print.c (output_string):
15684         * print.c (debug_print):
15685         * print.c (debug_backtrace):
15686         * print.c (debug_short_backtrace):
15687         Cleaned up the code that prints text to stdout so that this can be
15688         changed to output into a console window instead under MS Windows,
15689         as described above.
15690
15691         * eval.c:
15692         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15693         * eval.c (internal_catch):
15694         * eval.c (unwind_to_catch):
15695         * eval.c (throw_or_bomb_out):
15696         * eval.c (condition_case_1):
15697         * eval.c (signal_1):
15698         * eval.c (check_error_state_sanity):
15699         * eval.c (call_with_suspended_errors_1):
15700         * eval.c (call_with_suspended_errors):
15701         * eval.c (reinit_vars_of_eval):
15702         Added code to catch throw loops and check for a pesky bug that may
15703         be gone now.
15704
15705         * event-msw.c:
15706         * event-msw.c (key_needs_default_processing_p):
15707         * event-msw.c (mswindows_wnd_proc):
15708         * event-msw.c (mswindows_modifier_state):
15709         * event-msw.c (emacs_mswindows_quit_p):
15710         * event-msw.c (vars_of_event_mswindows):
15711         a) Added support for using the alt key to select menu items as is
15712         standard under MS Windows.  This is controlled using the variable
15713         menu-accelerator-enabled, just like under X Windows.  There is an
15714         option on the options menu to turn this support on.  I really
15715         think that it should be on by default under Windows, but I'm not
15716         going to make this change yet.
15717
15718         b)  Added support for dynamic display size changes under Windows.
15719
15720         * event-stream.c:
15721         * event-stream.c (maybe_echo_keys):
15722         * event-stream.c (Fnext_event):
15723         * event-stream.c (command_builder_find_leaf):
15724         * event-stream.c (lookup_command_event):
15725         * event-stream.c (execute_command_event):
15726         * event-stream.c (pre_command_hook):
15727         * event-stream.c (post_command_hook):
15728         * event-stream.c (syms_of_event_stream):
15729         * event-stream.c (vars_of_event_stream):
15730         * event-stream.c (complex_vars_of_event_stream):
15731         * events.h (struct command_builder):
15732
15733         a) Tried to clean up a little bit the horribly written x-specific
15734         accelerator code that crept into this file.  I moved this code
15735         into menubar-x.c where it belongs. I also needed to move the
15736         command builder structure into the file events.h because it is
15737         accessed directly by this accelerator code.  What I didn't do, but
15738         which should be done at some point, is to properly abstract this
15739         code using device methods instead of the kludgy way that it
15740         currently hooks into the event code.
15741
15742         b) Added the lisp variables this-command-properties and
15743         last-command- properties, which should be used to synchronize two
15744         adjacent commands in preference to playing games with the variable
15745         this-command, which is typically what happens.
15746
15747         c) Added some slightly nasty code to hook into the lisp support
15748         for shifted- motion-key selection.  This is actually necessary for
15749         somewhat complicated reasons, which are described in
15750         simple.el. (NB: I think the proper thing would be to have the code
15751         that calls the pre and post command hooks also call out to generic
15752         lisp functions in simple.el, where all built-in stuff could be
15753         added.  I will think about this more.)
15754
15755         * event-unixoid.c (poll_fds_for_input):
15756         * lread.c (readchar):
15757         * redisplay-tty.c (tty_clear_frame):
15758         * redisplay-x.c (x_get_gc):
15759         * signal.c (interrupt_signal):
15760         And a whole bunch of other files: fixed up places that printed
15761         directly to stderr to instead call the function stderr_out so that
15762         the changes I made under Windows work correctly.
15763
15764         * filemode.c (mode_string):
15765         Warning fixes.
15766
15767         * frame-msw.c:
15768         * frame-msw.c (mswindows_size_frame_internal):
15769         Fixed the computation of frame size and position to keep the frame
15770         within the workspace area, rather than within the physical
15771         dimensions of the screen, so that the frame doesn't overlap window
15772         manager decorations, such as the start menu and toolbar, typically
15773         at the bottom of the screen.
15774
15775         * frame.c (vars_of_frame):
15776         Changed the default frame title format under MS Windows to consist
15777         of buffername-XEmacs, which is standard under MS Windows.  I think
15778         it might be a good idea to change this everywhere because I think
15779         it is superior to the current frame title format, but this is the
15780         kind of change that is likely to cause some people to get annoyed,
15781         so I'm not making it.
15782
15783         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15784
15785         * gui-msw.c (mswindows_handle_gui_wm_command):
15786         Fixed compile warnings.
15787
15788         * gui-x.c:
15789         * gui-x.c (strdup_and_add_accel):
15790         * gui-x.c (button_item_to_widget_value):
15791         * gui-x.h:
15792         Added code to automatically put an accelerator onto the beginning
15793         of menu items that don't have one as is now the standard, and is
15794         described more later.  Also fixed things so that the menu item
15795         name can be an evaluated expression, again a new standard.
15796
15797         * gui.c:
15798         * gui.c (gui_item_add_keyval_pair):
15799         * gui.c (make_gui_item_from_keywords_internal):
15800         * gui.c (gui_add_item_keywords_to_plist):
15801         * gui.c (gui_item_accelerator):
15802         * gui.c (gui_name_accelerator):
15803         * gui.c (gui_item_included_p):
15804         * gui.c (gui_item_display_flush_left):
15805         * gui.c (gui_item_display_flush_right):
15806         * gui.c (parse_gui_item_tree_item):
15807         * gui.c (parse_gui_item_tree_children):
15808         * gui.c (parse_gui_item_tree_list):
15809         Mule-ized.  Cleanup.  GCPRO addition.
15810
15811         * line-number.c (buffer_line_number):
15812         * lisp.h:
15813         * lisp.h (EMACS_INT_MAX):
15814         Added the manifest constant EMACS_INT_MIN corresponding to the
15815         existing constant EMACS_INT_MAX.  This is partially to fix compile
15816         warnings under Windows, and partly for cleanliness.
15817
15818         * menubar-msw.c:
15819         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15820         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15821         * menubar-msw.c (displayable_menu_item):
15822         * menubar-msw.c (populate_menu_add_item):
15823         * menubar-msw.c (populate_or_checksum_helper):
15824         * menubar-msw.c (populate_menu):
15825         * menubar-msw.c (update_frame_menubar_maybe):
15826         * menubar-msw.c (prune_menubar):
15827         * menubar-msw.c (msw_char_is_accelerator):
15828         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15829         * menubar-msw.c (mswindows_handle_wm_command):
15830         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15831         * menubar-msw.c (mswindows_handle_wm_initmenu):
15832         * menubar-msw.c (mswindows_update_frame_menubars):
15833         * menubar-msw.c (mswindows_free_frame_menubars):
15834         * menubar-msw.c (mswindows_popup_menu):
15835         Fixed a bug in handling accelerators where an extra character
15836         would be displayed in the menu item.  Also generalized the
15837         function displayable_menu_item because it is now used by the
15838         dialog box code as well.  And finally, added code in the functions
15839         that create the menubar to extract a list of accelerators for the
15840         top level menubar, which is used in the event code to determine
15841         whether a particular alt-key combination should be used to invoke
15842         a menu item, or should be passed through to access the standard
15843         XEmacs keymap binding for this key combination.
15844
15845         Much needed GCPROing.
15846
15847         * menubar-x.c:
15848         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15849         * menubar-x.c (menu_item_descriptor_to_widget_value):
15850         * menubar-x.c (restore_in_menu_callback):
15851         * menubar-x.c (x_popup_menu):
15852         * menubar-x.c (menu_move_up):
15853         * menubar-x.c (menu_move_down):
15854         * menubar-x.c (menu_move_left):
15855         * menubar-x.c (menu_move_right):
15856         * menubar-x.c (menu_select_item):
15857         * menubar-x.c (command_builder_operate_menu_accelerator):
15858         * menubar-x.c (menu_accelerator_junk_on_error):
15859         * menubar-x.c (command_builder_find_menu_accelerator):
15860         * menubar-x.c (Faccelerate_menu):
15861         * menubar.h:
15862         Moved a whole bunch of code here that was previously in
15863         event-stream.c as described above.  There is also code connected
15864         to the new standard of adding an accelerator to the beginning of
15865         menu items that don't have one as described above and below.
15866
15867         * menubar.c:
15868         * menubar.c (menu_parse_submenu_keywords):
15869         * menubar.c (Fmenu_find_real_submenu):
15870         * menubar.c (Fnormalize_menu_item_name):
15871         * menubar.c (syms_of_menubar):
15872         * menubar.c (vars_of_menubar):
15873         * menubar.c (complex_vars_of_menubar):
15874
15875         a) Cleaned up a bunch of documentation and improved it.
15876
15877         b) XEmacs now automatically adds an accelerator onto the beginning
15878         of any menu items that don't have one.  I did this because there
15879         will inevitably be some menu items on the main menubar that don't
15880         have accelerators on them because the package that adds that
15881         particular menu item hasn't yet been fixed up to have accelerators
15882         in them and it looked rather strange to have some items with and
15883         some items without accelerators, especially since even in items
15884         without accelerators, you can, at least under windows, still
15885         access the item through an accelerator corresponding to the first
15886         character in the item's name.  If people don't like this behavior,
15887         I can add a variable to turn it off optionally, but I'm not sure
15888         this is a good idea because we really do need to have accelerators
15889         on all of the menu items, and if a package doesn't like the
15890         accelerators being put on the first character, then it should put
15891         the accelerators where they belong.
15892
15893         c) I made a behavior change, which is that the descriptor that
15894         specifies the text of the menu item, which formerly was just a
15895         string, can now also be an evaluated expression.  This makes this
15896         descriptor parallel with all of the others, which could also be
15897         evaluated expressions.  This also obviates the need for the
15898         keyword :label, which was previously listed in the documentation
15899         as unimplemented, and which was for the same purpose.
15900
15901         d) GCPROing.
15902
15903         * ntproc.c:
15904         * ntproc.c (new_child):
15905         * ntproc.c (sys_spawnve):
15906         * ntproc.c (find_child_console):
15907         * ntproc.c (sys_kill):
15908         Fixed compile warnings.  By the way, this file should really go
15909         away entirely, and this will happen as soon as Kirill makes his
15910         final round of process cleanups, which affect the function
15911         call-process.
15912
15913         * process-nt.c:
15914         * process-nt.c (struct nt_process_data):
15915         * process-nt.c (find_process_from_pid):
15916         * process-nt.c (send_signal_the_nt_way):
15917         * process-nt.c (enable_child_signals):
15918         * process-nt.c (find_child_console):
15919         * process-nt.c (send_signal_the_95_way):
15920         * process-nt.c (nt_finalize_process_data):
15921         * process-nt.c (ensure_console_window_exists):
15922         * process-nt.c (nt_create_process):
15923         * process-nt.c (nt_kill_child_process):
15924         * process-nt.c (nt_kill_process_by_pid):
15925         * process-nt.c (nt_open_network_stream):
15926         * process-nt.c (vars_of_process_nt):
15927         Copied over code from Emacs 20.5 to correctly send signals to sub-
15928         processes under Windows 95.  Also added code to automatically
15929         create and hide console window when a sub-process is created under
15930         Windows 95, which obviates the need for the separate runemacs.exe
15931         executable, and finally implemented some variables that were
15932         implemented in Emacs 20.5, but previously not in XEmacs.  These
15933         include mswindows- start-process-share-console and
15934         mswindows-start-process-inherit-error-mode. (Both of these only
15935         apply to Windows 95.)
15936
15937         * regex.c (regex_compile): Fixed a compile warning.
15938
15939         * select-msw.c:
15940         * select-msw.c (mswindows_own_selection):
15941         * select-msw.c (mswindows_get_foreign_selection):
15942         * select-msw.c (mswindows_disown_selection):
15943         * select-msw.c (console_type_create_select_mswindows):
15944         * select-msw.c (syms_of_select_mswindows):
15945         Cleaned up the file and implemented the device method
15946         selection_exists_p, which had accidentally been left out.  Also
15947         removed four lisp functions that were remnants from before the
15948         time when the selection code was properly device abstracted.
15949         These functions are no longer needed because there are generic
15950         equivalents, and because they were added recently and don't exist
15951         in FSF Emacs, I don't think there's any problem with just deleting
15952         them.
15953
15954         * sysdep.c:
15955         * sysdep.c (sys_subshell):
15956         Fixed a compile warning, although in this case there's probably
15957         something wrong with this code, and it ought to be looked into
15958         more thoroughly by somebody who understands it.
15959
15960         * window.c:
15961         * window.c (Fwindow_text_area_height):
15962         * window.c (Fwindow_width):
15963         * window.c (Fwindow_full_width):
15964         * window.c (Fwindow_pixel_width):
15965         * window.c (debug_print_window):
15966         * window.c (syms_of_window):
15967         Added functions window-text-area-height and window-full-width,
15968         which are functions for returning various width and height
15969         characteristics of a window. (One of these functions is necessary
15970         for making the file dialog box work correctly, and the other one
15971         was added for completeness.)  Also added a table to the
15972         documentation for window-height which describes the entire scheme
15973         for accessing width and height characteristics of a window.
15974
15975 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15976
15977         * nt.c (fstat): Added a comment for another problem with
15978         non-encapsulated [f]stat(), reported by Adrian Aichner
15979         <aichner@ecf.teradyne.com>.
15980
15981 2000-03-11  Andy Piper  <andy@xemacs.org>
15982
15983         * window.c (make_dummy_parent): initialize subwindow instance
15984         cache.
15985         (Fset_window_configuration): zero extent_modiff.
15986
15987 2000-03-10  Andy Piper  <andy@xemacs.org>
15988
15989         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15990         more changes can be triggered.
15991         (Fredisplay_frame): ditto.
15992         (Fredraw_device): ditto.
15993         (Fredisplay_device): ditto.
15994         (redisplay_frame): make non-static.
15995         (redisplay_frame): call update_frame_gutter_geometry outside of
15996         display proper.
15997
15998         * gutter.h: declare update_frame_gutter_geometry.
15999
16000         * redisplay.h: declare redisplay_frame.
16001
16002         * gutter.c (update_frame_gutter_geometry): move geometry changes
16003         in update_frame_gutters here. Geometry changes can only occur
16004         outside of redisplay.
16005         (update_frame_gutters): remove geometry change code.
16006         (Fredisplay_gutter_area): make sure that we are in display when we
16007         update and that we have flushed any size changes.
16008
16009 2000-03-11  Andy Piper  <andy@xemacs.org>
16010
16011         * alloc.c (pdump_dump_data): remove i & count shadows.
16012
16013 2000-02-27  Mike Alexander  <mta@arbortext.com>
16014
16015         * sysdep.h: Declare pdump_read_file
16016
16017         * sysdep.c (pdump_read_file): New function
16018
16019         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16020         dump data
16021
16022 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16023
16024         * lrecord.h: add `lrecord_type_pgsetenv'.
16025
16026 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16027
16028         * symsinit.h: declare (vars|syms)_of* functions.
16029         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16030
16031 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16032
16033         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16034
16035         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16036         GCCs.
16037
16038         * emacs.c (main_1): Call postgres initialization code.
16039
16040         * postgresql.h: New file.  PostgreSQL RDBMS support.
16041         * postgresql.c: New file.
16042
16043 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16044
16045         * redisplay-output.c (redisplay_output_display_block): Disable
16046         redundant code.
16047
16048 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16049
16050         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16051         (Fcanna_henkan_next): Ditto.
16052         (Fcanna_bunsetu_henkou): Ditto.
16053         (Fcanna_henkan_kakutei): Ditto.
16054         (Fcanna_henkan_end): Ditto.
16055         (Fcanna_henkan_quit): Ditto.
16056         (Fcanna_henkan_next): Set retun value correctly.
16057         (c2mu): Use unsigned char instead of signed char.
16058
16059 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16060
16061         * emacs.c (main_1): Always call syms_of_gui.
16062         * inline.c: include gui.h
16063
16064 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16065
16066         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16067         converted to Lisp_Object.
16068         (Qtop_bottom): New variable.
16069         (syms_of_redisplay): Initialize it.
16070         * redisplay.h (Vvisible_bell): Ditto.
16071         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16072         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16073         only flash top and bottom.
16074
16075 2000-03-08  Andy Piper  <andy@xemacs.org>
16076
16077         * buffer.c (Frename_buffer): record new buffer name the right way.
16078
16079 2000-03-08  Andy Piper  <andy@xemacs.org>
16080
16081         * glyphs.c (update_subwindow): increase hash depth so that widget
16082         items get picked up properly.
16083
16084         * redisplay-output.c (compare_runes): increase hash depth so that
16085         widget items get picked up properly.
16086
16087 2000-03-08  Andy Piper  <andy@xemacs.org>
16088
16089         * gutter.c (output_gutter): add some debug.
16090
16091         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16092         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16093         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16094
16095         * redisplay-output.c (compare_runes): use display_hash to
16096         determine if glyphs really are not the same.
16097
16098         * glyphs.c (update_subwindow): check display_hash to see if
16099         anything really needs to be updated. If not then do
16100         nothing. Record the display_hash after updating.
16101         (image_instance_equal): compare the image_instance face also.
16102
16103 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16104
16105         * redisplay.h: Fix comment style.
16106
16107 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16108
16109         * consle-msw.h (struct mswindows_frame):
16110         Added new member paint_pending to indicate whether a WM_PAINT
16111         magic event has been queued for this frame.
16112
16113         * event-msw.c (mswindows_drain_windows_queue):
16114         Don't queue a WM_PAINT magic event if one is already queued.
16115         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16116
16117         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16118
16119 2000-03-07  Didier Verna  <didier@xemacs.org>
16120
16121         * dired.c: #include `regex.h' after `sysfile.h'.
16122
16123 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16124
16125         * sound.c (init_nas_sound): Fix compiler warning.
16126
16127         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16128         (FREE_STRUCT_P):
16129         (MARK_STRUCT_AS_FREE):
16130         (MARK_STRUCT_AS_NOT_FREE):
16131         Make `gcc -fstrict-aliasing' work properly.
16132
16133 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16134
16135         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16136         (mswindows_delete_device): Call CoUnnitialize().
16137
16138         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16139
16140 2000-02-25    <CraigL@DyCon.com>
16141
16142         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16143         <errno.h>.
16144
16145         * sysdep.c: This extern declaration for environ prevents MinGW
16146         from finding the variable in CRTDLL.DLL.
16147
16148         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16149         windows headers.
16150         (SHGFI_EXETYPE): ..
16151         (WM_MOUSEWHEEL): ..
16152         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16153         definitions.
16154         (MMRESULT): Removed, now defined in cygwin's windows headers.
16155         (TIMECAPS): ..
16156         (uid_t,gid_t,pid_t,ssize_t): ..
16157         (_timeb): Removed, MinGW defines both _timeb and timeb.
16158         (HAVE_H_ERRNO): Added.
16159         (HAVE_TZNAME): Added, configure is not detecting this.
16160
16161 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16162
16163         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16164         * syntax.c (syntax_match): Use it.
16165
16166         * cmds.c: Import auto-fill-chars from FSF Emacs.
16167         (Vauto_fill_chars): New variables.
16168         (internal_self_insert): Check Vauto_fill_chars.
16169         (vars_of_cmds):
16170         Declare auto-fill-chars as a Lisp variable and initialize it.
16171
16172 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16173
16174         * fileio.c (Fmake_symbolic_link):
16175         (Ffile_symlink_p):
16176         Run handlers even if local machine doesn't have symlinks.
16177
16178 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16179
16180         * event-msw.c (mswindows_drain_windows_queue):
16181         Don't generate paint magic events for non-XEmacs frames.
16182
16183 2000-03-05  Andy Piper  <andy@xemacs.org>
16184
16185         * redisplay.c (redisplay_frame): generate_displayable_area and
16186         friends assumes that we are not in GC, we therefore have to make
16187         sure that this doesn't happen.
16188
16189         * gutter.c (calculate_gutter_size): generate_displayable_area
16190         assumes that we are not in GC, we therefore have to make sure that
16191         this doesn't happen.
16192
16193 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16194
16195         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16196
16197 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16198
16199         * redisplay.c (regenerate_window): Make sure we set a sane value
16200         for end_pos even if we jump out of the loop.
16201         (regenerate_window): Answer Ben's question :-).
16202         (start_end_of_last_line): Add may_error argument.
16203         (start_of_last_line):
16204         (end_of_last_line): Pass may_error = 0.
16205         (end_of_last_line_may_error): New function.
16206         (pixel_to_glyph_translation): Use it, so we don't crash in
16207         event_to_glyph.
16208
16209 2000-03-04  Andy Piper  <andy@xemacs.org>
16210
16211         * window.h (struct window): add gutter_extent_modiff.
16212
16213         * window.c (allocate_window): zero out gutter_extent_modiff.
16214
16215         * redisplay.h: declare sync_display_line_structs.
16216
16217         * redisplay.c (add_glyph_rune): add a better comment.
16218
16219         * redisplay-output.c (sync_display_line_structs): made non-static.
16220         (compare_runes): remove unneccesary glyph cachel access.
16221
16222         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16223
16224         * gutter.c (output_gutter): don't output the gutter if extent
16225         changes only involve extents in buffers. use 4 sets of display
16226         lines.
16227         (gutter_extent_signal_changed_region_maybe): new function. Mark
16228         extents in gutters as changed.
16229         (update_frame_gutters): use 4 sets of display lines.
16230         (reset_gutter_display_lines): ditto.
16231         (free_frame_gutters): ditto.
16232         (redraw_exposed_gutter): force output of gutters.
16233
16234         * frame.h (struct frame): add 4 sets of gutter display lines.
16235
16236         * extents.c: (extent_changed_for_redisplay): signal changes to
16237         extents in strings in the gutter as well as extents in buffers.
16238
16239 2000-03-02  Andy Piper  <andy@xemacs.org>
16240
16241         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16242
16243         * frame.c (Fmake_frame): make sure the gutters get initialized
16244         after the frame is visible.
16245         (set_frame_selected_window): re-arrange compilation macros a
16246         little.
16247         (change_frame_size_1): mark gutters changed.
16248
16249         * device.c (Fset_device_class): mark gutters changed.
16250
16251 2000-03-01  Andy Piper  <andy@xemacs.org>
16252
16253         * window.c (window_top_frame_gutter_height): deleted.
16254         (window_bottom_frame_gutter_height): ditto.
16255         (window_left_frame_gutter_height): ditto.
16256         (window_right_frame_gutter_height): ditto.
16257         (window_top_gutter_height): don't use them.
16258         (window_bottom_gutter_height): ditto.
16259         (window_left_gutter_width): ditto.
16260         (window_right_gutter_width): ditto.
16261         (Fsplit_window): ditto.
16262         (Fwindow_pixel_edges): don't use border dimensions here.
16263
16264         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16265         (update_scrollbar_instance): ditto.
16266
16267         * redisplay.c (generate_modeline): don't take gutters into account.
16268         (generate_modeline): ditto.
16269         (redisplay_frame): small gutter display optimization.
16270
16271         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16272
16273         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16274         gutters into account.
16275
16276         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16277         for window position and type.
16278
16279         * gutter.c (get_gutter_coords): fix for frame gutters.
16280         (update_frame_gutters): update frame geometry if the gutters have
16281         changed.
16282         (init_frame_gutters): record current gutter geometries.
16283
16284         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16285         var.
16286         (mswindows_widget_instantiate): ditto.
16287
16288         * frame.h (struct frame): add current_gutter_bounds.
16289
16290         * frame.c (change_frame_size_1): position window and minibuffer
16291         appropriately taking into account the frame gutters.
16292
16293         * frame-x.c: (x_initialize_frame_size): take into account the
16294         frame gutters.
16295
16296 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16297
16298         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16299
16300 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16301
16302         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16303
16304 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16305
16306         * file-coding.c (reset_decoding_stream): Clear previous
16307         detection state when autodetect.
16308
16309 2000-02-29  Didier Verna  <didier@xemacs.org>
16310
16311         * extents.c (set_extent_glyph_1): don't require extents to be
16312         attached.
16313
16314 2000-02-27  Andy Piper  <andy@xemacs.org>
16315
16316         * gutter.c (Fset_default_gutter_position): don't default left and
16317         right gutter visibility to t.
16318         (Fset_default_gutter_position): run
16319         default-gutter-position-changed-hook.
16320         (syms_of_gutter): add default-gutter-position-changed-hook.
16321
16322 2000-02-26  Andy Piper  <andy@xemacs.org>
16323
16324         * specifier.c (Fmake_specifier): add gutter references.
16325
16326         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16327
16328         * lisp.h: declare Fvalid_plist_p.
16329
16330         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16331         as changed.
16332         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16333         well as its visibility so that it gets reconstructed.
16334         (construct_window_gutter_spec): new function. Construct a string
16335         to be displayed in the gutter from a plist of strings. Take care
16336         to only use elements that are declared as visible.
16337         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16338         WINDOW_GUTTER.
16339         (gutter_validate): allow plists of strings in the specifier.
16340         (gutter_specs_changed): construct the real_gutter from the gutter
16341         specs using construct_window_gutter_spec.
16342         (gutter_visible_validate): gutter-visible is a new specifier type.
16343         (Fgutter_visible_specifier_p): new function for the new specifier.
16344         (syms_of_gutter): declare gutter-visible and
16345         Fgutter_visible_specifier_p.
16346         (specifier_type_create_gutter): intitalize new gutter-visible
16347         specifier.
16348         (reinit_specifier_type_create_gutter): ditto.
16349         (specifier_vars_of_gutter): use new specifier type for gutter
16350         visibility.
16351         (init_frame_gutters): construct real_gutter correctly.
16352         (Fgutter_specifier_p): beef up documentation.
16353         (Fgutter_size_specifier_p): ditto.
16354
16355         * winslots.h: add real_gutter slots.
16356
16357 2000-02-25  Andy Piper  <andy@xemacs.org>
16358
16359         * device-msw.c: Be kind to older cygwin versions. From Raymond
16360         Toy <toy@rtp.ericsson.se>.
16361
16362         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16363         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16364
16365 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16366
16367         * elhash.c (MARK_OBJ): Practice macro hygiene.
16368
16369 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16370
16371         * miscplay.c: s/__inline__/inline/g;
16372         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16373         (get_device_compdc): INLINE ==> static inline
16374         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16375         find -name '*.h' | \
16376         xargs global-replace \
16377         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16378
16379 2000-02-25  Andy Piper  <andy@xemacs.org>
16380
16381         * window.c (window_top_frame_gutter_height): new function.
16382         (window_top_window_gutter_height): ditto.
16383         (window_top_gutter_height): use them.
16384         (window_bottom_frame_gutter_height): new function.
16385         (window_bottom_window_gutter_height): ditto.
16386         (window_bottom_gutter_height): use them.
16387         (window_left_window_gutter_width): new function.
16388         (window_left_frame_gutter_width): ditto.
16389         (window_left_gutter_width): use them.
16390         (window_right_window_gutter_width): new function.
16391         (window_right_frame_gutter_width): ditto.
16392         (window_right_gutter_width): use them.
16393         (window_pixel_height): new function. calulate window pixel height
16394         with frame gutter involvement.
16395         (Fsplit_window): calculate new sizes taking frame gutters into
16396         account.
16397         (window_char_height_to_pixel_height): don't include frame gutters.
16398         (window_char_height): use window_pixel_height.
16399         (window_pixheight): rename from window_pixel_height.
16400         (change_window_height): use it.
16401         (window_pixel_height_to_char_height): don't include frame gutters.
16402         (window_char_width_to_pixel_width): ditto.
16403
16404 2000-02-25  Andy Piper  <andy@xemacs.org>
16405
16406         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16407         if it is.
16408
16409 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16410
16411         * alloc.c (staticpro):
16412         (staticpro_nodump):
16413         (dumpstruct):
16414         (dumpopaque):
16415         (pdump_wire):
16416         (pdump_wire_list):
16417         (compact_string_chars):
16418         (pdump_dump_wired):
16419         Convert:  if (foo) abort();  ==>  assert (! foo);
16420
16421         * eldap.c (Fldap_search_basic):
16422         (Fldap_add):
16423         (Fldap_modify):
16424         (Fldap_delete):
16425         Fix compiler warnings, and possible crashes if (random) return
16426         value were to be used.
16427
16428 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16429
16430         * device-msw.c: Workaround ResetDC failure.
16431
16432         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16433         applying a devmode.
16434
16435         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16436         (mswindows_text_width): Do not start printer page.
16437
16438         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16439
16440         * glyphs-msw.c: Added image methods to msprinter console and
16441         msprinter-specific image instantiation.
16442
16443 2000-02-20  Mike Alexander  <mta@arbortext.com>
16444
16445         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16446         to avoid crashes when selection-sets-clipboard is on
16447         (mswindows_own_selection): ditto
16448
16449 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16450
16451         * glyphs-msw.c:
16452         * redisplay-msw.c (get_frame_dc):
16453         (get_frame_compdc):
16454         * console-msw.h:
16455         * device-msw.c (mswindows_init_device):
16456         (mswindows_delete_device):
16457         (msprinter_init_device):
16458         (msprinter_delete_device):
16459         * frame-msw.c (mswindows_init_frame_1):
16460         (mswindows_delete_frame):
16461         (msprinter_init_frame_3):
16462         (msprinter_delete_frame): Move compatible DC to device object from
16463         frame object, for both mswindows and msprinter. Only one at a time
16464         is needed, it is a real waste to have one per frame!
16465
16466 2000-02-23  Andy Piper  <andy@xemacs.org>
16467
16468         * glyphs.c: add dynamic width and height elements.
16469         (image_instance_equal): ditto.
16470
16471         * glyphs-widget.c (widget_query_geometry): calculate width and
16472         height dynamically if required.
16473         (initialize_widget_image_instance): initialize dynamic dimensions.
16474         (widget_instantiate): pick-up dynamic dimensions.
16475
16476         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16477         dynamic determination. Add appropriate macros.
16478
16479         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16480         dimensions safe.
16481         (WINDOW_GUTTER_SIZE): ditto.
16482         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16483
16484         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16485         inline.
16486         (get_frame_dc): ditto.
16487
16488         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16489         here.
16490
16491 2000-02-23  Martin Buchholz <martin@xemacs.org>
16492
16493         * XEmacs 21.2.31 is released.
16494
16495 2000-02-22  Ben Wing <ben@xemacs.org>
16496
16497         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16498
16499 2000-02-22  Andy Piper  <andy@xemacs.org>
16500
16501         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16502
16503 2000-02-21  Mike Sperber <mike@xemacs.org>
16504
16505         * .dbxrc:
16506         * .gdbinit:
16507         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16508         variables.
16509
16510 2000-02-21  Mike Sperber <mike@xemacs.org>
16511
16512         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16513
16514 2000-02-21  Martin Buchholz <martin@xemacs.org>
16515
16516         * XEmacs 21.2.30 is released.
16517
16518 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16519
16520         Performance hacking.
16521         * *.c (syms_of_*):
16522         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16523         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16524         * emacs.c (main_1):
16525         * lisp.h (DEFUN):
16526         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16527         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16528         * symeval.h (DEFVAR_SYMVAL_FWD):
16529         * symbols.c (guts_of_unbound_marker):
16530         Make all c_readonly objects also lisp_readonly and marked for life.
16531         * lrecord.h (struct lrecord_implementation):
16532         Document flags better.
16533         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16534         * lrecord.h (DECLARE_LRECORD):
16535         * lrecord.h (XSETRECORD):
16536         * lrecord.h (RECORDP):
16537         * lrecord.h (RECORD_TYPEP):
16538         * lrecord.h (RECORD_MARKER): New.
16539         * lrecord.h (error_check_*):
16540         * lrecord.h (CONCHECK_NONRECORD):
16541         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16542         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16543         * lrecord.h (set_lheader_implementation):
16544         * lrecord.h (enum lrecord_type): New.
16545         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16546         * alloc.c (disksave_object_finalization_1):
16547         * alloc.c (mark_object):
16548         * alloc.c (lrecord_type_index):
16549         * alloc.c (tick_lcrecord_stats):
16550         * alloc.c (Fgarbage_collect):
16551         * alloc.c (init_alloc_once_early):
16552         * alloc.c (pdump_load):
16553         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16554         * alloc.c (lrecord_type_index): Delete.
16555         Make lisp object type indexes be constant.
16556           Makes (byte-compile) 5% faster.
16557         Put all marker functions into their own array.
16558           Makes (garbage-collect) 5% faster.
16559         Optimize SYMBOL_VALUE_MAGIC_P.
16560           Makes (byte-compile) 2-3% faster.
16561         * config.h.in (gc_checking_assert): New.
16562         * alloc.c: Use gc_checking_assert().
16563         * .dbxrc: Make compatible with new object type implementation.
16564         * .gdbinit: Make compatible with new object type implementation.
16565         * alloc.c: Delete all symbols defined only for debugging, such as
16566         Lisp_Type_Vector and lrecord_charset.
16567
16568 2000-02-21  Andy Piper  <andy@xemacs.org>
16569
16570         * gui-msw.c (Fmswindows_shell_execute): fix file location
16571         problems.
16572
16573         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16574         unshowing so that set_window_buffer doesn't undo
16575         kill_buffer_hook's hard work.
16576
16577         * glyphs-widget.c (tab_control_query_geometry): don't count the
16578         first item when calculating geometry.
16579
16580         * glyphs.c (map_subwindow): remove redundant code.
16581         (update_frame_subwindows): be more circumspect about when to
16582         update subwindows.
16583
16584         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16585         when items haven't changed. Update faces if faces have changed as
16586         well as just the widget face.
16587         (x_tab_control_update): Update faces if faces have changed as well
16588         as just the widget face.
16589
16590 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16591
16592         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16593         registration.
16594         (build_syscolor_string): Use mswindows_color_to_string to try to
16595         get a named color.
16596         (mswindows_device_system_metrics): Reverse the foreground and
16597         background colors so that they match the documentation.
16598
16599         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16600         they match the default Windows palette.
16601         (mswindows_color_to_string): New function.
16602
16603 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16604
16605         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16606
16607 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16608
16609         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16610         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16611
16612         * symbols.c (init_symbols_once_early): Removed obsolete
16613         DATA_SEG_BITS related kludge.
16614         (defvar_magic): Ditto.
16615
16616         * malloc.c: Removed obsolete DATA_SEG_BITS
16617         * ralloc.c: Ditto.
16618         * mem-limits.h: Ditto.
16619
16620         * Makefile.in.in: Removed obsolete HAVE_SHM
16621         * emacs.c: Ditto.
16622
16623 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16624
16625         *  device-msw.c (mswindows_delete_device): Free DDE string
16626         handles.
16627
16628 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16629
16630         * keymap.c (get_keyelt):
16631         * unexnt.c (unexec):
16632         * vm-limit.c (memory_warnings):
16633         * ntheap.c (recreate_heap):
16634         * ntheap.h (UNINIT_PTR):
16635         * select-msw.c (Fmswindows_get_clipboard):
16636         (Fmswindows_set_clipboard):
16637         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16638         * objects-msw.c:
16639         * menubar-msw.c (displayable_menu_item):
16640         * glyphs-msw.c:
16641         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16642         * sysdep.c (sys_subshell):
16643         * process-nt.c (nt_create_process):
16644         * nt.c (normalize_filename):
16645         (dostounix_filename):
16646         (unixtodos_filename):
16647         * ntproc.c (win32_executable_type):
16648         * ntplay.c (play_sound_data_1):
16649         (play_sound_file):
16650         * editfns.c (get_home_directory):
16651         * event-msw.c (struct winsock_stream):
16652         (mswindows_dde_callback):
16653         * device-msw.c (msprinter_init_device):
16654         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16655
16656         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16657         mswindows_clear_toolbar were swapped!
16658
16659         * objects-msw.c:(colormap_t):
16660         (fontmap_t):
16661         * emacs.c (struct standard_args): Fixed const jumble.
16662
16663         * glyphs-widget.c (update_widget): Fixed comparison notation.
16664
16665         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16666
16667         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16668         __declspec(noreturn) syntax.
16669
16670 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16671
16672         * eldap.c (Fldap_open):
16673         (Fldap_search_basic):
16674         (Fldap_add):
16675         (Fldap_modify):
16676         Use new coding system conversion macros.
16677
16678 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16679
16680         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16681
16682 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16683
16684         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16685         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16686
16687         * eldap.c (Qadd, Qreplace): New constant symbols
16688         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16689         interruptions by XEmacs signals
16690         Remove unnecessary calls to slow_down_interrupts and
16691         speed_up_interrupts
16692         (Fldap_search_basic): Renamed from Fldap_search_internal
16693         Added new optional parameter VERBOSE that triggers the
16694         display of progress messages
16695         Remove unnecessary calls to slow_down_interrupts and
16696         speed_up_interrupts
16697         LDAP result code analysis rewritten
16698         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16699         (syms_of_eldap): Define the new symbols and functions
16700
16701
16702 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16703
16704         * realpath.c: Determine PATH_MAX maximally portably.
16705
16706         * insdel.c (bytecount_to_charcount): Optimize.
16707         The function used to be optimized for entirely ASCII sequences.
16708         Now it is optimized for successive characters from the same
16709         charset.  This also wins big for _mostly_ ASCII sequences.
16710
16711         * fileio.c (Ffile_truename): convert return from realpath() using
16712         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16713         - Rewrite GCPROing slightly.
16714
16715         * sysdep.c (sys_open): Do filename conversion, like all other
16716         sys_* functions.  Fixes bug:
16717         (let ((file-name-coding-system 'iso-8859-2))
16718            (write-region x y latin2-name))
16719         ==> writes filename using internal encoding.
16720
16721 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16722
16723         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16724         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16725         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16726         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16727         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16728         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16729         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16730         (CONST_IF_NOT_DEBUG): Delete.
16731         * alloc.c (this_one_is_unmarkable): Delete.
16732         (mark_object): Don't check for this_one_is_unmarkable. Use the
16733         c_readonly flag instead.
16734         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16735
16736 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16737
16738         * event-msw.c (mswindows_drain_windows_queue):
16739         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16740         away redundant repaint events.
16741
16742 2000-02-17  Andy Piper  <andy@xemacs.org>
16743
16744         * redisplay.h: declare mark_redisplay_structs.
16745
16746         * redisplay.c (redisplay_window):
16747         (redisplay_frame): don't check subwindows_state_changed.
16748         (mark_redisplay): mark gutters here.
16749
16750         * glyphs.c: (instantiate_image_instantiator): always layout if we
16751         haven't done so already.
16752         (allocate_image_instance): don't mark as dirty.
16753         (update_subwindow): bind inhibit_quit.
16754
16755         * gutter.c (mark_gutters): new function.
16756
16757         * glyphs-x.c (x_update_widget): Always resize to get round a
16758         widget bug.
16759
16760         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16761         breaking absolutely everything.
16762
16763         * gutter.h: declare mark_gutters.
16764
16765 2000-02-16  Martin Buchholz <martin@xemacs.org>
16766
16767         * XEmacs 21.2.29 is released.
16768
16769 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16770
16771         * fns.c (size_bit_vector): Fix computation of the size.
16772
16773 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16774
16775         * *.[ch]: Change CONST to const globally.
16776         find -name '*.[ch]' | \
16777         xargs global-replace \
16778         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16779         - Remove vestigial references to CONST_IS_LOSING
16780
16781 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16782
16783         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16784         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16785         events instead of dispatching them directly.
16786         (mswindows_handle_paint): New function to do repainting.
16787         (mswindows_wnd_proc):
16788         (emacs_mswindows_handle_magic_event): Call above function.
16789
16790 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16791
16792         * objects-msw.c (mswindows_create_font_variant): Return the new
16793         font handle.
16794         (initialize_font_instance): Get font metrics from the underlined
16795         variant of the font to cope with the case where the underlined
16796         font has a bigger descent.
16797
16798 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16799
16800         * gui.c (gui_item_accelerator): Return the first underlined
16801         character in item name.
16802
16803 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16804
16805         * lisp.h: Added Qprinter.
16806
16807         * general.c (syms_of_general): Initialized it.
16808
16809         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16810         (get_frame_dc):
16811         (get_frame_compdc): Made inline.
16812
16813         * console.h (struct console_methods): Added eject_page method.
16814
16815         * frame.h: Added FRAME_DISPLAY_P and friends.
16816         Aligned backslahes in many macros in more readable fashion.
16817         Added page_number to struct frame, and an accessor macro
16818         for it.
16819
16820         * defice.h: Added DEVICE_DISPLAY_P and friends.
16821
16822         * device.c (Fdevice_printer_p): Used these.
16823
16824         * frame.c (allocate_frame_core): Initialize page number.
16825         (Fprint_job_page_number):
16826         (Fprint_job_eject_page): Implemented.
16827
16828         * frame-msw.c (msprinter_eject_page): Added method.
16829         (msprinter_start_page): Added.
16830
16831         * window.c (Fwindow_truncated_p): Fixed docstring.
16832         (Fwindow_last_line_visible_height): Implemented.
16833
16834 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16835
16836         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16837
16838 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16839
16840         * syntax.c (scan_words): Always advance at least one character.
16841
16842 2000-02-13  Andy Piper  <andy@xemacs.org>
16843
16844         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16845         to make sure the glyph is in the cachels.
16846
16847         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16848         global image instance flag.
16849         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16850         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16851
16852         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16853         (Fset_image_instance_property): mark layout as changed.
16854         (invalidate_glyph_geometry_maybe): mark layout as changed.
16855         (glyph_width): use new NEEDS_LAYOUT macro.
16856         (glyph_ascent): ditto.
16857         (glyph_descent): ditto.
16858         (glyph_height): ditto.
16859         (image_instance_layout): mark layout as clean after laying out.
16860         (update_subwindow): don't mark layout as clean here.
16861
16862         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16863         should no longer be needed.
16864
16865         * glyphs-x.c (x_update_widget): sanitize asserts.
16866         (x_finalize_image_instance): sanitize assignment to widgets.
16867
16868         * glyphs-widget.c (widget_instantiate): don't need to clear the
16869         layout flag here.
16870
16871 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16872
16873         * sysdep.c (getcwd): Use standard prototype.
16874         * sysdep.h (getcwd): Use standard prototype.
16875
16876         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16877         (sequence, start, end).
16878         Remove redundant type checking.
16879         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16880         view of `caller-protects') to avoid a crash where the real fix was
16881         found elsewhere.
16882
16883 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16884
16885         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16886
16887         * s/sol2.h: Remove feature macro initialization.
16888
16889         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16890         (vector_hash): New.  Code from internal_hash.
16891         * lrecord.h:
16892         Fix up allocation subsystem comments.
16893
16894         * config.h.in: Add __EXTENSIONS__ for Solaris.
16895
16896         * systime.h (EMACS_GETTIMEOFDAY): New.
16897         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16898         Remove Solaris-specific code.
16899         Use void* for the (ignored) second arg for gettimeofday().
16900
16901         * elhash.c (hash_table_hash): Implement it, finally.
16902         * elhash.c:  Use hashcode_t.
16903
16904         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16905         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16906
16907         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16908         * fns.c (size_bit_vector):
16909         * alloc.c (size_vector):
16910         (make_vector_internal):
16911         (make_bit_vector_internal):
16912         (sweep_bit_vectors_1):
16913         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16914
16915 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16916
16917         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16918         Include strings.h to avoid warnings for bzero and strcasecmp.
16919
16920 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16921
16922         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16923         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16924
16925         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16926         sequence.
16927
16928 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16929
16930         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16931         use a value field instead.
16932         (symbol_value_forward_forward): Use value field.
16933         (DEFVAR_SYMVAL_FWD): Use value field.
16934         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16935         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16936         (DEFVAR_CONST_INT): Ditto.
16937         (DEFVAR_BOOL): Ditto.
16938         (DEFVAR_CONST_BOOL): Ditto.
16939         (DEFVAR_INT_MAGIC): Ditto.
16940         (DEFVAR_BOOL_MAGIC): Ditto.
16941
16942         * symbols.c (guts_of_unbound_marker): Use value field.
16943         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16944         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16945
16946         * lisp.h: Declare dumpopaque and noninteractive1.
16947
16948         * alloc.c (dumpopaque): Added.
16949         (pdump_dump_opaquevec): Added.
16950         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16951         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16952         noninteractive.
16953
16954 2000-02-10  Andy Piper  <andy@xemacs.org>
16955
16956         * glyphs.c (image_instance_layout): if the size changes, mark it
16957         as such.
16958
16959         * redisplay-output.c (redisplay_output_layout): Update the
16960         subwindow here.
16961         (redisplay_output_subwindow): ditto.
16962
16963         * glyphs.c (update_subwindow): make sure we reset flags for
16964         layouts as well as everything else.
16965
16966         * glyphs-widget.c (layout_layout): don't need to set the instances
16967         dimensions here.
16968
16969 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16970
16971         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16972         not HAVE_DLOPEN, which is a lower-level thing.
16973
16974         * .cvsignore: Ignore gmon.out
16975
16976 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16977
16978         * .cvsignore: Ignore portable dumper xemacs.dmp file
16979
16980 2000-02-09  Andy Piper  <andy@xemacs.org>
16981
16982         * redisplay-output.c (redisplay_output_layout): be more clever
16983         about when we output based on the changed flags.
16984
16985         * glyphs.h (struct image_instantiator_methods): add update_method.
16986         (struct Lisp_Image_Instance): add changed flags. Declare new
16987         macros for manipulating them.
16988
16989         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16990         (image_instance_parent_glyph): find an image_instance's parent
16991         glyph or image_instance.
16992         (image_instance_layout): mark the size as changed.
16993         (set_image_instance_dirty_p): new function. mark an image
16994         instance, plus all of its parents, as dirty.
16995         (Fset_image_instance_property): use it.
16996         (Fglyph_animated_timeout_handler): use it.
16997         (update_subwindow): call update_widget and device methods for
16998         update_subwindow. Mark all changed flags as clean.
16999         (Fresize_subwindow): mark size as changed.
17000
17001         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17002         failures.
17003         (x_update_subwindow): only resize subwindows here.
17004         (x_update_widget): new function. Update all changed properties of
17005         a widget.
17006         (x_resize_subwindow): deleted.
17007         (x_widget_set_property): deleted.
17008         (x_progress_gauge_set_property): deleted.
17009         (x_progress_gauge_update): new function. Implement recorded
17010         changes.
17011         (x_tab_control_update): ditto.
17012         (x_tab_control_set_property): deleted.
17013         (console_type_create_glyphs_x): declare new functions.
17014         (image_instantiator_format_create_glyphs_x): ditto.
17015
17016         * glyphs-widget.c (widget_set_property): mark text changed.
17017         (update_widget): new function. Update properties of a widget.
17018         (widget_instantiate): for layouts make sure we set their
17019         children's parent correctly.
17020         (tab_control_set_property): new function. Record changes that will
17021         take place under redisplay's control.
17022         (progress_gauge_set_property): ditto.
17023         (image_instantiator_progress_guage): declare new functions.
17024         (image_instantiator_tab_control): ditto.
17025
17026         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17027         now.
17028         (mswindows_update_widget): new function. Update all properties on
17029         a widget that have changed.
17030         (mswindows_button_update): new function. Update a button's set
17031         state.
17032         (mswindows_tab_control_update): new function. Update the items in
17033         a tab.
17034         (mswindows_tab_control_set_property): deleted.
17035         (mswindows_progress_gauge_update): new function. Update the
17036         progress gauge's progress.
17037         (mswindows_widget_set_property): deleted. This is all done
17038         asynchronously now.
17039         (mswindows_progress_gauge_set_property): ditto.
17040         (console_type_create_glyphs_mswindows): declare new methods.
17041         (image_instantiator_format_create_glyphs_mswindows): ditto.
17042
17043         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17044         (msprinter_set_frame_properties): ditto.
17045
17046         * console.h (struct console_methods): Add update_widget_method.
17047
17048 2000-02-09  Andy Piper  <andy@xemacs.org>
17049
17050         * gui-msw.c (Fmswindows_shell_execute): Make
17051         mswindows-shell-execute industrial strength.
17052
17053 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17054
17055         * lrecord.h: Make macro argument `props' match member function `plist'.
17056         * fns.c (Fget):
17057         * fns.c (Fput):
17058         * fns.c (Fremprop):
17059         * fns.c (Fobject_plist):
17060         * alloc.c:
17061         * symbols.c:
17062         Object property list frobbing cleanup.
17063         - Allow any lisp object (compared with `eq'), not just symbols, as
17064           keys in object plists.
17065         - Move symbol plist frobbing into symbols.c, where it belongs.
17066         - Move string plist frobbing into alloc.c, where it belongs.
17067         - Everything's an lrecord now, so no need to test for symbolp, etc.
17068         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17069
17070         * extents.c: Reorder code to remove declarations.
17071
17072         * frame.h (store_in_alist): Remove useless declaration.
17073
17074 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17075
17076         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17077         * config.h.in: Add HAVE_XCONVERTCASE.
17078
17079 2000-02-07  Andy Piper  <andy@xemacs.org>
17080
17081         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17082         it breaks many things.
17083
17084 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17085
17086         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17087         actually can start a common comment type.
17088         * src/syntax.h (SYNTAX_END_P): ditto for end.
17089
17090 2000-02-07  Martin Buchholz <martin@xemacs.org>
17091
17092         * XEmacs 21.2.28 is released.
17093
17094 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17095
17096         * event-Xt.c (x_keysym_to_character): New.
17097         (maybe_define_x_key_as_self_inserting_character): New.
17098         (x_has_keysym): New.
17099         Auto-define all keys on the keyboard as self-insert-key.
17100
17101 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17102
17103         * menubar.c (vars_of_menubar): A small code simplification.
17104
17105         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17106
17107         * ExternalShell.c:
17108         * ExternalClient.c:
17109         * EmacsShell-sub.c:
17110         * EmacsManager.c:
17111         * EmacsFrame.c:
17112         Use consistent style for specifying X resources.
17113
17114         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17115         This makes (dontusethis-set-symbol-value-handler) actually usable.
17116
17117         * lrecord.h (lrecord_decription_type):
17118         * alloc.c (pdump_register_sub):
17119         (pdump_dump_data):
17120         (pdump_reloc_one):
17121         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17122         Comply with XEmacs coding style.
17123         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17124         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17125
17126         * keymap.c (Faccessible_keymaps):
17127         Make (accessible-keymaps map "\C-h") do the Right Thing.
17128         Make (accessible-keymaps map []) do the Right Thing.
17129         Make (accessible-keymaps map "") do the Right Thing.
17130         (check_keymap_definition_loop): New function.
17131         (keymap_store_internal): Keep luser from shooting self in foot,
17132           via (define-key ctl-x-4-map "p" global-map).
17133         Remove fullness slot from struct Lisp_Keymap, since hash tables
17134         are now reliable.
17135         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17136
17137 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17138
17139         * redisplay.c (init_redisplay): Fix small memory leak.
17140         * elhash.h:
17141         * elhash.c (pdump_reorganize_hash_table):
17142         Rename from reorganize_hash_table. Change prototype.
17143         Reuse the original memory for hentries.  Save 100k.
17144         * alloc.c (PDUMP_READ): new macro.
17145         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17146         * alloc.c: No need to #ifndef before #undef.
17147
17148         * print.c: Allow debug_print() to print readably by modifying
17149         debug_print_readably.  Use consistent variable names.
17150
17151         * .dbxrc: Try to get things to work even if stopped in a function
17152         without source available by explicitly specifying source files.
17153 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17154
17155         * unexnt.c (_start): Removed bogus code which caused loading heap
17156         from differrent executable file.
17157         Removed bogus assignment to _fmode, which caused inconsistencies.
17158
17159 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17160
17161         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17162         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17163         Do not preliminary `#define signal sigset'.
17164
17165         * systime.h: Do not prototype environ on windows nt and cygwin,
17166         this conflicts with system header.
17167
17168         * syssignal.h: Use correct define for WINDOWSNT
17169
17170         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17171         with system header.
17172
17173         * sysdep.c (near start of file): Fixed commentary and rearranged
17174         ifdefs in readable order.
17175         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17176         (start_of_text):
17177         (end_of_text):
17178         (end_of_data): Do not compile in if using PDUMP.
17179
17180         * symsinit.h: Prototyped vars_of_nt().
17181
17182         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17183         (find_child_console): Use it.
17184         (sys_kill): Use it.
17185
17186         * ntheap.h: Do not extern os_subtype.
17187
17188         * ntheap.c (cache_system_info): Do not cache unneeded:
17189         nt_major_version, nt_minor_version and os_subtype.
17190         (recreate_heap): Do not compile in when PDUMPing.
17191
17192         * nt.c (geteuid and friends): Use the new varibale
17193         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17194         (init_user_info): Removed the above mentioned hackery.
17195         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17196         stat has been fixed in the C runtime.
17197         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17198
17199         * file-coding.c (struct file_coding_dump): Do not define
17200         ucs_to_mule_table in the struct if not MULE.
17201         (struct struct lrecord_description fcd_description_1): Do not dump
17202         the above.
17203
17204         * emacs.c (main_1): Call vars_of_nt().
17205         (right before Fdump_emacs_data): Don't need lastfile if using both
17206         portabe dumper and system malloc.
17207
17208         * alloc.c (Fmemory_limit): Conditionalized out.
17209         (pdump): Use OPEN_BINARY for the portable dump file.
17210         (pdump_load): Ditto.
17211
17212 2000-02-02  Mike Alexander  <mta@arbortext.com>
17213
17214         * nt.c (convert_time): Set tm_isdst before calling mktime and
17215         avoid calling it at all if the compiler supports 64 bit integers.
17216         Also initialize utc_base_ft before using it.
17217
17218 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17219
17220         * frame.c (change_frame_size_1): Take f->internal_border_width
17221         into consideration when calculating the width of the frame.
17222
17223 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17224
17225         * window.c (frame_min_height):
17226         (frame_size_valid_p):
17227         (frame_pixsize_valid_p): Added.
17228         (check_frame_size): Generalized.
17229
17230         * window.h: Prototyped the above.
17231
17232         * lisp.h:
17233         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17234         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17235         Deleted Vwin32_* and Vbinary_process_* unused variables.
17236
17237         * device-msw.c (msprinter_init_device): Do not get printer font
17238         list; Added DEVMODE functions.
17239
17240         * frame-msw.c: Added lots of printer code.
17241
17242         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17243         general.c.
17244
17245         * console-msw.h: Added more msprinter device private slots.
17246
17247 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17248
17249         * event-msw.c (key_needs_default_processing_p): Added.
17250         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17251
17252 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17253
17254         * glyphs.c (image_instance_layout): Mark image instance as clean
17255         after layout.
17256         (glyph_dirty_p): Removed redundant function.
17257         (invalidate_glyph_geometry_maybe): Added.
17258         (update_glyph_cachel_data): Call it.
17259
17260         * glyphs.h: Prototyped it.
17261
17262         * redisplay.c (add_glyph_rune): Call it.
17263         (redisplay_window): Reset glyphs cachels when frame faces have
17264         changed, thus forcing recomputation of built-in border glyphs.
17265
17266 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17267
17268         * Makefile.in.in: Make portable dumper and purify play well together.
17269         Add imperfect, but better than nothing, support for pdump.
17270         Remove xemacs.dmp when temacs is re-generated.
17271         Don't ignore errors when dumping xemacs.
17272
17273         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17274
17275 2000-01-28  Andy Piper  <andy@xemacs.org>
17276
17277         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17278         (setup_normal_frame): ditto.
17279         (setup_frame_without_minibuffer): ditto.
17280         (setup_minibuffer_frame): ditto.
17281         (delete_frame_internal): ditto.
17282         (Fmake_frame_invisible): ditto.
17283         (Ficonify_frame): ditto.
17284
17285         * window.h: change Fset_window_buffer signature.
17286
17287         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17288         (Fset_window_buffer): allow recording of buffer if the window is
17289         the selected window.
17290         (window_loop): Use new Fset_window signature.
17291
17292 2000-01-23  Daniel Pittman  <daniel@danann.net>
17293
17294         * config.h.in: Added template for `HAVE_ATHENA_3D'
17295
17296 2000-01-29  Andy Piper  <andy@xemacs.org>
17297
17298         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17299
17300         * gutter.c (output_gutter): Don't output if the window isn't live.
17301
17302 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17303
17304         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17305         of 01/12/00: Moved SetFocus back here where it belongs.
17306
17307 2000-01-23  Andy Piper  <andy@xemacs.org>
17308
17309         * s/cygwin32.h: declare printer things.
17310
17311 2000-01-26  Andy Piper  <andy@xemacs.org>
17312
17313         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17314         Alexander.
17315
17316 2000-01-24  Andy Piper  <andy@xemacs.org>
17317
17318         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17319         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17320
17321         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17322
17323         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17324
17325         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17326
17327         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17328         (mswindows_output_display_block): Avoid local shadows.
17329
17330         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17331         (mswindows_enqueue_mouse_button_event): ditto.
17332         (mswindows_handle_gui_wm_command): remove declaration.
17333
17334         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17335         warnings.
17336
17337         * console-msw.h: Avoid shadows.
17338         (mswindows_get_toolbar_button_text):
17339         (emacs_mswindows_create_stream_pair):
17340         (emacs_mswindows_delete_stream_pair):
17341         (mswindows_handle_toolbar_wm_command): declare.
17342
17343         * device-msw.c (build_syscolor_string): Avoid shadows.
17344
17345 2000-01-23  Andy Piper  <andy@xemacs.org>
17346
17347         * glyphs-widget.c (widget_instantiate): reverse the items for
17348         layouts so that children are in the expected order.
17349
17350 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17351
17352         * ralloc.c: safe_bcopy ==> memmove
17353         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17354         * s/msdos.h: Remove BCOPY macros.
17355         * insdel.c (gap_right): Remove BCOPY conditional code.
17356         * insdel.c (gap_left): Remove BCOPY conditional code.
17357         XEmacs demands a working ANSI C compiler - hence memmove.
17358
17359         * regex.c (regex_compile): Remove accidental use of trigraphs.
17360
17361 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17362
17363         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17364         event timestamp.
17365
17366 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17367
17368         * event-msw.c (mswindows_drain_windows_queue): Added the
17369         parameter.
17370         (mswindows_need_event): Commented the call to
17371         mswindows_drain_windows_queue().
17372         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17373         only.
17374
17375         * console-msw.h: Moved a few function prototypes here from
17376         event-msw.c.
17377
17378         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17379         parameter from unsigned short to unsigned long.
17380         (Fmswindows_shell_execute): Added return value.
17381
17382 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17383
17384         * sysdep.c (init_system_name):
17385           process-unix.c (unix_canonicalized_host_name):
17386         Don't call freeaddrinfo() if getaddrinfo() fails.
17387
17388         * process-unix.c (unix_open_unix_network_stream):
17389         Moved the code to get a port # into address loop.
17390
17391 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17392
17393         * buffer.c (reinit_vars_of_buffer):
17394         The right place to initialize conversion_in_dynarr and
17395         conversion_out_dynarr.
17396
17397         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17398
17399         * process-unix.c (unix_canonicalize_host_name): Muleize.
17400         (unix_open_network_stream): Muleize.
17401
17402         * buffer.h: Fix up prototypes for ralloc.c functions.
17403
17404 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17405         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17406         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17407                 instead of gethostbyname()
17408         * process-unix.c: In unix_canonicalize_host_name() and
17409                 unix_open_network_stream(), add code to use getaddrinfo()
17410                 instead of gethostbyname().
17411
17412 2000-01-27  Daniel Pittman <daniel@danann.net>
17413
17414         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17415         libs when built with flat Athena.
17416
17417 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17418
17419         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17420         Use coding standards for function prototypes.
17421
17422 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17423
17424         * dialog-msw.c (push_lisp_string_as_unicode):
17425         * doc.c (unparesseuxify_doc_string):
17426         * dired.c (Fuser_name_completion_1):
17427         * dired.c (Fuser_name_all_completions):
17428         * dired.c (free_user_cache):
17429         * dired.c (user_name_completion):
17430         * console-x.c (get_display_arg_connection):
17431         * minibuf.c (clear_echo_area_internal):
17432         * minibuf.c (echo_area_append):
17433         * eldap.c (Fldap_open):
17434         * eldap.c (Fldap_search_internal):
17435         * frame-x.c (x_set_frame_text_value):
17436         * frame-x.c (x_set_frame_properties):
17437         * frame-x.c (x_create_widgets):
17438         * redisplay-tty.c (term_get_fkeys_1):
17439         * objects-x.c (x_parse_nearest_color):
17440         * objects-x.c (x_valid_color_name_p):
17441         * objects-x.c (x_initialize_font_instance):
17442         * objects-x.c (x_list_fonts):
17443         * objects-x.c (x_find_charset_font):
17444         * tooltalk.c (Fadd_tooltalk_message_arg):
17445         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17446         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17447         * process-unix.c (unix_create_process):
17448         * ntproc.c (sys_spawnve):
17449         * sound.c (Fplay_sound_file):
17450         * sound.c (Fplay_sound):
17451         * buffer.c (init_initial_directory):
17452         * buffer.c (init_buffer):
17453         * editfns.c (init_editfns):
17454         * editfns.c (Ftemp_directory):
17455         * editfns.c (Fuser_full_name):
17456         * editfns.c (uncache_home_directory):
17457         * editfns.c (get_home_directory):
17458         * editfns.c (Fuser_home_directory):
17459         * editfns.c (Fformat_time_string):
17460         * editfns.c (Fcurrent_time_string):
17461         * gui-x.c (button_item_to_widget_value):
17462         * database.c (Fopen_database):
17463         * event-Xt.c (x_to_emacs_keysym):
17464         * event-Xt.c (x_event_to_emacs_event):
17465         * event-Xt.c (describe_event_window):
17466         * event-msw.c (mswindows_wnd_proc):
17467         * glyphs-eimage.c (jpeg_instantiate):
17468         * glyphs-eimage.c (gif_instantiate):
17469         * glyphs-eimage.c (png_instantiate):
17470         * glyphs-eimage.c (tiff_instantiate):
17471         * glyphs-x.c (xbm_instantiate_1):
17472         * glyphs-x.c (x_xbm_instantiate):
17473         * glyphs-x.c (x_xface_instantiate):
17474         * glyphs-x.c (autodetect_instantiate):
17475         * glyphs-x.c (cursor_font_instantiate):
17476         * glyphs-x.c (x_widget_instantiate):
17477         * glyphs-x.c (x_widget_set_property):
17478         * glyphs-x.c (x_widget_property):
17479         * glyphs-x.c (BUILD_GLYPH_INST):
17480         * print.c (write_string_to_stdio_stream):
17481         * print.c (output_string):
17482         * print.c (Falternate_debugging_output):
17483         * print.c (Fexternal_debugging_output):
17484         * glyphs-msw.c (extract_xpm_color_names):
17485         * glyphs-msw.c (mswindows_xpm_instantiate):
17486         * glyphs-msw.c (bmp_instantiate):
17487         * glyphs-msw.c (resource_name_to_resource):
17488         * glyphs-msw.c (mswindows_resource_instantiate):
17489         * glyphs-msw.c (xbm_instantiate_1):
17490         * glyphs-msw.c (mswindows_xbm_instantiate):
17491         * glyphs-msw.c (mswindows_xface_instantiate):
17492         * glyphs-msw.c (mswindows_widget_instantiate):
17493         * glyphs-msw.c (add_tree_item):
17494         * glyphs-msw.c (add_tab_item):
17495         * glyphs-msw.c (mswindows_combo_box_instantiate):
17496         * glyphs-msw.c (mswindows_widget_property):
17497         * glyphs-msw.c (mswindows_combo_box_property):
17498         * glyphs-msw.c (mswindows_widget_set_property):
17499         * console.c (stuff_buffered_input):
17500         * objects-msw.c (mswindows_initialize_color_instance):
17501         * objects-msw.c (mswindows_valid_color_name_p):
17502         * objects-msw.c (mswindows_list_fonts):
17503         * objects-msw.c (mswindows_font_instance_truename):
17504         * bytecode.c (optimize_compiled_function):
17505         * select-x.c (symbol_to_x_atom):
17506         * select-x.c (x_atom_to_symbol):
17507         * select-x.c (hack_motif_clipboard_selection):
17508         * select-x.c (selection_data_to_lisp_data):
17509         * select-x.c (lisp_data_to_selection_data):
17510         * select-x.c (Fx_get_cutbuffer_internal):
17511         * select-x.c (Fx_store_cutbuffer_internal):
17512         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17513         * buffer.h (TO_INTERNAL_FORMAT): New function.
17514         * emacs.c (make_arg_list_1):
17515         * emacs.c (make_argc_argv):
17516         * emacs.c (main_1):
17517         * emacs.c (Fdump_emacs):
17518         * emacs.c (split_string_by_emchar_1):
17519         * file-coding.h:
17520         * lisp.h:
17521         * lstream.h:
17522         * symsinit.h:
17523         * device-x.c (x_init_device):
17524         * device-x.c (Fx_valid_keysym_name_p):
17525         * device-x.c (Fx_get_font_path):
17526         * device-x.c (Fx_set_font_path):
17527         * glyphs.c (bitmap_to_lisp_data):
17528         * glyphs.c (pixmap_to_lisp_data):
17529         * alloc.c (make_ext_string): Use coding system arguments.  Update
17530         all callers.
17531         * alloc.c (build_string):
17532         * callproc.c (child_setup):
17533         * callproc.c (init_callproc):
17534         * fileio.c (lisp_strerror):
17535         * fileio.c (directory_file_name):
17536         * fileio.c (Fexpand_file_name):
17537         * fileio.c (Ffile_truename):
17538         * fileio.c (Fsysnetunam):
17539         * fileio.c (Fdo_auto_save):
17540         * sysdep.c (sys_readdir):
17541         * tests.c: New file.  Allow adding C tests.
17542         Replace GET_* macros with a more comprehensible and flexible
17543         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17544         Modify all calls.
17545         Any coding system can be used to do format conversion.
17546         Eliminate enum external_data_format.
17547         Eliminate convert_to_external_format.
17548         Eliminate convert_to_internal_format.
17549         Make sure file-name, keyboard, terminal, and ctext are always
17550         defined as coding systems or aliases.  Make
17551         file-name-coding-system, terminal-coding-system, and
17552         keyboard-coding-system magical variables that are equivalent to
17553         defining the corresponding coding system aliases.
17554
17555         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17556         * file-coding.c (Fcoding_system_alias_p): New function.
17557         * file-coding.c (Fcoding_system_aliasee): New function.
17558         * file-coding.c (append_suffix_to_symbol): New function.
17559         * file-coding.c (dangling_coding_system_alias_p): New function.
17560         * file-coding.c (Ffind_coding_system):
17561         * file-coding.c (Fcopy_coding_system):
17562         * file-coding.c (encode_coding_no_conversion):
17563         * file-coding.c (syms_of_file_coding):
17564         * file-coding.c (vars_of_file_coding):
17565         Rewrite coding system alias code.
17566         Allow nested aliases, like symbolic links.
17567         Allow redefinition of coding system aliases.
17568         Prevent existence of dangling coding system aliases.
17569
17570         * dired.c (Fuser_name_completion_1):
17571         * dired.c (Fuser_name_all_completions):
17572         A crash would happen if user did QUIT in the middle of building
17573         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17574
17575         * lisp.h:
17576         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17577
17578         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17579         an unsigned char *.  Update all callers.
17580
17581 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17582
17583         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17584
17585 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17586
17587         * elhash.c (hentry_description): Use more portable definition.
17588         (resize_hash_table): Initialize new hentries using
17589         xnew_array_and_zero, thereby simplifying the code.
17590
17591         * mule-charset.c (make_charset): Make sure entire object is
17592         initialized, to avoid Purify warnings.
17593
17594         * alloc.c (resize_string): Fix unlikely crash with big strings.
17595
17596 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17597
17598         * realpath.c (xrealpath):
17599         Don't call getwd().
17600
17601 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17602
17603         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17604
17605 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17606
17607         * unexelfsgi.c (unexec): Change the way we decide which segment
17608         should be extended.
17609
17610         Assumption that .bss section should be outside the PT_LOADable
17611         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17612         it's present) is inside the 'data' segment. This would fail the
17613         test which was used to find a segment to grow and cover new
17614         heap. Instead of this assumption, I created another one - on IRIX
17615         the segment to grow should start below .bss and it's address
17616         should extent above the end of .bss. Once this segment is
17617         identified, it's grown to accommodate the new heap and new
17618         zero-length .bss section is added at the end of .data2.
17619
17620 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17621
17622         * eval.c (Feval): Wrong number of arguments should use original
17623         function, not the indirect_function version of it.
17624
17625 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17626
17627         * glyphs-x.c (x_button_instantiate): Don't add image if
17628         it is not a pixmap.
17629         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17630         is relative.
17631
17632 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17633
17634         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17635         declaration.
17636         (DEFVAR_INT_MAGIC): Ditto.
17637         (DEFVAR_BOOL_MAGIC): Ditto.
17638         * glyphs.h: Reindent backslash.
17639
17640 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17641
17642         * glyphs-widget.c (layout_query_geometry):
17643         (layout_layout): Use correct types for gheight, gwidth.
17644
17645 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17646
17647         * EmacsManager.c (QueryGeometry): Purified.
17648
17649 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17650
17651         * alloc.c (make_float): Make sure entire object is initialized, to
17652         avoid Purify warnings.
17653         (pdump_register_sub): Remove useless assignment.
17654         (pdump): Use xmalloc, not malloc.
17655         (pdump_load): Use xmalloc, not malloc.
17656
17657 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17658
17659         * callproc.c:
17660         * dired-msw.c:
17661         * fileio.c:
17662         * process-nt.c:
17663         * redisplay-msw.c:
17664         * sysdep.c: Removed redundant #include <windows.h>
17665
17666 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17667
17668         * frame.c (delete_frame_internal): Do not delete device when its
17669         implementation so declares.
17670         (delete_frame_internal): Set device selected frame to nil when
17671         last frame goes away.
17672
17673         * device-msw.c (msprinter_device_system_metrics): Implemented.
17674         (mswindows_device_system_metrics): Added 'device-dpi property.
17675
17676         * device.c: (Fdevice_printer_p): Added.
17677         Added 'offset-workspace device metric.
17678
17679         * console.h (device_metrics): Declared DM_offset_workspace.
17680
17681 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17682
17683         * fileio.c (Ffile_truename): Remove pointless and confusing
17684         initialization of elen.
17685
17686         * glyphs-widget.c: Compiler warning fixes.
17687
17688 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17689
17690         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17691         instead of a Lisp_Object as argument to make it consistent with
17692         the other LIVE_P macros.
17693         (CHECK_LIVE_PROCESS): New macro.
17694
17695         * process.c: Declare Qprocess_live_p.
17696         (Fprocess_live_p): New function.
17697         (create_process): Use PROCESS_LIVE_P.
17698         (read_process_output): Ditto.
17699         (set_process_filter): Ditto.
17700         (Fdelete_process): Ditto.
17701         (kill_buffer_processes): Ditto
17702         (process_send_signal): Use CHECK_LIVE_PROCESS.
17703         (Fprocess_input_coding_system): Check whether process is still
17704         alive (fix PR#1061).
17705         (Fprocess_output_coding_system): Ditto.
17706         (Fprocess_coding_system): Ditto.
17707         (Fset_process_input_coding_system): Ditto.
17708         (Fset_process_output_coding_system): Ditto.
17709
17710 2000-01-23  Andy Piper  <andy@xemacs.org>
17711
17712         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17713         layout and widget.
17714
17715         * glyphs.c (mark_image_instance): take into account changed
17716         image_instance format.
17717         (image_instance_equal): ditto.
17718         (image_instance_hash): ditto.
17719
17720         * glyphs-widget.c (widget_instantiate): Incorporate layout
17721         instantiation here. Delay layout of the layout until later.
17722         (layout_instantiate): deleted.
17723         (layout_query_geometry): new function. get the geometry of a
17724         layout.
17725         (layout_layout): layout a layout dynamically.
17726         (image_instantiator_widget): New function - splitting up
17727         image_instantiator_format_create_glyphs_widget for netwinder
17728         compilation.
17729         (image_instantiator_buttons):
17730         (image_instantiator_edit_fields):
17731         (image_instantiator_combo_box):
17732         (image_instantiator_scrollbar):
17733         (image_instantiator_progress_guage):
17734         (image_instantiator_tree_view):
17735         (image_instantiator_tab_control):
17736         (image_instantiator_labels):
17737         (image_instantiator_layout): ditto.
17738         (image_instantiator_format_create_glyphs_widget): Call preceding
17739         functions.
17740
17741 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17742
17743         * process.c (Fset_process_coding_system):
17744         * device-x.c (Fx_keysym_hash_table):
17745         Docstring fixes.
17746
17747         * lstream.c (Lstream_write): Return documented value, not 0.
17748
17749         * fileio.c (directory_file_name):
17750         (Fsubstitute_in_file_name):
17751         (Fsubstitute_insert_file_contents_internal):
17752         (Fwrite_region_internal):
17753         * emacs.c:
17754         * sysdep.c:
17755         * getloadavg.c:
17756         * systty.h:
17757         Remove vestigial APOLLO-conditional code.
17758
17759 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17760
17761         * getpagesize.h: Add guard macros.
17762         * libsst.h: Add guard macros.
17763         * libst.h: Add guard macros.
17764         * line-number.h: Add guard macros.
17765         * ndir.h: Add guard macros.
17766         * sysfloat.h: Add guard macros.
17767         * sysfile.h: Add guard macros.
17768         * sysproc.h: Add guard macros.
17769         * syswait.h: Add guard macros.
17770         * xintrinsic.h: Add guard macros.
17771         * xintrinsicp.h: Add guard macros.
17772         * xmmanager.h: Add guard macros.
17773         * xmmanagerp.h: Add guard macros.
17774         * xmprimitive.h: Add guard macros.
17775         * xmu.h: Add guard macros.
17776         * gpmevent.h: Add copyright statement. Add guard macros.
17777         * miscplay.h: Add guard macros.
17778         * *.h: Use consistent C-standards-approved guard macro names.
17779
17780         * opaque.c (make_opaque): Switch parameter order.
17781         * opaque.h (make_opaque): Switch parameter order.
17782         Update all callers.
17783         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17784
17785         * config.h.in (type_checking_assert): Added.
17786         (bufpos_checking_assert): Added.
17787
17788 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17789
17790         * alloc.c: Harmless pdump changes.
17791         - Use countof().
17792         - spell alignment correctly.
17793         * sysdep.c: Use countof()
17794
17795 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17796
17797         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17798         initially_selected_for_input() console method, default to 0.
17799         (semi_canonicalize_console_connection): Try to delegate to
17800         canonicalize_console_connection if no such console method.
17801         (canonicalize_console_connection): Vice versa.
17802         (print_console): Do not print nil connection.
17803
17804         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17805         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17806         (XDEVIMPF_FRAMELESS_OK): Added.
17807         (CONSOLE_INHERITS_METHOD): Added.
17808
17809         * console-msw.c (mswindows_canonicalize_console_connection):
17810         Added.
17811         (mswindows_canonicalize_device_connection): Added.
17812
17813         * console-msw.h (struct msprinter_device): Added this struct and
17814         accessor macros.
17815         (mswindows_device): Made fontlist a lisp object.
17816
17817         * device.c (semi_canonicalize_device_connection):  Try to delegate
17818         to canonicalize_device_connection if no such console method.
17819         (canonicalize_device_connection): Vice versa.
17820         (print_device): Do not print nil connection.
17821
17822         * device-msw.c (mswindows_init_device): Call InitCommonControls
17823         when have widgets.
17824         (mswindows_delete_device): Removed fontlist deallocation.
17825         (mswindows_mark_device): Added.
17826
17827         * events.c (event_equal): Added abort() at unreached code.
17828         (event_hash): Ditto.
17829
17830         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17831         fallback tags of Windows devices.
17832
17833         * general.c (syms_of_general): Initialized Qmsprinter.
17834
17835         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17836         of fallback tags of Windows devices.
17837
17838         * lisp.h: Declared Qmsprinter.
17839
17840         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17841         of strings.
17842         (mswindows_list_fonts): Ditto.
17843         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17844         that it can be used by both mswindows and msprinter devices.
17845         (initialize_font_instance): Added.
17846         (mswindows_initialize_font_instance): Use it.
17847         (msprinter_initialize_font_instance): Added.
17848
17849         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17850         and implementation flags check.
17851         (redisplay_without_hooks): Changed the call to the above.
17852         (Fredraw_device): Ditto.
17853         (Fredisplay_device): Ditto.
17854
17855         * redisplay-msw.c (get_frame_dc): Implemented.
17856         (get_frame_compdc): Implemented.
17857         (many functions): Use the two functions above to get device
17858         contexts, ether for a window or a printer.
17859
17860 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17861
17862         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17863         initialization here.
17864         (init_symbols_once_early): Call it.
17865         * emacs.c (main_1): Call it.
17866         * symsinit.h: Declare it.
17867
17868 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17869
17870         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17871         Lisp_Object.
17872         (pdump_backtrace): Ditto.
17873         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17874         (pdump_get_entry): Abort if trying to register a null pointer.
17875         (pdump_dump_data): Cleanup types when relocating.
17876         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17877         (pdump_dump_rtables): Remove bad casts.
17878         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17879         Lisp_Object instead of a EMACS_INT for the hashtable
17880         reorganization.
17881
17882 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17883
17884         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17885
17886         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17887
17888         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17889
17890         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17891
17892 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17893
17894         * faces.h (FACE_STRIKETHRU_P): Added.
17895
17896         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17897         of font variants.
17898
17899         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17900         (mswindows_set_dc_font): New function, aware of font variants,
17901         separated from mswindows_update_dc.
17902
17903         * objects-msw.h (struct mswindows_font_instance_data): Added
17904         definition.
17905
17906         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17907         cached fonts and the data structure.
17908         (mswindows_initialize_font_instance): Added creation of font data
17909         structure.
17910         (mswindows_print_font_instance): Print at least something.
17911         (mswindows_create_font_variant): Implemented.
17912         (mswindows_get_hfont): Implemented.
17913
17914 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17915
17916         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17917         prototyping problem with msvc.
17918
17919         * emacs.c (main_1): added syms_of_gui_mswindows() call
17920
17921         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17922         syms_of_gui_mswindows() function
17923
17924         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17925
17926 2000-01-18  Martin Buchholz <martin@xemacs.org>
17927
17928         * XEmacs 21.2.27 is released.
17929
17930 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17931
17932         * glyphs-eimage.c (struct tiff_error_struct):
17933         (tiff_error_func):
17934         (tiff_warning_func):
17935         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17936
17937         * unexmips.c:
17938         * unexhp9k3.c:
17939         * unexfreebsd.c:
17940         * unexec.c: Remove vestigial Lucid C code.
17941         * unexalpha.c:
17942         * unexaix.c:
17943         * termcap.c:
17944         * libsst.c: Ansify.
17945         Remove declarations of errno and strerror().
17946
17947         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17948
17949         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17950
17951 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17952
17953         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17954         Optimize.
17955
17956 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17957
17958         * md5.c:
17959         * file-coding.c:
17960         * file-coding.h:
17961         Change enum eol_type to eol_type_t.
17962
17963 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17964
17965         * gui.c (get_gui_callback): Check cons before accessing car.
17966
17967 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17968
17969         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17970         (XSETSPECIFIER_TYPE): Ditto.
17971
17972 2000-01-17  Didier Verna  <didier@xemacs.org>
17973
17974         * redisplay.c (generate_fstring_runes): compute string size in
17975         characters, not bytes.
17976
17977 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17978
17979         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17980
17981 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17982
17983         * print.c (print_error_message): Call print_prepare().
17984
17985 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17986
17987         * .dbxrc: Renamed from dbxrc.
17988
17989         * events.c (event_to_character):
17990         Use `assert (foo)' instead of `if (!foo) abort()'
17991
17992         * .gdbinit (xtype): Add documentation.
17993         * .gdbinit (check-temacs): New function.
17994         * .gdbinit (check-xemacs): New function.
17995         * dbxrc (check-xemacs): New function.
17996         * dbxrc (check-xemacs): New function.
17997
17998 2000-01-14  Andy Piper  <andy@xemacs.org>
17999
18000         * glyphs-widget.c (widget_query_geometry): Make sure that we
18001         calculate default dimensions correctly.
18002
18003 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18004
18005         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18006
18007         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18008         pdump_wire'd variable.
18009
18010         * emacs.c: (main_1): Conditionalized calls to
18011         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18012
18013 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18014
18015         * window.c (Fset_window_configuration):
18016         * sysdep.c (_start):
18017         * input-method-motif.c (res):
18018         * event-Xt.c (Xt_process_to_emacs_event):
18019         Simple compiler warning fixes.
18020
18021         * bytecode.c (funcall_compiled_function): Use the original
18022         function symbol on the backtrace list in preference to the
18023         compiled_function object in error messages.
18024
18025 2000-01-13  Andy Piper  <andy@xemacs.org>
18026
18027         * glyphs-x.c (update_widget_face): Make sure we update the widget
18028         background as well as foreground.
18029
18030 2000-01-13  Andy Piper  <andy@xemacs.org>
18031
18032         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18033         fields to subwindow.
18034         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18035         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18036         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18037         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18038
18039         * glyphs-widget.c (check_valid_tab_orientation): new function.
18040         (initialize_widget_image_instance): zero orientation and
18041         justification.
18042         (widget_instantiate): pick up orientation.
18043         (tab_control_query_geometry): return appropriate values for
18044         vertical tabs.
18045
18046         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18047         appropriate creation flags for left, right and bottom tabs.
18048
18049         * s/cygwin32.h: add tab definitions.
18050
18051 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18052
18053         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18054         frame upon hiding a subwindow.
18055         (mswindows_button_instantiate): Changed the push button style to
18056         BS_PUSHBUTTON.
18057         (mswindows_button_instantiate): Removed button BS_NOTIFY
18058         style.
18059         (mswindows_button_instantiate): Removed redundant check for
18060         a disabled gui item.
18061         (mswindows_button_instantiate): Made use of WS_TABSTOP
18062         consistent: "operable" controls (edit, button, tree, scroll) have
18063         this style, "display-only" ones (static, progress gauge) do
18064         not. This style is currently ignored by XEmacs though. Also,
18065         removed the WS_EX_CONTROLPARENT style - it is not for children,
18066         it is for their parents!
18067         (mswindows_edit_field_instantiate): Ditto.
18068         (mswindows_progress_gauge_instantiate): Ditto.
18069         (mswindows_tree_view_instantiate): Ditto.
18070         (mswindows_tab_control_instantiate): Ditto.
18071         (mswindows_scrollbar_instantiate): Ditto.
18072         (mswindows_combo_box_instantiate): Ditto.
18073         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18074         style to the "clip" window.
18075         (mswindows_button_instantiate): Removed compilation warning by
18076         equally typing terms of the ?: operator.
18077
18078 2000-01-12  Didier Verna  <didier@xemacs.org>
18079
18080         * redisplay.c (generate_fstring_runes): new parameter holding the
18081         last modeline-format extent.
18082         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18083         extent, fill the glyph block with it.
18084         (generate_fstring_runes): handle these parameters.
18085         (generate_formatted_string_db): ditto.
18086
18087         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18088         glyphs'extents in the modeline.
18089
18090 1999-01-11  Mike Woolley  <mike@bulsara.com>
18091
18092         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18093         256Mb, as a workaround for the non-starting problem many people
18094         have experienced.
18095
18096 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18097
18098         * console-tty.c (Fset_console_tty_output_coding_system):
18099         Force redrawing tty frame.
18100
18101 2000-01-10  Didier Verna  <didier@xemacs.org>
18102
18103         * redisplay.c (generate_fstring_runes): fix size computation bug.
18104
18105 2000-01-09  William M. Perry <wmperry@aventail.com>
18106
18107         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18108
18109 2000-01-09  Andy Piper  <andy@xemacs.org>
18110
18111         * glyphs-msw.c: index -> i to avoid shadows.
18112         (xbm_create_bitmap_from_data): make static.
18113         (check_valid_string_or_int): deleted.
18114         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18115
18116         * glyphs-x.c (x_update_subwindow): remove unused args.
18117
18118         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18119         back pointer - this is done in allocate_image_instance.
18120         (query_string_font): return Qnil to make the compiler happy.
18121         (unmap_subwindow): set to ~0 to make the compiler happy.
18122         (glyph_query_geometry): comment out until used.
18123         (glyph_layout): ditto.
18124
18125 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18126
18127         * insdel.c (signal_after_change): Remove extraneous unbind_to().