update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2011-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (char_encode_as_entity_reference): Don't use
4         `DECODE_CHAR' to detect isolated characters.
5
6 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
7
8         * chartab.c (Fchar_feature_base_name_eq): New function when
9         UTF2000 is enabled.
10         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
11         (syms_of_chartab): Add new builtin function
12         `char-feature-base-name=' when UTF2000 is enabled.
13
14 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
15
16         * text-coding.c (Vdecomposition_feature_list): New variable when
17         UTF2000 is defined.
18         (char_encode_utf8): Refer variable `decomposition-feature-list'
19         instead of `=decomposition' feature.
20         (vars_of_file_coding): Add new variable
21         `decomposition-feature-list' when UTF2000 is defined.
22
23 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
24
25         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
26         `=decomposition' feature.
27
28 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
29
30         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
31         coded-charsets with builtin characters.
32
33 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
34
35         * text-coding.c (Qrep_decomposition): New extern.
36         (char_encode_utf8): Try to encode as combing sequence (or IVS).
37
38 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
41         "#endif" for code to refer Vchise_system_db_directory.
42
43 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
44
45         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
46         (Fconcord_object_adjoin): New function.
47         (Fconcord_object_adjoinX): New function.
48         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
49         `Fconcord_object_adjoinX'.
50
51 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * concord.c:
54         - Include "elconcord.h".
55         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
56           and `Fconcord_object_get' to elconcord.h.
57         (Lisp_CONCORD_DS): Moved to elconcord.h.
58         (struct Lisp_CONCORD_DS): Ditto.
59         (XCONCORD_DS): Ditto.
60         (XSET_CONCORD_DS): Ditto.
61         (CONCORD_DS_P): Ditto.
62         (CHECK_CONCORD_DS): Ditto.
63         (CONCHECK_CONCORD_DS): Ditto.
64         (Lisp_CONCORD_Object): Ditto.
65         (struct Lisp_CONCORD_Object): Ditto.
66         (XCONCORD_OBJECT): Ditto.
67         (XSET_CONCORD_OBJECT): Ditto.
68         (CONCORD_OBJECT_P): Ditto.
69         (CHECK_CONCORD_OBJECT): Ditto.
70         (CONCHECK_CONCORD_OBJECT): Ditto.
71         (CONCORD_OBJECT_GENRE): Ditto.
72         (CONCORD_OBJECT_ID): Ditto.
73         (XCONCORD_OBJECT_ID): Ditto.
74         (XCONCORD_OBJECT_GENRE): Ditto.
75         (concord_object_equal): New function.
76         (LRECORD_IMPLEMENTATION of "concord_object"): Use
77         `concord_object_equal'.
78
79         * elconcord.h: New file.
80
81 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * concord.c (print_concord_object): Use readable form even if
84         `print-readably' is nil.
85
86 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * concord.c (print_concord_object): Don't display location of
89         data-source when `print-readably' is nil.
90
91 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
92
93         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
94         the default location of data-source.
95         (complex_vars_of_concord): Use Vchise_system_db_directory to
96         assign genre `character' and `feature'.
97
98         * chartab.h (Vchise_system_db_directory): New extern when
99         HAVE_CONCORD is defined.
100
101 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
102
103         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
104         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
105         (Qfeature): Ditto.
106         (Fconcord_object_genre): New function.
107         (syms_of_concord):
108         - Add new builtin symbols `character' and `feature' when
109           HAVE_LIBCHISE is defined.
110         - Add Add new builtin function `concord-object-genre'.  
111         (complex_vars_of_concord): New function; assign genres `character'
112         and `feature' when HAVE_LIBCHISE is defined.
113
114 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * emacs.c (main_1): Call `complex_vars_of_concord' when
117         HAVE_CONCORD is defined.
118
119         * symsinit.h (complex_vars_of_concord): New prototype.
120
121 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * chartab.c (allocate_character): Add `static'.
124
125 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
126
127         * chartab.c (allocate_character): New function.
128         (Fdefine_char): Use allocate_character().
129
130 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
133         (Ōkawara).
134
135 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
136
137         * chartab.c (save_uint8_byte_table): Fixed problem when a property
138         is unloaded.
139         (save_uint16_byte_table): Likewise.
140
141 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * chartab.c (Fchar_feature_property): New function when LIBCHISE
144         is enabled.
145         (Fput_char_feature_property): Likewise.
146         (syms_of_chartab): Add new builtin functions
147         `char-feature-property' and `put-char-feature-property' when
148         LIBCHISE is enabled.
149
150 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
153         '=>iso-ir.
154         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
155
156 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
159         (make_charset): Add new argument `iso_ir'.
160         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
161         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
162         XEmacs CHISE.
163         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
164         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
165         XEmacs CHISE.
166         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
167         function `make_charset'.
168
169         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
170         (struct Lisp_Charset): Add new member `iso_ir'.
171         (CHARSET_ISO_IR): New macro.
172
173 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
176         code-point by GL charset.
177
178 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * concord.c (concord_id_validate): New function.
181         (structure_type_create_concord): Use `concord_id_validate' instead
182         of `concord_name_validate' to accept integer and character as =id.
183
184 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * concord.c (func_for_each_object): Fix bug about GC-protection.
187
188 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * concord.c (Fconcord_object_put): Check argument FEATURE is a
191         symbol.
192
193 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * text-coding.c (struct decoding_stream): Add new member
196         `bom_flag' in XEmacs CHISE.
197         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
198         in XEmacs CHISE.
199
200 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
201
202         * mule-charset.c: Move definition of `=jis-x0208@1978' to
203         lisp/mule/mule-conf.el.
204
205 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
206
207         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
208         (make_charset): Add new argument `partial'.
209         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
210         (Fmake_reverse_direction_charset): Modify for `make_charset'.
211         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
212         CHISE.
213         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
214         `=jis-x0208' as a partial coded-charset.
215
216 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * text-coding.c (decode_add_er_char): Fix problem when a character
219         represented by an entity-reference is not defined.
220
221 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
224         Qrep_*.
225
226 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
229         (Kasagi).
230
231 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
234         is a relation feature.
235
236 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * chartab.c (syms_of_chartab): Define
239         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
240
241         * chartab.h (Q_denotational): New extern when UTF2000 or
242         HAVE_CONCORD is defined.
243         (Q_denotational_from): Likewise.
244         (Q_subsumptive): Likewise.
245         (Q_subsumptive_from): Likewise.
246
247 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * concord.c (concord_object_put): New function.
250         (Fconcord_object_put): Use `concord_object_put'.
251
252 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
253
254         * concord.c (Fconcord_define_object): New function.
255         (syms_of_concord): Add new builtin function
256         `concord-define-object'.
257
258 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
259
260         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
261         (Kamo).
262
263 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
264
265         * concord.c: Add EXFUN for Fconcord_object_get.
266         (Vconcord_genre_object_hash_table): New variable.
267         (concord_genre_cache_get_object): New function.
268         (concord_genre_cache_put_object): New function.
269         (Fconcord_make_object): Use object cache; put object-ID into `=id'
270         feature.
271         (Fconcord_object_put): Call `concord_index_sync' after
272         `concord_index_strid_put_obj'.
273         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
274
275 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
276
277         * concord.c (Fconcord_decode_object): Do GCPRO for
278         Fconcord_make_object.
279         (func_for_each_object): Likewise; do GCPRO for
280         for_each_object_closure->function.
281         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
282         for_each_object_closure->function, for_each_object_closure->genre,
283         for_each_object_closure->ds and for_each_object_closure->ret.
284         (concord_object_validate): Do GCPRO for Fconcord_make_object.
285
286 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
287
288         * concord.c: Add EXFUNs for Fconcord_decode_object and
289         Fconcord_object_put.
290         (Fconcord_make_object): Change order of arguments.
291         (Fconcord_decode_object): Modify for Fconcord_make_object.
292         (func_for_each_object): Likewise.
293         (concord_object_validate): Likewise.
294         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
295
296 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
299
300 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * concord.c (Fconcord_decode_object): Try to use readable print
303         form as a key of Concord-index.
304         (Fconcord_object_get): Try to use readable print form as an ID of
305         Concord-object.
306         (Fconcord_object_put): Try to use readable print form as an ID of
307         Concord-object and a feature value.
308         (Fconcord_object_spec): Try to use readable print form as an ID of
309         Concord-object.
310
311 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * concord.c (print_concord_object): Support readable form.
314
315 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * emacs.c (main_1): Call `structure_type_create_concord' when
318         HAVE_CONCORD is defined.
319
320         * symsinit.h (structure_type_create_concord): New prototype.
321
322         * concord.c (Qconcord_object): New variable.
323         (Qgenre): Likewise.
324         (Q_id): Likewise.
325         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
326         for directory.
327         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
328         char*> for genre-name.
329         (Fconcord_feature_list): Likewise.
330         (Fconcord_make_object): Likewise.
331         (Fconcord_decode_object): Likewise; use <char*> instead of
332         <unsigned char*> for feature_name and strid.
333         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
334         c_obj and feature_name.
335         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
336         char*> for c_value.
337         (struct closure_for_object_spec): Use <char*> instead of <unsigned
338         char*> for member `object_id'.
339         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
340         char*> for feature-name.
341         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
342         for c_obj.
343         (func_for_each_object): Cast to avoid warnings.
344         (Fconcord_foreach_object_in_feature): Use <char*> instead of
345         <unsigned char*> for genre_name and feature_name.
346         (concord_name_validate): New function.
347         (concord_object_validate): Likewise.
348         (concord_object_instantiate): Likewise.
349         (syms_of_concord): Add new builtin symbols `concord-object',
350         `genre' and `=id'.
351         (structure_type_create_concord): New function.
352
353 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * concord.c (Vconcord_ds_hash_table): New variable.
356         (Vconcord_genre_hash_table): New variable.
357         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
358         (Fconcord_ds_directory): New function.
359         (Fconcord_assign_genre): New function.
360         (Fconcord_genre_directory): New function.
361         (Fconcord_genre_ds): New function.
362         (Fconcord_feature_list): Allow to omit `ds'.
363         (Fconcord_make_object): Likewise.
364         (Fconcord_decode_object): Likewise.
365         (Fconcord_foreach_object_in_feature): Likewise.
366         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
367         Fconcord_assign_genre, Fconcord_genre_directory and
368         Fconcord_genre_ds.
369         (vars_of_concord): Setup Vconcord_ds_hash_table and
370         Vconcord_genre_hash_table.
371
372 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * concord.c (struct closure_for_each_object): Add new member
375         `ret'.
376         (func_for_each_object): Setup the return value to
377         `for_each_object_closure->ret'.
378         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
379         returns the value instead of Qt.
380
381 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * concord.c: New file.
384
385 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
386
387         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
388         `lrecord_type_concord_object'.
389
390 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
391
392         * symsinit.h (syms_of_concord): New prototype.
393         (vars_of_concord): New prototype.
394
395         * emacs.c (main_1): Setup symbols and variable about concord if
396         HAVE_CONCORD is defined.
397
398         * config.h.in (HAVE_CONCORD): New macro.
399
400 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.c (Fput_char_attribute): For each character relation
403         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
404
405 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
406
407         * chartab.c (Fput_char_attribute): Use
408         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
409         calling `put_char_composition'.
410
411 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
412
413         * chartab.c (Q_halfwidth_of): New variable.
414         (put_char_composition): Return `<-halfwidth' instead of
415         `=decomposition' for compatibility mapping to single character
416         tagged `narrow'.
417         (Fput_char_attribute): Convert char-specs in value of
418         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
419         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
420         for `<-halfwidth'.
421         (syms_of_chartab): Add new symbol `<-halfwidth'.
422
423 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
424
425         * chartab.c (put_char_composition): Return
426         `<-formed@{isolated|initial|medial|final}' for compatibility
427         mapping to single character tagged
428         `{isolated|initial|medial|final}'.
429
430 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * chartab.c (Q_compat_of): Deleted.
433         (put_char_composition): Return `<-FOO' for compatibility mapping
434         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
435         of `symbol_name (XSYMBOL(...))'.
436         (Fput_char_attribute): Convert char-specs in value of
437         `{<-|->}font[^*]*' to characters and put reverse links.
438         (Fsave_char_attribute_table): Don't refer Q_compat_of.
439         (syms_of_chartab): Delete builtin symbol `<-compat'.
440
441 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * chartab.c (Q_circled_of): New variable.
444         (put_char_composition): Return `<-circled' instead of
445         `=decomposition' for compatibility mapping to single character
446         tagged `circle'.
447         (Fput_char_attribute): Convert char-specs in value of
448         `{<-|->}circled[^*]*' to characters and put reverse links.
449         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
450         for `<-circled'.
451         (syms_of_chartab): Add new symbol `<-circled'.
452
453 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * chartab.c (Qto_decomposition_at_circled): New variable.
456         (put_char_composition): Return `=>decomposition@circled' instead
457         of `=decomposition' for compatibility decomposition mapping tagged
458         `circle'.
459         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
460
461 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * chartab.c (Q_subscript_of): New variable.
464         (put_char_composition): Return `<-subscript' instead of
465         `=decomposition' for compatibility mapping to single character
466         tagged `sub'.
467         (Fput_char_attribute): Convert char-specs in value of
468         `{<-|->}subscript[^*]*' to characters and put reverse links.
469         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
470         for `<-subscript'.
471         (syms_of_chartab): Add new symbol `<-subscript'.
472
473 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * chartab.c (Q_superscript_of): New variable.
476         (put_char_composition): Return `<-superscript' instead of
477         `=decomposition' for compatibility mapping to single character
478         tagged `super'.
479         (Fput_char_attribute): Convert char-specs in value of
480         `{<-|->}superscript[^*]*' to characters and put reverse links.
481         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
482         for `<-superscript'.
483         (syms_of_chartab): Add new symbol `<-superscript'.
484
485 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * chartab.c (Qto_decomposition_at_compat): Deleted.
488         (Qto_decomposition_at_superscript): New variable.
489         (put_char_composition): Use `=>decomposition@superscript' instead
490         of `=decomposition' for compatibility decomposition mapping tagged
491         `super'.
492         (Fput_char_attribute): Fix condition about `put_char_composition'.
493         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
494         add news symbol `=>decomposition@superscript'.
495
496 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
497
498         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
499         for compatibility decomposition mapping tagged FOO.
500         (Fput_char_attribute): Modify for `put_char_composition'.
501
502 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * chartab.c (Qto_decomposition_at_compat): New variable.
505         (Q_compat_of): Renamed from `Q_compatibility_of'.
506         (put_char_composition): Rename `Q_compatibility_of' to
507         `Q_compat_of'; return `=>decomposition@compat' for compatibility
508         decomposition mapping.
509         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
510         `Q_compat_of'.
511         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
512         `<-compatibility' to `<-compat'.
513
514 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
515
516         * chartab.c (Q_compatibility_of): New variable.
517         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
518         object is proved to be a cons cell; return `<-compatibility' if
519         the first element of argument `value' is `compat'.
520         (Fput_char_attribute): Eliminate the first value if
521         `put_char_composition' returns `<-compatibility'.
522         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
523         for `<-compatibility'.
524         (syms_of_chartab): Add new symbol `<-compatibility'.
525
526 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
527
528         * chartab.c (Q_canonical): New variable.
529         (put_char_composition): Return a feature name: return
530         `->canonical' if argument `value' specifies single character.
531         (Fput_char_attribute): Use `put_char_composition' to determine
532         feature name for `=decomposition' or `->denotational'.
533         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
534         for `->canonical'.
535         (syms_of_chartab): Add new symbol `->canonical'.
536
537 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * chartab.c (Qmap_decomposition): New variable.
540         (Fput_char_attribute): Convert `->decomposition' to
541         `=decomposition'.
542         (syms_of_chartab): Add new symbol `=decomposition'.
543
544 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
545
546         * chartab.c (Fget_range_char_table): Fix serious problem when
547         `range' is nil.
548
549 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
550
551         * chartab.c (char_table_get_db): Use `read_from_c_string'.
552
553 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * lread.c (read_from_c_string): New function.
556
557         * lisp.h (read_from_c_string): New prototype.
558
559 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * chartab.c (Fput_char_attribute): Convert char-specs in value of
562         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
563         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
564         for `{<-|->}Oracle-Bones[^*]*'.
565
566 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
569         (Kizu).
570
571 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * text-coding.c (Qccs_priority_list): New variable in XEmacs
574         CHISE.
575         (Fmake_coding_system): Support new property `ccs-priority-list' in
576         XEmacs CHISE.
577         (Fcoding_system_property): Likewise.
578         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
579         Vdefault_coded_charset_priority_list in XEmacs CHISE.
580         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
581         XEmacs CHISE.
582         (complex_vars_of_file_coding): Define new coding-system-property
583         `ccs-priority-list' in XEmacs CHISE.
584
585         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
586
587 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
588
589         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
590         changed to normal function.
591         (encode_char_2): Likewise.
592
593         * mule-charset.c (decoding_table_put_char): Copied from
594         char-ucs.h; changed to normal function.
595         (encode_char_2): Likewise.
596
597 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
600         New extern.
601         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
602         (encode_char_2_search_children): New inline function.
603         (encode_char_2): Refer
604         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
605         and use `encode_char_2_search_children'.
606
607 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
608
609         * mule-charset.c
610         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
611         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
612         (vars_of_mule_charset): Add new variable
613         `display-coded-charset-priority-use-inheritance' and
614         `display-coded-charset-priority-use-hierarchy-order'.
615
616 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * char-ucs.h (Q_subsumptive): New extern.
619         (Q_denotational): Likewise.
620         (encode_char_2): Search children specified by `->subsumptive' and
621         `->denotational'.
622
623 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * mule-charset.c (complex_vars_of_mule_charset): Modify the
626         X-registry of `ucs-bmp'.
627
628 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * chartab.c (char-variants): Refer `->subsumptive',
631         `->denotational' and `->identical' as same as `->ucs-unified'.
632
633 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
634
635         * chartab.c (Fput_char_attribute): Convert char-specs in value of
636         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
637         links.
638
639 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
640
641         * text-coding.c: Add EXFUN for `Fregexp_quote'.
642         (decode_add_er_char): Fix problem about infinite loop when a CCS
643         specified in `coded-charset-entity-reference-alist' is not
644         existed.
645
646 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * mule-charset.c (syms_of_mule_charset): Rename
649         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
650
651 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
652
653         * fns.c (simplify_char_spec): Don't allocate new character-object
654         if specified char_spec does not have any CCS-features.
655
656         * chartab.h: Add EXFUN for Fdefine_char.
657
658         * chartab.c: Delete EXFUN for Fdefine_char.
659
660 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
661
662         * fns.c (simplify_char_spec): Use Fdefine_char instead of
663         Ffind_char for char-spec.
664
665 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
666
667         * lisp-disunion.h (XCHARVAL): Fix condition about
668         SIZEOF_EMACS_INT.
669
670 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
671
672         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
673         <int> for `code'.
674         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
675         point; use <Emchar> instead of <int> for character-id.
676
677 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
680         (make_char): Likewise.
681         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
682         environment.
683         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
684         instead of <int> as the type of return value; use <Lisp_Object>
685         instead of <Emchar> as the type of argument.
686         (XCHARVAL[macro version]): Cast the result into <Emchar>.
687
688         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
689         syntaxcode> instead of <int>.
690
691 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
692
693         * chartab.c (put_char_composition): Use DECODE_CHAR to get
694         character corresponding with UCS code point.
695         (Fput_char_attribute): Likewise.
696
697         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
698         character in the UCS decoding-table if the char-id is not equal to
699         the UCS code point.
700
701 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
704         for aliases; write `description'; write
705         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
706         not 0.
707
708 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * chartab.c (Fsave_char_attribute_table): Don't use
711         `save_charset_properties'.
712
713         * mule-charset.c (Fsave_charset_properties): Renamed from
714         `save_charset_properties' and changed to Lisp function again;
715         write property `type' as `CCS'; write properties `final-byte' and
716         `mother' if they exists.
717         (syms_of_mule_charset): Revive builtin function
718         `save-charset-properties' when HAVE_LIBCHISE is defined.
719
720 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
723         instead of Vexec_directory.
724         (char_attribute_system_db_file): Likewise.
725
726 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
727
728         * chartab.c (Fsave_char_attribute_table): Use
729         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
730         defined.
731
732         * mule-charset.c (save_charset_properties): Renamed from
733         `Fsave_charset_properties'; changed to non-Lisp function.
734         (syms_of_mule_charset): Abolish builtin function
735         `save-charset-properties'.
736
737 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * mule-charset.c (Fsave_charset_properties): New function when
740         HAVE_LIBCHISE is defined.
741         (syms_of_mule_charset): Add new builtin function
742         `save-charset-properties' when HAVE_LIBCHISE is defined.
743
744 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
745
746         * chartab.c (Fput_char_attribute): Convert char-specs in value of
747         `{<-|->}ancient[^*]*' to characters and put reverse links.
748         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
749         for `{<-|->}ancient[^*]*'.
750
751 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * chartab.c (Fput_char_attribute): Convert char-specs in value of
754         `{<-|->}original[^*]*' to characters and put reverse links.
755         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
756         for `{<-|->}original[^*]*'.
757
758 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
759
760         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
761
762 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
763
764         * mule-charset.c (Qsystem_char_id): New variable.
765
766         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
767         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
768
769 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * chartab.c (Fput_char_attribute): When processing a reference of
772         a character, put into the end of the reversed reference of each
773         target character.
774
775 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
776
777         * chartab.c (Q_same): Deleted.
778         (Q_same_of): Deleted.
779         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
780         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
781         for `{<-|->}same'.
782         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
783
784 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * chartab.c (Q_vulgar): Deleted.
787         (Q_vulgar_of): Deleted.
788         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
789         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
790         for `{<-|->}vulgar'.
791         (syms_of_chartab): Don't define `{<-|->}vulgar'.
792
793 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * chartab.c (Fput_char_attribute): Convert char-specs in value of
796         `{<-|->}wrong[^*]*' to characters and put reverse links.
797         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
798         for `{<-|->}wrong[^*]*'.
799
800 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
801
802         * chartab.c (Q_vulgar): New variable.
803         (Q_vulgar_of): New variable.
804         (Fput_char_attribute): Convert char-specs in value of
805         `{->|<-}vulgar' to characters and put reverse links.
806         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
807         for `{->|<-}vulgar'.
808         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
809
810 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * text-coding.c (decode_add_er_char): Must to quote prefix string
813         as regexp.
814
815 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * mule-charset.c (put_char_ccs_code_point): Store characters of
818         =ucs whose code_points >= 0xF0000.
819
820 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
821
822         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
823         CHISE.
824         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
825         CHISE.
826         (complex_vars_of_mule_charset): Add new coded-charset
827         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
828         builtin characters over 0xEFFFF.
829
830         * chartab.c (syms_of_chartab): Don't define symbol
831         `system-char-id' in every case.
832
833         * char-ucs.h (Qsystem_char_id): New extern variable.
834         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
835
836 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * text-coding.c (char_encode_utf8): Try to use entity-references
839         for U-000F0000 ...  U-0010FFFF.
840
841 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * text-coding.c (ER_BUF_SIZE): New macro.
844         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
845         `er_buf'.
846         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
847         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
848
849 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
850
851         * chartab.c (find_char_feature_in_family): New function.
852         (Fchar_feature): Use `find_char_feature_in_family' with
853         `->identical', `<-subsumptive' and `<-denotational'.
854
855 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * text-coding.c (char_encode_as_entity_reference): Allow prefix
858         within 8 characters; fix infinite loop.
859
860 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * chartab.c (Q_same): New variable.
863         (Q_same_of): New variable.
864         (Fput_char_attribute): Convert char-specs in value of
865         `{->|<-}same' to characters and put reverse links.
866         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
867         for `{->|<-}same'.
868         (syms_of_chartab): Add new symbols `{->|<-}same'.
869
870 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
871
872         * chartab.c (Q_component): New variable.
873         (Q_component_of): Likewise.
874         (Fput_char_attribute): Convert char-specs in value of
875         `{->|<-}ideographic-component-forms' to characters and put reverse
876         links.
877         (syms_of_chartab): Add new symbols
878         `{->|<-}ideographic-component-forms'.
879
880 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
881
882         * chartab.c (Q_identical): New variable.
883         (Q_identical_from): New variable.
884         (Fchar_feature): Regard `->identical' as a feature to find
885         ancestors.
886         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
887         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
888         for `{->|<-}identical'.
889         (syms_of_chartab): Add new symbols `{->|<-}identical'.
890
891 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * char-ucs.h (encode_char_2): New inline function.
894         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
895
896 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * chartab.c (Fput_char_attribute): Convert char-specs to
899         characters in value of `ideographic-structure'.
900         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
901         for `{<-|->}simplified(@...)'.
902         (Fdefine_char): Try to use predefined character's id.
903
904 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * fns.c (simplify_char_spec): Try to convert builtin chars to
907         defined chars.
908
909 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * chartab.c (Fput_char_attribute): Convert char-specs in value of
912         `<-simplified[^*]*' to characters and put reverse links.
913
914 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * chartab.c (Q_subsumptive): Renamed from Q_unified.
917         (Q_subsumptive_from): Renamed from Q_unified_from.
918         (Fchar_feature): Use `Q_subsumptive_from' instead of
919         `Q_unified_from'.
920         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
921         `Q_unified'.
922         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
923         `<-unified' to `<-subsumptive'.
924
925 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
926
927         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
928         inheritance itself; fix typo; stop recursive search if cyclic
929         inheritance is found.
930
931 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
932
933         * chartab.c (Q_denotational): New variable.
934         (Q_denotational_from): New variable.
935         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
936         (put_char_attribute): New function.
937         (Fput_char_attribute): Use `put_char_attribute'; regard
938         `->denotational' and `<-denotational' as same as `->unified' and
939         `<-unified'.
940         (syms_of_chartab): Add new symbols `->denotational' and
941         `<-denotational'.
942
943 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
944
945         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
946         `Fget_char_attribute'.
947         (Fchar_variants): Likewise.
948         (get_char_table): Likewise.
949         (Fchar_feature): New function.
950         (put_char_composition): Use `Fchar_feature' instead of
951         `Fget_char_attribute'.
952         (Fput_char_attribute): Likewise; don't put the target character
953         into its `->unified' value.
954         (syms_of_chartab): Add new builtin function `char-feature'.
955
956 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
957
958         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
959         `Fget_char_attribute'.
960         (char_encode_utf8): Likewise.
961
962         * chartab.h: Add an EXFUN for `Fchar_feature'.
963
964 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
965
966         * chartab.c (Vnext_defined_char_id): New variable.
967         (Fput_char_attribute): Accept characters in `->unified'.
968         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
969         new characters which are not related with builtin char-id ranges.
970         (vars_of_chartab): Add new variable `next-defined-char-id'.
971
972 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
973
974         * chartab.c (Q_unified): New variable.
975         (Q_unified_from): New variable.
976         (Fput_char_attribute): Add code for `->unified'.
977         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
978         XEmacs CHISE.
979
980 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
981
982         * mule-charset.c (decode_ccs_conversion): New function.
983         (decode_defined_char): Use `decode_ccs_conversion'.
984         (decode_builtin_char): Likewise.
985
986 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * char-ucs.h: Change some charset-ids of private coded-charsets.
989
990 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
993         (char_encode_as_entity_reference): Likewise.
994         (decode_coding_big5): Modify for `decode_defined_char' and
995         `DECODE_CHAR'.
996         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
997         avoid compiler warning.
998         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
999
1000         * mule-charset.c (decode_defined_char): Add new argument
1001         `without_inheritance'.
1002         (Fdecode_char): Add new optional argument `without_inheritance'.
1003         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1004
1005         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1006         (simplify_char_spec): Likewise.
1007
1008         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1009         setting.
1010
1011         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1012         (map_char_table): Likewise.
1013         (Fdefine_char): Use `Fdecode_char' without inheritance.
1014         (Ffind_char): Modify for `Fdecode_char'.
1015
1016         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1017
1018         * char-ucs.h (decode_defined_char): Add new argument
1019         `without_inheritance'.
1020         (DECODE_CHAR): Likewise.
1021         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1022
1023 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1024
1025         * chartab.c (Vchise_system_db_directory): New variable.
1026         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1027
1028 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1031         (print_chartab_range): Don't define when `UTF2000' is defined.
1032         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1033         `CHISE_DS_open'.
1034
1035 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1036
1037         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1038         and optional argument `rehash' is specified, call
1039         `open_chise_data_source_maybe' before
1040         `chise_ds_foreach_char_feature_name' is called.
1041
1042 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1043
1044         * chartab.c (char_attribute_list_reset_map_func): New function
1045         when HAVE_LIBCHISE is defined.
1046         (Fchar_attribute_list): Add new optional argument `rehash' when
1047         HAVE_LIBCHISE is defined.
1048         (open_chise_data_source_maybe): Use "chise-db" instead of
1049         "char-db".
1050         (char_attribute_system_db_file): Likewise.
1051         (Fload_char_attribute_table): Use
1052         `chise_feature_foreach_char_with_value' instead of
1053         `chise_char_feature_value_iterate'.
1054
1055 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1056
1057         * chartab.c (Vchise_db_directory): New variable.
1058         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1059
1060 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1061
1062         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1063         instead of HAVE_CHISE to specify using with libchise.
1064
1065         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1066
1067         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1068
1069         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1070         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1071         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1072         is defined.
1073         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1074         HAVE_CHISE to specify using with libchise.
1075         (syms_of_chartab): Don't define symbol `system-char-id' when
1076         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1077
1078 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1079
1080         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1081         specify CHISE DB support.
1082         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1083         of `char_attribute_system_db_file' to check feature DB file.
1084
1085         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1086         HAVE_CHISE_CLIENT to specify CHISE DB support.
1087
1088         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1089         specify CHISE DB support.
1090         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1091         not defined.
1092         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1093         instead of `char_attribute_system_db_file' to check feature DB
1094         file.
1095
1096 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1097
1098         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1099         `HAVE_CHISE_CLIENT'.
1100
1101 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1102
1103         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1104         (Fsave_charset_mapping_table): Don't use
1105         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1106
1107         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1108         (HAVE_LIBCHISE): New macro.
1109
1110         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1111
1112         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1113         (Fsave_char_attribute_table): Don't use
1114         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1115
1116 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1119         defined.
1120         (save_uint16_byte_table): Likewise.
1121         (save_byte_table): Likewise.
1122         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1123         instead of `chise_char_load_feature_value'.
1124         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1125
1126 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * chartab.h (struct Lisp_Char_Table): Delete member
1129         `feature_table' if CHISE is defined.
1130
1131         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1132         (Fcopy_char_table): Likewise.
1133         (char_table_open_db_maybe): Likewise.
1134         (char_table_close_db_maybe): Likewise.
1135         (char_table_get_db): Likewise.
1136         (Fmount_char_attribute_table): Likewise.
1137         (Fload_char_attribute_table): Likewise.
1138
1139 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1140
1141         * mule-charset.c (load_char_decoding_entry_maybe): Use
1142         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1143         `chise_ccs_decode'.
1144
1145 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1146
1147         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1148         instead of `chise_open_data_source'.
1149         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1150         `chise_ds_close'.
1151
1152 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1153
1154         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1155         instead of `chise_ds_open_feature_table'.
1156         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1157
1158 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1159
1160         * mule-charset.c (Fsave_charset_mapping_table): Use
1161         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1162         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1163         `chise_ccs_sync' instead of `chise_ccst_close'.
1164         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1165
1166         * chartab.c (open_chise_data_source_maybe): Modify for
1167         `chise_open_data_source'.
1168         (char_table_open_db_maybe): Modify for
1169         `chise_ds_open_feature_table'.
1170
1171 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1172
1173         * mule-charset.c (load_char_decoding_entry_maybe): Use
1174         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1175         `chise_ccst_close'.
1176
1177 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1178
1179         * mule-charset.c (Fsave_charset_mapping_table): Use
1180         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1181         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1182         `chise_dt_put_char' and `chise_dt_close'.
1183         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1184         `chise_ccs_decode' and `chise_ccst_close' instead of
1185         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1186         `chise_dt_close'.
1187
1188         * chartab.c (char_table_get_db): Use
1189         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1190         (load_char_attribute_table_map_func): Modify for
1191         `chise_char_feature_value_iterate'.
1192         (Fload_char_attribute_table): Use
1193         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1194
1195 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1198
1199 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * chartab.c (put_char_table): Modify for inherited coded-charsets
1202         in XEmacs CHISE.
1203
1204 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1205
1206         * chartab.c (Fput_char_table_map_function): Fixed.
1207         (word_boundary_p): Don't check charset in XEmacs CHISE.
1208
1209 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1210
1211         * mule-charset.c (Fsave_charset_mapping_table): Use
1212         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1213         instead of `chise_open_decoding_table'; refer
1214         `default_chise_data_source'; use `chise_dt_close' instead of
1215         `chise_close_decoding_table'.
1216         (load_char_decoding_entry_maybe): Likewise.
1217
1218         * chartab.c (default_chise_data_source): New variable when `CHISE'
1219         is defined.
1220         (Fcopy_char_table): `ct->ds' is deleted.
1221         (open_chise_data_source_maybe): New function.
1222         (Fclose_char_data_source): New function.
1223         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1224         use `chise_ds_open_feature_table' instead of
1225         `chise_open_feature_table'.
1226         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1227         `chise_close_feature_table'; `cit->ds' is deleted.
1228         (syms_of_chartab): Add new builtin function
1229         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1230
1231         * chartab.h (default_chise_data_source): New extern variable.
1232         (open_chise_data_source_maybe): New prototype.
1233         (struct Lisp_Char_Table): Delete `ds'.
1234
1235 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1238         `CHISE' is defined.
1239
1240 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1241
1242         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1243         not defined; add code for non-libchise setting.
1244         (char_table_close_db_maybe): Likewise.
1245         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1246         defined.
1247         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1248         even if `CHISE' is not defined.
1249         (Freset_char_attribute_table): Likewise.
1250         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1251         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1252         `char_table_get_db'.
1253         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1254         `char_table_close_db_maybe' even if `CHISE' is not defined.
1255
1256 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1257
1258         * chartab.c (char_table_open_db_maybe): New function.
1259         (char_table_close_db_maybe): New function.
1260         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1261         (Freset_char_attribute_table): Likewise.
1262         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1263         `char_table_close_db_maybe'.
1264         (Fload_char_attribute_table): Likewise.
1265
1266 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1267
1268         * chartab.c: Don't include <chise.h> because it is included in
1269         chartab.h.
1270         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1271         defined.
1272         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1273         `CHISE' is defined.
1274         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1275         `CHISE' is defined.
1276         (Fclose_char_attribute_table): Close `ct->feature_table' and
1277         `ct->ds' when `CHISE' is defined.
1278         (Freset_char_attribute_table): Likewise.
1279         (load_char_attribute_maybe): Use `cit->ds' and
1280         `cit->feature_table' when `CHISE' is defined.
1281         (Fload_char_attribute_table): Likewise.
1282
1283         * chartab.h: Include <chise.h> when `CHISE' is defined.
1284         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1285         when `CHISE' is defined.
1286
1287 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1288
1289         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1290         is defined.
1291         (char_table_description): Likewise.
1292         (Fmake_char_table): Likewise.
1293         (Fcopy_char_table): Likewise.
1294         (Fmount_char_attribute_table): Likewise.
1295         (Fclose_char_attribute_table): Likewise.
1296         (Freset_char_attribute_table): Likewise.
1297         (load_char_attribute_maybe): Likewise.
1298         (Fload_char_attribute_table): Likewise.
1299
1300         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1301         defined.
1302
1303 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1304
1305         * chartab.c (load_char_attribute_table_map_func): New function
1306         when CHISE is defined.
1307         (Qload_char_attribute_table_map_function): Don't define when CHISE
1308         is defined.
1309         (Fload_char_attribute_table_map_function): Likewise.
1310         (Fload_char_attribute_table): Use libchise when `CHISE' is
1311         defined.
1312         (syms_of_chartab): Don't define
1313         `load-char-attribute-table-map-function' when CHISE is defined.
1314
1315 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1316
1317         * chartab.c: Include <chise.h> when `CHISE' is defined.
1318         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1319
1320 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * mule-charset.c (charset_code_point): Fix problem when searching
1323         in mother CCS fails with `defined_only' mode.
1324
1325 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1326
1327         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1328         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1329         (put_char_composition): Likewise.
1330         (Fput_char_attribute): Likewise.
1331         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1332
1333 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1334
1335         * chartab.c (Q_ucs): Deleted.
1336         (Fput_char_attribute): Don't refer `->ucs'.
1337         (Fdefine_char): Likewise.
1338         (Ffind_char): Likewise.
1339         (syms_of_chartab): Delete `->ucs'.
1340
1341 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1342
1343         * mule-charset.c (Qmap_cns11643_2): Renamed from
1344         `Qchinese_cns11643_2'.
1345         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1346         `chinese-cns11643-2'.
1347         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1348         `=cns11643-2'.
1349
1350 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1351
1352         * mule-charset.c (Qmap_cns11643_1): Renamed from
1353         `Qchinese_cns11643_1'.
1354         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1355         `chinese-cns11643-1'.
1356         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1357         `=cns11643-1'.
1358
1359 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1360
1361         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1362         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1363         `chinese-gb12345'.
1364         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1365         `=gb12345'.
1366
1367 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1368
1369         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1370         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1371         `chinese-gb2312'.
1372         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1373         `=gb2312'.
1374
1375 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1376
1377         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1378         (syms_of_mule_charset): Add new symbol `=big5' instead of
1379         `chinese-big5'.
1380         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1381
1382 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1383
1384         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1385         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1386         `korean-ksc5601'.
1387         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1388         `=ks-x1001'.
1389
1390 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1391
1392         * mule-charset.c (Qmap_jis_x0212): Renamed from
1393         `Qjapanese_jisx0212'.
1394         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1395         `japanese-jisx0212'.
1396         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1397         `=jis-x0212'.
1398
1399 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1400
1401         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1402         `Qjapanese_jisx0208'.
1403         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1404         of `japanese-jisx0208'.
1405         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1406         `=jis-x0208-1983'.
1407
1408 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1409
1410         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1411         `Qjapanese_jisx0208_1978'.
1412         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1413         of `japanese-jisx0208-1978'.
1414         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1415         `=jis-x0208-1978'.
1416
1417 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1418
1419         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1420         only for XEmacs CHISE.
1421
1422 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * char-ucs.h: Compact non-ISO-IR charset-ids.
1425         (LEADING_BYTE_UCS): Changed to -177.
1426         (LEADING_BYTE_CONTROL_1): Changed to -77.
1427         (LEADING_BYTE_UCS_BMP): Changed to -176.
1428         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1429
1430 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1431
1432         * mule-charset.c (Qiso_ir): New variable.
1433         (Fmake_charset): Recognise new property `iso-ir'.
1434         (syms_of_mule_charset): Add new symbol `iso-ir'.
1435
1436 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1437
1438         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1439         n to -n; charset-id of non ISO-IR sets are changed to positive
1440         numbers.
1441
1442 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1443
1444         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1445         for &MCS-XXXXXXXX; values.
1446
1447 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1448
1449         * mule.c (Vxemacs_chise_version): Renamed from
1450         `Vutf_2000_version'.
1451         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1452         `utf-2000-version' as an alias for `xemacs-chise-version'.
1453
1454 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1455
1456         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1457         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1458         defined.
1459
1460         * config.h.in (CHISE): New macro.
1461
1462 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1463
1464         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1465         of `ucs'.
1466         (Qmap_ucs): New variable.
1467         (syms_of_mule_charset): Add new symbol `=ucs'.
1468         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1469
1470         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1471         (simplify_char_spec): Likewise.
1472
1473         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1474
1475         * char-ucs.h (Qmap_ucs): New extern variable.
1476
1477 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1478
1479         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1480         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1481         don't define it when UTF2000 is not defined.
1482         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1483         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1484         when UTF2000 is not defined.
1485         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1486         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1487
1488 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1491
1492         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1493         (Qucs_gb): Deleted.
1494         (syms_of_mule_charset): Delete `ucs-gb'.
1495         (complex_vars_of_mule_charset): Likewise.
1496
1497 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1498
1499         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1500
1501         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1502         (Qucs_cns): Deleted.
1503         (syms_of_mule_charset): Delete `ucs-cns'.
1504         (complex_vars_of_mule_charset): Likewise.
1505
1506 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1507
1508         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1509
1510         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1511         (Qucs_jis): Deleted.
1512         (syms_of_mule_charset): Delete `ucs-jis'.
1513         (complex_vars_of_mule_charset): Likewise.
1514
1515 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1516
1517         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1518
1519         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1520         (Qucs_ks): Deleted.
1521         (syms_of_mule_charset): Delete `ucs-ks'.
1522         (complex_vars_of_mule_charset): Likewise.
1523
1524 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1525
1526         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1527         (Qideograph_daikanwa_2): Deleted.
1528         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1529         (complex_vars_of_mule_charset): Likewise.
1530
1531         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1532         (LEADING_BYTE_DAIKANWA_1): Deleted.
1533         (LEADING_BYTE_DAIKANWA_2): Deleted.
1534         (MIN_CHAR_DAIKANWA): Deleted.
1535         (MAX_CHAR_DAIKANWA): Deleted.
1536
1537 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1538
1539         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1540         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1541         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1542
1543         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1544         (Vcharset_ideograph_daikanwa): Deleted.
1545         (Qideograph_hanziku_{1..12}): Deleted.
1546         (Qideograph_daikanwa): Deleted.
1547         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1548         Vcharset_ideograph_daikanwa.
1549         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1550         `ideograph-hanziku-{1..12}'.
1551         (complex_vars_of_mule_charset): Likewise.
1552
1553 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1554
1555         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1556
1557         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1558         (Qideograph_gt_pj_{1..11}): Deleted.
1559         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1560         (complex_vars_of_mule_charset): Likewise.
1561
1562 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1563
1564         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1565         (Vcharset_ideograph_gt): Deleted.
1566         (Qucs_big5): Deleted.
1567         (Qideograph_gt): Deleted.
1568         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1569         `ideograph-gt'.
1570         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1571         and `ideograph-gt'.
1572
1573         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1574         (LEADING_BYTE_GT): Deleted.
1575         (MIN_CHAR_GT): Deleted.
1576         (MAX_CHAR_GT): Deleted.
1577
1578 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1579
1580         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1581
1582 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1583
1584         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1585         (save_uint16_byte_table): Likewise.
1586         (save_byte_table): Likewise; convert values by it.
1587         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1588         for `ideographic-structure'.
1589         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1590         as the filter for `ideographic-structure'.
1591
1592 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1593
1594         * chartab.c (put_char_composition): New function.
1595         (Fput_char_attribute): Use `put_char_composition'; use
1596         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1597
1598         * fns.c (simplify_char_spec): New function.
1599         (char_ref_simplify_spec): New function.
1600         (Fchar_refs_simplify_char_specs): New function.
1601         (syms_of_fns): Add new builtin function
1602         `char-refs-simplify-char-specs'.
1603
1604 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1605
1606         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1607         (Qideograph_cbeta): Deleted.
1608         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1609         (complex_vars_of_mule_charset): Likewise.
1610
1611         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1612         (MIN_CHAR_CBETA): Comment out.
1613         (MAX_CHAR_CBETA): Likewise.
1614
1615 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1616
1617         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1618         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1619         CHISE client feature.
1620
1621 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1622
1623         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1624
1625 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1626
1627         * mule-charset.c (charset_lookup_description_1): Use
1628         `NUM_LEADING_BYTES' in UTF-2000.
1629
1630 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1631
1632         * char-ucs.h (GC_CHARSETP): Deleted.
1633
1634 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1635
1636         * char-ucs.h (MAX_CHAR_GT): Updated.
1637
1638 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1639
1640         * text-coding.c: Sync with XEmacs 21.4.10.
1641
1642 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * mule-charset.c (Vcharset_china3_jef): Deleted.
1645         (Qchina3_jef): Deleted.
1646         (syms_of_mule_charset): Don't define `china3-jef'.
1647         (complex_vars_of_mule_charset): Likewise.
1648
1649         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1650         (MIN_CHAR_CHINA3_JEF): Comment out.
1651         (MAX_CHAR_CHINA3_JEF): Comment out.
1652
1653 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1654
1655         * mule-charset.c (Vcharset_ucs_gb): New variable.
1656         (Qucs_gb): New variable.
1657         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1658         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1659
1660         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1661
1662 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * mule-charset.c (charset_code_point): if a coded-charset has a
1665         final-byte, don't inherit the builtin range of the mother CCS.
1666
1667 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1668
1669         * mule-charset.c (charset_code_point): Fix problem about
1670         inheritance.
1671
1672 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1673
1674         * mule-charset.c (decode_builtin_char): Reorganized.
1675
1676 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * text-coding.c (char_encode_as_entity_reference): Modify for
1679         `charset_code_point'.
1680         (char_encode_shift_jis): Likewise.
1681         (char_encode_big5): Likewise.
1682         (char_encode_utf8): Likewise.
1683         (char_encode_iso2022): Likewise.
1684
1685         * mule-charset.c (charset_code_point): Add new argument
1686         `defined_only'.
1687         (Fencode_char): Add new optional argument `defined_only'.
1688
1689         * chartab.c (put_char_table): Modify for `charset_code_point'.
1690
1691         * char-ucs.h (charset_code_point): Add new argument
1692         `defined_only'.
1693         (encode_char_1): Modify for `charset_code_point'.
1694
1695 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1698         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1699
1700 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1701
1702         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1703         (Qjis_x0208): Likewise.
1704         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1705         XCHARSET_FINAL(charset).
1706         (charset_code_point): Modify condition for final-byte based
1707         builtin-chars.
1708         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1709         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1710         in UTF-2000; specify `=jis-x0208' as the mother of
1711         `japanese-jisx0208-1978', `japanese-jisx0208' and
1712         `japanese-jisx0208-1990' in UTF-2000.
1713
1714 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1715
1716         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1717
1718 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1719
1720         * text-coding.c (decode_coding_utf16): Support UTF-16.
1721         (char_encode_utf16): Fixed.
1722
1723 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1724
1725         * text-coding.c (Qutf16): New variable in MULE.
1726         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1727         (Fcoding_system_type): Add `utf-16' in MULE.
1728         (struct detection_state): Add a structure for utf16 in MULE.
1729         (detect_coding_type): Setup st->utf16.mask in MULE.
1730         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1731         MULE.
1732         (reset_encoding_stream): Use `char_encode_utf16' and
1733         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1734         (detect_coding_utf16): New function [incomplete].
1735         (decode_coding_utf16): New function [support only UCS-2].
1736         (char_encode_utf16): New function.
1737         (char_finish_utf16): New function.
1738         (syms_of_file_coding): Add new symbol `utf-16'; setup
1739         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1740
1741         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1742         UTF-2000.
1743         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1744         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1745
1746 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1747
1748         * chartab.c (put_char_table): When a charset is specified as a
1749         range in UTF-2000, don't support builtin characters.
1750
1751 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1752
1753         * mule-charset.c (decode_defined_char): Don't refer external
1754         database if Qunbound or Qnil are found.
1755         (Fsave_charset_mapping_table): Don't define it if
1756         HAVE_CHISE_CLIENT is not defined.
1757         (Freset_charset_mapping_table): New function.
1758         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1759         found in external database.
1760         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1761         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1762         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1763
1764 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1765
1766         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1767         not.
1768
1769 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1770
1771         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1772         Q_lowercase, Q_uppercase in UTF-2000.
1773
1774         * chartab.c (get_char_table): Add special code for the standard
1775         case table to use character attribute `->downcase' and
1776         `->uppercase' for case operations in UTF-2000.
1777
1778         * casetab.c (Qflippedcase): New variable in UTF-2000.
1779         (Q_lowercase): Likewise.
1780         (Q_uppercase): Likewise.
1781         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1782         and `->uppercase' in UTF-2000.
1783         (complex_vars_of_casetab): Assign attribute name `downcase' to
1784         downcase and CANON table of Vstandard_case_table in UTF-2000;
1785         assign attribute name `flippedcase' to upcase and EQV table of
1786         Vstandard_case_table in UTF-2000.
1787
1788 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * text-coding.c (decode_add_er_char): Support isolated-chars.
1791         (char_encode_as_entity_reference): Likewise.
1792
1793 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1794
1795         * emacs.c (Vutf_2000_lisp_directory): New variable.
1796         (Vconfigure_utf_2000_lisp_directory): Likewise.
1797         (complex_vars_of_emacs): Add new variable
1798         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1799
1800 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1801
1802         * char-ucs.h (DECODE_CHAR): Delete special code for
1803         `chinese-big5-1' and `chinese-big5-2'.
1804
1805         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1806         (Qbig5_2): Likewise.
1807         (decode_defined_char): Support CONVERSION_BIG5_1 and
1808         CONVERSION_BIG5_2.
1809         (decode_builtin_char): Likewise.
1810         (charset_code_point): Likewise.
1811         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1812         'conversion in UTF-2000.
1813         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1814         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1815         `chinese-big5-2' as children of `chinese-big5'.
1816
1817         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1818         (CONVERSION_BIG5_2): New macro.
1819
1820 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1821
1822         * text-coding.c (char_encode_big5): Support entity-reference.
1823
1824 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1825
1826         * text-coding.c (char_encode_as_entity_reference): New function.
1827         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1828
1829 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1830
1831         * text-coding.c (decode_coding_big5): Support entity-reference
1832         decoding feature.
1833
1834 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * text-coding.c (allocate_coding_system): Initialize initial
1837         charsets for CODESYS_UTF8.
1838         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1839         charset-g2 for CODESYS_UTF8.
1840         (decode_coding_utf8): Use charset-g0.
1841         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1842         to force variants to map to UCS.
1843
1844 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1845
1846         * text-coding.c (Qutf_8_mcs): New variable.
1847         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1848         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1849         instead of `utf-8' in UTF-2000.
1850
1851 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1852
1853         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1854         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1855         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1856         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1857         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1858         CONVERSION_96x96x96x96 are introduced.
1859         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1860         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1861         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1862
1863         * char-ucs.h (CONVERSION_94): New macro.
1864         (CONVERSION_96): New macro.
1865         (CONVERSION_94x94): New macro.
1866         (CONVERSION_96x96): New macro.
1867         (CONVERSION_94x94x94): New macro.
1868         (CONVERSION_96x96x96): New macro.
1869         (CONVERSION_94x94x94x60): New macro.
1870         (CONVERSION_94x94x94x94): New macro.
1871         (CONVERSION_96x96x96x96): New macro.
1872
1873 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1874
1875         * chartab.c (Vcharacter_variant_table): Deleted.
1876         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1877         of `Vcharacter_variant_table'.
1878         (Fput_char_attribute): Likewise.
1879         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1880         (complex_vars_of_chartab): Likewise.
1881
1882 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1883
1884         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1885
1886         * fns.c (Qideographic_structure): New variable.
1887         (Qkeyword_char): New variable.
1888         (ids_format_unit): New function.
1889         (Fideographic_structure_to_ids): New function.
1890         (syms_of_fns): Add new symbols `ideographic-structure' and
1891         `:char'; add new builtin function `ideographic-structure-to-ids'.
1892
1893         * data.c (Fchar_ref_p): New function.
1894         (syms_of_data): Add new builtin function `char-ref-p'.
1895
1896         * chartab.h: Add an EXFUN for `Ffind_char'.
1897
1898 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1899
1900         * text-coding.c (Vcharacter_composition_table): Deleted.
1901         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1902         in every UTF-2000.
1903
1904         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1905         UTF-2000.
1906         (Vcharacter_composition_table): Deleted.
1907         (Fget_composite_char): Use the implementation for external-DB
1908         support in every UTF-2000.
1909         (Fput_char_attribute): Likewise.
1910         (char_attribute_system_db_file): Don't define if external-DB
1911         feature is not available.
1912         (Fsave_char_attribute_table): Likewise.
1913         (Fmount_char_attribute_table): Likewise.
1914         (Fclose_char_attribute_table): Likewise.
1915         (Freset_char_attribute_table): Likewise.
1916         (Fload_char_attribute_table): Likewise.
1917         (syms_of_chartab): Don't define `save-char-attribute-table',
1918         `mount-char-attribute-table', `reset-char-attribute-table',
1919         `close-char-attribute-table' and `load-char-attribute-table' if
1920         external-DB feature is not available.
1921         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1922
1923 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1924
1925         * text-coding.c (Qcomposition): Add extern if external-DB feature
1926         is supported.
1927         (Vcharacter_composition_table): Don't add extern if external-DB
1928         feature is supported.
1929         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1930         character composition rule if external-DB feature is supported.
1931
1932         * chartab.c (Vcharacter_composition_table): Don't define if
1933         external-DB feature is supported.
1934         (Qcomposition): New variable.
1935         (Fget_composite_char): New implementation for external-DB support.
1936         (Fput_char_attribute): Use `composition' property of each
1937         character instead of `Vcharacter_composition_table' to store
1938         character-composition rules if external-DB feature is supported.
1939         (syms_of_chartab): Add new symbol `composition'.
1940         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1941         external-DB feature is supported.
1942
1943 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1944
1945         * chartab.c (Vchar_db_stingy_mode): New variable.
1946         (load_char_attribute_maybe): Close database if
1947         Vchar_db_stingy_mode is not NIL.
1948         (Fload_char_attribute_table_map_function): Use
1949         `get_char_id_table_0' instead of `get_char_id_table'.
1950         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1951
1952         * chartab.h (get_char_id_table_0): New inline function.
1953         (get_char_id_table): Use `get_char_id_table_0'.
1954
1955 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1956
1957         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1958         and `COMPOSE_ADD_CHAR'.
1959         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1960
1961 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1962
1963         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1964         instead of `DECODE_ADD_UCS_CHAR'.
1965         (COMPOSE_ADD_CHAR): Likewise.
1966
1967 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1968
1969         * text-coding.c (decode_flush_er_chars): New inline function.
1970         (decode_add_er_char): New function.
1971         (decode_coding_utf8): Use `decode_flush_er_chars' and
1972         `decode_add_er_char'.
1973
1974 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1975
1976         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1977         done before `decode_output_utf8_partial_char'.
1978
1979         * mule-charset.c (complex_vars_of_mule_charset): Specify
1980         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1981         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1982
1983 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1984
1985         * mule-charset.c (decode_defined_char): New function; search
1986         mother.
1987         (decode_builtin_char): Don't search mother if
1988         XCHARSET_MAX_CODE(charset) == 0.
1989         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1990         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1991         (Fdecode_char): Use `decode_defined_char' instead of
1992         `DECODE_DEFINED_CHAR'.
1993         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1994         mother of `Vcharset_ucs_jis'.
1995
1996         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1997         instead of `DECODE_DEFINED_CHAR'.
1998
1999         * char-ucs.h (decode_defined_char): Renamed from
2000         `DECODE_DEFINED_CHAR'; changed to normal function.
2001         (DECODE_CHAR): Use `decode_defined_char' instead of
2002         `DECODE_DEFINED_CHAR'.
2003
2004         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2005
2006 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2007
2008         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2009
2010         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2011         variable.
2012         (Quse_entity_reference): New variable.
2013         (Qd): New variable.
2014         (Qx): New variable.
2015         (QX): New variable.
2016         (coding_system_description): Add description for
2017         `ccs_priority_list'.
2018         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2019         (allocate_coding_system): Initialize `ccs_priority_list' in
2020         UTF-2000.
2021         (Fmake_coding_system): Add description about
2022         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2023         (codesys).
2024         (Fcoding_system_property): Accept `disable-composition' and
2025         `use-entity-reference' in UTF-2000.
2026         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2027         in UTF-2000.
2028         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2029         (decode_coding_utf8): Decode entity-reference if
2030         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2031         (char_encode_utf8): Encode non-Unicode characters as
2032         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2033         (str->codesys).
2034         (syms_of_file_coding): Add new symbols `use-entity-reference',
2035         `d', `x', `X'.
2036         (vars_of_file_coding): Add new variable
2037         `coded-charset-entity-reference-alist'.
2038         (complex_vars_of_file_coding): Declare `disable-composition' and
2039         `use-entity-reference' to be coding-system-properties in UTF-2000.
2040
2041         * file-coding.h (struct Lisp_Coding_System): Add new member
2042         `use_entity_reference' and `ccs_priority_list'.
2043         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2044         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2045         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2046
2047 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2048
2049         * chartab.c (save_uint8_byte_table): Don't clear the table.
2050         (save_uint16_byte_table): Likewise.
2051         (save_byte_table): Likewise.
2052         (Fmount_char_attribute_table): New function.
2053         (syms_of_chartab): Add new builtin function
2054         `mount-char-attribute-table'.
2055
2056 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2057
2058         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2059         "w+" mode.
2060         (load_char_decoding_entry_maybe): Open database as read-only mode.
2061
2062         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2063         open database as "w+" mode.
2064         (load_char_attribute_maybe): Open database as read-only mode.
2065         (Fload_char_attribute_table): Likewise.
2066
2067 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2068
2069         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2070         (char_table_description): Delete member `db_file'.
2071         (Fmake_char_table): Don't refer `ct->db_file'.
2072         (Fcopy_char_table): Likewise.
2073         (Fsave_char_attribute_table): Likewise.
2074         (Fclose_char_attribute_table): Likewise.
2075         (Freset_char_attribute_table): Likewise.
2076         (load_char_attribute_maybe): Likewise.
2077         (Fload_char_attribute_table): Likewise.
2078
2079         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2080
2081 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2082
2083         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2084         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2085         `ct->db' is living.
2086         (load_char_attribute_maybe): Likewise.
2087         (Fload_char_attribute_table): Likewise.
2088
2089 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2090
2091         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2092         `ct->db_file' unconditionally.
2093
2094 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2095
2096         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2097         UTF-2000.
2098         (char_table_description): Add description for `db_file' and `db'
2099         in UTF-2000.
2100         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2101         UTF-2000.
2102         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2103         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2104         (Fclose_char_attribute_table): New function.
2105         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2106         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2107         and `cit->db'.
2108         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2109         (syms_of_chartab): Add new builtin function
2110         `Fclose_char_attribute_table'.
2111
2112 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2113
2114         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2115         `db' in UTF-2000.
2116         (load_char_attribute_maybe): Change interface.
2117         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2118
2119 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2120
2121         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2122
2123 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2124
2125         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2126         instead of `DECODE_CHAR' for mother; don't use special code for
2127         chinese-big5 to use code space of chinese-big5-1 and
2128         chinese-big5-2.
2129         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2130         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2131
2132         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2133         (MAX_CHAR_BIG5_CDP): Revival.
2134
2135 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2136
2137         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2138         the XLFD registry-encoding name of `chinese-big5'.
2139
2140 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2141
2142         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2143         (Qchinese_big5_cdp): Deleted.
2144         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2145         (complex_vars_of_mule_charset): Delete coded-charset
2146         `chinese-big5-cdp'.
2147
2148         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2149         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2150         `CHARSET_ID_OFFSET - n' for private CCS.
2151         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2152         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2153         of `MIN_LEADING_BYTE'.
2154         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2155         `(CHARSET_ID_OFFSET - 97)'.
2156         (MIN_CHAR_BIG5_CDP): Deleted.
2157         (MAX_CHAR_BIG5_CDP): Deleted.
2158
2159 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2160
2161         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2162
2163 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2164
2165         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2166         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2167         chartab.c].
2168
2169         * chartab.c (Vutf_2000_version): Moved to mule.c.
2170         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2171
2172 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2173
2174         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2175         when HAVE_CHISE_CLIENT is not defined.
2176
2177         * mule.c (vars_of_mule): Provide feature `chise' when
2178         HAVE_CHISE_CLIENT is defined.
2179
2180 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2181
2182         * config.h.in (UTF2000): Add comment.
2183         (HAVE_CHISE_CLIENT): New macro.
2184
2185 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2186
2187         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2188         CONSP.
2189         (Fput_char_attribute): Likewise.
2190         (char_attribute_system_db_file): Encode file-name of attribute.
2191         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2192         the initial value.
2193
2194 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2195
2196         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2197         (Fsave_charset_mapping_table): Use
2198         `char_attribute_system_db_file'.
2199         (load_char_decoding_entry_maybe): Likewise.
2200
2201         * chartab.h (Qsystem_char_id): New external variable.
2202         (char_attribute_system_db_file): New prototype.
2203
2204         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2205         (char_attribute_system_db_file): New function.
2206         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2207         (Freset_char_attribute_table): Likewise.
2208         (load_char_attribute_maybe): Likewise.
2209         (Fload_char_attribute_table): Likewise.
2210         (syms_of_chartab): Add new symbol `system-char-id'.
2211
2212 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2213
2214         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2215         `XCHARSET_GRAPHIC(ccs)'.
2216
2217 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2218
2219         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2220
2221 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2222
2223         * chartab.c (Q_ucs_variants): New variable.
2224         (syms_of_chartab): Add new symbol `->ucs-variants'.
2225         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2226         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2227         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2228
2229         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2230
2231         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2232         `HAVE_DATABASE' is defined.
2233         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2234         `HAVE_DATABASE' is defined.
2235
2236 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2237
2238         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2239         attribute-table.
2240         (Freset_char_attribute_table): New function.
2241         (syms_of_chartab): Add new builtin function
2242         `reset-char-attribute-table'.
2243
2244 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2245
2246         * chartab.c (load_char_attribute_maybe): Don't make directories.
2247
2248 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2249
2250         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2251
2252         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2253         for decoding-table.
2254
2255 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2256
2257         * mule-charset.c (Fsave_charset_mapping_table): Use
2258         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2259
2260         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2261         instead of `XCHARSET_CHARS'.
2262
2263 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2264
2265         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2266         (XCHARSET_BYTE_SIZE): Likewise.
2267
2268         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2269         mule-charset.c].
2270         (XCHARSET_BYTE_SIZE): Likewise.
2271
2272 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2273
2274         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2275         data-directory to store database.
2276         (Fsave_char_attribute_table): Likewise.
2277         (load_char_attribute_maybe): Likewise.
2278         (Fload_char_attribute_table): Likewise.
2279
2280 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2281
2282         * mule-charset.c (Fsave_charset_mapping_table): New function.
2283         (syms_of_mule_charset): Add new builtin function
2284         `save-charset-mapping-table'.
2285
2286 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2287
2288         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2289         (get_ccs_octet_table): New inline function.
2290         (put_ccs_octet_table): Likewise.
2291         (decoding_table_put_char): Use `get_ccs_octet_table' and
2292         `put_ccs_octet_table'.
2293         (decoding_table_remove_char): Use `decoding_table_put_char'.
2294         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2295
2296         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2297         into encoding_table.
2298         (make_charset): Use Qunbound instead Qnil as initial value of
2299         decoding_table.
2300
2301 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2302
2303         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2304         element is Qunloaded.
2305         (map_over_uint16_byte_table): Likewise.
2306         (map_over_byte_table): Likewise.
2307         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2308         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2309         database support, load encoding-table of the specified
2310         coded-charset if it is not loaded yet.
2311         (save_uint8_byte_table): New function of UTF-2000 with external
2312         database support.
2313         (save_uint16_byte_table): Likewise.
2314         (save_byte_table): Likewise.
2315         (Fput_char_attribute): Don't store value into external database
2316         even if the external database feature is supported in UTF-2000;
2317         set `attribute' as name of char-table if the external database
2318         feature is supported.
2319         (Fsave_char_attribute_table): New function in UTF-2000.
2320         (syms_of_chartab): Add new builtin function
2321         `save-char-attribute-table' in UTF-2000.
2322
2323 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2324
2325         * chartab.c (char_attribute_table_to_put): New variable in
2326         UTF-2000.
2327         (Qput_char_table_map_function): Likewise.
2328         (value_to_put): Likewise.
2329         (Fput_char_table_map_function): New function in UTF-2000.
2330         (put_char_table): Use `Fmap_char_attribute' for
2331         CHARTAB_RANGE_CHARSET in UTF-2000.
2332         (Fput_char_attribute): Store symbol instead of string in
2333         `XCHAR_TABLE_NAME (table)'.
2334         (load_char_attribute_maybe): Likewise.
2335         (syms_of_chartab): Add new symbol/function
2336         `put-char-table-map-function'.
2337
2338 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2339
2340         * database.h: Add new EXFUN for `Fmap_database'.
2341
2342         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2343         (syms_of_database): Likewise.
2344
2345         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2346         UTF-2000.
2347         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2348         (XCHAR_TABLE_UNLOADED): Likewise.
2349
2350         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2351         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2352         HAVE_DATABASE is defined.
2353         (char_attribute_table_to_load): New variable of UTF-2000 with
2354         external database support.
2355         (Qload_char_attribute_table_map_function): Likewise.
2356         (Fload_char_attribute_table_map_function): New function of
2357         UTF-2000 with external database support.
2358         (Fload_char_attribute_table): New function of UTF-2000.
2359         (Fmap_char_attribute): Call Fload_char_attribute_table if
2360         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2361         (syms_of_chartab): Add new symbol and function
2362         `load-char-attribute-table-map-function' in UTF-2000 with external
2363         database support; add new function `load-char-attribute-table' in
2364         UTF-2000.
2365
2366 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2367
2368         * chartab.h (load_char_attribute_maybe): New prototype for
2369         UTF-2000 with DATABASE support.
2370         (get_char_id_table): Use `load_char_attribute_maybe' if
2371         HAVE_DATABASE is defined.
2372
2373         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2374         with DATABASE support.
2375
2376 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2377
2378         * chartab.c (Fput_char_attribute): Use S-expression as key of
2379         external database.
2380
2381         * chartab.h (get_char_id_table): Use S-expression as key of
2382         external database.
2383
2384 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2385
2386         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2387         if an element is not loaded, load the corresponding attributes
2388         from an external database.
2389         (map_over_uint16_byte_table): Likewise.
2390         (map_over_byte_table): Likewise.
2391         (map_char_table): Modify for `map_over_uint8_byte_table',
2392         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2393         element is not loaded, load the corresponding attributes from an
2394         external database.
2395         (Fput_char_attribute): Change initial values to Qunloaded.
2396
2397         * chartab.h (get_char_id_table): If a character attribute is not
2398         loaded and the attribute value is not found in an external
2399         database, store Qunbound as the attribute value.
2400
2401 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2402
2403         * chartab.c (BT_UINT8_unloaded): New macro.
2404         (UINT8_VALUE_P): Accept Qunloaded.
2405         (UINT8_ENCODE): Likewise.
2406         (UINT8_DECODE): Likewise.
2407         (BT_UINT16_unloaded): New macro.
2408         (UINT16_VALUE_P): Accept Qunloaded.
2409         (UINT16_ENCODE): Likewise.
2410         (UINT16_DECODE): Likewise.
2411         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2412         BT_UINT16_unloaded.
2413         (mark_char_table): Mark `ct->name' in UTF-2000.
2414         (char_table_description): Add `name' in UTF-2000.
2415         (Fmake_char_table): Initialize `ct->name'.
2416         (Fcopy_char_table): Copy `ct->name'.
2417         (Fput_char_attribute): Store value into an external database if
2418         HAVE_DATABASE is defined.
2419
2420         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2421         UTF-2000.
2422         (CHAR_TABLE_NAME): New macro in UTF-2000.
2423         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2424         (get_char_id_table): Try to read an external database if Qunloaded
2425         is stored in a table.
2426
2427         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2428         Qunloaded.
2429
2430 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2431
2432         * database.h: Add EXFUN definitions for Fopen_database,
2433         Fput_database, Fget_database and Fclose_database.
2434
2435         * data.c (Qunloaded): New variable in UTF-2000.
2436
2437         * lisp.h (Qunloaded): New variable in UTF-2000.
2438
2439 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2440
2441         * mule-charset.c (put_char_ccs_code_point): Modify for
2442         `decoding_table_remove_char' and `decoding_table_put_char'.
2443         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2444
2445         * char-ucs.h (decoding_table_remove_char): Change arguments to
2446         hide decoding_table vector.
2447         (decoding_table_put_char): Likewise.
2448
2449 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2450
2451         * mule-charset.c (decoding_table_remove_char): Moved to
2452         char-ucs.h.
2453         (decoding_table_put_char): Likewise.
2454
2455         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2456         from mule-charset.c].
2457         (decoding_table_remove_char): New inline function [moved from
2458         mule-charset.c].
2459         (decoding_table_put_char): Likewise.
2460
2461 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2462
2463         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2464         extension.
2465
2466 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2467
2468         * mule-charset.c (decode_builtin_char): Support mother charsets.
2469
2470 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2471
2472         * mule-charset.c (Q94x94x60): New variable.
2473         (charset_code_point): Support conversion `94x94x60'.
2474         (Fmake_charset): Likewise.
2475         (syms_of_mule_charset): Add new symbol `94x94x60'.
2476
2477         * char-ucs.h (CONVERSION_94x94x60): New macro.
2478
2479 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2480
2481         * mule-charset.c (charset_code_point): Unify code about
2482         `code-offset'.
2483
2484 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2485
2486         * mule-charset.c (charset_code_point): Merge code about builtin
2487         characters into code about mother charsets; don't use
2488         `range_charset_code_point'.
2489         (range_charset_code_point): Deleted.
2490
2491 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2492
2493         * mule-charset.c (Qcode_offset): New variable.
2494         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2495         `max-code'; accept new property `code-offset'.
2496         (syms_of_mule_charset): Add new symbol `code-offset'.
2497
2498 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * mule-charset.c (range_charset_code_point): Fixed.
2501
2502 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2503
2504         * mule-charset.c (decode_builtin_char): Change semantics of
2505         code-offset of coded-charset.
2506         (charset_code_point): Likewise.
2507         (range_charset_code_point): Likewise.
2508         (complex_vars_of_mule_charset): Modify for the change.
2509
2510 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2511
2512         * mule-charset.c (Fencode_char): Reverse arguments.
2513
2514         * mule-charset.c (charset_code_point): Fixed.
2515
2516 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * mule-charset.c (Vcharset_mojikyo): Deleted.
2519         (Vcharset_mojikyo_2022_1): Deleted.
2520         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2521         (Qmin_code): New variable in UTF-2000.
2522         (Qmax_code): Likewise.
2523         (Qmother): Likewise.
2524         (Qconversion): Likewise.
2525         (Q94x60): Likewise.
2526         (Qmojikyo): Deleted.
2527         (Qmojikyo_2022_1): Deleted.
2528         (Qmojikyo_pj_{1..22}): Deleted.
2529         (mark_charset): Mark `cs->mother'.
2530         (charset_description): Add description for `mother'.
2531         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2532         new arguments `mother' and `conversion'; use
2533         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2534         (charset_code_point): Moved from char-ucs.h; support `mother'
2535         charset feature.
2536         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2537         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2538         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2539         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2540         allow 2 as the value of `graphic' in UTF-2000; add new properties
2541         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2542         require `final' in UTF-2000; modify for `make_charset'.
2543         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2544         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2545         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2546         (Fencode_char): New function.
2547         (syms_of_mule_charset): Add new builtin function `encode-char' in
2548         UTF-2000; add new symbols `min-code', `max-code', `mother',
2549         `conversion' and `94x60'; delete symbols `mojikyo',
2550         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2551         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2552         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2553         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2554
2555         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2556         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2557
2558         * char-ucs.h (Vcharset_mojikyo): Deleted.
2559         (Vcharset_mojikyo_2022_1): Deleted.
2560         (LEADING_BYTE_MOJIKYO): Deleted.
2561         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2562         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2563         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2564         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2565         add new member `mother'; add new member `conversion'.
2566         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2567         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2568         (CHARSET_MOTHER): New macro.
2569         (CHARSET_CONVERSION): New macro.
2570         (CONVERSION_IDENTICAL): New macro.
2571         (CONVERSION_94x60): New macro.
2572         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2573         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2574         (XCHARSET_MOTHER): New macro.
2575         (XCHARSET_CONVERSION): New macro.
2576         (MIN_CHAR_MOJIKYO): Deleted.
2577         (MAX_CHAR_MOJIKYO): Deleted.
2578         (DECODE_MOJIKYO_2022): Deleted.
2579         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2580         (charset_code_point): Changed to non-inline function.
2581         (encode_char_1): Use `charset_code_point'.
2582         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2583
2584 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2585
2586         * lread.c (read_compiled_function): Fix prototype.
2587         (read_vector): Likewise.
2588
2589 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2590
2591         * lrecord.h (struct lrecord_header): Delete `older'.
2592         (set_lheader_implementation): Delete code for `older'.
2593         (set_lheader_older_implementation): Deleted.
2594         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2595         (OLDER_RECORD_P): Deleted.
2596         (OLDER_RECORD_HEADER_P): Deleted.
2597         (alloc_older_lcrecord): Deleted.
2598         (alloc_older_lcrecord_type): Deleted.
2599
2600         * alloc.c (all_older_lcrecords): Deleted.
2601         (alloc_older_lcrecord): Deleted.
2602         (disksave_object_finalization_1): Delete code for older objects.
2603         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2604         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2605
2606 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2607
2608         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2609         instead of `make_older_vector'.
2610         (put_char_ccs_code_point): Likewise.
2611         (mark_charset): Mark `cs->decoding_table'.
2612         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2613
2614         * lisp.h (make_older_vector): Deleted.
2615         (make_vector_newer): Deleted.
2616
2617         * config.h.in (HAVE_GGC): Deleted.
2618
2619         * alloc.c (make_older_vector): Deleted.
2620         (make_vector_newer_1): Deleted.
2621         (make_vector_newer): Deleted.
2622
2623 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2624
2625         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2626         (Qideograph_daikanwa_2): New variable.
2627         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2628         (complex_vars_of_mule_charset): Add new coded-charset
2629         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2630         `LEADING_BYTE_DAIKANWA'.
2631
2632         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2633         (LEADING_BYTE_DAIKANWA_1): New macro.
2634         (LEADING_BYTE_DAIKANWA_2): New macro.
2635         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2636
2637 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2638
2639         * mule-charset.c (complex_vars_of_mule_charset): Change
2640         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2641         the second revised version.
2642
2643 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2644
2645         * mule-charset.c (Vcharset_ucs_smp): New variable.
2646         (Vcharset_ucs_sip): New variable.
2647         (Qucs_smp): New variable.
2648         (Qucs_sip): New variable.
2649         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2650         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2651         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2652         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2653         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2654         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2655
2656         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2657         (LEADING_BYTE_UCS_SIP): New macro.
2658         (MIN_CHAR_SMP): New macro.
2659         (MAX_CHAR_SMP): New macro.
2660         (MIN_CHAR_SIP): New macro.
2661         (MAX_CHAR_SIP): New macro.
2662
2663 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2664
2665         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2666         utf-2000.
2667
2668 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2669
2670         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2671         value; don't store value into `encoding_table' of `Lisp_Charset'.
2672         (mark_charset): `encoding_table' was deleted.
2673         (charset_description): Likewise.
2674         (make_charset): Likewise.
2675         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2676         `put_char_ccs_code_point'.
2677
2678         * chartab.h (Fput_char_attribute): New EXFUN.
2679
2680         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2681         is unified with normal symbol space.
2682         (Fget_char_attribute): Likewise.
2683         (Fput_char_attribute): Likewise; behavior of
2684         `put_char_ccs_code_point' is changed.
2685
2686         * char-ucs.h: Include "elhash.h".
2687         (Vchar_attribute_hash_table): New external variable.
2688         (struct Lisp_Charset): Delete `encoding_table'.
2689         (CHARSET_ENCODING_TABLE): New implementation; refer
2690         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2691         `Lisp_Charset'.
2692
2693 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2694
2695         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2696         (cs) == 0.
2697
2698 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2699
2700         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2701         `chinese-big5'.
2702
2703 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2704
2705         * chartab.c (uint8_byte_table_description): New constant.
2706         (uint8-byte-table): Use `uint8_byte_table_description'.
2707         (uint16_byte_table_description): New constant.
2708         (uint16-byte-table): Use `uint16_byte_table_description'.
2709
2710 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2711
2712         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2713         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2714
2715 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2716
2717         * mule-charset.c (Vcharset_ucs_ks): New variable.
2718         (Qucs_ks): New variable.
2719         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2720         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2721
2722         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2723
2724 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2725
2726         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2727         (Fdecode_char): Likewise.
2728
2729         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2730         chartab.h.
2731         (Fdefine_char): Modify for Fdecode_char.
2732         (Ffind_char): Likewise.
2733
2734         * mule-charset.c (Fdecode_char): Add new optional argument
2735         `defined-only'.
2736         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2737
2738 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2739
2740         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2741         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2742         (allocate_coding_system): Initialize initial-charsets of
2743         CODESYS_BIG5 in XEmacs UTF-2000.
2744         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2745         CODESYS_BIG5 in XEmacs UTF-2000.
2746         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2747         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2748
2749         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2750         variables.
2751         (Qideograph_hanziku_{1 .. 12}): Likewise.
2752         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2753         .. 12}'.
2754         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2755         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2756         `ideograph-hanziku-{1 .. 12}'.
2757
2758         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2759         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2760         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2761         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2762         (DECODE_DEFINED_CHAR): New inline function.
2763         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2764
2765 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2766
2767         * mule-charset.c (Vcharset_china3_jef): Renamed from
2768         `Vcharset_japanese_jef_china3'.
2769         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2770         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2771         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2772         (syms_of_mule_charset): Rename `china3-jef' from
2773         `japanese-jef-china3'.
2774         (complex_vars_of_mule_charset): Likewise; rename
2775         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2776
2777         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2778         `LEADING_BYTE_JEF_CHINA3'.
2779         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2780         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2781
2782 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2783
2784         * mule-charset.c (encode_builtin_char_1): Comment out special code
2785         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2786
2787         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2788         (MAX_CHAR_MOJIKYO_0): Comment out.
2789         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2790         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2791         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2792         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2793
2794 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2795
2796         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2797         (Qideograph_cbeta): New variable.
2798         (encode_builtin_char_1): Comment out special code for
2799         coded-charset `mojikyo' and `japanese-jef-china3'.
2800         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2801         (complex_vars_of_mule_charset): Add new coded-charset
2802         `ideograph-cbeta'.
2803
2804         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2805         (MIN_CHAR_CBETA): New macro.
2806         (MAX_CHAR_CBETA): New macro.
2807
2808 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2809
2810         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2811         (LEADING_BYTE_JEF_CHINA3): New macro.
2812         (MIN_CHAR_JEF_CHINA3): New macro.
2813         (MAX_CHAR_JEF_CHINA3): Likewise.
2814         (DECODE_CHAR): Fixed.
2815
2816 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2817
2818         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2819         (Qjapanese_jef_china3): New variable.
2820         (encode_builtin_char_1): Support `japanese-jef-china3'.
2821         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2822         (complex_vars_of_mule_charset): Add new coded-charset
2823         `japanese-jef-china3'.
2824
2825 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2826
2827         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2828         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2829         94^4, 96^3, 96^4, 128^n and 256^n set.
2830         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2831         (map_char_table): Likewise.
2832
2833 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2834
2835         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2836         UTF-2000.
2837
2838 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2839
2840         * chartab.h (get_char_id_table): New inline function.
2841
2842         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2843         function.
2844
2845 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2846
2847         * chartab.h (decode_char_table_range): New prototype in XEmacs
2848         UTF-2000.
2849         (put_char_id_table): New inline function in XEmacs UTF-2000.
2850
2851         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2852         function.
2853         (decode_char_table_range): Delete static declaration in XEmacs
2854         UTF-2000.
2855
2856 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2857
2858         * chartab.c (put_char_id_table): Use `put_char_table'.
2859
2860 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2861
2862         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2863         (map_over_uint16_byte_table): Likewise.
2864         (map_over_byte_table): Likewise.
2865         (map_char_table): Modify for `map_over_uint8_byte_table',
2866         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2867         UTF-2000.
2868
2869 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2870
2871         * chartab.c (struct map_char_table_for_charset_arg): New
2872         structure.
2873         (map_char_table_for_charset_fun): New function.
2874         (map_char_table): Use `map_char_table' for encoding_table of
2875         `range->charset'.
2876
2877 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2878
2879         * chartab.c (map_char_table): Check a character is found in
2880         range->charset instead of non default value is defined in
2881         char-table when range is CHARTAB_RANGE_ROW.
2882
2883 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2884
2885         * chartab.c (map_char_id_table): Deleted.
2886         (Fmap_char_attribute): Use `map_char_table' instead of
2887         `map_char_id_table'.
2888
2889 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2890
2891         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2892         UTF-2000.
2893         (update_syntax_table): Deleted in XEmacs UTF-2000.
2894
2895         * syntax.c (find_defun_start): Use `syntax_table' instead of
2896         `mirror_syntax_table' in XEmacs UTF-2000.
2897         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2898         UTF-2000.
2899         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2900         XEmacs UTF-2000.
2901         (Fmatching_paren): Likewise.
2902         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2903         in XEmacs UTF-2000.
2904         (find_start_of_comment): Likewise.
2905         (find_end_of_comment): Likewise.
2906         (Fforward_comment): Likewise.
2907         (scan_lists): Likewise.
2908         (char_quoted): Likewise.
2909         (Fbackward_prefix_chars): Likewise.
2910         (scan_sexps_forward): Likewise.
2911         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2912         (update_syntax_table): Likewise.
2913
2914         * search.c (skip_chars): Use `syntax_table' instead of
2915         `mirror_syntax_table' in XEmacs UTF-2000.
2916         (wordify): Likewise.
2917         (Freplace_match): Likewise.
2918
2919         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2920         `mirror_syntax_table' in XEmacs UTF-2000.
2921         (WORDCHAR_P_UNSAFE): Likewise.
2922         (re_match_2_internal): Likewise.
2923
2924         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2925         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2926
2927         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2928         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2929
2930         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2931         XEmacs UTF-2000.
2932
2933         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2934         UTF-2000.
2935         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2936         (char_table_description): Delete `mirror_table' in XEmacs
2937         UTF-2000.
2938         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2939         UTF-2000.
2940         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2941         (Fcopy_char_table): Likewise.
2942         (put_char_table): Don't call `update_syntax_table' in XEmacs
2943         UTF-2000.
2944
2945         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2946         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2947         (casify_region_internal): Likewise.
2948
2949         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2950
2951         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2952         `mirror_syntax_table' in XEmacs UTF-2000.
2953
2954         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2955         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2956         (Fexpand_abbrev): Likewise.
2957
2958 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2959
2960         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2961
2962 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2963
2964         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2965         (map_over_uint16_byte_table): Likewise.
2966         (map_over_byte_table): Likewise.
2967         (get_char_id_table): Refer `cit->default_value'.
2968         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2969         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2970         of character-id ranges.
2971         (mark_char_table): Mark `ct->default_value'.
2972         (char_table_description): Add `default_value'.
2973         (fill_char_table): Use `default_value'.
2974         (decode_char_table_range): Decode `nil' as
2975         `CHARTAB_RANGE_DEFAULT'.
2976         (get_char_id_table): Refer `cit->default_value'.
2977         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2978         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2979         temporary hack; check value of char-table is bound or not.
2980         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2981
2982         * chartab.h (struct Lisp_Char_Table): Add new member
2983         `default_value' in XEmacs UTF-2000.
2984         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2985         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2986         UTF-2000.
2987
2988 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2989
2990         * chartab.h (Lisp_Char_ID_Table): Deleted.
2991
2992         * chartab.c (char_table_description): Fix typo.
2993         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2994         `Lisp_Char_ID_Table'.
2995
2996 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2997
2998         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2999         `CHAR_ID_TABLE_P'.
3000
3001         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
3002         `CHAR_ID_TABLE_P'.
3003
3004         * chartab.h (XCHAR_ID_TABLE): Deleted.
3005         (XSETCHAR_ID_TABLE): Deleted.
3006         (CHAR_ID_TABLE_P): Deleted.
3007
3008         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3009         `CHAR_ID_TABLE_P'.
3010         (Fget_composite_char): Likewise.
3011         (put_char_table): Likewise.
3012         (add_char_attribute_alist_mapper): Fixed.
3013         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3014         `CHAR_ID_TABLE_P'.
3015         (Fget_char_attribute): Likewise.
3016         (Fget_char_attribute): Likewise.
3017         (Fmap_char_attribute): Likewise.
3018
3019         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3020         `CHAR_ID_TABLE_P'.
3021         (encode_char_1): Likewise.
3022
3023 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3024
3025         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3026         `XCHAR_ID_TABLE'.
3027
3028         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3029         instead of `XCHAR_ID_TABLE'.
3030         (remove_char_ccs): Likewise.
3031
3032         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3033         `XCHAR_ID_TABLE'.
3034         (Fget_composite_char): Likewise.
3035         (Fchar_variants): Likewise.
3036         (put_char_table): Likewise.
3037         (add_char_attribute_alist_mapper): Likewise.
3038         (Fchar_attribute_alist): Likewise.
3039         (Fget_char_attribute): Likewise.
3040         (Fput_char_attribute): Likewise.
3041         (Fmap_char_attribute): Likewise.
3042         (Fmap_char_attribute): Likewise.
3043
3044         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3045         `XCHAR_ID_TABLE'.
3046         (encode_char_1): Likewise.
3047
3048 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3049
3050         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3051         `Lisp_Char_ID_Table'.
3052         (mark_char_id_table): Deleted.
3053         (print_char_id_table): Likewise.
3054         (char_id_table_equal): Likewise.
3055         (char_id_table_hash): Likewise.
3056         (char_id_table_description): Likewise.
3057         (char_id_table): Likewise.
3058         (make_char_id_table): Use `Fmake_char_table' and
3059         `fill_char_table'.
3060         (get_char_id_table): Use `Lisp_Char_Table' instead of
3061         `Lisp_Char_ID_Table'.
3062         (put_char_id_table): Likewise.
3063         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3064         `XCHAR_ID_TABLE'.
3065         (Fremove_char_attribute): Likewise.
3066         (syms_of_chartab): Don't define type `char-id-table'.
3067
3068         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3069         (char_id_table): Likewise.
3070         (GC_CHAR_ID_TABLE_P): Likewise.
3071         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3072         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3073         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3074         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3075         (get_char_id_table): Use `Lisp_Char_Table' instead of
3076         `Lisp_Char_ID_Table'.
3077         (put_char_id_table_0): Likewise.
3078         (put_char_id_table): Likewise.
3079
3080 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3081
3082         * chartab.h: Lisp_Byte_Table related codes are moved from
3083         chartab.h.
3084
3085         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3086
3087 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3088
3089         * chartab.h: Don't include "chartab.h".
3090         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3091         (Lisp_Char_ID_Table): Likewise.
3092         (char_id_table): Likewise.
3093         (XCHAR_ID_TABLE): Likewise.
3094         (XSETCHAR_ID_TABLE): Likewise.
3095         (CHAR_ID_TABLE_P): Likewise.
3096         (GC_CHAR_ID_TABLE_P): Likewise.
3097         (get_char_id_table): Likewise.
3098
3099         * char-ucs.h: Include "chartab.h".
3100         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3101         (Lisp_Char_ID_Table): Likewise.
3102         (char_id_table): Likewise.
3103         (XCHAR_ID_TABLE): Likewise.
3104         (XSETCHAR_ID_TABLE): Likewise.
3105         (CHAR_ID_TABLE_P): Likewise.
3106         (GC_CHAR_ID_TABLE_P): Likewise.
3107         (get_char_id_table): Likewise.
3108
3109 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3110
3111         * chartab.c (copy_uint8_byte_table): New function.
3112         (copy_uint16_byte_table): New function.
3113         (copy_byte_table): New function.
3114         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3115         characters to call.
3116         (map_over_uint16_byte_table): Likewise.
3117         (map_over_byte_table): Likewise.
3118         (get_byte_table): Move prototype to chartab.h.
3119         (put_byte_table): Likewise.
3120         (put_char_id_table_0): Moved to chartab.h.
3121         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3122         (char_table_entry_equal): Likewise.
3123         (char_table_entry_hash): Likewise.
3124         (char_table_entry_description): Likewise.
3125         (char_table_entry): Likewise.
3126         (make_char_table_entry): Likewise.
3127         (copy_char_table_entry): Likewise.
3128         (get_non_ascii_char_table_value): Likewise.
3129         (map_over_charset_ascii): Likewise.
3130         (map_over_charset_control_1): Likewise.
3131         (map_over_charset_row): Likewise.
3132         (map_over_other_charset): Likewise.
3133         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3134         (print_char_table): Likewise.
3135         (char_table_equal): Likewise.
3136         (char_table_hash): Likewise.
3137         (char_table_description): Likewise.
3138         (fill_char_table): Likewise.
3139         (Fcopy_char_table): Likewise.
3140         (get_char_table): Likewise.
3141         (Fget_range_char_table): Likewise.
3142         (put_char_table): Likewise.
3143         (map_char_table): Likewise.
3144         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3145         UTF-2000.
3146
3147 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3148
3149         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3150         `Vauto_fill_chars' in XEmacs UTF-2000.
3151
3152         * chartab.h (get_byte_table): New prototype [moved from
3153         chartab.c].
3154         (put_byte_table): Likewise [moved from chartab.c].
3155         (put_char_id_table_0): New inline function [moved from chartab.c].
3156         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3157         (Lisp_Char_Table_Entry): Likewise.
3158         (char_table_entry): Likewise.
3159         (XCHAR_TABLE_ENTRY): Likewise.
3160         (XSETCHAR_TABLE_ENTRY): Likewise.
3161         (CHAR_TABLE_ENTRYP): Likewise.
3162         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3163         (NUM_ASCII_CHARS): Likewise.
3164         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3165         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3166
3167 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3168
3169         * chartab.c (get_char_id_table): Change interface.
3170         (put_char_id_table_0): New function.
3171         (put_char_id_table): Change interface; new implementation.
3172         (Fget_composite_char): Modify for interface change of
3173         `get_char_id_table'.
3174         (Fchar_variants): Likewise.
3175         (add_char_attribute_alist_mapper): Likewise.
3176         (Fchar_attribute_alist): Likewise.
3177         (Fget_char_attribute): Likewise.
3178         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3179         as same as character as the first argument like `put-char-table';
3180         modify for interface change of `put_char_id_table'.
3181         (Fremove_char_attribute): Modify for interface change of
3182         `put_char_id_table'.
3183
3184 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3185
3186         * text-coding.c: Sync up with XEmacs 21.2.41.
3187         (COMPOSE_ADD_CHAR): Modify for interface change of
3188         `get_char_id_table'.
3189
3190         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3191         change of `put_char_id_table'.
3192         (remove_char_ccs): Likewise.
3193
3194         * chartab.h (put_char_id_table): Change interface.
3195
3196         * char-ucs.h (get_char_id_table): Change interface.
3197         (charset_code_point): Modify for interface change of
3198         `get_char_id_table'.
3199         (encode_char_1): Likewise.
3200
3201 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3202
3203         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3204         argument `ccs'.
3205         (map_over_uint16_byte_table): Likewise.
3206         (map_over_byte_table): Likewise.
3207         (map_char_id_table): Add new argument `range' like
3208         `map_char_table'.
3209         (Fmap_char_attribute): Add new argument `range' like
3210         `Fmap_char_table'.
3211
3212 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3213
3214         * chartab.c (map_over_uint8_byte_table): Change interface of
3215         mapping function to use struct chartab_range instead of Emchar.
3216         (map_over_uint16_byte_table): Likewise.
3217         (map_over_byte_table): Likewise.
3218         (map_char_id_table): Likewise.
3219         (struct slow_map_char_id_table_arg): Deleted.
3220         (slow_map_char_id_table_fun): Deleted.
3221         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3222         function `slow_map_char_table_fun' instead of struct
3223         `slow_map_char_id_table_arg' and function
3224         `slow_map_char_id_table_fun'.
3225
3226 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3227
3228         * mule-charset.c: Move char-it-table related codes to chartab.c.
3229         (Vutf_2000_version): Moved to chartab.c.
3230         (Fdefine_char): Likewise.
3231         (Ffind_char): Likewise.
3232         (syms_of_mule_charset): Move types `uint8-byte-table',
3233         `uint16-byte-table', `byte-table' and `char-id-table' to
3234         chartab.c; move functions `char_attribute_list,
3235         `find_char_attribute_table, `char_attribute_alist,
3236         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3237         `map_char_attribute, `define_char, `find_char, `char_variants and
3238         `get_composite_char to chartab.c; move symbols `=>ucs',
3239         `->decomposition', `compat', `isolated', `initial', `medial',
3240         `final', `vertical', `noBreak', `fraction', `super', `sub',
3241         `circle', `square', `wide', `narrow', `small' and `font' to
3242         chartab.c.
3243         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3244         setting codes for `Vcharacter_composition_table' and
3245         `Vcharacter_variant_table' to chartab.c.
3246         (complex_vars_of_mule_charset): Move setting code for
3247         `Vchar_attribute_hash_table' to chartab.c.
3248
3249         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3250         (make_char_id_table): New prototype.
3251         (put_char_id_table): Likewise.
3252         (Fget_char_attribute): Likewise.
3253
3254         * chartab.c: Move char-id-table related code from mule-charset.c.
3255         (Vutf_2000_version): Moved from mule-charset.c.
3256
3257         * char-ucs.h (Qucs): New external variable.
3258         (put_char_ccs_code_point): New prototype.
3259         (remove_char_ccs): Likewise.
3260
3261 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3262
3263         * mule-charset.c (Vcharset_ucs_jis): New variable.
3264         (Qucs_jis): Likewise.
3265         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3266         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3267
3268         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3269
3270 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3271
3272         * mule-charset.c (map_over_uint8_byte_table): New function.
3273         (map_over_uint16_byte_table): Likewise.
3274         (map_over_byte_table): Likewise.
3275         (map_char_id_table): Likewise.
3276         (slow_map_char_id_table_fun): Likewise.
3277         (Fmap_char_attribute): Likewise.
3278         (syms_of_mule_charset): Add new function `map-char-attribute'.
3279
3280 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3281
3282         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3283         (syms_of_mule_charset): Add new function `find-char'.
3284
3285 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3286
3287         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3288         XEmacs UTF-2000.
3289         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3290         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3291         XEmacs UTF-2000.
3292         (complex_vars_of_mule_charset): Add new coded-charset
3293         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3294         `ideograph-gt-pj-*'.
3295
3296         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3297
3298 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3299
3300         * mule-charset.c (encode_builtin_char_1): Purge codes about
3301         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3302         {MIN|MAX}_CHAR_HEBREW.
3303         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3304         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3305
3306         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3307         (MAX_CHAR_GREEK): Purged.
3308         (MIN_CHAR_CYRILLIC): Purged.
3309         (MAX_CHAR_CYRILLIC): Purged.
3310         (MIN_CHAR_HEBREW): Commented out.
3311         (MAX_CHAR_HEBREW): Likewise.
3312
3313 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3314
3315         * mule-charset.c (Qto_ucs): New variable.
3316         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3317         (Fdefine_char): Likewise.
3318         (syms_of_mule_charset): Add new symbol `=>ucs'.
3319
3320 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3321
3322         * mule-charset.c (Fdecode_char): Fixed.
3323
3324 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3325
3326         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3327         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3328         "tcvn5712-1".
3329
3330 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3331
3332         * mule-charset.c (Vcharset_ucs_big5): New variable.
3333         (Qucs_big5): Likewise.
3334         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3335         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3336
3337         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3338
3339 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3340
3341         * mule-charset.c (decode_builtin_char): Check Big5 code range
3342         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3343
3344 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3345
3346         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3347         (Qchinese_gb12345): Likewise.
3348         (Fdecode_builtin_char): Fixed.
3349         (syms_of_mule_charset): Add `chinese-gb12345'.
3350         (complex_vars_of_mule_charset): Add coded-charset
3351         `chinese-gb12345'.
3352
3353         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3354         (LEADING_BYTE_CHINESE_GB12345): New macro.
3355
3356 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3357
3358         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3359         and `latin-viscii-upper' for `latin-viscii'.
3360
3361 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3362
3363         * mule-charset.c (Fdecode_builtin_char): Comment out
3364         regularization code for ISO-IR GR representation.
3365
3366 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3367
3368         * mule-charset.c (decode_builtin_char): New function; renamed from
3369         `make_builtin_char'; return -1 instead of signal.
3370         (Fdecode_builtin_char): Use `decode_builtin_char'.
3371
3372         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3373         `make_builtin_char'.
3374         (DECODE_CHAR): Use `decode_builtin_char' instead of
3375         `make_builtin_char'; use mapping table of `chinese-big5' for
3376         `chinese-big5-{1,2}'.
3377
3378 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3379
3380         * text-coding.c (char_encode_big5): New function.
3381         (char_finish_big5): Likewise.
3382         (reset_encoding_stream): Use `char_encode_big5' and
3383         `char_finish_big5' for CODESYS_BIG5.
3384         (mule_encode): Don't use `encode_coding_big5'.
3385         (encode_coding_big5): Deleted.
3386
3387 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3388
3389         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3390         0x81- in XEmacs UTF-2000.
3391         (detect_coding_big5): Likewise.
3392
3393 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3394
3395         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3396         generate character-id if the CCS property does not have
3397         corresponding predefined character.
3398         (make_builtin_char): Return -1 if corresponding predefined
3399         character is not found.
3400         (Fdecode_char): Return nil if corresponding character is not
3401         found.
3402         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3403         don't map to builtin ucs space.
3404
3405 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3406
3407         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3408         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3409
3410 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3411
3412         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3413         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3414         (Qideograph_gt): Likewise.
3415         (Qideograph_gt_pj_{1..11}): Likewise.
3416         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3417         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3418         `ideograph-gt-pj-11'.
3419         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3420         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3421         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3422
3423         * char-ucs.h (LEADING_BYTE_GT): New macro.
3424         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3425         (MIN_CHAR_GT): Likewise.
3426         (MAX_CHAR_GT): Likewise.
3427
3428 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3429
3430         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3431         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3432
3433         * doprnt.c (unsigned_int_converters): Add `c'.
3434         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3435
3436         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3437         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3438         `MIN_CHAR_MOJIKYO'.
3439         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3440         (MAX_CHAR_MOJIKYO_0): New macro.
3441         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3442
3443 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3444
3445         * mule-charset.c (Fdefine_char): Delete cemented out code.
3446         (encode_builtin_char_1): Modify for new allocation of builtin
3447         Mojikyo characters.
3448
3449         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3450
3451 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3452
3453         * mule-charset.c (Vcharset_ucs_cns): New variable.
3454         (Qucs_cns): New variable.
3455         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3456         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3457
3458 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3459
3460         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3461
3462 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3463
3464         * search.c (search_buffer): Make `charset_base_code' as
3465         character-id >> 6 to eliminate the corresponding last byte in
3466         UTF-8 representation [I'm not sure it is right thing].
3467         (boyer_moore): Likewise.
3468
3469 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3470
3471         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3472         representation in MULE.
3473
3474 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3475
3476         * text-coding.c (Fmake_coding_system): Use
3477         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3478         `EXTERNAL_PROPERTY_LIST_LOOP'.
3479
3480 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3481
3482         * text-coding.c (decode_output_utf8_partial_char): New function.
3483         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3484
3485 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3486
3487         * text-coding.c (decode_coding_utf8): Output original byte
3488         sequence if it is broken; change order of conditions.
3489
3490         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3491         of conditions.
3492
3493         * mb-multibyte.h (BYTE_ASCII_P):
3494         Use bit ops for char-signedness safety.
3495         (BYTE_C0_P): Use bit ops for char-signedness safety.
3496         (BYTE_C1_P): Use bit ops for char-signedness safety.
3497
3498         * character.h: (XCHAR_OR_CHAR_INT):
3499         Always use inline function.
3500         Remove redundant type checking assert() - XINT will abort quite
3501         nicely.
3502
3503 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3504
3505         * text-coding.c: (Fencode_shift_jis_char):
3506         (Fencode_big5_char):
3507         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3508         Replace 0 with '\0' when working with bytes.
3509         Replace initial "(" with "\(" in docstrings.
3510
3511         (Fmake_coding_system):
3512         When type is ccl and value is vector, register it with a proper
3513         symbol.  And checks whether the given ccl program is valid.
3514         (mule_decode): When calling ccl_driver, if src indicates
3515         NULL pointer, set an empty string instead.
3516         (mule_encode): Likewise.
3517
3518         (detect_eol_type):
3519         (detect_coding_sjis):
3520         (decode_coding_sjis):
3521         (detect_coding_big5):
3522         (decode_coding_big5):
3523         (detect_coding_ucs4):
3524         (decode_coding_ucs4):
3525         (detect_coding_utf8):
3526         (decode_coding_utf8):
3527         (detect_coding_iso2022):
3528         (decode_coding_iso2022):
3529         (decode_coding_no_conversion):
3530         (mule_decode):
3531         Make all detecting and decoding functions take an Extbyte * arg.
3532         (text_encode_generic):
3533         (encode_coding_big5):
3534         (encode_coding_no_conversion):
3535         (mule_encode):
3536         Make all encoding functions take a Bufbyte * arg.
3537         Use size_t instead of unsigned int for memory sizes.
3538         Only cast to unsigned char whenever dereferencing Extbyte *.
3539
3540         (struct lrecord_description fcd_description_1): Use countof.
3541         (complex_vars_of_file_coding):
3542         Use countof instead of sizeof.
3543         Use CHECK_NATNUM instead of CHECK_INT.
3544
3545 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3546
3547         * mule-charset.c (Fget_char_attribute): Add new optional argument
3548         `default-value'.
3549         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3550         (remove_char_ccs): Likewise.
3551
3552 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3553
3554         * text-coding.c (char_encode_shift_jis): New implementation in
3555         UTF-2000.
3556         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3557         ...)'.
3558
3559         * mule-charset.c (Vcharset_chinese_big5): New variable in
3560         UTF-2000.
3561         (Qchinese_big5): New variable in UTF-2000.
3562         (BIG5_SAME_ROW): New macro in UTF-2000.
3563         (make_builtin_char): Use builtin characters of
3564         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3565         characters of `Vcharset_chinese_big5'.
3566         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3567         (complex_vars_of_mule_charset): Add new coded-charset
3568         `chinese-big5' in UTF-2000.
3569
3570         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3571         (Vcharset_chinese_big5): New external variable declaration.
3572         (Vcharset_japanese_jisx0208_1990): Likewise.
3573
3574 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3575
3576         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3577         function.
3578         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3579
3580 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3581
3582         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3583         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3584         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3585         `mojikyo-pj-*'.
3586
3587 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3588
3589         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3590
3591 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3592
3593         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3594         to 0.17.
3595
3596 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3597
3598         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3599         for `CHARSET_BY_ATTRIBUTES'.
3600         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3601         `CHARSET_BY_ATTRIBUTES'.
3602
3603         * text-coding.c (struct decoding_stream): Rename member `CH' to
3604         `CPOS'.
3605         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3606         (decode_coding_sjis): Likewise.
3607         (decode_coding_big5): Likewise.
3608         (decode_coding_ucs4): Likewise.
3609         (decode_coding_utf8): Likewise.
3610         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3611         `CHARSET_BY_ATTRIBUTES'.
3612         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3613         `str->counter'; decode 3, 4 bytes sets.
3614         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3615         sets.
3616         (decode_coding_no_conversion): Use `str->cpos' instead of
3617         `str->ch'.
3618
3619         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3620         (Qmojikyo_2022_1): New variable.
3621         (make_charset): Don't use `CHARSET_TYPE_*'.
3622         (range_charset_code_point): Support coded-charset
3623         `mojikyo-2022-1'.
3624         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3625         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3626         `CHARSET_BY_ATTRIBUTES'.
3627         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3628         `CHARSET_BY_ATTRIBUTES'.
3629         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3630         (complex_vars_of_mule_charset): Add new coded-charset
3631         `mojikyo-2022-1'.
3632
3633         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3634         interface; changed to inline function.
3635
3636         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3637         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3638         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3639         (CHARSET_TYPE_94): Deleted.
3640         (CHARSET_TYPE_94X94): Deleted.
3641         (CHARSET_TYPE_96): Deleted.
3642         (CHARSET_TYPE_96X96): Deleted.
3643         (CHARSET_TYPE_128): Deleted.
3644         (CHARSET_TYPE_128X128): Deleted.
3645         (CHARSET_TYPE_256): Deleted.
3646         (CHARSET_TYPE_256X256): Deleted.
3647         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3648         to inline function.
3649         (DECODE_MOJIKYO_2022): New inline function.
3650         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3651         `Vcharset_mojikyo_2022_1'.
3652
3653 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3654
3655         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3656         instead of `EQ'.
3657         (put_byte_table): Likewise.
3658         (char_id_table_equal): Use `get_byte_table' [new implementation].
3659
3660 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3661
3662         * mule-charset.c: Include <limits.h> in UTF-2000.
3663         (BT_UINT8_MIN): New macro in UTF-2000.
3664         (BT_UINT8_MAX): New macro in UTF-2000.
3665         (BT_UINT8_t): New macro in UTF-2000.
3666         (BT_UINT8_nil): New macro in UTF-2000.
3667         (BT_UINT8_unbound): New macro in UTF-2000.
3668         (INT_UINT8_P): New inline function in UTF-2000.
3669         (UINT8_VALUE_P): New inline function in UTF-2000.
3670         (UINT8_ENCODE): New inline function in UTF-2000.
3671         (UINT8_DECODE): New inline function in UTF-2000.
3672         (mark_uint8_byte_table): New function in UTF-2000.
3673         (print_uint8_byte_table): New function in UTF-2000.
3674         (uint8_byte_table_equal): New function in UTF-2000.
3675         (uint8_byte_table_hash): New function in UTF-2000.
3676         (make_uint8_byte_table): New function in UTF-2000.
3677         (uint8_byte_table_same_value_p): New function in UTF-2000.
3678         (BT_UINT16_MIN): New macro in UTF-2000.
3679         (BT_UINT16_MAX): New macro in UTF-2000.
3680         (BT_UINT16_t): New macro in UTF-2000.
3681         (BT_UINT16_nil): New macro in UTF-2000.
3682         (BT_UINT16_unbound): New macro in UTF-2000.
3683         (INT_UINT16_P): New inline function in UTF-2000.
3684         (UINT16_VALUE_P): New inline function in UTF-2000.
3685         (UINT16_ENCODE): New inline function in UTF-2000.
3686         (UINT16_DECODE): New inline function in UTF-2000.
3687         (UINT8_TO_UINT16): New inline function in UTF-2000.
3688         (mark_uint16_byte_table): New function in UTF-2000.
3689         (print_uint16_byte_table): New function in UTF-2000.
3690         (uint16_byte_table_equal): New function in UTF-2000.
3691         (uint16_byte_table_hash): New function in UTF-2000.
3692         (make_uint16_byte_table): New function in UTF-2000.
3693         (uint16_byte_table_same_value_p): New function in UTF-2000.
3694         (print_byte_table): New function in UTF-2000.
3695         (byte-table): Use `print_byte_table' as printer.
3696         (make_byte_table): Delete second argument `older'.
3697         (byte_table_same_value_p): New function in UTF-2000.
3698         (copy_byte_table): Deleted.
3699         (get_byte_table): New function in UTF-2000.
3700         (put_byte_table): New function in UTF-2000.
3701         (print_char_id_table): New function in UTF-2000.
3702         (char-id-table): Use `print_char_id_table' as printer.
3703         (make_char_id_table): Delete second argument `older'.
3704         (get_char_id_table): Use `get_byte_table [new implementation].
3705         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3706         implementation].
3707         (Ffind_char_attribute_table): New function in UTF-2000.
3708         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3709         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3710         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3711         (syms_of_mule_charset): Add new function
3712         `find-char-attribute-table' in UTF-2000.
3713
3714         * lrecord.h (enum lrecord_type): Add
3715         `lrecord_type_uint16_byte_table' and
3716         `lrecord_type_uint8_byte_table'.
3717
3718         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3719         (Lisp_Uint8_Byte_Table): New type.
3720         (XUINT8_BYTE_TABLE): New macro.
3721         (XSETUINT8_BYTE_TABLE): New macro.
3722         (UINT8_BYTE_TABLE_P): New macro.
3723         (GC_UINT8_BYTE_TABLE_P): New macro.
3724         (struct Lisp_Uint16_Byte_Table): New structure.
3725         (Lisp_Uint16_Byte_Table): New type.
3726         (XUINT16_BYTE_TABLE): New macro.
3727         (XSETUINT16_BYTE_TABLE): New macro.
3728         (UINT16_BYTE_TABLE_P): New macro.
3729         (GC_UINT16_BYTE_TABLE_P): New macro.
3730
3731 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3732
3733         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3734         (Vcharacter_ideographic_strokes_table): Deleted.
3735         (Vcharacter_total_strokes_table): Deleted.
3736         (Vcharacter_morohashi_daikanwa_table): Deleted.
3737         (Vcharacter_decomposition_table): Deleted.
3738         (Qname): Deleted because it is duplicated.
3739         (Qideographic_radical): Deleted.
3740         (Qideographic_strokes): Deleted.
3741         (Qtotal_strokes): Deleted.
3742         (Qmorohashi_daikanwa): Deleted.
3743         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3744         `ideographic-radical', `ideographic-strokes', `total-strokes',
3745         `morohashi-daikanwa' and `->decomposition'.
3746         (Fget_char_attribute): Likewise.
3747         (Fput_char_attribute): Likewise; use `make-vector' instead of
3748         `make_older_vector' for `->decomposition' value.
3749         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3750         `ideograph-daikanwa'.
3751         (syms_of_mule_charset): Delete builtin symbols `name',
3752         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3753         `morohashi-daikanwa'.
3754         (vars_of_mule_charset): Don't setup
3755         `Vcharacter_ideographic_radical_table',
3756         `Vcharacter_ideographic_strokes_table',
3757         `Vcharacter_total_strokes_table',
3758         `Vcharacter_morohashi_daikanwa_table' and
3759         `Vcharacter_decomposition_table'.
3760
3761 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3762
3763         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3764         `make_older_vector', `make_vector_newer_1' and
3765         `make_vector_newer'.
3766
3767         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3768         `make_older_vector' and `make_vector_newer'.
3769
3770         * config.h.in (HAVE_GGC): New macro.
3771
3772 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3773
3774         * mule-charset.c (struct char_attribute_list_closure): New
3775         structure in UTF-2000.
3776         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3777         (Fchar_attribute_list): Likewise.
3778         (Fset_charset_mapping_table): Use `make_vector_newer'.
3779         (Fdecode_builtin_char): New function in UTF-2000.
3780         (syms_of_mule_charset): Add new function `char-attribute-list' and
3781         `decode-builtin-char' in UTF-2000.
3782
3783         * lisp.h (make_vector_newer): New prototype.
3784
3785         * alloc.c (make_vector_newer_1): New function.
3786         (make_vector_newer): New function.
3787
3788 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3789
3790         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3791         50100)'.
3792
3793 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3794
3795         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3796         (Vcharacter_attribute_table): Deleted.
3797         (Vcharacter_name_table): Deleted.
3798         (put_char_attribute): Deleted.
3799         (remove_char_attribute): Deleted.
3800         (struct char_attribute_alist_closure): New structure.
3801         (add_char_attribute_alist_mapper): New function.
3802         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3803         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3804         (Fget_char_attribute): Likewise.
3805         (Fput_char_attribute): Likewise.
3806         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3807         of `remove_char_attribute'.
3808         (Fdefine_char): Return character.
3809         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3810         and `Vcharacter_name_table'.
3811         (complex_vars_of_mule_charset): Likewise
3812         `Vchar_attribute_hash_table'.
3813
3814 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3815
3816         * character.h (CHARC_CHARSET): New macro.
3817         (CHARC_CHARSET_ID): New macro.
3818         (CHARC_CODE_POINT): New macro.
3819         (CHARC_COLUMNS): New macro.
3820         (CHARC_TO_CHAR): New inline function.
3821         (CHARC_EQ): New inline function.
3822         (CHARC_ASCII_EQ): New inline function.
3823         (CHARC_IS_SPACE): New inline function.
3824         (ASCII_TO_CHARC): New inline function.
3825
3826         * char-ucs.h (encode_char_2): Deleted.
3827         (ENCODE_CHAR): Use `encode_char_1' again.
3828         (breakup_char_1): Likewise.
3829         (CHAR_TO_CHARC): New inline function.
3830
3831         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3832
3833 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3834
3835         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3836         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3837         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3838         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3839         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3840         `CHARC_IS_SPACE'.
3841         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3842
3843         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3844         `CHARC_CODE_POINT'.
3845         (x_output_display_block): Use `CHARC_CHARSET' and
3846         `CHARC_ASCII_EQ'.
3847
3848         * redisplay-tty.c (tty_output_display_block): Use
3849         `CHARC_ASCII_EQ'.
3850         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3851
3852         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3853
3854         * insdel.c (find_charsets_in_charc_string): Use
3855         `CHARC_CHARSET_ID'.
3856         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3857         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3858         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3859         (convert_charc_string_into_malloced_string): Likewise.
3860
3861 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3862
3863         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3864         instead of <Emchar_dynarr *> for buf; use
3865         `convert_bufbyte_string_into_charc_dynarr' instead of
3866         `convert_bufbyte_string_into_emchar_dynarr'; use
3867         `find_charsets_in_charc_string' instead of
3868         `find_charsets_in_emchar_string'.
3869
3870         * redisplay.h:
3871         - Include "character.h".
3872         (struct rune): New member `cglyph'; delete member `chr'.
3873
3874         * redisplay.c (redisplay_text_width_charc_string): New function;
3875         delete `redisplay_text_width_emchar_string'.
3876         (rtw_charc_dynarr): New variable; renamed from
3877         `rtw_emchar_dynarr'.
3878         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3879         `rtw_emchar_dynarr'; use
3880         `convert_bufbyte_string_into_charc_dynarr' instead of
3881         `convert_bufbyte_string_into_emchar_dynarr'; use
3882         `redisplay_text_width_charc_string' instead of
3883         `redisplay_text_width_emchar_string'.
3884         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3885         instead of `rtw_emchar_dynarr'; use
3886         `convert_bufbyte_string_into_charc_dynarr' instead of
3887         `convert_bufbyte_string_into_emchar_dynarr'.
3888         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3889         `redisplay_text_width_charc_string' instead of
3890         `redisplay_text_width_emchar_string'.
3891         (create_text_block): Modify for <struct rune> change.
3892         (generate_formatted_string_db): Likewise.
3893         (create_string_text_block): Likewise.
3894         (pixel_to_glyph_translation): Likewise.
3895
3896         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3897         instead of <const Emchar *>.
3898         (x_text_width): Likewise.
3899         (x_output_display_block): Use <Charc_dynarr *> instead
3900         <Emchar_dynarr *>; modify for <structure rune> change.
3901         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3902         *>.
3903
3904         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3905         <const Emchar *>; use `charc_string_displayed_columns' instead of
3906         `emchar_string_displayed_columns'.
3907         (tty_output_display_block): Use <Charc_dynarr *> instead of
3908         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3909         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3910         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3911         `tty_output_emchar_dynarr_dynarr'.
3912         (tty_output_charc_dynarr): New function; delete
3913         `tty_output_charc_dynarr'.
3914
3915         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3916         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3917         <Emchar_dynarr *> for buf; use
3918         `convert_bufbyte_string_into_charc_dynarr' instead of
3919         `convert_bufbyte_string_into_emchar_dynarr'.
3920
3921         * frame.c (title_string_charc_dynarr): New variable; renamed from
3922         `title_string_emchar_dynarr'.
3923         (generate_title_string): Use `title_string_charc_dynarr' instead
3924         of `title_string_emchar_dynarr'; use
3925         `convert_charc_string_into_malloced_string' instead of
3926         `convert_emchar_string_into_malloced_string'.
3927         (init_frame): Use `title_string_charc_dynarr' instead of
3928         `title_string_emchar_dynarr'.
3929
3930         * console.h:
3931         - Include "character.h".
3932         (struct console_methods): Use <const Charc *> instead of <const
3933         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3934         <Emchar_dynarr *> in output_string_method.
3935
3936         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3937         <Emchar_dynarr *>.
3938
3939         * console-stream.c (stream_text_width): Use <const Charc *>
3940         instead of <const Emchar *>.
3941
3942         * character.h (Charc_dynarr): New type.
3943
3944         * char-ucs.h (structure Charc): New structure; define new type
3945         `Charc'.
3946
3947         * char-lb.h (DECODE_CHAR): New inline function.
3948         (encode_char_1): New inline function.
3949         (ENCODE_CHAR): New macro.
3950         (structure Charc): New structure; define new type `Charc'.
3951
3952         * char-1byte.h (Vcharset_control_1): New macro.
3953         (Vcharset_latin_iso8859_1): New macro.
3954         (DECODE_CHAR): New inline function.
3955         (encode_char_1): New inline function.
3956         (ENCODE_CHAR): New macro.
3957         (structure Charc): New structure; define new type `Charc'.
3958
3959         * insdel.c (find_charsets_in_charc_string): New function; delete
3960         `find_charsets_in_emchar_string'.
3961         (charc_string_displayed_columns): New function; delete
3962         `emchar_string_displayed_columns'.
3963         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3964         `convert_bufbyte_string_into_emchar_dynarr'.
3965         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3966         `convert_charc_string_into_bufbyte_dynarr'.
3967         (convert_charc_string_into_malloced_string): New function; delete
3968         `convert_charc_string_into_malloced_string'.
3969
3970         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3971         `find_charsets_in_emchar_string'.
3972         (charc_string_displayed_columns): New prototype; delete
3973         `emchar_string_displayed_columns'.
3974         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3975         `convert_charc_string_into_bufbyte_dynarr'.
3976         (convert_charc_string_into_malloced_string): New prototype; delete
3977         `convert_charc_string_into_malloced_string'.
3978
3979 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3980
3981         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3982
3983 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3984
3985         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3986
3987         * char-ucs.h: Use <short> for <Charset_ID>.
3988
3989         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3990         <Charset_ID>.
3991
3992 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3993
3994         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3995         to 0.16.
3996
3997 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3998
3999         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
4000         variable.
4001         (Qmorohashi_daikanwa): New variable.
4002         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
4003         for `morohashi-daikanwa' attribute.
4004         (Fget_char_attribute): Likewise.
4005         (Fput_char_attribute): Likewise.
4006         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4007         has the same value of `ideograph-daikanwa'.
4008         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4009         (vars_of_mule_charset): Setup
4010         `Vcharacter_morohashi_daikanwa_table'.
4011
4012 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4013
4014         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4015         attributes.
4016         (add_charset_to_list_mapper): Add `key' instead of
4017         `XCHARSET_NAME (value)' to return aliases.
4018
4019 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4020
4021         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4022         variable.
4023         (Vcharacter_ideographic_strokes_table): New variable.
4024         (Qideographic_radical): New variable.
4025         (Qideographic_strokes): New variable.
4026         (Fchar_attribute_alist): Use
4027         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4028         attribute; use `Vcharacter_ideographic_strokes_table' for
4029         `ideographic-strokes' attribute.
4030         (Fget_char_attribute): Likewise.
4031         (Fput_char_attribute): Likewise.
4032         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4033         `ideographic-strokes'.
4034         (vars_of_mule_charset): Setup
4035         `Vcharacter_ideographic_radical_table' and
4036         `Vcharacter_ideographic_strokes_table'.
4037
4038 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4039
4040         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4041         (Qtotal_strokes): New variable.
4042         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4043         `total-strokes' attribute.
4044         (Fget_char_attribute): Likewise.
4045         (Fput_char_attribute): Likewise.
4046         (syms_of_mule_charset): Add new symbol `total-strokes'.
4047         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4048
4049 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4050
4051         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4052         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4053         are found.
4054         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4055         `->decomposition' attribute.
4056         (Fput_char_attribute): Likewise.
4057         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4058
4059 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4060
4061         * mule-charset.c (decoding_table_check_elements): New function.
4062         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4063
4064 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4065
4066         * mule-charset.c (Fset_charset_mapping_table): Use
4067         `put_char_ccs_code_point'.
4068
4069 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4070
4071         * mule-charset.c (decoding_table_put_char): New inline function.
4072         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4073
4074 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4075
4076         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4077         (XCHARSET_BYTE_SIZE): New macro.
4078         (decoding_table_remove_char): New inline function.
4079         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4080         `decoding_table_remove_char'.
4081         (remove_char_ccs): Use `decoding_table_remove_char'.
4082         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4083
4084 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4085
4086         * mule-charset.c (Vcharacter_name_table): New variable.
4087         (Qname): New variable.
4088         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4089         attribute.
4090         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4091         `Vcharacter_name_table' for `name' attribute.
4092         (Fremove_char_attribute): Use function `remove_char_ccs'.
4093         (put_char_ccs_code_point): New function.
4094         (remove_char_ccs): New function.
4095         (syms_of_mule_charset): Add new symbol `name'.
4096         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4097
4098 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4099
4100         * mule-charset.c (make_byte_table): Add new argument `older'.
4101         (make_char_id_table): Likewise.
4102         (copy_char_id_table): Comment out because it is not used.
4103         (put_char_id_table): Modify for `make_byte_table'.
4104         (Fput_char_attribute): Make encoding_table as older object;
4105         inherit older bit of `Vcharacter_composition_table'.
4106         (mark_charset): Don't mark `cs->encoding_table'.
4107         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4108         normal object; make `Vcharacter_composition_table' as an older
4109         object; delete staticpro for `Vcharacter_composition_table'; make
4110         `Vcharacter_variant_table' as a normal object.
4111
4112         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4113         (mark_object): Don't check older object in UTF-2000.
4114
4115         * lrecord.h (struct lrecord_header): Add new member `older' in
4116         UTF-2000.
4117         (set_lheader_implementation): Setup `SLI_header->older' in
4118         UTF-2000.
4119         (set_lheader_older_implementation): New macro in UTF-2000.
4120         (OLDER_RECORD_P): New macro in UTF-2000.
4121         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4122         (alloc_older_lcrecord): New prototype in UTF-2000.
4123         (alloc_older_lcrecord_type): New macro in UTF-2000.
4124
4125 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4126
4127         * mule-charset.c (byte_table_description): Use
4128         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4129         (char_id_table_description): Delete bogus `, 1'.
4130         (Fget_char_attribute): Refer encoding_table of each coded-charset
4131         to get value of coded-charset attribute of a character.
4132         (Fput_char_attribute): Use `make_older_vector' instead of
4133         `make_vector'; use encoding_table of each coded-charset to store
4134         value of coded-charset attribute of a character.
4135         (Fremove_char_attribute): Use encoding_table of each coded-charset
4136         to store value of coded-charset attribute of a character.
4137         (mark_charset): Mark `cs->encoding_table'; don't mark
4138         `cs->decoding_table'.
4139         (charset_description): Add description of new member
4140         `encoding_table'.
4141         (make_charset): Initialize `encoding_table'.
4142
4143         * char-ucs.h (struct Lisp_Charset): Add new member
4144         `encoding_table'.
4145         (CHARSET_ENCODING_TABLE): New macro.
4146         (XCHARSET_ENCODING_TABLE): New macro.
4147         (charset_code_point): New implementation.
4148         (encode_char_1): Likewise.
4149
4150         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4151         (disksave_object_finalization_1): Call finalizers of
4152         `all_older_lcrecords' in UTF-2000.
4153         (make_older_vector): New function in UTF-2000.
4154         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4155         UTF-2000.
4156
4157         * lisp.h (make_older_vector): New prototype in UTF-2000.
4158
4159 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4160
4161         * lrecord.h (enum lrecord_type): Rename
4162         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4163
4164         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4165         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4166         `get_char_code_table'.
4167
4168         * mule-charset.c (mark_char_id_table): Renamed from
4169         `mark_char_code_table'.
4170         (char_id_table_equal): Renamed from `char_code_table_equal'.
4171         (char_id_table_hash): Renamed from `char_code_table_hash'.
4172         (make_char_id_table): Renamed from `make_char_code_table'.
4173         (copy_char_id_table): Renamed from `copy_char_code_table'.
4174         (get_char_id_table): Renamed from `get_char_code_table'.
4175         (put_char_id_table): Renamed from `put_char_code_table'.
4176         (to_char_id): Renamed from `to_char_code'.
4177
4178         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4179         `Lisp_Char_Code_Table'.
4180         (char_id_table): Renamed from `char_code_table'.
4181         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4182         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4183         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4184         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4185         (get_char_id_table): Renamed from `get_char_code_table'.
4186
4187 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4188
4189         * lrecord.h (enum lrecord_type): Rename
4190         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4191
4192         * mule-charset.c (mark_byte_table): Renamed from
4193         `mark_char_byte_table'.
4194         (byte_table_equal): Renamed from `char_byte_table_equal'.
4195         (byte_table_hash): Renamed from `byte_table_hash'.
4196         (make_byte_table): Renamed from `make_byte_table'.
4197         (copy_byte_table): Renamed from `copy_char_byte_table'.
4198
4199         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4200         `Lisp_Char_Byte_Table'.
4201         (byte_table): Renamed from `char_byte_table'.
4202         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4203         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4204         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4205         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4206
4207 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4208
4209         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4210         (dfc_convert_to_internal_format): Likewise.
4211         
4212         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4213         * text-coding.c (Fcoding_system_alias_p): New function.
4214         * text-coding.c (Fcoding_system_aliasee): New function.
4215         * text-coding.c (append_suffix_to_symbol): New function.
4216         * text-coding.c (dangling_coding_system_alias_p): New function.
4217         * text-coding.c (Ffind_coding_system):
4218         * text-coding.c (Fcopy_coding_system):
4219         * text-coding.c (encode_coding_no_conversion):
4220         * text-coding.c (syms_of_file_coding):
4221         * text-coding.c (vars_of_file_coding):
4222         Rewrite coding system alias code.
4223         Allow nested aliases, like symbolic links.
4224         Allow redefinition of coding system aliases.
4225         Prevent existence of dangling coding system aliases.
4226         Eliminate convert_to_external_format.
4227         Eliminate convert_to_internal_format.
4228         
4229         * text-coding.c: Change enum eol_type to eol_type_t.
4230
4231 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4232
4233         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4234         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4235
4236         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4237         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4238
4239 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4240
4241         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4242         `ideograph-daikanwa'.
4243
4244         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4245         (Vcharset_ucs_bmp): Likewise.
4246         (Vcharset_mojikyo): Add new extern variable definition.
4247         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4248         (Vcharset_latin_iso8859_3): Likewise.
4249         (Vcharset_latin_iso8859_4): Likewise.
4250         (Vcharset_latin_iso8859_9): Likewise.
4251         (Vcharset_latin_viscii_lower): Likewise.
4252         (Vcharset_latin_viscii_upper): Likewise.
4253         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4254         `mojikyo' code-point is used to decode.
4255         (encode_char_2): New function [to convert `mojikyo' code-point to
4256         Mojikyo font encoding].
4257         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4258         (breakup_char_1): Likewise.
4259         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4260
4261 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4262
4263         * text-coding.c (Fmake_coding_system): Add document about
4264         `disable-composition' property.
4265
4266 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4267
4268         * text-coding.c (Qdisable_composition): New variable; delete
4269         `Qcomposite'.
4270         (Fmake_coding_system): Add new property `disable-composite';
4271         delete property `composite'.
4272         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4273         instead of `!CODING_SYSTEM_COMPOSITE'.
4274         (syms_of_file_coding): Add new symbol `disable-composition';
4275         delete symbol `composite'.
4276
4277         * file-coding.h (struct Lisp_Coding_System): Add
4278         `disable_composition'; delete `enable_composition'.
4279         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4280         `CODING_SYSTEM_COMPOSITE'.
4281         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4282         `XCODING_SYSTEM_COMPOSITE'.
4283
4284 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4285
4286         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4287         to 0.15.
4288
4289 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4290
4291         * text-coding.c (Qcomposite): New variable.
4292         (Fmake_coding_system): Add new property `composite'.
4293         (struct decoding_stream): Add `combined_char_count',
4294         `combined_chars' and `combining_table' in UTF-2000.
4295         (COMPOSE_FLUSH_CHARS): New macro.
4296         (COMPOSE_ADD_CHAR): New macro.
4297         (reset_decoding_stream): Reset `str->combined_char_count' and
4298         `str->combining_table' in UTF-2000.
4299         (decode_coding_iso2022): Modify for character-decomposition.
4300         (syms_of_file_coding): Add new symbol `composite'.
4301
4302 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4303
4304         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4305         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4306         of `Vcharacter_composition_table' if `->decomposition' property
4307         has only 1 element.
4308         (Qlatin_tcvn5712): New variable.
4309         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4310         (complex_vars_of_mule_charset): Add new coded-charset
4311         `latin-tcvn5712'.
4312
4313         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4314
4315 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4316
4317         * file-coding.h (struct Lisp_Coding_System): Add
4318         `enable_composition'.
4319         (CODING_SYSTEM_COMPOSITE): New macro.
4320         (XCODING_SYSTEM_COMPOSITE): New macro.
4321
4322 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4323
4324         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4325
4326 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4327
4328         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4329         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4330
4331 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4332
4333         * mule-charset.c (Vcharset_mojikyo): New variable.
4334         (Fdefine_char): Don't use coded-charset which does not have
4335         non-builtin character range to allocate character-id.
4336         (Qmojikyo): New variable.
4337         (syms_of_mule_charset): Add new symbol `mojikyo'.
4338         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4339
4340         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4341         (LEADING_BYTE_MOJIKYO): New macro.
4342         (MIN_CHAR_MOJIKYO): New macro.
4343         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4344         (MAX_CHAR_MOJIKYO): New macro.
4345
4346 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4347
4348         * mule-charset.c (remove_char_attribute): Fixed.
4349
4350 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4351
4352         * mule-charset.c (remove_char_attribute): New function.
4353         (Fremove_char_attribute): New function.
4354         (encode_builtin_char_1): Comment out builtin-support for
4355         greek-iso8859-7 and cyrillic-iso8859-5.
4356         (Fdecode_char): Check `code' is an integer.
4357         (syms_of_mule_charset): Add `remove-char-attribute'.
4358         (MIN_CHAR_GREEK): Deleted.
4359         (MAX_CHAR_GREEK): Likewise.
4360         (MIN_CHAR_CYRILLIC): Likewise.
4361         (MAX_CHAR_CYRILLIC): Likewise.
4362         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4363         MAX_CHAR_GREEK for `greek-iso8859-7'.
4364
4365         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4366         (MAX_CHAR_GREEK): Likewise.
4367         (MIN_CHAR_CYRILLIC): Likewise.
4368         (MAX_CHAR_CYRILLIC): Likewise.
4369
4370 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4371
4372         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4373         format is used without `ucs' property.
4374         (Fdecode_char): Fix problem with GR representation.
4375         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4376         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4377
4378 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4379
4380         * mule-charset.c (make_builtin_char): New function.
4381         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4382         (Fset_charset_mapping_table): Modify for new representation of
4383         code-point.
4384         (Fdecode_char): New function.
4385         (syms_of_mule_charset): Add new builtin function `decode-char' in
4386         UTF-2000.
4387
4388         * char-ucs.h (make_builtin_char): New prototype.
4389         (DECODE_CHAR): New inline function.
4390         (MAKE_CHAR): Use `DECODE_CHAR'.
4391
4392 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4393
4394         * text-coding.c (parse_charset_conversion_specs): Use
4395         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4396         `XCHARSET_TYPE'.
4397         (iso2022_designate): Likewise.
4398
4399         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4400         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4401
4402         * mule-charset.c (Vcharset_ucs): New variable.
4403         (print_charset): Change design; use `CHARSET_CHARS' and
4404         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4405         (make_charset): Change signature to specify `chars' and
4406         `dimension' instead of `type'.
4407         (range_charset_code_point): Modify for 256^n-set.
4408         (encode_builtin_char_1): Encode as `ucs' in default.
4409         (Fmake_charset): Modify for `make_charset'.
4410         (Fmake_reverse_direction_charset): Likewise.
4411         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4412         UTF-2000.
4413         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4414         for `make_charset'.
4415
4416         * char-ucs.h (Vcharset_ucs): New variable.
4417         (LEADING_BYTE_UCS): New macro.
4418         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4419         and `chars' to `unsigned short' from `unsigned int'.
4420         (CHARSET_TYPE): Deleted.
4421         (XCHARSET_TYPE): Deleted.
4422
4423 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4424
4425         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4426
4427         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4428         (ENCODE_CHAR): New macro.
4429
4430 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4431
4432         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4433         to 0.14 (Kawachi-Katakami).
4434
4435 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4436
4437         * text-coding.c (char_encode_shift_jis): Modify for
4438         `charset_code_point'.
4439         (char_encode_iso2022): Likewise.
4440
4441         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4442         (integer) instead of list of <Lisp_Object>s (integers) as the
4443         format of code-point of a coded-charset.
4444         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4445         (encode_builtin_char_1): New function; delete
4446         `split_builtin_char'.
4447         (charset_code_point): Return <int> instead of <Lisp_Object>.
4448         (Fsplit_char): Don't use `SPLIT_CHAR'.
4449
4450         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4451         prototype for `split_builtin_char'.
4452         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4453         (charset_code_point): Likewise.
4454         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4455         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4456
4457 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4458
4459         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4460         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4461
4462 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4463
4464         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4465
4466         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4467         (MAX_CHAR_OBS_94x94): Deleted.
4468
4469 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4470
4471         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4472
4473         * char-ucs.h (MAX_CHAR_BMP): New macro.
4474
4475 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4476
4477         * text-coding.c: Sync with r21-2-24.
4478
4479 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4480
4481         * file-coding.c: Modify for UTF-2000.
4482
4483 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4484
4485         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4486         to 0.13 (Takaida).
4487
4488 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4489
4490         * mule-charset.c (split_builtin_char): Delete builtin support for
4491         `katakana-jisx0201'.
4492         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4493         BMP area in builtin representation.
4494
4495         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4496         `Vcharset_katakana_jisx0201'.
4497
4498 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4499
4500         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4501         (Qisolated): New variable.
4502         (Qinitial): New variable.
4503         (Qmedial): New variable.
4504         (Qfinal): New variable.
4505         (Qvertical): New variable.
4506         (Qsmall): New variable.
4507         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4508         `Qvertical' and `Qsmall'.
4509         (Qmojikyo_pj_[1 .. 21]): New variable.
4510         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4511         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4512         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4513         .. 21]'.
4514
4515 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4516
4517         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4518         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4519         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4520
4521 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4522
4523         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4524         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4525         BMP.
4526         (Qjapanese_jisx0208_1990): New variable.
4527         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4528         (complex_vars_of_mule_charset): Add new coded-charset
4529         `japanese-jisx0208-1990'.
4530
4531         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4532         (MIN_CHAR_JIS_X0208_1990): New macro.
4533         (MAX_CHAR_JIS_X0208_1990): New macro.
4534
4535 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4536
4537         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4538         coded-charset is not found.
4539
4540 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4541
4542         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4543         (Fdefine_char): Use `Fmake_char'.
4544
4545 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4546
4547         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4548         (Vcharset_hiragana_jisx0208): Deleted.
4549         (Vcharset_katakana_jisx0208): Deleted.
4550         (Qideograph_daikanwa): New variable.
4551         (Qhiragana_jisx0208): Deleted.
4552         (Qkatakana_jisx0208): Deleted.
4553         (split_builtin_char): Split `ideograph-daikanwa'.
4554         (Fsplit_char): New implementation for UTF-2000.
4555         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4556         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4557         (complex_vars_of_mule_charset): Add new coded-charset
4558         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4559         `katakana-jisx0208'.
4560
4561         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4562         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4563         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4564         (MIN_CHAR_DAIKANWA): New macro.
4565         (MAX_CHAR_DAIKANWA): New macro.
4566
4567 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4568
4569         * data.c (Fstring_to_number): Don't recognize floating point if
4570         base is not 10.
4571
4572 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4573
4574         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4575
4576 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4577
4578         * mule-charset.c (Qsquare): New variable.
4579         (to_char_code): Add `Qsquare'.
4580         (syms_of_mule_charset): Add new symbol `square'.
4581
4582 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4583
4584         * mule-charset.c (Qcircle): New variable.
4585         (to_char_code): Add `Qcircle'.
4586         (syms_of_mule_charset): Add new symbol `circle'.
4587
4588 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4589
4590         * mule-charset.c (Qfont): New variable.
4591         (to_char_code): Add `Qfont'.
4592         (syms_of_mule_charset): Add new symbol `font'.
4593
4594 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4595
4596         * mule-charset.c (Qsub): New variable.
4597         (to_char_code): Add `Qsub'.
4598         (syms_of_mule_charset): Add new symbol `sub'.
4599
4600 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4601
4602         * mule-charset.c (Fput_char_attribute): Convert each element of
4603         VALUE to GL position if ATTRIBUTE is a GR-set,
4604
4605 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4606
4607         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4608         coded-charset is a GR-set.
4609
4610 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4611
4612         * mule-charset.c (Fput_char_attribute): Check each element of
4613         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4614
4615 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4616
4617         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4618         UTF-2000.
4619         (Qethiopic_ucs): New variable in UTF-2000.
4620         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4621         (complex_vars_of_mule_charset): Add new coded-charset
4622         `ethiopic-ucs' in UTF-2000.
4623
4624         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4625         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4626         9)'.
4627         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4628         10)'.
4629         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4630
4631 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4632
4633         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4634         `ascii'.
4635
4636 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4637
4638         * mule-charset.c (Vcharacter_variant_table): New variable.
4639         (Q_ucs): New variable.
4640         (Fchar_variants): New function.
4641         (Fput_char_attribute): Register `->ucs' value to
4642         `Vcharacter_variant_table'.
4643         (syms_of_mule_charset): Add new function `char-variants' and new
4644         symbol `->ucs'.
4645         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4646
4647 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4648
4649         * mule-charset.c (get_char_code_table): Allow negative character
4650         code.
4651         (put_char_code_table): Likewise.
4652         (Vcharacter_composition_table): New variable.
4653         (Q_decomposition): New variable.
4654         (Qwide): New variable.
4655         (Qnarrow): New variable.
4656         (Qcompat): New variable.
4657         (QnoBreak): New variable.
4658         (Qsuper): New variable.
4659         (Qfraction): New variable.
4660         (to_char_code): New function.
4661         (Fget_composite_char): New function.
4662         (Fput_char_attribute): Register `->decomposition' value to
4663         `Vcharacter_composition_table'.
4664         (syms_of_mule_charset): Add new function `get-composite-char', new
4665         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4666         `super' and `fraction'.
4667         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4668
4669 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4670
4671         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4672         character; copy the return value.
4673
4674 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4675
4676         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4677
4678         * mule-charset.c (range_charset_code_point): Must use make_int.
4679         (split_builtin_char): New function.
4680
4681 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4682
4683         * mule-charset.c (char_byte_table): Change name from
4684         "char-code-table" to "char-byte-table".
4685         (mark_char_code_table): New function.
4686         (char_code_table_equal): New function.
4687         (char_code_table_hash): New function.
4688         (char_code_table_description): New constant.
4689         (char_code_table): New type.
4690         (make_char_code_table): New function.
4691         (copy_char_code_table): New function.
4692         (get_char_code_table): Modify for `char_code_table' type.
4693         (put_char_code_table): Likewise.
4694         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4695         (Kashiwara).
4696
4697         * char-ucs.h (char_code_table): New type.
4698         (XCHAR_CODE_TABLE): New macro.
4699         (XSETCHAR_CODE_TABLE): New macro.
4700         (CHAR_CODE_TABLE_P): New macro.
4701         (GC_CHAR_CODE_TABLE_P): New macro.
4702         (struct Lisp_Char_Code_Table): New structure.
4703
4704 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4705
4706         * mule-charset.c (Fmake_charset): Setup byte_offset for
4707         {94|96}^n-set.
4708
4709 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4710
4711         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4712         character.
4713
4714 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4715
4716         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4717         is found.
4718
4719 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4720
4721         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4722         charset, it is regarded as a charset.
4723         (put_char_attribute): New function in UTF-2000.
4724         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4725         charset, mapping-table of the charset is modified.
4726         (Fdefine_char): New function in UTF-2000.
4727         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4728         `Fput_char_attribute'.
4729         (syms_of_mule_charset): Add new function `define-char' and new
4730         symbol `ucs' in UTF-2000.
4731         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4732
4733 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4734
4735         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4736         non-UTF-2000 configuration.
4737
4738 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4739
4740         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4741         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4742
4743         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4744         deleted.
4745         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4746         (Fset_charset_mapping_table): Likewise.
4747
4748         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4749         (CHARSET_ENCODING_TABLE): Delete.
4750         (XCHARSET_ENCODING_TABLE): Delete.
4751         (charset_code_point): New interface.
4752
4753 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4754
4755         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4756         instead of `charset_get_byte1' and `charset_get_byte2'.
4757
4758         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4759         (charset_get_byte2): Deleted.
4760
4761 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4762
4763         * char-ucs.h (SPLIT_CHAR): New inline function.
4764         (breakup_char_1): Use `SPLIT_CHAR'.
4765
4766         * mule-charset.c (range_charset_code_point): New function.
4767         (charset_code_point): New function.
4768
4769         * char-ucs.h (range_charset_code_point): New interface.
4770         (breakup_char_1): Use `range_charset_code_point'.
4771
4772 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4773
4774         * mule-charset.c (Fmake_charset): Delete unused local variable
4775         `code_offset'.
4776
4777         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4778         (breakup_char_1): Find a charset and code-point in
4779         `Vcharacter_attribute_table'.
4780
4781 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4782
4783         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4784         to 0.10 (Yao).
4785
4786 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4787
4788         * mule-charset.c (Vcharacter_attribute_table): New variable.
4789         (Fchar_attribute_alist): New function.
4790         (Fget_char_attribute): New function.
4791         (Fput_char_attribute): New function.
4792         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4793         too.
4794         (syms_of_mule_charset): Add new function `char-attribute-alist',
4795         `get-char-attribute' and `put-char-attribute'.
4796         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4797
4798 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4799
4800         * mule-charset.c (Fmake_charset): Just use
4801         `get_unallocated_leading_byte'.
4802
4803         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4804         sets; don't use final-byte based number for private sets.
4805
4806 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4807
4808         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4809         integer.
4810
4811 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4812
4813         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4814         to 0.9.
4815
4816 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4817
4818         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4819         of `CHAR_LEADING_BYTE' in UTF-2000.
4820
4821         * insdel.c (find_charsets_in_bufbyte_string): Use
4822         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4823         (find_charsets_in_emchar_string): Likewise.
4824
4825         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4826         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4827
4828         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4829         (CHAR_CHARSET_ID): New macro.
4830
4831 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4832
4833         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4834         charset-id - MIN_LEADING_BYTE.
4835         (put_char_table): Likewise.
4836
4837 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4838
4839         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4840         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4841         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4842         (CHARSET_ID_OFFSET): New macro.
4843         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4844         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4845         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4846         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4847         4).
4848         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4849         5).
4850         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4851         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4852         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4853         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4854         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4855
4856 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4857
4858         * mule-charset.c (next_allocated_leading_byte): New variable in
4859         UTF-2000.
4860         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4861         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4862         (get_unallocated_leading_byte): Simply use
4863         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4864         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4865         UTF-2000.
4866
4867         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4868         (MAX_LEADING_BYTE_PRIVATE): New macro.
4869         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4870         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4871
4872 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4873
4874         * mule-charset.c (Fmake_charset): Allocate final-byte based
4875         charset-id for 94-set, 96-set and 94x94-set.
4876
4877 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4878
4879         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4880         ambiguous `else'.
4881         (Fmake_charset): Likewise.
4882         (complex_vars_of_mule_charset): Modify the font registry of
4883         `ucs-bmp' not to match `Ethiopic-Unicode'.
4884
4885 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4886
4887         * mule-charset.c (complex_vars_of_mule_charset): Add font
4888         registory of `ucs-bmp'.
4889
4890 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4891
4892         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4893         coded-charsets in `default-coded-charset-priority-list' when
4894         breaking up a character.
4895
4896         * mule-charset.c (Vcharset_latin_viscii): New variable.
4897         (Qlatin_viscii): New variable.
4898         (make_charset): Don't use `decoding_table'.
4899         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4900         byte_offset.
4901         (Fset_charset_mapping_table): New implementation.
4902         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4903         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4904         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4905         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4906         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4907         charset `latin_viscii'.
4908
4909         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4910         (CHARSET_TYPE_94X94): Change to 1 from 2.
4911         (CHARSET_TYPE_96): Change to 2 from 1.
4912         (CHARSET_TYPE_128): New macro.
4913         (CHARSET_TYPE_128X128): Change to 5 from 4.
4914         (CHARSET_TYPE_256): New macro.
4915         (CHARSET_TYPE_256X256): Change to 7 from 5.
4916         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4917
4918 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4919
4920         * text-coding.c (char_encode_shift_jis): Refer
4921         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4922         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4923
4924         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4925         (char_byte_table_equal): New function in UTF-2000.
4926         (char_byte_table_hash): New function in UTF-2000.
4927         (char_byte_table_description): New constant in UTF-2000.
4928         (char_byte_table): New type in UTF-2000.
4929         (make_char_byte_table): New function in UTF-2000.
4930         (copy_char_byte_table): New function in UTF-2000.
4931         (make_char_code_table): New macro in UTF-2000.
4932         (get_char_code_table): New function in UTF-2000.
4933         (put_char_code_table): New function in UTF-2000.
4934         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4935         (charset_description): Add setting in UTF-2000.
4936         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4937         `CHARSET_TO_BYTE1_TABLE(cs)'.
4938         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4939         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4940         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4941         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4942         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4943         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4944         `CHARSET_TO_BYTE2_TABLE(cs)'.
4945
4946         * char-ucs.h (char_byte_table): New type.
4947         (XCHAR_BYTE_TABLE): New macro.
4948         (XSETCHAR_BYTE_TABLE): New macro.
4949         (CHAR_BYTE_TABLE_P): New macro.
4950         (GC_CHAR_BYTE_TABLE_P): New macro.
4951         (struct Lisp_Char_Byte_Table): New structure.
4952         (get_char_code_table): New interface.
4953         (Emchar_to_byte_table): Deleted.
4954         (get_byte_from_character_table): Deleted.
4955         (struct Lisp_Charset): Add `encoding_table'; delete
4956         `to_byte1_table' and `to_byte2_table'.
4957         (CHARSET_ENCODING_TABLE): New macro.
4958         (CHARSET_TO_BYTE1_TABLE): Deleted.
4959         (CHARSET_TO_BYTE2_TABLE): Deleted.
4960         (XCHARSET_ENCODING_TABLE): New macro.
4961         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4962         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4963
4964 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4965
4966         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4967         `vietnamese-viscii-*'.
4968
4969 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4970
4971         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4972         (Qvietnamese_viscii_upper): New variable.
4973         (Fdefine_charset_alias): New function.
4974         (syms_of_mule_charset): Add new function `define-charset-alias'.
4975         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4976         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4977         `latin-viscii-*'.
4978
4979 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4980
4981         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4982         (MAX_CHAR_OBS_94x94): New macro.
4983         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4984         for 94x94 sets.
4985
4986         * mule-charset.c (put_byte_from_character_table): Change unit size
4987         from 128 to 256.
4988         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4989         not defined.
4990         (Fmake_reverse_direction_charset): Modify dummy argument of
4991         `make_charset' for non-UTF-2000 environment.
4992
4993 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4994
4995         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4996
4997         * mule-charset.c (destroy_byte_from_character_table): New macro.
4998         (latin_jisx0201_to_ucs): Deleted.
4999         (latin_iso8859_2_to_ucs): Deleted.
5000         (latin_iso8859_3_to_ucs): Deleted.
5001         (latin_iso8859_4_to_ucs): Deleted.
5002         (latin_iso8859_9_to_ucs): Deleted.
5003         (latin_viscii_lower_to_ucs): Deleted.
5004         (latin_viscii_upper_to_ucs): Deleted.
5005         (mark_charset): Mark `cs->decoding_table'.
5006         (Fcharset_mapping_table): Fix DOC-string.
5007         (Fset_charset_mapping_table): New function.
5008         (syms_of_mule_charset): Add nwe function
5009         `set-charset-mapping-table'.
5010         (complex_vars_of_mule_charset): Don't setup and use
5011         `latin_*_to_ucs'.
5012
5013 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5014
5015         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5016         charset.
5017
5018 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5019
5020         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5021         (Vcharset_katakana_jisx0208): New variable.
5022         (Qhiragana_jisx0208): New variable.
5023         (Qkatakana_jisx0208): New variable.
5024         (make_charset): Add new argument `byte_offset'.
5025         (charset_get_byte1): Modify for new coded-charset definition; use
5026         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5027         `XCHARSET_BYTE_OFFSET'.
5028         (Fmake_charset): Modify for `make_charset'.
5029         (Fmake_reverse_direction_charset): Likewise.
5030         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5031         `katakana-jisx0208'.
5032         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5033         `.'  in font registry of charset `katakana-jisx0201',
5034         `latin-jisx0201', `vietnamese-viscii-lower' and
5035         `vietnamese-viscii-upper'; modify DOC-string of charset
5036         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5037         registry of charset `japanese-jisx0208' not to use font for JIS
5038         X0208:1990; add new charset `hiragana-jisx0208' and
5039         `katakana-jisx0208'.
5040
5041         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5042         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5043         (struct Lisp_Charset): Add `byte_offset'.
5044         (CHARSET_BYTE_OFFSET): New macro.
5045         (XCHARSET_UCS_MIN): New macro.
5046         (XCHARSET_UCS_MAX): New macro.
5047         (XCHARSET_CODE_OFFSET): New macro.
5048         (XCHARSET_BYTE_OFFSET): New macro.
5049         (MIN_CHAR_HIRAGANA): New macro.
5050         (MAX_CHAR_HIRAGANA): New macro.
5051         (MIN_CHAR_KATAKANA): New macro.
5052         (MAX_CHAR_KATAKANA): New macro.
5053         (MAKE_CHAR): Modify for new coded-charset definition; use
5054         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5055         `XCHARSET_BYTE_OFFSET'.
5056
5057 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5058
5059         * mule-charset.c (CHAR96): Deleted.
5060         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5061         <Lisp_Object>.
5062         (latin_iso8859_2_to_ucs): Likewise.
5063         (latin_iso8859_3_to_ucs): Likewise.
5064         (latin_iso8859_4_to_ucs): Likewise.
5065         (latin_iso8859_9_to_ucs): Likewise.
5066         (latin_viscii_lower_to_ucs): Likewise.
5067         (latin_viscii_upper_to_ucs): Likewise.
5068         (latin_tcvn5712_to_ucs): Commented out.
5069         (make_charset): Change type of argument `decoding_table' from
5070         <Emchar*> to <Lisp_Object> [vector of characters].
5071         (Fmake_charset): Modify for `make_charset'.
5072         (Fmake_reverse_direction_charset): Likewise.
5073         (Fcharset_mapping_table): New function in UTF-2000.
5074         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5075         UTF-2000.
5076         (complex_vars_of_mule_charset): Modify for type change of
5077         `*_to_ucs'; modify for `make_charset'.
5078
5079         * char-ucs.h (struct Lisp_Charset): Change type of
5080         `decoding_table' from <Emchar*> to <Lisp_Object>.
5081         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5082
5083 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5084
5085         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5086         error with non-UTF-2000-Mule.
5087
5088 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5089
5090         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5091         in lisp again].
5092         (Vcharset_chinese_cns11643_4): Likewise.
5093         (Vcharset_chinese_cns11643_5): Likewise.
5094         (Vcharset_chinese_cns11643_6): Likewise.
5095         (Vcharset_chinese_cns11643_7): Likewise.
5096         (Qchinese_cns11643_3): Likewise.
5097         (Qchinese_cns11643_4): Likewise.
5098         (Qchinese_cns11643_5): Likewise.
5099         (Qchinese_cns11643_6): Likewise.
5100         (Qchinese_cns11643_7): Likewise.
5101         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5102         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5103         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5104         (complex_vars_of_mule_charset): Likewise.
5105
5106 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5107
5108         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5109         96-set.
5110         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5111         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5112
5113 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5114
5115         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5116         0xFF60.
5117         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5118         (breakup_char_1): Likewise.
5119
5120         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5121         one of them includes the specified character.
5122
5123 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5124
5125         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5126
5127 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5128
5129         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5130
5131 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5132
5133         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5134         definition for non-UTF-2000 Mule.
5135         (latin_iso8859_3_to_ucs): Likewise.
5136         (latin_iso8859_4_to_ucs): Likewise.
5137         (latin_iso8859_9_to_ucs): Likewise.
5138         (latin_jisx0201_to_ucs): Likewise.
5139         (MIN_CHAR_THAI): Likewise.
5140         (MAX_CHAR_THAI): Likewise.
5141         (MIN_CHAR_GREEK): Likewise.
5142         (MAX_CHAR_GREEK): Likewise.
5143         (MIN_CHAR_HEBREW): Likewise.
5144         (MAX_CHAR_HEBREW): Likewise.
5145         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5146         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5147         (MIN_CHAR_CYRILLIC): Likewise.
5148         (MAX_CHAR_CYRILLIC): Likewise.
5149
5150 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5151
5152         * char-ucs.h (breakup_char_1): Use
5153         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5154         thai-tis620 and katakana-jisx0201 area.
5155
5156 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5157
5158         * char-ucs.h (breakup_char_1): Use
5159         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5160         area.
5161
5162         * text-coding.c (reset_encoding_stream): Fixed.
5163         (char_encode_ucs4): Delete `& 255'.
5164
5165         * char-ucs.h (breakup_char_1): Use
5166         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5167
5168 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5169
5170         * file-coding.c (Fmake_coding_system): Don't set up
5171         `codesys->fixed.size'.
5172         (encode_coding_no_conversion): Don't refer
5173         `str->codesys->fixed.size'.
5174
5175 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5176
5177         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5178         (latin_a_char_to_byte1): Deleted.
5179         (latin_a_char_to_byte2): Deleted.
5180
5181 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5182
5183         * mule-charset.c (make_charset): Add new argument `ucs_min',
5184         `ucs_max' and `code_offset'.
5185         (charset_get_byte1): New implementation [delete specific charset
5186         depended implementations].
5187         (Fmake_charset): Modify for `make_charset'.
5188         (Fmake_reverse_direction_charset): Likewise.
5189         (complex_vars_of_mule_charset): Likewise.
5190
5191         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5192         `code_offset'.
5193         (CHARSET_UCS_MIN): New macro.
5194         (CHARSET_UCS_MAX): New macro.
5195         (CHARSET_CODE_OFFSET): New macro.
5196         (MAKE_CHAR): Delete charset depended definitions [except
5197         katakana-jisx0201].
5198
5199 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5200
5201         * char-ucs.h (breakup_char_1): Use
5202         `Vdefault_coded_charset_priority_list' for C0-Controls,
5203         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5204
5205 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5206
5207         * char-ucs.h (charset_get_byte1): New function.
5208         (XCHARSET_GET_BYTE1): Deleted.
5209         (charset_get_byte2): New function.
5210         (XCHARSET_GET_BYTE2): Deleted.
5211         (Vdefault_coded_charset_priority_list): New external variable.
5212         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5213         `Vdefault_preferred_coded_charset_list'.
5214
5215         * mule-charset.c (charset_get_byte1): New function.
5216         (charset_get_byte2): New function.
5217         (Vdefault_coded_charset_priority_list): New variable.
5218         (vars_of_mule_charset): Add new variable
5219         `default-coded-charset-priority-list'.
5220
5221 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5222
5223         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5224         (XCHARSET_GET_BYTE2): New inline function.
5225         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5226         `XCHARSET_GET_BYTE2'.
5227
5228 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5229
5230         * mule-charset.c (make_charset): Initialize
5231         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5232         NULL if table is not defined.
5233
5234 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5235
5236         * text-coding.c (char_encode_shift_jis): Use
5237         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5238         `ucs_to_latin_jisx0201'.
5239
5240         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5241         (ucs_to_latin_iso8859_2): Deleted.
5242         (ucs_to_latin_iso8859_3): Deleted.
5243         (ucs_to_latin_iso8859_4): Deleted.
5244         (ucs_to_latin_iso8859_9): Deleted.
5245         (ucs_to_latin_viscii_lower): Deleted.
5246         (ucs_to_latin_viscii_upper): Deleted.
5247         (ucs_to_latin_tcvn5712): Deleted.
5248         (make_charset): Add new argument `decoding_table'; set up
5249         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5250         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5251         `decoding_table' is defined in UTF-2000.
5252         (Fmake_charset): Modify for `make_charset'.
5253         (Fmake_reverse_direction_charset): Likewise.
5254         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5255         and `GENERATE_96_SET'.
5256
5257         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5258         (ucs_to_latin_jisx0201): Deleted.
5259         (latin_iso8859_2_to_ucs): Deleted.
5260         (ucs_to_latin_iso8859_2): Deleted.
5261         (latin_iso8859_3_to_ucs): Deleted.
5262         (ucs_to_latin_iso8859_3): Deleted.
5263         (latin_iso8859_4_to_ucs): Deleted.
5264         (ucs_to_latin_iso8859_4): Deleted.
5265         (latin_iso8859_9_to_ucs): Deleted.
5266         (ucs_to_latin_iso8859_9): Deleted.
5267         (latin_viscii_lower_to_ucs): Deleted.
5268         (ucs_to_latin_viscii_lower): Deleted.
5269         (latin_viscii_upper_to_ucs): Deleted.
5270         (ucs_to_latin_viscii_upper): Deleted.
5271         (struct Lisp_Charset): Renamed `encoding_table' to
5272         `to_byte1_table'; add `to_byte2_table'.
5273         (CHARSET_DECODING_TABLE): New macro.
5274         (CHARSET_TO_BYTE1_TABLE): New macro.
5275         (CHARSET_TO_BYTE2_TABLE): New macro.
5276         (XCHARSET_DECODING_TABLE): New macro.
5277         (XCHARSET_TO_BYTE1_TABLE): New macro.
5278         (XCHARSET_TO_BYTE2_TABLE): New macro.
5279         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5280         tables.
5281         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5282         don't use `ucs_to_*' tables.
5283
5284 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5285
5286         * text-coding.c (Fmake_coding_system): Don't set up
5287         `codesys->fixed.size'.
5288         (encode_coding_no_conversion): Use `if' instead of `switch'.
5289
5290         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5291
5292 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5293
5294         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5295         (Fmake_charset): Modify for `make_charset'.
5296         (Fmake_reverse_direction_charset): Likewise.
5297         (complex_vars_of_mule_charset): Likewise.
5298
5299 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5300
5301         * text-coding.c (char_encode_shift_jis): Use table
5302         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5303
5304 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5305
5306         * text-coding.c (text_encode_generic): Use `if' instead of
5307         `switch'.
5308         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5309         decode JIS-Latin.
5310
5311 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5312
5313         * text-coding.c (encode_coding_sjis): Deleted.
5314         (char_encode_shift_jis): New function.
5315         (char_finish_shift_jis): New function.
5316         (reset_encoding_stream): Set up `encode_char' and `finish' for
5317         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5318         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5319         (char_encode_utf8): Treat `eol_type'.
5320
5321 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5322
5323         * file-coding.c (decode_coding_iso2022): Use
5324         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5325
5326 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5327
5328         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5329         to 0.7 (Hirano).
5330
5331 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5332
5333         * char-lb.h (CHAR_COLUMNS): New macro.
5334
5335 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5336
5337         * text-coding.c (char_encode_ucs4): New function.
5338         (char_finish_ucs4): New function.
5339         (encode_coding_ucs4): Deleted.
5340         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5341         (text_encode_generic): Delete local variable `charset' and `half'.
5342         (ucs_to_mule_table): Deleted.
5343         (mule_to_ucs_table): Deleted.
5344         (Fset_ucs_char): Deleted.
5345         (ucs_to_char): Deleted.
5346         (Fucs_char): Deleted.
5347         (Fset_char_ucs): Deleted.
5348         (Fchar_ucs): Deleted.
5349         (decode_ucs4): Deleted.
5350         (mule_char_to_ucs4): Deleted.
5351         (encode_ucs4): Deleted.
5352         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5353         (decode_coding_utf8): Likewise.
5354         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5355         (char_encode_iso2022): Fixed.
5356         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5357         `Fset_char_ucs' and `Fchar_ucs'.
5358         (complex_vars_of_file_coding): Don't initialize
5359         `ucs_to_mule_table'.
5360
5361         * objects-tty.c (tty_initialize_font_instance): Don't use
5362         `XCHARSET_COLUMNS'.
5363
5364         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5365         UTF-2000.
5366
5367         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5368         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5369
5370         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5371         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5372         (emchar_string_displayed_columns): Likewise.
5373
5374         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5375         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5376         (string_column_at_point): Likewise.
5377         (Fmove_to_column): Likewise.
5378
5379         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5380         `encoding_table' and `decoding_table'.
5381         (CHARSET_REP_BYTES): Deleted.
5382         (XCHARSET_REP_BYTES): Deleted.
5383         (XCHARSET_COLUMNS): Deleted.
5384         (CHAR_COLUMNS): New macro.
5385         (lookup_composite_char): Deleted unconditionally.
5386         (composite_char_string): Likewise.
5387
5388 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5389
5390         * char-ucs.h (Emchar_to_byte_table): New type.
5391         (get_byte_from_character_table): New function interface.
5392         (Vcharset_latin_jisx0201): New variable.
5393         (latin_jisx0201_to_ucs): New variable.
5394         (ucs_to_latin_jisx0201): New variable.
5395         (Vcharset_latin_iso8859_2): New variable.
5396         (latin_iso8859_2_to_ucs): New variable.
5397         (ucs_to_latin_iso8859_2): New variable.
5398         (Vcharset_latin_iso8859_3): New variable.
5399         (latin_iso8859_3_to_ucs): New variable.
5400         (ucs_to_latin_iso8859_3): New variable.
5401         (Vcharset_latin_iso8859_4): New variable.
5402         (latin_iso8859_4_to_ucs): New variable.
5403         (ucs_to_latin_iso8859_4): New variable.
5404         (Vcharset_latin_iso8859_9): New variable.
5405         (latin_iso8859_9_to_ucs): New variable.
5406         (ucs_to_latin_iso8859_9): New variable.
5407         (Vcharset_latin_viscii_lower): New variable.
5408         (latin_viscii_lower_to_ucs): New variable.
5409         (ucs_to_latin_viscii_lower): New variable.
5410         (Vcharset_latin_viscii_upper): New variable.
5411         (latin_viscii_upper_to_ucs): New variable.
5412         (ucs_to_latin_viscii_upper): New variable.
5413         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5414         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5415         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5416         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5417         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5418         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5419         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5420         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5421         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5422         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5423
5424         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5425         (Vcharset_latin_viscii_upper): New variable.
5426         (make_byte_from_character_table): New function.
5427         (put_byte_from_character_table): New function.
5428         (get_byte_from_character_table): New function.
5429         (CHAR96): New macro.
5430         (ucs_to_latin_jisx0201): New variable.
5431         (latin_jisx0201_to_ucs): New variable.
5432         (ucs_to_latin_iso8859_2): New variable.
5433         (latin_iso8859_2_to_ucs): New variable.
5434         (ucs_to_latin_iso8859_3): New variable.
5435         (latin_iso8859_3_to_ucs): New variable.
5436         (ucs_to_latin_iso8859_4): New variable.
5437         (latin_iso8859_4_to_ucs): New variable.
5438         (ucs_to_latin_iso8859_9): New variable.
5439         (latin_iso8859_9_to_ucs): New variable.
5440         (ucs_to_latin_viscii_lower): New variable.
5441         (latin_viscii_lower_to_ucs): New variable.
5442         (ucs_to_latin_viscii_upper): New variable.
5443         (latin_viscii_upper_to_ucs): New variable.
5444         (ucs_to_latin_tcvn5712): New variable.
5445         (latin_tcvn5712_to_ucs): New variable.
5446         (Qlatin_viscii_lower): New variable.
5447         (Qlatin_viscii_upper): New variable.
5448         (syms_of_mule_charset): Set up new symbol
5449         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5450         (complex_vars_of_mule_charset): Set up new charset
5451         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5452         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5453         `ucs_to_<CHARSET>' tables.
5454
5455 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5456
5457         * text-coding.c: New file.
5458
5459 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5460
5461         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5462
5463         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5464         (MAKE_CHAR): Modify for `ucs-bmp'.
5465         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5466         non-MULE characters of BMP.
5467
5468 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5469
5470         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5471         to 0.6.
5472
5473 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5474
5475         * lstream.h:
5476         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5477         - Include character.h for `CHAR_ASCII_P'.
5478
5479         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5480
5481         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5482         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5483
5484         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5485         (BYTE_C0_P): Likewise.
5486         (BYTE_C1_P): Likewise.
5487         (Lstream_get_emchar_1): Likewise.
5488         (Lstream_fput_emchar): Likewise.
5489         (Lstream_funget_emchar): Likewise.
5490         (copy_internal_to_external): Likewise.
5491         (copy_external_to_internal): Likewise.
5492
5493         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5494         (BYTE_C0_P): Likewise.
5495         (BYTE_C1_P): Likewise.
5496         (Lstream_get_emchar_1): Likewise.
5497         (Lstream_fput_emchar): Likewise.
5498         (Lstream_funget_emchar): Likewise.
5499         (copy_internal_to_external): Likewise.
5500         (copy_external_to_internal): Likewise.
5501
5502         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5503         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5504
5505         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5506         (BYTE_ASCII_P): Moved to mb-1byte.h.
5507
5508 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5509
5510         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5511
5512         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5513         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5514         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5515         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5516         (VALIDATE_CHARPTR_FORWARD): Likewise.
5517         (simple_charptr_emchar): Moved to mb-multibyte.h.
5518         (simple_set_charptr_emchar): Likewise.
5519         (simple_charptr_copy_char): Likewise.
5520         (non_ascii_charptr_emchar): Likewise.
5521         (non_ascii_set_charptr_emchar): Likewise.
5522         (non_ascii_charptr_copy_char): Likewise.
5523         (charptr_emchar): Moved to mb-*byte.h.
5524         (set_charptr_emchar): Likewise.
5525         (charptr_copy_char): Likewise.
5526
5527         * mb-1byte.h, mb-multibyte.h: New files.
5528
5529 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5530
5531         * mb-utf-8.h (MULTIBYTE): New macro.
5532         (MAX_EMCHAR_LEN): Moved from buffer.h.
5533         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5534
5535         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5536
5537         * mb-lb.h, multibyte.h: New files.
5538
5539         * char-1byte.h (Charset_ID): Moved from buffer.h.
5540         (MIN_LEADING_BYTE): Likewise.
5541         (LEADING_BYTE_ASCII): Likewise.
5542         (NUM_LEADING_BYTES): Likewise.
5543         (CHARSETP): Likewise.
5544         (CHARSET_BY_LEADING_BYTE): Likewise.
5545         (XCHARSET_LEADING_BYTE): Likewise.
5546         (XCHARSET_GRAPHIC): Likewise.
5547         (XCHARSET_COLUMNS): Likewise.
5548         (XCHARSET_DIMENSION): Likewise.
5549         (CHAR_CHARSET): Likewise.
5550         (CHAR_LEADING_BYTE): Likewise.
5551         (BREAKUP_CHAR): Likewise.
5552         (Vcharset_ascii): Likewise.
5553
5554         * buffer.h: Include multibyte.h unconditionally.
5555         (VALID_CHARPTR_P): Moved to multibyte.h.
5556         (ASSERT_VALID_CHARPTR): Likewise.
5557         (REAL_INC_CHARPTR): Likewise.
5558         (REAL_INC_CHARBYTIND): Likewise.
5559         (REAL_DEC_CHARPTR): Likewise.
5560         (INC_CHARPTR): Likewise.
5561         (INC_CHARBYTIND): Likewise.
5562         (DEC_CHARPTR): Likewise.
5563         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5564         (VALIDATE_CHARPTR_FORWARD): Likewise.
5565         (charptr_n_addr): Likewise.
5566         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5567         (simple_charptr_emchar): Moved to multibyte.h.
5568         (simple_set_charptr_emchar): Likewise.
5569         (simple_charptr_copy_char): Likewise.
5570         (non_ascii_charptr_emchar): Likewise.
5571         (non_ascii_set_charptr_emchar): Likewise.
5572         (non_ascii_charptr_copy_char): Likewise.
5573         (charptr_emchar): Likewise.
5574         (set_charptr_emchar): Likewise.
5575         (charptr_copy_char): Likewise.
5576         (charptr_emchar_n): Likewise.
5577         (Charset_ID): Moved to char-1byte.h.
5578         (Vcharset_ascii): Likewise.
5579         (CHAR_CHARSET): Likewise.
5580         (CHAR_LEADING_BYTE): Likewise.
5581         (LEADING_BYTE_ASCII): Likewise.
5582         (NUM_LEADING_BYTES): Likewise.
5583         (MIN_LEADING_BYTE): Likewise.
5584         (CHARSETP): Likewise.
5585         (CHARSET_BY_LEADING_BYTE): Likewise.
5586         (XCHARSET_LEADING_BYTE): Likewise.
5587         (XCHARSET_GRAPHIC): Likewise.
5588         (XCHARSET_COLUMNS): Likewise.
5589         (XCHARSET_DIMENSION): Likewise.
5590         (BREAKUP_CHAR): Likewise.
5591
5592 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5593
5594         * character.h: Add document about interface for characters.
5595
5596         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5597         (MAKE_CHAR): Delete comment about
5598         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5599         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5600         (BREAKUP_CHAR): Modify name of arguments.
5601         (CHAR_CHARSET): Modify name of argument.
5602
5603         * buffer.h: Delete document about Emchar accessors.
5604
5605 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5606
5607         * character.h (CHAR_INTP): Moved from buffer.h
5608         (CHAR_OR_CHAR_INTP): Likewise.
5609         (XCHAR_OR_CHAR_INT): Likewise.
5610         (CHECK_CHAR_COERCE_INT): Likewise.
5611
5612         * buffer.h (CHAR_INTP): Moved to character.h
5613         (CHAR_OR_CHAR_INTP): Likewise.
5614         (XCHAR_OR_CHAR_INT): Likewise.
5615         (CHECK_CHAR_COERCE_INT): Likewise.
5616
5617 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5618
5619         * character.h:
5620         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5621         - Include char-1byte.h, char-lb.h or char-ucs.h.
5622
5623         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5624
5625         * buffer.h: Include character unconditionally.
5626         (valid_char_p): Moved to char-*.h.
5627         (non_ascii_valid_char_p): Moved to char-lb.h.
5628
5629         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5630
5631 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5632
5633         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5634         in UTF-2000 because it is not ported yet and not to use
5635         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5636         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5637         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5638
5639         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5640         (CHAR_ASCII_P): Moved from character.h.
5641
5642         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5643         (CHAR_ASCII_P): Likewise.
5644         (CHAR_FIELD1_MASK): Deleted.
5645         (CHAR_FIELD2_MASK): Deleted.
5646         (CHAR_FIELD3_MASK): Deleted.
5647         (MAX_CHAR_BASIC_LATIN): New macro.
5648         (CHAR_FIELD1): Deleted.
5649         (CHAR_FIELD2_INTERNAL): Deleted.
5650         (CHAR_FIELD3_INTERNAL): Deleted.
5651         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5652         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5653         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5654         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5655         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5656         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5657         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5658         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5659         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5660         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5661         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5662         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5663         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5664         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5665         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5666         (MIN_CHAR_COMPOSITION): Deleted.
5667         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5668         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5669
5670 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5671
5672         * buffer.h: Include mb-utf-8.h in UTF-2000.
5673
5674         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5675
5676         * mb-utf-8.h: New file.
5677
5678 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5679
5680         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5681         instead of `int'.
5682
5683         * mule-charset.h, buffer.h (Charset_ID): New type.
5684
5685 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5686
5687         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5688         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5689         instead of `MULE_CHAR_PRIVATE_OFFSET',
5690         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5691         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5692         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5693
5694         * character.h (Vcharset_japanese_jisx0212): New variable
5695         definition.
5696
5697 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5698
5699         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5700         (charset_by_attributes): Delete array about direction.
5701         (latin_a_char_to_charset): New variable in UTF-2000.
5702         (latin_a_char_to_byte1): New variable in UTF-2000.
5703         (latin_a_char_to_byte2): New variable in UTF-2000.
5704         (Qucs_bmp): New variable.
5705         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5706         `Bufbyte'.
5707         (next_allocated_2_byte_leading_byte): Likewise.
5708         (non_ascii_set_charptr_emchar): Likewise.
5709         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5710         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5711         `charset_by_attributes'.
5712         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5713         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5714         and `CHARSET_BY_LEADING_BYTE'.
5715         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5716         `utf-2000-version' to `vars_of_mule_charset'.
5717         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5718         define `leading-code-private-11' in UTF-2000; move setting of
5719         `utf-2000-version' from `syms_of_mule_charset'.
5720         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5721         UTF-2000.
5722
5723         * character.h (Charset_ID): New type.
5724         (LEADING_BYTE_UCS_BMP): New macro.
5725         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5726         (CHARSET_ID_OFFSET_94): New macro.
5727         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5728         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5729         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5730         final-byte.
5731         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5732         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5733         (CHARSET_ID_OFFSET_96): New macro.
5734         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5735         CHARSET_ID_OFFSET_96 and final-byte.
5736         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5737         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5738         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5739         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5740         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5741         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5742         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5743         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5744         (LEADING_BYTE_THAI_TIS620): Likewise.
5745         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5746         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5747         (CHARSET_ID_OFFSET_94x94): New macro.
5748         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5749         CHARSET_ID_OFFSET_94x94 and final-byte.
5750         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5751         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5752         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5753         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5754         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5755         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5756         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5757         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5758         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5759         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5760         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5761         (CHARSET_TYPE_128X128): New macro.
5762         (CHARSET_TYPE_256X256): New macro.
5763         (XCHARSET_PRIVATE_P): Delete unconditionally.
5764         (charset_by_attributes): Delete array about direction.
5765         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5766         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5767         (MIN_CHAR_94): New macro.
5768         (MAX_CHAR_94): New macro.
5769         (MIN_CHAR_96): New macro.
5770         (MAX_CHAR_96): New macro.
5771         (MIN_CHAR_94x94): New macro.
5772         (MAX_CHAR_94x94): New macro.
5773         (MIN_CHAR_96x96): New macro.
5774         (MAX_CHAR_96x96): New macro.
5775         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5776         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5777         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5778         - 32)'.
5779         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5780         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5781         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5782         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5783         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5784         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5785         `XCHARSET_LEADING_BYTE' to make code-point.
5786         (latin_a_char_to_charset): New variable.
5787         (latin_a_char_to_byte1): New variable.
5788         (latin_a_char_to_byte2): New variable.
5789         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5790         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5791         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5792
5793         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5794         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5795         (find_charsets_in_emchar_string): Likewise.
5796         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5797
5798         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5799         `int'.
5800         (decode_coding_iso2022): Likewise.
5801
5802         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5803         of `unsigned char'.
5804
5805         * redisplay.c (redisplay_text_width_emchar_string): Use
5806         `Charset_ID' instead of `unsigned char'.
5807         (redisplay_frame_text_width_string): Likewise.
5808
5809         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5810         `unsigned char'.
5811
5812         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5813         instead of `unsigned char'.
5814         (face_cachel_charset_font_metric_info): Likewise.
5815
5816         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5817         (get_non_ascii_char_table_value): Likewise.
5818         (get_char_table): Likewise.
5819         (put_char_table): Likewise.
5820         (map_over_other_charset): Likewise.
5821         (map_char_table): Likewise.
5822
5823         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5824         instead of `unsigned char'.
5825
5826 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5827
5828         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5829         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5830
5831         * mule-charset.c (leading_code_private_11): Don't define in
5832         UTF-2000.
5833
5834         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5835         in UTF-2000 because it is not ported yet and not to use
5836         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5837
5838 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5839
5840         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5841
5842 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5843
5844         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5845         in UTF-2000.
5846
5847         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5848         of unsigned char to store leading-byte.
5849
5850         * chartab.c (get_non_ascii_char_table_value): Don't use
5851         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5852
5853         * file-coding.c (encode_coding_big5): Delete bogus implementation
5854         in UTF2000.
5855
5856         * character.h (LEADING_BYTE_*): Delete definition for
5857         non-UTF-2000.
5858         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5859         (LEADING_BYTE_PREFIX_P): Deleted.
5860         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5861         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5862         (BUFBYTE_LEADING_BYTE_P): Deleted.
5863         (CHARSET_PRIVATE_P): Deleted unconditionally.
5864         (rep_bytes_by_first_byte): Deleted unconditionally.
5865         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5866         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5867         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5868         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5869         (CHAR_FIELD2): Deleted.
5870         (CHAR_FIELD3): Deleted.
5871         (MAKE_CHAR): Delete definition for non-UTF-2000.
5872         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5873         (breakup_char_1): New implementation.
5874         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5875         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5876
5877 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5878
5879         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5880         condition.
5881
5882 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5883
5884         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5885         (CHARSET_PRIVATE_P): Likewise.
5886         (XCHARSET_PRIVATE_P): Likewise.
5887         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5888
5889         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5890         UTF2000.
5891         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5892
5893 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5894
5895         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5896         (NUM_LEADING_BYTES): Changed from 128 to 256.
5897         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5898         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5899         UTF2000.
5900         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5901
5902         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5903         UTF2000.
5904         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5905         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5906         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5907         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5908         (Qchinese_cns11643_3): New variable in UTF2000.
5909         (Qchinese_cns11643_4): New variable in UTF2000.
5910         (Qchinese_cns11643_5): New variable in UTF2000.
5911         (Qchinese_cns11643_6): New variable in UTF2000.
5912         (Qchinese_cns11643_7): New variable in UTF2000.
5913         (syms_of_mule_charset): Define `chinese-cns11643-3',
5914         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5915         and `chinese-cns11643-7' in UTF2000.
5916         (vars_of_mule_charset): Initialize
5917         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5918         + 1 in UTF2000.
5919         (complex_vars_of_mule_charset): Setup charset
5920         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5921         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5922
5923 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5924
5925         * mule-charset.c: Move setting for `leading-code-private-11' from
5926         `syms_of_mule_charset' to `vars_of_mule_charset'.
5927
5928 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5929
5930         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5931         and `NUM_LEADING_BYTES' in assert.
5932
5933 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5934
5935         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5936         instead of 128.
5937         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5938         `NUM_LEADING_BYTES' instead of 128.
5939
5940 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5941
5942         * mule-charset.h (charset_by_leading_byte): Use
5943         `NUM_LEADING_BYTES' instead of 128.
5944         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5945
5946         * mule-charset.c (charset_by_leading_byte): Use
5947         `NUM_LEADING_BYTES' instead of 128.
5948         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5949
5950         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5951         128.
5952
5953 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5954
5955         * mule-charset.c (syms_of_mule_charset): Update to
5956         0.4 (Shin-Imamiya).
5957
5958 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5959
5960         * file-coding.c (encode_coding_sjis): New implementation for
5961         UTF2000.  (decode_coding_sjis): Ditto.
5962
5963 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5964
5965         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5966         Don't define in UTF2000.
5967
5968         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5969         defined.
5970
5971         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5972         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5973         MULE.
5974
5975 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5976
5977         * config.h.in (CHAR_IS_UCS4): New macro.
5978
5979         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5980         conventional MULE representation.
5981         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5982
5983         * mule-charset.h: Reverted to original.
5984
5985         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5986         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5987         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5988
5989         * character.h: New file.
5990
5991         * file-coding.c (Fmake_coding_system): Set 1 to
5992         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5993         defined.
5994         (encode_coding_no_conversion): New implementation for UTF2000.
5995
5996         * file-coding.h (struct Lisp_Coding_System): Add new member
5997         `fixed.size'.
5998
5999 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
6000
6001         * file-coding.c (decode_coding_iso2022): Code-point arguments of
6002         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
6003         (encode_coding_iso2022): New implementation for UTF2000.
6004
6005 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6006
6007         * mule-canna.c (c2mu): New implementation for UTF2000.
6008         (m2c): Likewise.
6009
6010 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6011
6012         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6013
6014 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6015
6016         * file-coding.c (reset_encoding_stream): Set 0 to
6017         `str->iso2022.current_char_boundary' in UTF2000.
6018         (encode_utf8): Don't define in UTF2000.
6019         (encode_coding_utf8): New implementation for UTF-8 representation
6020         of UTF2000.
6021         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6022
6023 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6024
6025         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6026
6027         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6028         UTF2000.
6029         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6030
6031         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6032
6033         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6034         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6035         as UTF-8 in UTF2000.
6036         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6037         (non_ascii_valid_char_p): Don't define in UTF2000.
6038         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6039         (Lstream_get_emchar_1): Likewise.
6040         (utf-2000-version): New variable in UTF2000.
6041
6042         * lread.c (read_escape): Add new reader `u'.
6043
6044         * insdel.c (three_to_one_table): Don't define in UTF2000.
6045         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6046         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6047         UTF2000.
6048         (bytind_to_bufpos_func): Likewise.
6049         (buffer_mule_signal_inserted_region): Likewise.
6050         (vars_of_insdel): Don't initialize `three_to_one_table'.
6051         (init_buffer_text): Use `buf->text->mule_size' instead of
6052         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6053         UTF2000.
6054
6055         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6056         UTF-8 representation in UTF2000.
6057         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6058         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6059         (decode_coding_iso2022): Don't define local variable `lb' in
6060         UTF2000; don't use LEADING_BYTE in UTF2000; use
6061         `DECODE_ADD_UCS_CHAR' in UTF2000.
6062         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6063
6064         * config.h.in (UTF2000): New macro.
6065
6066         * buffer.h (struct buffer_text): Add new member `mule_size' and
6067         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6068         (valid_char_p): Return always 1 in UTF2000.
6069         (MAX_EMCHAR_LEN): 6 in UTF2000.
6070         (three_to_one_table): Don't define in UTF2000.
6071         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6072         UTF2000.
6073         (real_bytind_to_bufpos): Likewise.
6074
6075         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6076
6077 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6078
6079         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6080         representation change.
6081         (Vutf_2000_version): New variable.
6082         (leading_code_private_11): New variable.
6083         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6084         `leading-code-private-11'.
6085
6086         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6087         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6088         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6089         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6090         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6091         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6092         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6093         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6094         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6095         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6096         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6097         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6098         (MIN_CHAR_GREEK): New macro.
6099         (MAX_CHAR_GREEK): New macro.
6100         (MIN_CHAR_CYRILLIC): New macro.
6101         (MAX_CHAR_CYRILLIC): New macro.
6102         (MIN_CHAR_HEBREW): New macro.
6103         (MAX_CHAR_HEBREW): New macro.
6104         (MIN_CHAR_THAI): New macro.
6105         (MAX_CHAR_THAI): New macro.
6106         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6107         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6108         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6109         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6110         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6111         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6112         (CHAR_FIELD2): New inline function.
6113         (CHAR_FIELD3): New inline function.
6114         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6115         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6116         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6117         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6118         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6119         (MIN_CHAR_COMPOSITION): Likewise.
6120         (CHAR_LEADING_BYTE): Modified for character representation change.
6121         (MAKE_CHAR): Likewise.
6122
6123         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6124         (Vcharset_greek_iso8859_7): Likewise.
6125         (Vcharset_cyrillic_iso8859_5): Likewise.
6126         (Vcharset_hebrew_iso8859_8): Likewise.
6127         (Vcharset_thai_tis620): Likewise.
6128         (Vcharset_katakana_jisx0201): Likewise.
6129
6130 2008-12-28  Vin Shelton  <acs@xemacs.org>
6131
6132         * XEmacs 21.4.22 is released
6133
6134 2008-12-27  Vin Shelton  <acs@xemacs.org>
6135
6136         * syswindows.h: Don't define wide character interfaces for Cygwin
6137         1.7 and up.
6138
6139 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6140
6141         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6142
6143 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6144
6145         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6146         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6147
6148 2008-12-25  Vin Shelton  <acs@xemacs.org>
6149
6150         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6151         By Julian Bradfield in
6152         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6153
6154         * mule-ccl.c (ccl_driver): 
6155
6156 2007-10-07  Vin Shelton  <acs@xemacs.org>
6157
6158         * XEmacs 21.4.21 is released
6159
6160 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6161
6162         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6163
6164 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6165
6166         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6167         (png_instantiate): Initialize setjmp_buffer early, and avoid
6168         recursive entry to error handler.
6169
6170 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6171
6172         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6173         a typo fix.
6174
6175 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6176
6177         * event-Xt.c (x_reset_modifier_mapping):
6178         * event-gtk.c (gtk_reset_modifier_mapping):
6179         Zero out the device's modifier map once we've freed it, to prevent
6180         a double free on a re-entrant call. 
6181
6182 2007-05-17  Vin Shelton  <acs@xemacs.org>
6183
6184         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6185         64-bit linux.  Patch from Hans de Graaff.
6186
6187 2007-05-02  Vin Shelton  <acs@xemacs.org>
6188
6189         * dumper.c (pdump): Don't close pdump_fd (already closed by
6190         fclose() call.  Patch from Steve Higham.
6191         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6192         already closed.  Patch inspired by Steve Higham.
6193
6194 2007-05-01  Vin Shelton  <acs@xemacs.org>
6195
6196         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6197         (mswindows_fstat): Ditto.
6198         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6199
6200 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6201
6202         * postgresql.c: Update Steve Baur's email address by his request.
6203         * postgresql.h: Ditto.
6204
6205 2007-01-04  Vin Shelton  <acs@xemacs.org>
6206
6207         * fileio.c (check_writable): Check old-style readonly bit only for
6208         non-directories.
6209
6210 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6211
6212         * src/fileio.c (check_writable): 
6213         Cope with the fact that the read-only attribute trumps Windows NTFS
6214         ACLS.
6215
6216
6217 2006-12-09  Vin Shelton  <acs@xemacs.org>
6218
6219         * XEmacs 21.4.20 is released
6220
6221 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6222
6223         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6224         relocated the definitions to be used sooner in file.
6225         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6226         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6227         overflow.
6228
6229 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6230
6231         * sound.c (init_native_sound):
6232         Only X11 and GTK devices can possibly not be on the console of the
6233         associated machine. Fixes a crash when init_native_sound is called
6234         on a msprinter device. 
6235
6236 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6237
6238         * buffer.c (buffer-file-name): Document invariant.
6239         (buffer-file-truename): Sync wording to buffer-file-name.
6240         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6241         and discussion.
6242
6243 2006-11-19  Benson Margulies  <benson@dchbk.us>
6244
6245         * fileio.c: Add code to use full Win32 API to check for write
6246         access.  Win32 has the general design policy that you aren't
6247         supposed to ask this question, since security checks change
6248         depending on asynchronous processes.  Nonetheless, there is a way,
6249         by acting as if we are a server doing interpretive access
6250         control.
6251
6252 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6253
6254         * bytecode.c: Use xnew_array instead of alloca.
6255
6256 2006-07-04  Vin Shelton  <acs@xemacs.org>
6257
6258         * redisplay-msw.c: Fix tiny, but crucial typo.
6259
6260 2006-06-22  Jerry James  <james@xemacs.org>
6261
6262         * EmacsShell-sub.c (ChangeManaged):
6263         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6264         NULL.
6265         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6266         checking if it is NULL.  Also fix a memory leak.
6267         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6268         dereference it, not the other way around.
6269         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6270         overflow check.
6271         * dumper.c (pdump_register_struct): Ditto.
6272         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6273         to (short) warnpath overflow warnpath.
6274         * extents.c (detach_all_extents): Call extent_list_delete_all with
6275         a non-NULL parameter only.
6276         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6277         NULL width and height.
6278         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6279         xic before checking if they are NULL.
6280         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6281         allocated array.
6282         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6283         * nas.c (Err): Fix a memory leak.
6284         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6285         Don't create the buffer if there is nothing to do.
6286         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6287         * redisplay-output.c (redisplay_output_layout): Ditto.
6288         * redisplay-tty.c (tty_output_display_block): Ditto.
6289         * redisplay-x.c (x_output_display_block): Ditto.
6290         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6291         dereference instance->scrollbar_data if it is NULL.
6292         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6293         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6294         for sb->scrollbar_data.
6295         * sound.c (init_native_sound): Avoid a buffer overflow by
6296         allocating a buffer with the appropriate size.
6297
6298 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6299
6300         * EmacsShell-sub.c (RootGeometryManager):
6301         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6302         Based on a suggestion by Francois L'Archeveque.
6303
6304 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6305
6306         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6307         current values found in GNU Emacs.
6308
6309 2006-03-17  Vin Shelton  <acs@xemacs.org>
6310
6311         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6312         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6313
6314         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6315         'hex_initialized' because it conflicts with 'initialized' in
6316         lisp.h.
6317
6318 2006-01-28  Vin Shelton  <acs@xemacs.org>
6319
6320         * XEmacs 21.4.19 is released
6321
6322 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6323
6324         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6325
6326 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6327
6328         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6329         5000 to INT_MAX.
6330
6331 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6332
6333         * database.c: Suppress compiler warning under Cygwin.
6334         * database.c: Removed __FreeBSD__ check, should be handled by
6335         HAVE_U_xxx_T defines.
6336
6337 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6338
6339         * console.c (stuff_buffered_input): Compile body only if
6340         HAVE_TTY.
6341
6342 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6343
6344         * callproc.c: #include sysdir.h, so that any appropriate Mule
6345         magic happens with the chdir() call when calling a subprocess. 
6346
6347 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6348
6349         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6350         * mule-ccl.c: Check that a character set exists before using it
6351         to create a character. 
6352
6353 2005-12-06  Vin Shelton  <acs@xemacs.org>
6354
6355         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6356         to INT_MAX.
6357
6358 2005-12-03  Vin Shelton <acs@xemacs.org>
6359
6360         * XEmacs 21.4.18 is released
6361
6362 2005-11-27  Kean Johnston <kean@armory.com>
6363
6364         * redisplay-tty.c (set_tty_modes):
6365         (reset_tty_modes): disable auto-margins if the terminal supports
6366         them.
6367         (init_tty_for_redisplay): fix cursor shape.
6368
6369 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6370
6371         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6372         for control-1 characters properly, both when reading multibyte
6373         characters and writing them. 
6374
6375 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6376
6377         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6378         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6379         were seeing with incremental selection transfer failing. 
6380
6381 2005-11-26  Vin Shelton  <acs@xemacs.org>
6382
6383         * callproc.c (Fold_call_process_internal): Create the buffer if it
6384         does not already exist.  The original patch came from Ben Wing in
6385         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6386
6387 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6388
6389         * callproc.c: Process-related docstring improvements spurred by
6390         Norbert Koch.
6391
6392 2005-11-25  Vin Shelton  <acs@xemacs.org>
6393
6394         * depend: Regenerated.
6395
6396 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6397
6398         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6399         says it clashes with a global with the same name.
6400
6401 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6402
6403         * sysdll.c (dll_open): Under MacOS X return NULL under the
6404         filename is NULL.  Fixes problems finding local symbols under 10.4
6405         (Tiger)
6406
6407 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6408         
6409         * config.h.in: New HAVE_U_INT*_T defines.
6410         
6411         * database.c: Only use u_int*_t typedefs if not already
6412         defined.
6413
6414 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6415
6416         * src/process-unix.c (unix_open_network_stream): moved
6417           'portbuf' buffer out of an inner block as it is used in the
6418           entire function. With gcc4, the stack may get corrupted
6419           after leaving this block. This patches adjusts the size of
6420           the used buffer also; static '128' bytes are far too much
6421           currently and might not suffice for future architectures
6422           (e.g. for 512 bit ones ;)). Instead of, use only the really
6423           required space (max octets * ln(256)/ln(10) chars + space
6424           for '\0' and the sign)
6425
6426 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6427
6428         * callproc.c: Include sysdir.h, so any necessary Mule processing
6429         is done on the current directory name before starting a new
6430         process.
6431
6432 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6433
6434         * chartab.c (Fchar_table_p):
6435         (Fget_range_char_table):
6436         (Fput_char_table):
6437         (Fmap_char_table):
6438         Describe range representation and fix typo.
6439
6440 2005-02-12  Vin Shelton  <acs@xemacs.org>
6441
6442         * emacs.c (shut_down_emacs): Advise users to send email to the
6443         xemacs-beta list instead of crashes@xemacs.org.
6444
6445 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6446
6447         * process-unix.c (unix_send_process): Flush the last chunk, even
6448         when the pipe is blocked.
6449
6450 2005-02-06  Vin Shelton <acs@xemacs.org>
6451
6452         * XEmacs 21.4.17 is released
6453
6454 2005-01-31  Ben Wing  <ben@xemacs.org>
6455
6456         * emacs.c:
6457         Define assert_failed() always.
6458         * lisp.h:
6459         Always define ABORT().
6460
6461 2005-01-25  Ben Wing  <ben@xemacs.org>
6462
6463         * Makefile.in.in:
6464         * Makefile.in.in (%.o):
6465         Don't compile executable as Windows (-mwindows) under Cygwin.
6466         Semi-recent changes to Cygwin's executable-startup handling make
6467         it impossible to access the TTY this way.
6468
6469         Don't use special linker file under Cygwin (cygwin.sc) except
6470         when non-PDUMP (even in this case it is highly questionable); you
6471         get errors like
6472
6473       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6474    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6475
6476 2005-01-29  Ben Wing  <ben@xemacs.org>
6477
6478         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6479
6480         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6481
6482 2005-01-29  Ben Wing  <ben@xemacs.org>
6483
6484         * bytecode.c (optimize_compiled_function):
6485         * print.c (FROB):
6486         * print.c (long_to_string):
6487         Add casts to avoid warning.
6488         
6489         * glyphs-eimage.c:
6490         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6491         #### The better solution is to move the TIFF and JPEG code to
6492         different files.
6493         
6494         * glyphs-msw.c (mswindows_xbm_instantiate):
6495         Define __STDC__ to avoid problems with compface.h.
6496         
6497         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6498         * EmacsShell-sub.c:
6499         * EmacsShell-sub.c (ABORT):
6500         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6501         * EmacsShell-sub.c (RootGeometryManager):
6502         * EmacsShell.c:
6503         * EmacsShell.c (ABORT):
6504         * EmacsShell.c (EmacsShellUpdateSizeHints):
6505         * alloc.c (free_lcrecord):
6506         * alloca.c (i00afunc):
6507         * buffer.c (delete_from_buffer_alist):
6508         * buffer.c (MARKED_SLOT):
6509         * bytecode.c (execute_rare_opcode):
6510         * bytecode.c (optimize_byte_code):
6511         * bytecode.c (Ffetch_bytecode):
6512         * chartab.c (char_table_type_to_symbol):
6513         * chartab.c (Freset_char_table):
6514         * chartab.c (decode_char_table_range):
6515         * chartab.c (Fget_range_char_table):
6516         * chartab.c (check_valid_char_table_value):
6517         * chartab.c (map_char_table):
6518         * chartab.c (slow_map_char_table_fun):
6519         * chartab.c (chartab_instantiate):
6520         * cm.c (cmcheckmagic):
6521         * console-msw.c (DHEADER):
6522         * console.c (MARKED_SLOT):
6523         * data.c (finish_marking_weak_lists):
6524         * data.c (encode_weak_list_type):
6525         * debug.h (DASSERT):
6526         * device-gtk.c (gtk_init_device):
6527         * device-msw.c (mswindows_get_default_margin):
6528         * device-tty.c (tty_init_device):
6529         * device-x.c (get_device_from_display):
6530         * device-x.c (x_get_visual_depth):
6531         * doprnt.c (parse_doprnt_spec):
6532         * doprnt.c (get_doprnt_args):
6533         * dumper.c (pdump_get_indirect_count):
6534         * dumper.c (pdump_register_sub):
6535         * dumper.c (pdump_register_object):
6536         * dumper.c (pdump_register_struct):
6537         * dumper.c (pdump_dump_data):
6538         * dumper.c (pdump_reloc_one):
6539         * elhash.c (print_hash_table):
6540         * elhash.c (make_standard_lisp_hash_table):
6541         * elhash.c (hash_table_instantiate):
6542         * emacs.c:
6543         * emacs.c (Fforce_debugging_signal):
6544         * emacs.c (sort_args):
6545         * emacs.c (main):
6546         * emacs.c (assert_failed):
6547         * eval.c (throw_or_bomb_out):
6548         * eval.c (signal_1):
6549         * eval.c (Fsignal):
6550         * event-Xt.c:
6551         * event-Xt.c (emacs_Xt_mapping_action):
6552         * event-Xt.c (Xt_process_to_emacs_event):
6553         * event-msw.c:
6554         * event-stream.c (check_event_stream_ok):
6555         * event-stream.c (Fadd_timeout):
6556         * event-stream.c (Fadd_async_timeout):
6557         * event-stream.c (Fdiscard_input):
6558         * event-stream.c (execute_internal_event):
6559         * event-stream.c (Frecent_keys):
6560         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6561         * event-stream.c (lookup_command_event):
6562         * event-unixoid.c (poll_fds_for_input):
6563         * events.c:
6564         * events.c (mark_event):
6565         * events.c (event_equal):
6566         * events.c (event_hash):
6567         * events.c (Fmake_event):
6568         * events.c (Fdeallocate_event):
6569         * events.c (event_chain_find_previous):
6570         * events.c (event_to_character):
6571         * events.c (format_event_object):
6572         * events.c (Fevent_type):
6573         * events.c (event_pixel_translation):
6574         * events.c (Fevent_properties):
6575         * extents.c (extent_in_region_p):
6576         * extents.c (print_extent):
6577         * extents.c (process_extents_for_insertion_mapper):
6578         * extents.c (report_extent_modification_mapper):
6579         * extents.c (glyph_layout_to_symbol):
6580         * faces.c (face_validate):
6581         * file-coding.c (eol_type_to_symbol):
6582         * file-coding.c (subsidiary_coding_system):
6583         * file-coding.c (Fcoding_system_type):
6584         * file-coding.c (Fcoding_system_property):
6585         * file-coding.c (mule_decode):
6586         * file-coding.c (mule_encode):
6587         * file-coding.c (encode_coding_ucs4):
6588         * file-coding.c (encode_coding_utf8):
6589         * file-coding.c (parse_iso2022_esc):
6590         * file-coding.c (encode_coding_iso2022):
6591         * fileio.c:
6592         * fns.c (concat):
6593         * fns.c (Fsubseq):
6594         * fns.c (mapcar1):
6595         * fns.c (Fbase64_encode_region):
6596         * fns.c (Fbase64_encode_string):
6597         * fns.c (Fbase64_decode_region):
6598         * fns.c (Fbase64_decode_string):
6599         * font-lock.c (find_context):
6600         * font-lock.c (context_to_symbol):
6601         * frame-gtk.c (gtk_set_frame_pointer):
6602         * frame-gtk.c (gtk_update_frame_external_traits):
6603         * frame-x.c (x_wm_mark_shell_size_user_specified):
6604         * frame-x.c (x_wm_mark_shell_position_user_specified):
6605         * frame-x.c (x_wm_set_shell_iconic_p):
6606         * frame-x.c (x_wm_set_cell_size):
6607         * frame-x.c (x_wm_set_variable_size):
6608         * frame-x.c (x_wm_store_class_hints):
6609         * frame-x.c (x_wm_maybe_store_wm_command):
6610         * frame-x.c (x_initialize_frame_size):
6611         * frame-x.c (x_update_frame_external_traits):
6612         * frame.c:
6613         * frame.c (delete_frame_internal):
6614         * frame.c (mouse_pixel_position_1):
6615         * frame.c (change_frame_size_1):
6616         * free-hook.c (check_free):
6617         * free-hook.c (check_realloc):
6618         * free-hook.c (note_block_input):
6619         * free-hook.c (log_gcpro):
6620         * gccache-gtk.c (gc_cache_lookup):
6621         * glyphs-eimage.c (tiff_memory_write):
6622         * glyphs-gtk.c (gtk_finalize_image_instance):
6623         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6624         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6625         * glyphs-gtk.c (gtk_xpm_instantiate):
6626         * glyphs-gtk.c (gtk_unmap_subwindow):
6627         * glyphs-gtk.c (gtk_map_subwindow):
6628         * glyphs-gtk.c (gtk_button_redisplay):
6629         * glyphs-msw.c:
6630         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6631         * glyphs-x.c (init_image_instance_from_xbm_inline):
6632         * glyphs-x.c (extract_xpm_color_names):
6633         * glyphs-x.c (x_xpm_instantiate):
6634         * glyphs.c (get_image_instantiator_governing_domain):
6635         * glyphs.c (print_image_instance):
6636         * glyphs.c (image_instance_equal):
6637         * glyphs.c (image_instance_hash):
6638         * glyphs.c (encode_image_instance_type):
6639         * glyphs.c (make_image_instance_1):
6640         * glyphs.c (inherit_instantiate):
6641         * glyphs.c (image_instantiate):
6642         * glyphs.c (allocate_glyph):
6643         * glyphs.c (Fglyph_type):
6644         * glyphs.c (redisplay_subwindow):
6645         * glyphs.c (display_table_entry):
6646         * gtk-glue.c (xemacs_list_to_gtklist):
6647         * gtk-glue.c (xemacs_gtklist_to_list):
6648         * gtk-glue.c (xemacs_list_to_array):
6649         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6650         * gutter.c (gutter_was_visible):
6651         * gutter.c (get_gutter_coords):
6652         * input-method-xlib.c (get_XIM_input):
6653         * insdel.c (bufpos_to_bytind_func):
6654         * insdel.c (bytind_to_bufpos_func):
6655         * insdel.c (move_gap):
6656         * intl.c (x_get_composed_input):
6657         * keymap.c (keymap_lookup_directly):
6658         * keymap.c (keymap_delete_inverse_internal):
6659         * keymap.c (ensure_meta_prefix_char_keymapp):
6660         * keymap.c (accessible_keymaps_mapper_1):
6661         * keymap.c (where_is_recursive_mapper):
6662         * lisp.h:
6663         * lisp.h (ABORT):
6664         * lread.c (read_atom):
6665         * lstream.c (Lstream_delete):
6666         * lstream.c (make_lisp_buffer_stream_1):
6667         * macros.c (pop_kbd_macro_event):
6668         * malloc.c (malloc):
6669         * malloc.c (free):
6670         * marker.c (bi_marker_position):
6671         * marker.c (set_bi_marker_position):
6672         * menubar-gtk.c (menu_descriptor_to_widget_1):
6673         * menubar-msw.c (prune_menubar):
6674         * menubar-x.c (set_frame_menubar):
6675         * mule-charset.c (get_unallocated_leading_byte):
6676         * mule-charset.h (CHAR_LEADING_BYTE):
6677         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6678         * nt.c (init_environment):
6679         * nt.c (generate_inode_val):
6680         * ntproc.c (delete_child):
6681         * ntproc.c (_sys_read_ahead):
6682         * ntproc.c (create_child):
6683         * objects.c (color_instantiate):
6684         * objects.c (font_instantiate):
6685         * objects.c (face_boolean_instantiate):
6686         * print.c (printing_major_badness):
6687         * process-nt.c (nt_send_process):
6688         * process-unix.c (unix_send_process):
6689         * process.c (get_process):
6690         * ralloc.c (obtain):
6691         * ralloc.c (relinquish):
6692         * ralloc.c (relocate_blocs):
6693         * ralloc.c (resize_bloc):
6694         * ralloc.c (r_alloc_free):
6695         * ralloc.c (r_re_alloc):
6696         * ralloc.c (r_alloc_thaw):
6697         * ralloc.c (init_ralloc):
6698         * ralloc.c (Free_Addr_Block):
6699         * ralloc.c (r_alloc):
6700         * redisplay-gtk.c (gtk_output_display_block):
6701         * redisplay-msw.c (mswindows_output_display_block):
6702         * redisplay-output.c (get_next_display_block):
6703         * redisplay-output.c (get_cursor_size_and_location):
6704         * redisplay-output.c (redisplay_output_layout):
6705         * redisplay-output.c (redisplay_clear_region):
6706         * redisplay-tty.c (tty_output_display_block):
6707         * redisplay-x.c (x_output_display_block):
6708         * redisplay.c (add_propagation_runes):
6709         * redisplay.c (add_glyph_rune):
6710         * redisplay.c (create_text_block):
6711         * redisplay.c (add_margin_runes):
6712         * redisplay.c (create_left_glyph_block):
6713         * redisplay.c (create_right_glyph_block):
6714         * redisplay.c (create_string_text_block):
6715         * redisplay.c (regenerate_window):
6716         * redisplay.c (REGEN_INC_FIND_START_END):
6717         * redisplay.c (redisplay_frame):
6718         * redisplay.c (point_in_line_start_cache):
6719         * regex.c:
6720         * regex.c (ABORT):
6721         * regex.c (re_compile_fastmap):
6722         * regex.c (re_match_2_internal):
6723         * regex.c (regerror):
6724         * scrollbar-gtk.c (gtk_scrollbar_loop):
6725         * scrollbar-gtk.c (scrollbar_cb):
6726         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6727         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6728         * scrollbar-x.c (x_update_scrollbar_instance_status):
6729         * scrollbar-x.c (x_scrollbar_loop):
6730         * scrollbar-x.c (x_update_frame_scrollbars):
6731         * search.c (search_command):
6732         * search.c (Fmatch_data):
6733         * select-x.c (motif_clipboard_cb):
6734         * signal.c (interrupt_signal):
6735         * specifier.c (specifier_add_spec):
6736         * specifier.c (specifier_instance_from_inst_list):
6737         * specifier.c (specifier_instance):
6738         * specifier.h:
6739         * specifier.h (struct specifier_methods):
6740         * strftime.c (add_num_time_t):
6741         * sunplay.c (init_device):
6742         * symbols.c (Fsetplist):
6743         * symbols.c (do_symval_forwarding):
6744         * symbols.c (store_symval_forwarding):
6745         * symbols.c (Fset):
6746         * symbols.c (Fbuilt_in_variable_type):
6747         * symbols.c (decode_magic_handler_type):
6748         * symbols.c (handler_type_from_function_symbol):
6749         * syntax.c (update_syntax_cache):
6750         * sysdep.c (init_baud_rate):
6751         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6752         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6753         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6754         * toolbar.c (get_toolbar_coords):
6755         * ui-gtk.c (build_gtk_boxed):
6756         * ui-gtk.c (describe_gtk_arg):
6757         * ui-gtk.c (gtk_type_to_lisp):
6758         * ui-gtk.c (lisp_to_gtk_type):
6759         * ui-gtk.c (lisp_to_gtk_ret_type):
6760         * ui-gtk.c (lisp_to_flag):
6761         * unexnt.c (read_in_bss):
6762         * unexnt.c (map_in_heap):
6763         * window.c (real_window):
6764         * window.c (window_display_lines):
6765         * window.c (window_display_buffer):
6766         * window.c (set_window_display_buffer):
6767         * window.c (window_modeline_height):
6768         * window.c (unshow_buffer):
6769         * window.c (window_loop):
6770         * window.c (Fget_lru_window):
6771         * window.c (Fsplit_window):
6772         * window.c (Fset_window_configuration):
6773         * window.c (saved_window_index):
6774         * xgccache.c (gc_cache_lookup):
6775         abort() -> ABORT().  Eliminate preprocessor games with abort()
6776         since it creates huge problems in VC7, solvable only by including
6777         massive amounts of files in every compile (and not worth it).
6778
6779         * sysdep.c:
6780         * sysproc.h:
6781         Inclusion of process.h does not need to be before lisp.h any more.
6782         Move later and remove comment about abort().
6783
6784 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6785
6786         * regex.c (re_match_2_internal):
6787         Correctly initialize loop which clears uninitialized registers.
6788
6789 2005-01-28  Vin Shelton  <acs@xemacs.org>
6790
6791         * sheap.c (more_static_core): Applied Ben's version of the long
6792         string patch.
6793
6794 2005-01-24  Vin Shelton  <acs@xemacs.org>
6795
6796         * sheap.c (more_static_core): Reformatted printf string so
6797         gcc-3.3.3 will compile this on Cygwin.
6798
6799 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6800
6801         * console.c (function_key_map): Reference `key-binding'.
6802
6803         * keymap.c (Vkey_translation_map): Improve docstring.
6804
6805 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6806
6807         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6808         * window.c (window_loop): [fix] Take into account
6809         `allow-deletion-of-last-visible-frame' variable.
6810         * window.c (replace-buffer-in-windows): Ditto.
6811
6812 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6813
6814         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6815
6816 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6817
6818         * event-gtk.c: Recognise AltGr as a valid modifier.
6819
6820 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6821
6822         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6823
6824 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6825
6826         Fix backreference bug caught by test suite.
6827
6828         * regex.c (regex_compile):
6829         Make backref duplicate internal register.
6830
6831 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6832
6833         Documentation, code clarification, and warning suppression.
6834         
6835         * regex.c (regex_compile):
6836         Improve comments.
6837         (re_match_2_internal):
6838         Improve comments and avoid redundant braces.  [Most of the big hunk
6839         at l. 4710 is indentation; use diff -w to see the real changes.]
6840         (alt_match_null_string_p):
6841         (common_op_match_null_string_p):
6842         Avoid shadowing global on Mac OS X 10.4, at least.
6843
6844 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6845
6846         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6847         introduced with shy groups fix).  [Already applied, probably
6848         with the second "fix shy groups" patch of 2004-10-07.] 
6849
6850 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6851
6852         From Andrey Slusar <anrays@gmail.com>:
6853
6854         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6855
6856 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6857
6858         * Makefile (RECURSIVE_MAKE): Removed.
6859         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6860         handling parallel builds.
6861
6862 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6863
6864         * Makefile.in.in: Enable support for parallel builds.
6865
6866 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6867
6868         From Andrey Slusar <anrays@gmail.com>:
6869
6870         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6871         FreeBSD version is >= 199701 _and_ < 600006.
6872
6873 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6874
6875         * scrollbar.c (compute_scrollbar_instance_usage):
6876         Only call device method compute_scrollbar_instance_usage() if it
6877         is defined.
6878
6879 2004-12-05  Vin Shelton <acs@xemacs.org>
6880
6881         * XEmacs 21.4.16 is released
6882
6883 2004-12-04  Vin Shelton  <acs@xemacs.org>
6884
6885         * depend: Regenerated.
6886
6887 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6888
6889         * regex.c (re_match_2_internal): Map internal to external
6890         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6891         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6892
6893 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6894
6895         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6896         to fix a crash.  Also, check the buffer is live and it
6897         really exists in buffer_list.  If the buffer is not in the list,
6898         prepend it.
6899
6900 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6901
6902         Fix shy groups by implementing recording of all groups for
6903         repetition and backtracking.  Backport from 21.5.
6904         
6905         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6906         external_to_internal_register, external_to_internal_register_size,
6907         and update comments for re_nsub.
6908
6909         * regex.c (re_opcode_t): Update comments.
6910         (print_compiled_pattern): Ouput external_to_internal_register,
6911         external_to_internal_register_size, and re_ngroups for debugging.
6912         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6913         (regex_compile): Update header comment.
6914         Ensure that all groups are recorded so that repeat matches and
6915         backtracking work correctly.  Comment related warning for groups >
6916         255.
6917         (re_search_2): Construct map of API indexes (which count only
6918         nonshy groups) to internal register numbers, and keep it updated.
6919
6920 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6921
6922         * frame-gtk.c (gtk_make_frame_visible):
6923         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6924         show/hide.  This is what X uses and is prevents previously hidden
6925         widgets from suddenly reappearing.
6926         * gtk-xemacs.c (gtk_xemacs_paint):
6927         * gtk-xemacs.c (gtk_xemacs_draw):
6928         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6929         drawable.
6930         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6931         size and location changes so that they can be seen before the next
6932         idle event.  Without this rapid changes to scrollbar properties
6933         are not seen.
6934
6935 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6936
6937         * console-gtk.h:
6938         * console-gtk.h (struct gtk_frame):
6939         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6940           Add hash tables track tab_control callback data.
6941           Added #defines for GTK object data names.
6942           Declaration of gtk_widget_to_frame().
6943         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6944         * frame-gtk.c (gtk_widget_to_frame): New.
6945         * frame-gtk.c (gtk_create_widgets):
6946         * frame-gtk.c (allocate_gtk_frame_struct):
6947         * frame-gtk.c (gtk_mark_frame):
6948         Manage frame callbakc hash tables.
6949         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6950         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6951         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6952         of widget size.
6953         * glyphs-gtk.c (gtk_widget_query_geometry): New
6954         * glyphs-gtk.c (gtk_register_gui_item): New
6955         * glyphs-gtk.c (gtk_add_tab_item): New
6956         * glyphs-gtk.c (gtk_tab_control_callback): New
6957         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6958         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6959         Use correct list when loading item.
6960         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6961         Register new methods.
6962         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6963         default size, for widgets.
6964         * gui-x.c:  Improved comment.
6965         * menubar-gtk.c (__generic_button_callback): Use
6966         gtk_widget_to_frame instead of __get_channel.
6967         * scrollbar-gtk.c:
6968         * ui-gtk.c: Use symbolic names for GTK object data.
6969
6970 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6971
6972         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6973
6974 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6975
6976         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6977
6978 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6979
6980         * malloc.c (morecore): siz is a long because in some architectures
6981         (eg ia-64) an int cannot hold the address range.  Additional patch
6982         from the SuSe distribution.
6983
6984 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6985
6986         * emacs.c:
6987         * malloc.c: lim_data is a long because in some architectures
6988         (eg ia-64) an int cannot hold the address range.
6989         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6990         instead of ulimit() because ulimit() always returns -1.
6991
6992 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6993
6994         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6995
6996 2004-06-11  David Kastrup  <dak@gnu.org>
6997
6998         * search.c (match_limit): Don't flag an error if match-data
6999         exceeding the allocated search_regs.num_regs gets requested, just
7000         return Qnil.
7001
7002 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7003
7004         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7005         replace symbolic color entries with the real colors specified in
7006         xpm-color-symbols, before passing the XPM to gtk.
7007         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7008         instead of a GTK specific field, so that it is used in by generic
7009         code.
7010
7011 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7012
7013        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7014         coredump from deref of NULL ptr (ExtData)
7015
7016 2004-04-19  Jerry James  <james@xemacs.org>
7017
7018         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7019         VALBITS to compute the location of the sign bit.
7020         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7021         of VALBITS with EMACS_INT_MAX.
7022         * events.c (Fevent_timestamp): Ditto.
7023         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7024         compute the halfway point to timestamp wraparound.
7025         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7026         EMACS_INT_MIN instead of using VALBITS.
7027         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7028         incorrect number with VALBITS.
7029         * fns.c (Frandom): Correct number of integer bits in docstring.
7030         Use INT_VALBITS instead of VALBITS to compute the denominator.
7031         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7032         build random numbers.
7033
7034 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7035         * event-gtk.c:
7036         * event-gtk.c (gtk_event_to_emacs_event):
7037         * menubar-gtk.c:
7038         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7039         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7040         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7041         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7042         * menubar-gtk.c (__activate_menu):
7043         * menubar-gtk.c (convert_underscores):
7044         * menubar-gtk.c (remove_underscores):
7045         * menubar-gtk.c (menu_convert):
7046         * menubar-gtk.c (menu_descriptor_to_widget_1):
7047         * menubar-gtk.c (menu_descriptor_to_widget):
7048         * menubar-gtk.c (menu_can_reuse_widget):
7049         * menubar-gtk.c (menu_create_menubar):
7050         * menubar-gtk.c (gtk_popup_menu):
7051         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7052         Added support for Gtk menu bar and menu item mnemonics.
7053
7054 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7055
7056         * sysdll.c: (dll_function): Added support for finding symbols in
7057         Darwin shared libraries as well in Darwin bundles.
7058         * sysdll.c (image_for_address): New
7059         * sysdll.c (my_find_image): New
7060         * sysdll.c (search_linked_libs): New
7061
7062 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7063
7064         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7065         return to GTK requires a different API to marshalling data to use
7066         as GTK parameters.
7067         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7068
7069 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7070
7071         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7072
7073 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7074
7075         * glyphs.c (process_image_string_instantiator):
7076         (Fset_console_type_image_conversion_list):
7077         Stop GCC from warning about shadowing of `exp'.
7078
7079         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7080
7081 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7082
7083         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7084
7085 2004-02-03  Vin Shelton  <acs@xemacs.org>
7086
7087         * glyphs.c (image_instance_layout): Remove pointless assertion.
7088         * regex.c (regex_grow_registers): Return type is void.
7089
7090 2004-02-02  Vin Shelton <acs@xemacs.org>
7091
7092         * XEmacs 21.4.15 is released
7093
7094 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7095
7096         * device-x.c (x_error_handler): Don't call stderr_out
7097
7098 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7099
7100         * buffer.c (other-buffer): Clarify documentation of order of
7101         arguments for FSF Emacs.
7102
7103 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7104
7105         * window.c (Fdelete_window): Dirty the mirror structure _before_
7106         marking the window deleted.
7107
7108 2003-09-15  Jerry James  <james@xemacs.org>
7109
7110         * event-msw.c (debug_mswin_messages): Conditionally compile
7111         messages missing from the Cygwin headers.
7112
7113 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7114
7115         * data.c (eq_with_ebola_notice): Fix typo in comment.
7116         (Ftrue_list_p): Improve docstring.
7117
7118 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7119
7120         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7121
7122 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7123
7124         * search.c (trivial_regexp_p): Regexps containing "\{" are
7125         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7126         Stefan Monnier for suggesting a diagnosis.
7127
7128 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7129
7130         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7131
7132 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7133
7134         * search.c (Fsearch_forward):
7135         (Fsearch_backward):
7136         Document negative count.
7137
7138 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7139
7140         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7141
7142 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7143
7144         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7145
7146 2003-09-15  Vin Shelton  <acs@xemacs.org>
7147
7148         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7149         21.5.
7150
7151 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7152
7153         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7154         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7155         (re_match_2_internal): Use TRANSLATE instead of
7156         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7157         non-ASCII char case conversion.
7158
7159 2003-09-08  Mike Sperber  <mike@xemacs.org>
7160
7161         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7162         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7163
7164 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7165
7166        * .gdbinit (pobj): fix printing of symbol name.
7167
7168 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7169
7170         * frame-x.c (x_layout_widgets): When resizing is about to cause
7171         frame size slip, mark it for redisplay.
7172
7173 2003-08-18  Jerry James  <james@xemacs.org>
7174
7175         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7176
7177 2003-09-03  Vin Shelton <acs@xemacs.org>
7178
7179         * XEmacs 21.4.14 is released
7180
7181 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7182
7183         * config.h.in (REGEX_MALLOC): Make it configure'able.
7184
7185 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7186
7187         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7188         linking.
7189         * sysdll.c (dll_init):
7190         * sysdll.c (dll_open):
7191         * sysdll.c (dll_close):
7192         * sysdll.c (dll_function):
7193         * sysdll.c (dll_variable):
7194         * sysdll.c (dll_error):
7195         Add support for loading bundles using Darwin/MacOSX
7196         native API.
7197
7198 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7199
7200         * process.c (start-process-internal): Document coding systems.
7201
7202 2003-07-30  Jerry James  <james@xemacs.org>
7203
7204         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7205
7206 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7207
7208         * event-msw.c (mswindows_enqueue_mouse_button_event):
7209         * event-msw.c (mswindows_wnd_proc):
7210           enqueue button event when scrollwheel event isn't handled by 
7211           mswindows_handle_mousewheel_event, such as when the scrollbars
7212           are not showing.
7213
7214 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7215
7216         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7217
7218 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7219
7220         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7221
7222 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7223
7224         * regex.c (re_match_2_internal): Fix matching degenerate word
7225         boundaries.
7226
7227 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7228
7229         * XEmacs 21.4.13 is released
7230
7231 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7232
7233         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7234         * lisp.h (<inttypes.h>):
7235         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7236         the definition.
7237
7238 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7239
7240         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7241         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7242         Result: "temacs can only be run in -batch mode."
7243         Fix: Check xemacs executable candidate for directory-ness.
7244
7245 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7246
7247         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7248           they conflict with <sys/types.h>.
7249
7250 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7251
7252         * database.c: Berkeley DB wants __STDC__ to be defined.
7253
7254 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7255
7256         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7257
7258 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7259
7260         * process-unix.c (unix_send_process): Fix C++ compile error.
7261
7262 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7263
7264         * Added .dylib as an acceptable shared library file extension
7265         * to support MacOSX.
7266
7267 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7268
7269         * EmacsFrameP.h (EmacsFramePart):
7270         Kludge to allow compiling with Motif1, but linking with Motif2.
7271
7272 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7273
7274         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7275
7276
7277 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7278
7279         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7280
7281 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7282
7283         * sysdll.c: Included lisp.h to define needed alloca_array.
7284
7285 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7286
7287         Make XEmacs redisplay 10 times faster.
7288         If, that is, you're using a slow X connection and MoveOpaque.
7289         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7290         Use compress_motion = TRUE.
7291         * EmacsFrame.c (emacsFrameClassRec): 
7292         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7293         * EmacsManager.c (emacsManagerClassRec):
7294         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7295
7296 2003-01-30  Vin Shelton  <acs@xemacs.org>
7297
7298         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7299
7300 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7301
7302         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7303         Patch by Martin Buchholz.
7304
7305 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7306
7307         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7308         Thanks to icc for warning and Martin Buchholz for reporting.
7309
7310 2003-01-29  Vin Shelton <acs@xemacs.org>
7311
7312         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7313
7314         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7315         remember to multiply by the element size.
7316
7317 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7318
7319         * XEmacs 21.4.12 "Portable Code" is released.
7320
7321 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7322
7323         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7324         * s/cygwin.sc: new linker file.
7325
7326 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7327
7328         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7329
7330         * redisplay-x.c (x_output_string): Use X11-specified types.
7331         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7332         * emacs.c (__free_hook): Use typeof with Intel compiler.
7333         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7334
7335 2003-01-08  Andy Piper  <andy@xemacs.org>
7336
7337         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7338         reserve size during unexec().
7339
7340 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7341
7342         * process-unix.c (unix_create_process): Don't let outchannel block.
7343
7344 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7345
7346         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7347         Needed for IsBadReadPtr().
7348
7349 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7350
7351         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7352
7353 2002-12-14  Ben Wing  <ben@xemacs.org>
7354
7355         * callint.c: Declaration error.
7356         * dumper.c (pdump):
7357         * dumper.c (pdump_load): Warning fix.
7358         * process.c: GCPRO error.
7359         * glyphs.c (unmap_subwindow):
7360         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7361         * event-stream.c (maybe_kbd_translate): Wrong argument to
7362         character_to_event().
7363
7364         * alloc.c (garbage_collect_1):
7365         * emacs.c:
7366         * emacs.c (debug_can_access_memory):
7367         * emacs.c (fatal_error_signal):
7368         * emacs.c (mswindows_handle_hardware_exceptions):
7369         * emacs.c (main_1):
7370         * emacs.c (main):
7371         * emacs.c (assert_failed):
7372         * emacs.c (syms_of_emacs):
7373         * lisp.h:
7374         * print.c:
7375         * print.c (std_handle_out_va):
7376         * print.c (write_string_to_stdio_stream):
7377         * print.c (write_fmt_string):
7378         * print.c (printing_badness):
7379         * print.c (printing_major_badness):
7380         * print.c (print_internal):
7381         * print.c (debug_print_no_newline):
7382         * print.c (debug_backtrace):
7383         Be more defensive in handling bad values when printing.  Add code
7384         from trunk involving inhibit_non_essential_printing_operations.
7385         When going down or in debug_print(), don't do external conversion
7386         and such and try really, really hard when printing to avoid core
7387         dumping.  Add force-debugging-signal, debug_break().
7388
7389 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7390
7391         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7392         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7393
7394 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7395
7396         * database.c: Fix open_database. Berkeley DB API has changed in
7397         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7398
7399 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7400
7401         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7402
7403 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7404
7405         * event-Xt.c (Xt_timeout):
7406         (Xt_timeout_callback):
7407         (emacs_Xt_add_timeout):
7408         (emacs_Xt_remove_timeout):
7409         (Xt_timeout_to_emacs_event):
7410         Turn completed_timeouts from a stack into a queue.  Fixes
7411         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7412
7413 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7414
7415         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7416         * emacs.c (main): Assert that mmap'd allocation is disabled.
7417
7418 2002-10-14  Andy Piper  <andy@xemacs.org>
7419
7420         * glyphs-widget.c (layout_query_geometry): add in fiddle
7421         factor. Include border text in width layout calculation.
7422         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7423
7424 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7425
7426         * XEmacs 21.4.10 "Military Intelligence" is released.
7427
7428 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7429
7430         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7431         using the NAS private array SoundFileInfo that no longer exists in
7432         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7433         and earlier.  This is broken for some versions between 1.5a and
7434         1.5f.
7435
7436 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7437
7438         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7439
7440         * emacs.c (shut_down_emacs): Improve crash message.
7441
7442 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7443
7444         * file-coding.c (determine_real_coding_system): Check for coding
7445         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7446         shebangs and Python PEP 263.
7447
7448 2002-10-08  Andy Piper  <andy@xemacs.org>
7449
7450         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7451         if static sizes haven't been set.
7452
7453 2002-08-30  Mike Alexander  <mta@arbortext.com>
7454
7455         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7456         to close a socket.
7457
7458 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7459
7460         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7461
7462 2002-09-20  Mike Sperber <mike@xemacs.org>
7463
7464         (This partially gets back my patch from 2002-07-20 without the
7465         bug.)
7466         * callproc.c (child_setup): Remove Ben's comment noting confusion
7467         over the file descriptors >= 3: close_process_descs() doesn't
7468         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7469         * process-unix.c (unix_create_process): Call
7470         begin_dont_check_for_quit to inhibit unwanted interaction (and
7471         thus breaking of X event synchronicity) in the child.
7472
7473 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7474
7475         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7476         widget.
7477
7478 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7479
7480         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7481         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7482         the xemacs process did not exit, but looped infinitely here.  This
7483         fixes that problem.
7484
7485 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7486
7487         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7488         (find_context): Improve comments.
7489
7490         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7491         (re_match_2): An XCHAR_TABLE operation was missing.
7492
7493         Many of the following changes were inspired by Andy Piper's (now
7494         obsolete) patch to make syntax-table text property lookup optional.
7495
7496         [Documentation]
7497
7498         * syntax.h (top level): Document semantics of syntax flags.
7499         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7500         * syntax.c, syntax.h (top level): Document syntax cache better in
7501         comments.
7502
7503         [Instrument syntax caching (temporary change)]
7504
7505         * syntax.h (enum syntax_cache_statistics_functions, struct
7506         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7507         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7508         * syntax.c (scan_words, Fforward_comment, scan_lists,
7509         Fbackward_prefix_characters):
7510         * font-lock.c (find_context):
7511         Use them to instrument syntax caching. 
7512         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7513         syntax_cache_statistics_function_names): New type and variables.
7514         * syntax.c (update_syntax_cache): Update and report statistics.
7515
7516         [Major syntax cache optimizations]
7517
7518         syntax.c (lookup_syntax_properties): Default off.
7519
7520         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7521         * syntax.c (update_syntax_cache):
7522         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7523
7524         [Minor syntax cache optimizations and code clarifications]
7525
7526         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7527         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7528         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7529         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7530         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7531         (Code clarification.)
7532
7533         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7534         scan_lists): Compute code from syncode, use Boolean macros instead
7535         of redundant masking operations.  (Code clarification; any decent
7536         compiler can do this optimization.)
7537
7538         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7539         for clarity.
7540
7541         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7542         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7543         use F*_single_property_change instead of F*_extent_change.
7544         Currently F*_single_property_change is _much_ less efficient.
7545
7546         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7547         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7548         syntax_cache.object properly, don't leave Qt or Qnil.
7549         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7550         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7551         tests for Qt or Qnil.
7552
7553 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7554
7555         * redisplay.c (point_in_line_start_cache): 
7556         * extents.c (print_extent_1):
7557         Fix warnings.
7558
7559         * extents.c (Fset_extent_property): Document `syntax-table' property.
7560
7561         * extents.h (Fnext_single_property_change): EXFUN it.
7562
7563 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7564
7565         * search.c (clear_unused_search_regs): New static function.
7566         (search_buffer): 
7567         (simple_search): 
7568         (boyer_moore):
7569         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7570         Minor clarifications in comments.
7571
7572         * regex.c (re_match_2_internal): Ensure no stale submatches.
7573
7574 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7575
7576         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7577
7578 2002-08-29  Jerry James  <james@xemacs.org>
7579
7580         * lisp.h: structrures -> structures.
7581
7582 2002-06-03  Andy Piper  <andy@xemacs.org>
7583
7584         * frame.c (frame_conversion_internal): add conversion appropriate
7585         for setting frame dimensions in pixels.
7586
7587         * console.h (struct console_methods): add device-specific widget
7588         layout functions.
7589
7590         * emacs.c (main_1): initialize glyph vars.
7591
7592         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7593         (handle_focus_event_2): new function. Allow focus to
7594         be set to a particular window and widget.
7595         (enqueue_focus_event): new function. Create a
7596         synthetic focus event.
7597         (emacs_Xt_handle_magic_event): call
7598         handle_focus_event_2.
7599
7600         * frame.c (Fset_frame_pixel_height): new function. Allow
7601         pixel-based sizing. Does the right thing on character-oriented
7602         displays.
7603         (Fset_frame_pixel_width): ditto.
7604         (Fset_frame_pixel_size): ditto.
7605         (syms_of_frame): declare.
7606
7607         * general-slots.h: add :vertically-justify and
7608         :horizontally-justify.
7609
7610         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7611         (mswindows_widget_border_width): new function.
7612         (mswindows_combo_box_instantiate): set border widths.
7613         (console_type_create_glyphs_mswindows): declare.
7614
7615         * glyphs-widget.c:
7616         (check_valid_justification): allow vertical and horizontal
7617         justification.
7618         (widget_border_width): new function. Call device methods.
7619         (widget_instance_border_width): ditto.
7620         (logical_unit_height): new function. Determine the height of a
7621         logical-unit. Logical units are intended to provide grid-like
7622         layout for subcontrols in a layout. If the layout is
7623         :vertically-justify top then subcontrols will be positioned on
7624         logical-unit boundaries, thus allowing adjacent subcontrols to
7625         line up.
7626         (widget_logical_unit_height): ditto for widgets.
7627         (redisplay_widget): misc cleanup.
7628         (widget_spacing): new function. Call device specific
7629         methods. Intended to be the default gap between adjacent widgets.
7630         (widget_query_geometry): use new spacing functions to determine
7631         appropriate geometry.
7632         (initialize_widget_image_instance): initialize horizontal and
7633         vertical justification.
7634         (widget_instantiate): use logica-units where appropriate for
7635         sizing large widgets.
7636         (button_query_geometry): use widget_instance_border_width.
7637         (tree_view_query_geometry): ditto.
7638         (tab_control_query_geometry): ditto.
7639         (edit_field_query_geometry): new function.
7640         (layout_update): pick up :justify, :horizontally-justify and
7641         :vertically-justify none of which worked previously. :justify is
7642         used as a fallback for both horizontal and vertical justification.
7643         (layout_query_geometry): use logical units to size appropriately.
7644         (layout_layout): ditto.
7645         (Fwidget_logical_to_character_width): new function. Allow users to
7646         convert from logical units to characters so that frame sizes can
7647         be set appropriately.
7648         (Fwidget_logical_to_character_height): ditto.
7649         (syms_of_glyphs_widget): declare.
7650         (image_instantiator_edit_fields): add edit_field_query_geometry.
7651         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7652         :horizontally-justify.
7653         (specifier_vars_of_glyphs_widget): new function. Declare
7654         Vwidget_border_width which is not yet used.
7655
7656         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7657         (x_widget_border_width): new function.
7658         (x_widget_instantiate): create a sensible name for widgets.
7659         (console_type_create_glyphs_x): declare x_widget_border_width.
7660
7661         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7662         (struct Lisp_Image_Instance): add :vertically-justify and
7663         :horizontally-justify.
7664         (LAYOUT_JUSTIFY_TOP): new.
7665         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7666         (ROUND_UP): new macro. Round argument up to next integral
7667         interval.
7668
7669         * redisplay-output.c (redisplay_output_layout): misc formatting.
7670
7671         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7672
7673 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7674
7675         * XEmacs 21.4.9 "Informed Management" is released.
7676
7677 2002-08-19  Andy Piper  <andy@xemacs.org>
7678
7679         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7680         win32 format.
7681
7682         * realpath.c (xrealpath): normalize drive spec also so that dir
7683         sep chars are not mixed on cygwin.
7684
7685 2002-08-06  Jerry James  <james@xemacs.org>
7686
7687         * window.c (Fsplit_window): Count only half of the divider width
7688         against the left window when splitting horizontally. 
7689
7690 2002-06-24  Andy Piper  <andy@xemacs.org>
7691
7692         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7693         toolbar was cleared.
7694
7695         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7696         function. Split out from mswindows_output_frame_toolbars.
7697         (mswindows_output_frame_toolbars): move clear pieces to
7698         mswindows_output_frame_toolbars.
7699
7700         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7701         out from gtk_output_frame_toolbars.
7702         (gtk_output_frame_toolbars): move clear pieces to
7703         gtk_clear_frame_toolbars.
7704
7705         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7706         the frame is cleared. How this ever worked before is a mystery.
7707         (x_output_frame_toolbars): Only output toolbars.
7708         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7709
7710         * gutter.c (update_gutter_geometry):
7711         Mark frame layout changed.
7712         (update_frame_gutter_geometry, update_frame_gutters):
7713         Respect frame_layout_changed.
7714
7715         * console.h (struct console_methods): add
7716         clear_frame_toolbars_method.
7717
7718         * redisplay.c (redisplay_frame): call
7719         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7720
7721         * toolbar.h: declare update_frame_toolbars_geometry.
7722
7723         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7724         out from update_frame_toolbars.  Call clear_frame_toolbars.
7725         (update_frame_toolbars): only output, do not change geometry.
7726
7727         * redisplay.c: add frame_layout_changed.
7728
7729         * redisplay.h: add frame_layout_changed.
7730         (CLASS_RESET_CHANGED_FLAGS): set it.
7731         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7732         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7733         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7734
7735         * device.h (struct device): add frame_layout_changed.
7736         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7737
7738         * frame.h (struct frame): add frame_layout_changed.
7739         (MARK_FRAME_LAYOUT_CHANGED): new.
7740
7741 2002-06-30  Mike Alexander  <mta@arbortext.com>
7742
7743         * event-msw.c (mswindows_need_event): Don't wait for a new message
7744         if the queue is not empty.  Suggested by Paul Moore.
7745
7746 2002-06-12  Andy Piper  <andy@xemacs.org>
7747
7748         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7749         for printing on accurately.
7750
7751 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7752
7753         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7754         WM_ACTIVATE message. Make sure that the frame is visible if the
7755         window is visible. This seemss to fix the problem where XEmacs
7756         appears to freeze after switching desktops with certain virtual
7757         window managers.
7758         (debug_output_mswin_message): Added code to output message
7759         parameters for WM_WINDOWPOSCHANGED, 
7760         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7761
7762 2002-05-25  Andy Piper  <andy@xemacs.org>
7763
7764         * select-x.c (vars_of_select_x): Fix docstring of
7765         x-selection-strict-motif-ownership
7766
7767 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7768
7769         * keymap.c (get_keymap):
7770         Add comment about do_autoload GCPROs own args.
7771
7772 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7773
7774         * bytecode.c (execute_optimized_program): check_opcode ifdef
7775         ERROR_CHECK_BYTE_CODE.
7776
7777 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7778
7779         Thanks to Ben Wing and Michael Sperber.
7780
7781         * eval.c (Fcommand_execute):
7782         (Feval):
7783         (Ffuncall):
7784         (Fmacroexpand_internal):
7785         (function_argcount):
7786         callint.c (Fcall_interactively):
7787         Add comment about do_autoload GCPROs own args.
7788
7789         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7790
7791         * eval.c (Ffuncall): Extra braces to placate GCC.
7792
7793 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7794
7795         * backtrace.h (grow_specpdl):
7796         (SPECPDL_RESERVE):
7797         * EmacsFrame.c (EmacsFrameSetValues):
7798         * eval.c (grow_specpdl):
7799         * ExternalShell.c (hack_event_masks_1):
7800         * glyphs-x.c (convert_EImage_to_XImage): 
7801         (x_finalize_image_instance):
7802         * ralloc.c (page_size):
7803         (r_alloc_sbrk):
7804         * xgccache.c (gc_cache_hash):
7805         Fix unsigned comparison warnings.
7806
7807 2002-07-29  Jerry James  <james@xemacs.org>
7808
7809         * lread.c (locate_file): Any nonnegative return value indicates
7810         success if MODE is nonnegative.
7811
7812 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7813
7814         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7815         argument. 
7816
7817 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7818
7819         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7820
7821         * dumper.c (pdump_get_indirect_count):
7822         (pdump_scan_by_alignment):
7823         (pdump_dump_root_struct_ptrs):
7824         (pdump_dump_rtables):
7825         (pdump_dump_root_objects):
7826         (pdump):
7827         * nas.c (WaveOpenDataForReading):
7828         * fns.c (print_bit_vector):
7829         * font-lock.c (SINGLE_SYNTAX_STYLE):
7830         * glyphs.c (check_for_ignored_expose):
7831         (find_matching_subwindow):
7832         * glyphs-eimage.c:
7833         * imgproc.c (get_histogram):
7834         * redisplay.c (point_in_line_start_cache):
7835         * redisplay-output.c (redisplay_unmap_subwindows):
7836         * symbols.c (defsymbol_massage_name_1):
7837         (defkeyword_massage_name):
7838         (deferror_massage_name_and_message):
7839         * redisplay-x.c (x_output_string): 
7840         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7841         * frame.h (struct frame):
7842         * filelock.c (current_lock_owner):
7843         * doprnt.c (emacs_doprnt_1):
7844         * lisp.h (struct Lisp_Bit_Vector):
7845         (DO_REALLOC):
7846         Fix warnings.
7847
7848 2002-02-13  Ben Wing  <ben@xemacs.org>
7849
7850         * event-stream.c (reset_key_echo):
7851         * event-stream.c (reset_this_command_keys):
7852         * event-stream.c (execute_command_event):
7853         If console is dead as a result of C-x 5 0, then post-command stuff
7854         needs to be careful and do only non-console-specific stuff.
7855
7856 2002-07-01  Mike Sperber <mike@xemacs.org>
7857
7858         * process-unix.c (unix_send_process): Mark coding_outstream as
7859         non-open upon SIGPIPE.
7860
7861         * event-stream.c (Fnext_event): Reorder switch cases to something
7862         that makes sense.
7863
7864 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7865
7866         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7867         Don't bogusly reinitialize ascii_character property.
7868
7869 2002-07-08  Mike Sperber <mike@xemacs.org>
7870
7871         * process.c (Fstart_process_internal): Do error checking before we
7872         fork off the child, so the child can't muck with the state of the
7873         parent.
7874
7875 2002-07-08  Mike Sperber <mike@xemacs.org>
7876
7877         * ralloc.c (init_ralloc): Allocate properly for pdump.
7878
7879 2002-06-12  Andy Piper  <andy@xemacs.org>
7880
7881         * glyphs.c (query_string_geometry): check the string.
7882
7883         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7884         widget names.
7885
7886 2002-06-17  Jerry James  <james@xemacs.org>
7887
7888         * sysdll.c: Remove RTLD_GLOBAL initialization.
7889         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7890
7891 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7892
7893         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7894
7895 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7896
7897         * sysdep.c (sys_rename): Make sys_rename work for the case where
7898         Windows rename sets errno to EACCES if target file exists.
7899
7900 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7901
7902         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7903         Fix detection of metric units to work on Win95
7904
7905 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7906
7907         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7908
7909 2002-04-25  Andy Piper  <andy@xemacs.org>
7910
7911         * redisplay.c (create_text_block): Remove extra comment trailer.
7912
7913 2002-04-24  Andy Piper  <andy@xemacs.org>
7914
7915         * redisplay.c (create_text_block): Don't actually add propagation
7916         data if the line ends after we have added a glyph.
7917
7918 2002-04-22  Andy Piper  <andy@xemacs.org>
7919
7920         * extents.c (extent_fragment_update): check for glyphs we have
7921         previously displayed.
7922         * extents.c (print_extent_1): warning removal.
7923         * extents.h: change prototype.
7924         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7925         widths correctly for wide glyphs.
7926         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7927         * redisplay.c (prop_type): add PROP_GLYPH.
7928         * redisplay.c (struct prop_block): add glyph type
7929         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7930         to the propagation data.
7931         * redisplay.c (create_text_block): if there is a glyph in the
7932         propagation data use it to salt extent_fragment_update.
7933         * redisplay.c (create_string_text_block): ditto.
7934
7935 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7936
7937         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7938         * redisplay-output.c (compare_runes): Compare them.
7939         * redisplay.c: Update copyright date.
7940         * redisplay.c (pos_data): Add need_baseline_computation field.
7941         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7942         need_baseline_computation; zero yoffset. Set max_pixmap_height
7943         for all pixmaps, not just automatically positioned ones.
7944         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7945         * redisplay.c (calculate_baseline): New, compute textual baseline.
7946         * redisplay.c (add_glyph_rune): Call them.
7947         * redisplay.c (create_text_block): Likewise.
7948         * redisplay.c (create_overlay_glyph_block): Likewise.
7949         * redisplay.c (add_margin_runes): Likewise.
7950         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7951
7952         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7953         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7954         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7955         * redisplay-msw.c (mswindows_output_string): Likewise.
7956         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7957         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7958         * redisplay-x.c (x_output_display_block): Likewise.
7959
7960 2002-03-28  Ben Wing  <ben@xemacs.org>
7961
7962         * redisplay.c: Fixed bug in redisplay
7963         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7964         and down of the lines, since they're bigger than the line
7965         size. (It was seen most obviously when there's a horizontal scroll
7966         bar, e.g. do C-h a glyph or something like that.) The problem was
7967         that the glyph-contrib-p setting on glyphs was ignored even if it
7968         was set properly, which it wasn't until now.
7969
7970 2002-04-24  Andy Piper  <andy@xemacs.org>
7971
7972         * lisp.h (Dynarr_end): Fix definition.
7973
7974 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7975
7976         * redisplay.c (mark_redisplay): Remove call to
7977         update_frame_window_mirror.
7978
7979 2001-11-15  Andy Piper  <andy@xemacs.org>
7980
7981         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7982         cygwin (again).
7983
7984 2002-02-13  Andy Piper  <andy@xemacs.org>
7985
7986         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7987         we did in fact enqueue the XM_MAPFRAME event.
7988
7989 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7990
7991         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7992         to fix problem switching between virtual desktops under virtuawin
7993         virtual window manager.
7994
7995 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7996
7997         * event-msw.c: Typo fix.
7998         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7999         magic XM_MAPFRAME event has been sent.
8000
8001 2001-11-23  Andy Piper  <andy@xemacs.org>
8002
8003         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
8004
8005 2001-11-21  Andy Piper  <andy@xemacs.org>
8006
8007         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8008         mouse events outside the frame.
8009
8010 2002-03-20  Andy Piper  <andy@xemacs.org>
8011
8012         * menubar-msw.c (mswindows_popup_menu): warning removal.
8013         * dialog-msw.c (dialog_popped_down): ditto.
8014
8015 2001-12-11  Andy Piper  <andy@xemacs.org>
8016
8017         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8018         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8019         popup_up_p.
8020         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8021         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8022         * menubar-msw.c (mswindows_popup_menu): ditto.
8023
8024 2001-10-29  Andy Piper  <andy@xemacs.org>
8025
8026         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8027         cancels.
8028
8029 2002-01-03  Andy Piper  <andy@xemacs.org>
8030
8031         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8032         letters.
8033         (xrealpath): ditto.
8034
8035 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8036
8037         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8038         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8039         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8040         Detect and handle case where machine is set up for metric units
8041
8042 2002-04-02  Andy Piper  <andy@xemacs.org>
8043
8044         * dired-msw.c (mswindows_get_files): 
8045         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8046         completely handled by XEmacs. Suggested by Thomas Vogler
8047         <mail@thomas-vogler.de>.
8048
8049 2001-11-14  Andy Piper  <andy@xemacs.org>
8050
8051         * nt.c (REG_ROOT): change registry key to XEmacs.
8052
8053 2002-04-27  Andy Piper  <andy@xemacs.org>
8054
8055         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8056
8057 2002-04-26  Andy Piper  <andy@xemacs.org>
8058
8059         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8060         behavior.
8061
8062 2002-03-14  Mike Alexander  <mta@arbortext.com>
8063
8064         * event-msw.c (mswindows_unwait_process): New, remove process from
8065         wait list
8066         * process-nt.c (nt_finalize_process_data): Call
8067         mswindows_unwait_process
8068         * console-msw.h: Declare mswindows_unwait_process
8069
8070 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8071
8072         * editfns.c (Fdecode_time):
8073         (Fformat_time_string):
8074         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8075         (make_time): Warning elimination (change arg name).
8076
8077 2001-11-24  Andy Piper  <andy@xemacs.org>
8078
8079         * window.c (Fsplit_window): Doc return type.
8080
8081 2002-04-01  Andy Piper  <andy@xemacs.org>
8082
8083         * emacs.c (Fkill_emacs): Only output message box in interactive
8084         mode.
8085
8086 2002-04-26  Andy Piper  <andy@xemacs.org>
8087  
8088         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8089         cygwin.
8090
8091 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8092
8093         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8094         bit platform.
8095
8096 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8097
8098         * XEmacs 21.4.8 "Honest Recruiter" is released.
8099
8100 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8101
8102         Supersedes 2002-04-17 patch.
8103
8104         * process.h (PROCESS_LIVE_P): Use the process status as
8105         evidence of health, not the state of the input stream.
8106         (PROCESS_READABLE_P): Say if the process is readable
8107         from. (It may be dead nonetheless.)
8108         (CHECK_READABLE_PROCESS): Test for that condition.
8109
8110         * process.c (create_process): Use PROCESS_READABLE_P.
8111         (read_process_output, set_process_filter): Likewise.
8112
8113         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8114         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8115
8116         This code is #if 0'd, this is not the time to add new functions:
8117
8118         * process.c (Fprocess_readable_p): Report readability status.
8119         * process.c (Qprocess_readable_p): New, associated symbol...
8120         * process.c (syms_of_process): ... initialize it.
8121
8122 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8123
8124         * XEmacs 21.4.7 "Economic Science" is released.
8125
8126 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8127
8128         * process.h (PROCESS_LIVE_P): Use the process status as
8129         evidence of health, not the state of the input stream.
8130
8131 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8132
8133         * sysdep.c (sys_siglist): change "signum" to "signal"
8134
8135 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8136
8137         * s/darwin.h: New file.
8138         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8139         
8140 2002-04-23  Andreas Jaeger  <aj@suse.de>
8141
8142         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8143         which use lib64 for 64-bit libs.
8144         (START_FILES): Likewise.
8145
8146 2002-02-11  Mike Sperber  <mike@xemacs.org>
8147
8148         * device-x.c: 
8149         (x_IO_error_handler):
8150         (x_init_device): Temporarily keep device in static variable
8151         `device_being_initialized' so we can recover gracefully from
8152         internal XOpenDevice failure.  (XOpenDevice is documented to
8153         return NULL on failure, but sometimes calls the IO error handler
8154         instead.)
8155
8156 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8157
8158         * dired.c (Ffile_name_all_completions): Change documentation --
8159         remove reference to completion-ignored-extensions.
8160         * dired.c (vars_of_dired): Change documentation for
8161         completion-ignored-extensions -- remove reference to
8162         file-name-all-completions.
8163
8164 2002-03-06  Jerry James  <james@xemacs.org>
8165
8166         * emodules.c (emodules_load): Fix multiple loading of same module.
8167
8168 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8169         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8170         RTLD_LAZY to avoid incorrect symbol binding when using nested
8171         shared libraries on Solaris.
8172
8173 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8174
8175         * fileio.c (Ffind_file_name_handler): Improve docstring.
8176
8177 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8178
8179         * fns.c (Fmapconcat): Improve docstring.
8180
8181 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8182
8183         * device-gtk.c: Add prototype for
8184         emacs_gtk_selection_clear_event_handle.
8185         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8186         selection.  Setup signal handler for "selection_clear_event"
8187         (emacs_gtk_selection_clear_event_handle).
8188
8189         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8190         other applications owning the clipboard (based on
8191         x_handle_selection_clear).
8192
8193 2001-12-23  William M. Perry  <wmperry@gnu.org>
8194
8195         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8196         
8197 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8198
8199         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8200
8201 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8202
8203         * XEmacs 21.4.6 "Common Lisp" is released.
8204
8205 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8206
8207         * search.c (Freplace_match): Add missing sub-expression functionality.
8208
8209         * buffer.c (decode_buffer): Add a check for pointer type to
8210         decode_buffer, before gcc's CSE optimization reorders a
8211         dereference in front of the allow_string test.
8212
8213 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8214
8215         * window.c (window_loop): Fix bug that sometimes prevented
8216         window_loop() from iterating across multiple devices.  Also, at
8217         Ben's request, changed infloop-detecting code to abort() instead
8218         of silently terminating window_loop().
8219
8220 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8221
8222         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8223         * editfns.c (make_time): New function.
8224         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8225         * lisp.h (make_time): Prototype and comment it.
8226         * dired.c (wasteful_word_to_lisp): Deprecate.
8227         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8228
8229 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8230
8231         * fileio.c (auto_save_1): Use current coding system, not
8232         escape-quoted.
8233
8234 2001-11-13  Ben Wing  <ben@xemacs.org>
8235
8236         * window.c:
8237         * window.c (window_truncation_on):
8238         * window.c (syms_of_window):
8239         truncate-partial-width-windows should respect the buffer being
8240         displayed, like other redisplay vars.
8241
8242 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8243
8244         * event-stream.c (Fread_key_sequence): save current buffer.
8245
8246 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8247
8248         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8249
8250 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8251
8252         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8253
8254 2001-10-26  Mike Alexander  <mta@arbortext.com>
8255
8256         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8257
8258 2001-10-25  Andy Piper  <andy@xemacs.org>
8259
8260         * ChangeLog:
8261         * dialog-msw.c (handle_directory_proc): new function.
8262          (handle_directory_dialog_box): new fucntion.
8263          (handle_file_dialog_box): use new directory dialog support.
8264          (mswindows_make_dialog_box_internal): ditto.
8265         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8266         handling.
8267         (mswindows_find_frame): make global.
8268         * fileio.c (Fexpand_file_name): build fix.
8269         * general-slots.h: add Qdirectory.
8270         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8271         handling.
8272         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8273         cygwin not leaving win32 paths unchanged.
8274         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8275         cygwin runtime to do path conversion.
8276         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8277         (syms_of_win32): add new function.
8278         * window.c (window_loop): build fix.
8279
8280 2001-10-15  Andy Piper  <andy@xemacs.org>
8281
8282         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8283
8284 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8285
8286         * XEmacs 21.4.5 "Civil Service" is released.
8287
8288 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8289
8290         * glyphs-x.c: Force buffer-tab highlight update when moving the
8291         buffer, avoiding an ugly black border, used for keyboard focus
8292         indication, on a widget that can never have keyboard focus, the
8293         buffer tab.
8294
8295 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8296
8297         * process-unix.c (unix_open_multicast_group): Remove too much
8298         conversion between host and network byte order.
8299
8300 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8301
8302         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8303         before replacing them.
8304
8305         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8306         operation.
8307
8308         * src/window.c (undedicate_windows): Use it.
8309         * src/window.h: Add prototype.
8310
8311 2001-09-17  Ben Wing  <ben@xemacs.org>
8312
8313         * fileio.c (normalize_filename):
8314         * fileio.c (Fexpand_file_name):
8315         Fix various C++ compile errors in Andy's recent code.
8316         
8317         * callint.c (Fcall_interactively):
8318         * editfns.c (Ftemp_directory):
8319         * editfns.c (Fuser_full_name):
8320         * emacs.c (argmatch):
8321         * lread.c (locate_file_map_suffixes):
8322         * redisplay-x.c (x_ring_bell):
8323         Fix sign-compare warnings.
8324         
8325 2001-09-08  Andy Piper  <andy@xemacs.org>
8326
8327         * fileio.c (normalize_filename): copied from nt.c
8328         * (Ffile_name_directory): enable win32 paths under cygwin.
8329         * (Ffile_name_nondirectory): ditto.
8330         * (directory_file_name): ditto.
8331         * (Fexpand_file_name): ditto.
8332         * (Ffile_truename): ditto.
8333         * (Fsubstitute_in_file_name): ditto.
8334         * (Ffile_name_absolute_p): ditto.
8335         * (Ffile_readable_p): ditto.
8336
8337 2001-09-08  Andy Piper  <andy@xemacs.org>
8338
8339         * device-msw.c (mswindows_finish_init_device): remove dde
8340         initialization.
8341         * device-msw.c (mswindows_init_dde): factor out from
8342         mswindows_finish_init_device()
8343         * device-msw.c (init_mswindows_very_early): new function
8344         initialize but don't enable dde.
8345         * emacs.c (main_1): call init_mswindows_very_early.
8346         * event-msw.c:
8347         * event-msw.c (mswindows_dde_callback): only execute when we are
8348         ready.
8349         * symsinit.h: declare init_mswindows_very_early.
8350
8351 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8352
8353         [sjt: This has been in 21.5 for months with no complaints.]
8354
8355         * console.h (struct console_methods): Added flags member.
8356         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8357         (CONMETH_IMPL_FLAG):
8358         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8359         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8360
8361         * device.c (window_system_pixelated_geometry): Use the above macros.
8362
8363         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8364         implememntation flag.
8365         * device.h (DEVICE_DISPLAY_P): Use it.
8366
8367         * frame.c (delete_frame_internal): Use the above macro.
8368
8369         * redisplay.c (redisplay_device): Use it.
8370         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8371         (redisplay_frame): Ditto.
8372
8373         * device-msw.c (mswindows_device_implementation_flags): Removed.
8374         (msprinter_device_implementation_flags): Removed.
8375         (console_type_create_device_mswindows): Removed references to
8376         implementation_flags methods, set implementation flags here.
8377         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8378
8379         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8380         (console_type_create_device_gtk): Removed method declaration.
8381         Added commented out statement which semantically matches the
8382         commented out statement in the above removed method.
8383
8384 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8385
8386         The attached patch fixes a few warnings. 
8387
8388         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8389         * src/frame-gtk.c: guard against GNOME calls in GTK only
8390         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8391         * src/select-gtk.c: prototype lisp_to_time
8392
8393 2001-06-08  Ben Wing  <ben@xemacs.org>
8394
8395         ------ gc-in-window-procedure fixes ------
8396         
8397         * alloc.c:
8398         * alloc.c (struct post_gc_action):
8399         * alloc.c (register_post_gc_action):
8400         * alloc.c (run_post_gc_actions):
8401         * alloc.c (garbage_collect_1):
8402         Create "post-gc actions", to avoid those dreaded "GC during window
8403         procedure" problems.
8404
8405         * event-msw.c:
8406         Abort, clean and simple, when GC in window procedure.  We want
8407         to flush these puppies out.
8408
8409         * glyphs-msw.c:
8410         * glyphs-msw.c (finalize_destroy_window):
8411         * glyphs-msw.c (mswindows_finalize_image_instance):
8412         Use a post-gc action when destroying subwindows.
8413
8414         * lisp.h:
8415         Declare register_post_gc_action().
8416
8417         * scrollbar-msw.c:
8418         * scrollbar-msw.c (unshow_that_mofo):
8419         Use a post-gc action when unshowing scrollbar windows, if in gc.
8420
8421         * redisplay.c (mark_redisplay):
8422         Add comment about the utter evilness of what's going down here.
8423
8424         ------ cygwin setitimer fixes ------
8425         
8426         * Makefile.in.in (sheap_objs):
8427         * Makefile.in.in (profile_objs):
8428         * Makefile.in.in (objs):
8429         Compile profile.c only when HAVE_SETITIMER.
8430         
8431         * nt.c (mswindows_sigset):
8432         * nt.c (mswindows_sighold):
8433         * nt.c (mswindows_sigrelse):
8434         * nt.c (mswindows_sigpause):
8435         * nt.c (mswindows_raise):
8436         * nt.c (close_file_data):
8437         Style fixes.
8438         
8439         * nt.c:
8440         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8441         
8442         * profile.c:
8443         * profile.c (Fstart_profiling):
8444         * profile.c (Fstop_profiling):
8445         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8446         instead of just plain setitimer().
8447         
8448         * signal.c:
8449         * signal.c (set_one_shot_timer):
8450         * signal.c (alarm):
8451         Define qxe_setitimer() as an encapsulation around setitimer() --
8452         call setitimer() directly unless Cygwin or MS Win, in which case
8453         we use our simulated version in win32.c.
8454         
8455         * systime.h:
8456         * systime.h (struct itimerval):
8457         * systime.h (ITIMER_REAL):
8458         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8459         comment about "qxe" and the policy regarding encapsulation.
8460
8461         * win32.c:
8462         * win32.c (setitimer_helper_proc):
8463         * win32.c (setitimer_helper_period):
8464         * win32.c (setitimer_helper):
8465         * win32.c (mswindows_setitimer):
8466         Move setitimer() emulation here, so Cygwin can use it.
8467         Rename a couple of functions and variables to be longer and more
8468         descriptive.  In setitimer_helper_proc(), send the signal
8469         using either mswindows_raise() or (on Cygwin) kill().  If for
8470         some reason we are still getting lockups, we'll change the kill()
8471         to directly invoke the signal handlers.
8472
8473         ------ windows shell fixes ------
8474         
8475         * callproc.c:
8476         * ntproc.c:
8477         Comments about how these two files must die.
8478
8479         * callproc.c (init_callproc):
8480         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8481         not just COMSPEC. (more correct and closer to FSF.) Don't
8482         force a value for SHELL into the environment. (Comments added
8483         to explain why not.)
8484         
8485         * nt.c (init_user_info):
8486         Don't shove a fabricated SHELL into the environment.  See above.
8487
8488 2001-06-01  Ben Wing  <ben@xemacs.org>
8489
8490         * Makefile.in.in (ldflags):
8491         eliminate that pesky "defaulting to 00401000" warning.
8492         * nt.h:
8493         eliminate warnings.
8494
8495 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8496
8497         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8498         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8499
8500 2001-04-24  Jerry James <james@xemacs.org>
8501
8502         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8503         correct order.
8504
8505 2001-06-01  Ben Wing  <ben@xemacs.org>
8506
8507         * event-msw.c (debug_mswin_messages):
8508         conditionalize the messages that were causing compile errors.
8509         (if only macros could generate #ifdef statements ...)
8510
8511 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8512
8513         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8514
8515 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8516
8517         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8518
8519 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8520
8521         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8522         * process-unix.c (unix_canonicalize_host_name):
8523         sysdep.c (init_system_name):
8524         Use it to conditionally support IPv6 canonicalization.
8525
8526 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8527
8528         * event-msw.c:
8529         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8530
8531 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8532
8533         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8534         attempt is made to scroll when no scroll bar is available.
8535
8536 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8537
8538         * input-method-motif.c (XIM_delete_frame): New callback.
8539         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8540         got deleted from 21.4.3.)
8541
8542 2001-06-01  Ben Wing  <ben@xemacs.org>
8543
8544         * nt.c (mswindows_utime):
8545         * nt.c (close_file_data):
8546         fix off-by-one-indirection error.
8547
8548 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8549
8550         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8551         because set_file_times() now takes Lisp_Object path, instead of
8552         char*.
8553         * nt.c: Include buffer.h.
8554         * nt.c (convert_from_time_t): New.
8555         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8556         not set mtime correctly.
8557         * nt.h: Declare mswindows_utime().
8558         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8559         path, instead of char*.
8560         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8561
8562 2001-05-30  Ben Wing  <ben@xemacs.org>
8563
8564         For 21.4:
8565
8566         (Stephen, just take all event-msw.c patches.  This includes
8567         the "iconify" fix below.)
8568
8569         * event-msw.c:
8570         * event-msw.c (mswindows_dequeue_dispatch_event):
8571         * event-msw.c (assert):
8572         * event-msw.c (emacs_mswindows_quit_p):
8573         * event-msw.c (debug_mswin_messages):
8574         * event-msw.c (debug_output_mswin_message):
8575         * event-msw.c (vars_of_event_mswindows):
8576         Fix yet more problems with C-g handling.
8577         Implement debug-mswindows-events.
8578         
8579 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8580
8581         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8582         
8583 2001-05-23  Ben Wing  <ben@xemacs.org>
8584
8585         * event-msw.c (winsock_writer):
8586         * event-msw.c (winsock_closer):
8587         prior kludgy code was clobbering the buffer, thinking it was
8588         "unused" space to store an unneeded return value; instead, use
8589         the variable we've already got staring us in the face.
8590
8591 2001-05-17  Andy Piper  <andy@xemacs.org>
8592
8593         * sysfile.h: don't assume that file attributes are boolean
8594
8595 2001-05-23  Ben Wing  <ben@xemacs.org>
8596
8597         * device-msw.c (msprinter_init_device):
8598         signal an error rather than crash with an unavailable network
8599         printer (from Mike Alexander).
8600         
8601         * event-msw.c:
8602         * event-msw.c (struct winsock_stream):
8603         * event-msw.c (winsock_writer):
8604         * event-msw.c (winsock_closer):
8605         * event-msw.c (make_winsock_stream_1):
8606         cleanup headers.  fix (hopefully) an error with data corruption
8607         when sending to a network connection.
8608
8609         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8610         to handle the ~user prefix by (a) always assuming we're referencing
8611         ourselves and not even verifying the user -- hence any file with
8612         a tilde as its first char is invalid! (b) if there wasn't a slash
8613         following the filename, the pointer was set *past* the end of
8614         file and we started reading from uninitialized memory.  Now we
8615         simply treat these as files, always.
8616
8617         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8618         
8619 2001-05-19  Ben Wing  <ben@xemacs.org>
8620
8621         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8622
8623         * process-nt.c:
8624         * process-nt.c (vars_of_process_nt):
8625         remove unused mswindows-quote-process-args.  rec for 21.4.
8626         
8627 2001-05-12  Ben Wing  <ben@xemacs.org>
8628
8629         * event-msw.c (mswindows_dde_callback):
8630         * event-msw.c (mswindows_wnd_proc):
8631         eliminate cygwin warnings.
8632
8633 2001-05-06  Ben Wing  <ben@xemacs.org>
8634
8635         * console-msw.h:
8636         * device-msw.c:
8637         * device-msw.c (print_dialog_worker):
8638         * device-msw.c (mswindows_handle_print_dialog_box):
8639         * device-msw.c (syms_of_device_mswindows):
8640         * dialog-msw.c (mswindows_make_dialog_box_internal):
8641         * general-slots.h:
8642         implement printing the selection when it's selected.
8643
8644 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8645
8646         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8647
8648 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8649
8650         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8651         EMACS_INT is signed.
8652
8653 2001-04-15  Michael Lausch  <mla@1012surf.net>
8654
8655         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8656         gtk_widget_request_size() to give scrollbar >0 width for
8657         GTK >1.2.8.
8658
8659 2001-05-30  William M. Perry  <wmperry@gnu.org>
8660
8661         * event-gtk.c: Check for buttons as modifier keys.
8662
8663 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8664
8665         * s\mingw32.h:
8666         Properly find MinGW's <process.h> inside Cygwin's restructured
8667         include directories.  Don't try to include <cygwin/version.h>
8668         since we are dropping support for MinGW in versions of Cygwin
8669         earlier than b21.
8670         * nt.c:
8671         Drop support for MinGW in versions of Cygwin before b21.
8672         * sysdep.c:
8673         Properly find MinGW's <process.h> inside Cygwin's restructured
8674         include directories.
8675         * syswindows.h:
8676         Drop support for MinGW in versions of Cygwin before b21.
8677         * unexcw.c:
8678         Even though a.out.h is no longer detected by configure, allow
8679         MinGW to use it until we figure out how to do the job with Win32.
8680
8681 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8682
8683         * syntax.c (find_start_of_comment):
8684         Fix `unbalanced parentheses' bug when dealing with mixed comment
8685         styles in c++/java/etc. mode
8686
8687 2001-05-29  Mike Alexander  <mta@arbortext.com>
8688
8689         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8690         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8691
8692 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8693
8694         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8695
8696 2001-03-31  Mike Sperber <mike@xemacs.org>
8697
8698         * search.c (Freplace_match): Support FSF-style specification of
8699         match subexpression when applied to a buffer.
8700
8701 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8702
8703         * event-stream.c (is_scrollbar_event): add missing semicolon
8704
8705 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8706
8707         * Makefile.in.in: Use TAR macro instead of hardcoding
8708           tar.  Allows use of GNU tar instead of system tar
8709
8710 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8711
8712         * event-stream.c (is_scrollbar_event): add missing semicolon
8713
8714 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8715
8716         * XEmacs 21.4.3 "Academic Rigor" is released.
8717
8718 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8719
8720         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8721
8722 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8723
8724         * buffer.c (Vcase_fold_search): Remove obsolete
8725           comment about non ASCII case-fold-search.  This
8726           bug has been fixed by case-table changes.
8727
8728 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8729
8730         * event-msw.c: Restore include of events-mod.h.
8731
8732 2001-04-22   zhaoway  <zw@debian.org>
8733
8734         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8735         !HAVE_SCROLLBARS.
8736
8737 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8738
8739         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8740
8741 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8742
8743         * mule-charset.c (Fmake_charset): Add missing else.
8744
8745 2001-04-23  Ben Wing  <ben@xemacs.org>
8746
8747         * event-msw.c (FAKE_MOD_QUIT):
8748         * event-msw.c (mswindows_dequeue_dispatch_event):
8749         * event-msw.c (mswindows_wnd_proc):
8750         * event-msw.c (emacs_mswindows_quit_p):
8751         Get critical quit working.
8752
8753 2001-05-05  Ben Wing  <ben@xemacs.org>
8754
8755         * console-msw.h:
8756         * device-msw.c:
8757         * device-msw.c (mswindows_get_default_margin):
8758         * frame-msw.c (mswindows_size_frame_internal):
8759         * frame-msw.c (msprinter_init_frame_1):
8760         * frame-msw.c (vars_of_frame_mswindows):
8761         Change top/bottom margin defaults to 0.5 inches.
8762
8763 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8764
8765         Fix link error with gcc 3.0 on Linux.
8766         * terminfo.c (UP): Remove.
8767         * terminfo.c (BC): Remove.
8768         * terminfo.c (PC): Remove.
8769         They weren't used, and in any case, these symbols should be
8770         defined in the *library*.
8771
8772 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8773
8774         * s/aix4.h: Fix crash with xlc -O3.
8775         Improve comment explaining how -O3 works.
8776
8777 2001-04-15  Ben Wing  <ben@xemacs.org>
8778
8779         * event-stream.c:
8780         * event-stream.c (Fnext_event):
8781         * event-stream.c (is_scrollbar_event):
8782         * event-stream.c (execute_command_event):
8783         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8784         crash' problem.  His fix introduces other problems.  We filter
8785         out scrollbar events specifically, making them somewhat invisible
8786         to command-building, and not appearing in `this-command-keys'.
8787         More work is still needed (see comments in event-stream.c), but
8788         this fixes all the major problems.
8789
8790 2001-04-20  Ben Wing  <ben@xemacs.org>
8791
8792         * .cvsignore: Added stuff for Windows.
8793
8794 2001-04-28  Ben Wing  <ben@xemacs.org>
8795
8796         * buffer.c (Ferase_buffer):
8797         * editfns.c (buffer_insert1):
8798         * editfns.c (Finsert_before_markers):
8799         * editfns.c (Finsert_string):
8800         * editfns.c (Finsert_char):
8801         * editfns.c (Fdelete_region):
8802         * editfns.c (Fwiden):
8803         * editfns.c (Fnarrow_to_region):
8804         remove bogus lines setting zmacs_region_stays to 0.
8805         
8806 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8807
8808         * process-unix.c (unix_open_network_stream): If connect() fails
8809         invalidate file descriptor after closing it.
8810
8811 2001-03-08  Mike Alexander  <mta@arbortext.com>
8812
8813         * event-msw.c (mswindows_need_event_in_modal_loop):
8814         Don't dispatch a message if we didn't get one.
8815         (mswindows_need_event):
8816         Terminate the correct process when one exits instead of the first
8817         one on Vprocess_list and look for process termination when in
8818         mswindows_protect_modal_loop.
8819
8820 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8821
8822         * XEmacs 21.4.1 "Copyleft" is released.
8823
8824 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8825
8826         * input-method-motif.c (XIM_delete_frame): New callback.
8827         (XIM_init_frame): Register it.
8828
8829 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8830
8831         * XEmacs 21.4.0 "Solid Vapor" is released.
8832
8833 2001-04-15  Ben Wing  <ben@xemacs.org>
8834
8835         * cmdloop.c (call_command_loop):
8836         Fix braino in bit-rotting code.
8837         
8838 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8839
8840         * extents.c (Fset_extent_endpoints): Force creation of extent info
8841         in buffer_or_string.
8842
8843         * extents.c (process_extents_for_insertion_mapper): Correctly
8844         check for open-open zero-length extents.
8845
8846 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8847
8848         * lisp.h: New typedefs Memory_count, Element_count.
8849         * regex.c:
8850         * regex.h:
8851         Sign-compare warning elimination: several unsigned -> signed.
8852         Based on work by Ben Wing <ben@xemacs.org>.
8853
8854 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8855
8856         * XEmacs 21.2.47 "Zephir" is released.
8857
8858 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8859
8860         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8861
8862 2001-04-03  Mike Sperber <mike@xemacs.org>
8863
8864         * search.c: Revert previous patch due because of release.
8865
8866 2001-03-30  Ben Wing  <ben@xemacs.org>
8867
8868         * s\cygwin32.h:
8869         Add missing killpg prototype.
8870
8871         * elhash.c:
8872         Add a comment about fixing problems when a new entry is added
8873         while mapping.
8874
8875         * frame-msw.c (mswindows_init_frame_1):
8876         Fix compile warnings.
8877
8878         * menubar.c (vars_of_menubar):
8879         Provide `menu-accelerator-support' to indicate that we properly
8880         support %_ in menu specifications, so that package code can
8881         conditionalize on this (and remove %_ from menu specifications
8882         on older versions).
8883
8884         * event-msw.c:
8885         * scrollbar-msw.c:
8886         * scrollbar-msw.c (can_scroll):
8887         * scrollbar-msw.h:
8888         Fix handling of mouse wheel under Windows to follow standards --
8889         now scrolls window under pointer, not selected window.
8890
8891 2001-03-31  Mike Sperber <mike@xemacs.org>
8892
8893         * search.c (Freplace_match): Support FSF-style specification of
8894         match subexpression when applied to a buffer.
8895
8896 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8897
8898         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8899         function to modify KEYMAP, so map over a copy of the hash table.
8900
8901 2001-03-21  Martin Buchholz <martin@xemacs.org>
8902
8903         * XEmacs 21.2.46 "Urania" is released.
8904
8905 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8906
8907         * realpath.c (xrealpath): Make file-truename work with symlinks to
8908         /cygdrive paths on cygwin. Always lowercase drive-letters on
8909         native windows.
8910         (cygwin_readlink): Don't try to find canonical filename unless
8911         file exists.
8912
8913 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8914
8915         * ChangeLog: Log GTK merge.
8916
8917         * dumper.c:
8918         * select-x.c:
8919         * specifier.c:
8920         * symeval.h:
8921         Revert gratuitous whitespace changes from GTK merge.
8922
8923         * emacs.c: Document end of complex #ifdef @ l. 1495.
8924
8925
8926 2001-03-12  Andy Piper  <andy@xemacs.org>
8927
8928         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8929         have to do likewise.
8930
8931 2001-03-12  Andy Piper  <andy@xemacs.org>
8932
8933         * sysdep.c: we only support mingw now.
8934
8935 2001-03-09  Andy Piper  <andy@xemacs.org>
8936
8937         * unexcw.c (copy_executable_and_dump_data_section): making approx
8938         overrun a warning only.
8939
8940 2001-03-10  William M. Perry  <wmperry@aventail.com>
8941
8942         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8943         satisfy Stephen's identical-after-cpp plea.
8944
8945 2001-03-02  Ben Wing  <ben@xemacs.org>
8946
8947         * cmds.c:
8948         * cmds.c (Fforward_char):
8949         * syntax.c:
8950         * window.c:
8951
8952         Augment documentation of the most common motion commands to make
8953         note of the shifted-motion support.
8954         
8955 2001-03-02  Ben Wing  <ben@xemacs.org>
8956
8957         * nt.c (mswindows_fstat):
8958         * nt.c (mswindows_stat):
8959         * search.c (boyer_moore):
8960         Fix compile warnings under Windows.
8961         
8962         * sysdep.c (sys_readdir):
8963         Fix buggy filename-conversion code under Mule.
8964
8965 2001-03-09  William M. Perry  <wmperry@aventail.com>
8966
8967         * Makefile.in.in:
8968         * config.h.in:
8969         * console.c:
8970         * console.h:
8971         * device.c:
8972         * device.h:
8973         * dragdrop.c:
8974         * emacs.c:
8975         * event-stream.c:
8976         * events.c:
8977         * events.h:
8978         * faces.c:
8979         * frame.h:
8980         * general-slots.h:
8981         * glyphs.c:
8982         * gutter.c:
8983         * inline.c:
8984         * lisp.h:
8985         * lrecord.h:
8986         * make-src-depend:
8987         * redisplay-output.c:
8988         * redisplay.c:
8989         * symsinit.h:
8990         * sysfile.h:
8991         * toolbar.c:
8992         * window.c:
8993         The Great GTK Merge.
8994
8995         * ChangeLog.GTK:
8996         * console-gtk.c:
8997         * console-gtk.h:
8998         * device-gtk.c:
8999         * emacs-marshals.c:
9000         * emacs-widget-accessors.c:
9001         * event-gtk.c:
9002         * frame-gtk.c:
9003         * gccache-gtk.c:
9004         * gccache-gtk.h:
9005         * glade.c:
9006         * glyphs-gtk.c:
9007         * glyphs-gtk.h:
9008         * gtk-glue.c:
9009         * gtk-xemacs.c:
9010         * gtk-xemacs.h:
9011         * gui-gtk.c:
9012         * gui-gtk.h:
9013         * menubar-gtk.c:
9014         * native-gtk-toolbar.c:
9015         * objects-gtk.c:
9016         * objects-gtk.h:
9017         * redisplay-gtk.c:
9018         * scrollbar-gtk.c:
9019         * scrollbar-gtk.h:
9020         * select-gtk.c:
9021         * toolbar-gtk.c:
9022         * ui-byhand.c:
9023         * ui-gtk.c:
9024         * ui-gtk.h:
9025         The Great GTK Merge: new files.
9026
9027 2001-02-26  Ben Wing  <ben@xemacs.org>
9028
9029         Reapplied Lstream change.
9030
9031 2001-02-26  Ben Wing  <ben@xemacs.org>
9032
9033         Undid the last change, since it is more controversial than I
9034         thought.  It should be back in at some point soon.
9035         
9036 2001-02-25  Ben Wing  <ben@xemacs.org>
9037
9038         * buffer.c:
9039         * callproc.c (Fold_call_process_internal):
9040         * event-msw.c (ntpipe_slurp_reader):
9041         * event-msw.c (ntpipe_shove_writer):
9042         * event-msw.c (winsock_reader):
9043         * event-msw.c (winsock_writer):
9044         * file-coding.c:
9045         * file-coding.c (detect_eol_type):
9046         * file-coding.c (detect_coding_type):
9047         * file-coding.c (determine_real_coding_system):
9048         * file-coding.c (Fdetect_coding_region):
9049         * file-coding.c (decoding_reader):
9050         * file-coding.c (decoding_writer):
9051         * file-coding.c (mule_decode):
9052         * file-coding.c (Fdecode_coding_region):
9053         * file-coding.c (encoding_reader):
9054         * file-coding.c (encoding_writer):
9055         * file-coding.c (mule_encode):
9056         * file-coding.c (Fencode_coding_region):
9057         * file-coding.c (detect_coding_sjis):
9058         * file-coding.c (decode_coding_sjis):
9059         * file-coding.c (encode_coding_sjis):
9060         * file-coding.c (detect_coding_big5):
9061         * file-coding.c (decode_coding_big5):
9062         * file-coding.c (encode_coding_big5):
9063         * file-coding.c (detect_coding_ucs4):
9064         * file-coding.c (decode_coding_ucs4):
9065         * file-coding.c (encode_coding_ucs4):
9066         * file-coding.c (detect_coding_utf8):
9067         * file-coding.c (decode_coding_utf8):
9068         * file-coding.c (encode_coding_utf8):
9069         * file-coding.c (detect_coding_iso2022):
9070         * file-coding.c (decode_coding_iso2022):
9071         * file-coding.c (encode_coding_iso2022):
9072         * file-coding.c (decode_coding_no_conversion):
9073         * file-coding.c (encode_coding_no_conversion):
9074         * glyphs-x.c (write_lisp_string_to_temp_file):
9075         * gpmevent.c (tty_get_foreign_selection):
9076         * lisp.h:
9077         * lstream.c:
9078         * lstream.c (Lstream_flush_out):
9079         * lstream.c (Lstream_adding):
9080         * lstream.c (Lstream_write_1):
9081         * lstream.c (Lstream_write):
9082         * lstream.c (Lstream_raw_read):
9083         * lstream.c (Lstream_read_more):
9084         * lstream.c (Lstream_read):
9085         * lstream.c (Lstream_unread):
9086         * lstream.c (Lstream_fputc):
9087         * lstream.c (stdio_reader):
9088         * lstream.c (stdio_writer):
9089         * lstream.c (filedesc_reader):
9090         * lstream.c (filedesc_writer):
9091         * lstream.c (lisp_string_reader):
9092         * lstream.c (struct fixed_buffer_stream):
9093         * lstream.c (make_fixed_buffer_input_stream):
9094         * lstream.c (make_fixed_buffer_output_stream):
9095         * lstream.c (fixed_buffer_reader):
9096         * lstream.c (fixed_buffer_writer):
9097         * lstream.c (struct resizing_buffer_stream):
9098         * lstream.c (resizing_buffer_writer):
9099         * lstream.c (dynarr_writer):
9100         * lstream.c (lisp_buffer_reader):
9101         * lstream.c (lisp_buffer_writer):
9102         * lstream.h:
9103         * lstream.h (lstream_implementation):
9104         * lstream.h (struct lstream):
9105         * md5.c (Fmd5):
9106         * process-nt.c (nt_send_process):
9107         * process-unix.c (unix_send_process):
9108         
9109         Correct Lstream lossage due to mixing of signed and unsigned
9110         quantities.  All Lstream uses of size_t and ssize_t are now a
9111         single signed data type Lstream_data_count.  This fixes problems
9112         under Windows with sending large quantities of data to a process,
9113         and may well fix other subtle bugs.
9114
9115 2001-02-23  Martin Buchholz <martin@xemacs.org>
9116
9117         * XEmacs 21.2.45 "Thelxepeia" is released.
9118
9119 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9120
9121         * lisp-union.h (XSETINT): 
9122         (XSETCHAR):
9123         (XSETOBJ): 
9124         Reverse previous change of 2001-02-06.
9125
9126 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9127
9128         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9129         buffers.
9130         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9131         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9132         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9133         * regex.c (POS_AS_IN_BUFFER): removed
9134         * regex.c (re_search_2):
9135         * regex.c (re_match_2):
9136         Don't use an offset of 1 when calculating buffer positions, since
9137         `BI_BUF_BEGV' does it already.
9138
9139 2001-02-18  Wim Dumon  <wim@easics.be>
9140
9141         * insdel.c (prepare_to_modify_buffer): Also check for
9142         supersession when clash-detection is enabled. 
9143
9144 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9145
9146         * regex.c (re_match_2_internal):
9147         Convert temp characters from 'const unsigned char' to 're_char'.
9148         Fix crashing bug with extended characters under mule.
9149         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9150         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9151         font-lock, pdump, and new syntax-table code.
9152         * syntax.c (find_start_of_comment):
9153         (find_end_of_comment):
9154         (forward-comment):
9155         Fix crashing bugs involving moving beyond end of buffer.
9156         * syntax.c (find_start_of_comment):
9157         Fixed logic to allow proper detection of cases where the same
9158         character is used to end both a two-char comment start and a
9159         two-char comment end sequence. Fixes `(forward-comment -1)'.
9160         * syntax.c (find_start_of_comment):
9161         Return position just past last comment-end character for all cases
9162         (previously was only done for two-char comment-end sequences).
9163         * syntax.c (forward-comment):
9164         Take value returned from `find_end_of_comment', rather than
9165         incrementing it.
9166         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9167         Properly deal with BUFFERP (syntax_cache.object)
9168
9169 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9170
9171         * alloc.c (Fgarbage_collect): 
9172         * alloc.c (make_bit_vector_from_byte_vector):
9173         -Wsign-compare-correctness.
9174
9175 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9176
9177         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9178         (XSETCHAR): Likewise.
9179         (XSETOBJ): Likewise.
9180
9181 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9182
9183         * mule-canna.c (canna-func-delete_previous): 
9184         Rename to canna-func-delete-previous.
9185
9186 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9187
9188         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9189
9190 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9191
9192         * font-lock.c (find_context): Fix C++ compile errors introduced by
9193         recent patch
9194
9195 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9196
9197         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9198         pragma, but earlier ones barf on the same pragma.
9199
9200 2001-02-06  Mike Sperber <mike@xemacs.org>
9201
9202         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9203         `configure-mule-lisp-directory'.
9204
9205 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9206
9207         Make sure dump-id.c is compiled in the same way as other .c's.
9208         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9209         * dump-id.h: Remove.
9210         * emacs.c: Move dump-id.h into dumper.h.
9211         * dumper.h: Move dump-id.h into dumper.h.
9212         * Makefile.in.in:
9213         Use standard .c.o rule for building dump-id.o.
9214         Remove preprocessor flags from link command.
9215         Add dump-id.o to ${otherobjs} if PDUMP.
9216
9217 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9218
9219         Port FSF 20.7 syntax table improvements.
9220         * syntax.c.
9221         * syntax.h.
9222
9223         Fixups for new syntax table stuff.
9224         * dired.c: Include syntax.c.
9225         (Fdirectory_files): Initialize regex_match_object and
9226         regex_emacs_buffer.
9227         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9228         and Fget_char_property.
9229
9230         Use ported FSF 20.7 syntax table improvements.
9231         * font-lock.c.
9232         * regex.c.
9233         * search.c.
9234         
9235 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9236
9237         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9238         Unixware's enum boolean from sys/types.h.
9239
9240 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9241
9242         Fix support for building with latest Purify.
9243         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9244         (PURIFY_FLAGS): Likewise.
9245
9246 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9247
9248         * fileio.c (lisp_string_set_file_times): New.
9249         * fileio.c (Fcopy_file): Use it.
9250         Fixes bug:
9251         (copy-file filename non-ascii-filename t t)
9252         ==> No such file or directory, non-ascii-filename
9253
9254 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9255
9256         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9257         USHRT_MAX seems clearer than ~0 anyways.
9258
9259 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9260
9261         dumper improvements.  Inspired by Olivier.
9262         * dumper.c (pdump_max_align): New.
9263         * dumper.c (pdump_add_entry): Use pdump_max_align.
9264         * dumper.c (pdump_get_entry_list): Likewise.
9265         * dumper.c (pdump_scan_by_alignment): Likewise.
9266         Don't iterate through unnecessary alignments.
9267         * dumper.c (pdump_file_get): No need to align result of malloc().
9268         * dumper.c (pdump_mallocadr): Remove.  
9269         The result of malloc() is guaranteed to be maximally aligned.
9270         * dumper.c: s/elmt/elt/g;
9271         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9272         * dumper.c (pdump_alert_undump_object): Likewise.
9273         * dumper.c (pdump_align_table): 
9274         Don't support alignments > 64.
9275         Store ALIGNOF's, not shift counts, in table.
9276
9277 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9278
9279         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9280         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9281         * systime.h: Use HAVE_UTIME.
9282         * sysdep.c (struct utimbuf): Remove.
9283         * sysdep.c (set_file_times): Prefer utime() to utimes().
9284         * config.h.in (HAVE_UTIME): New.
9285         * config.h.in (HAVE_UTIME_H): Remove.
9286         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9287
9288 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9289
9290         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9291
9292 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9293
9294         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9295
9296 2001-02-08  Martin Buchholz <martin@xemacs.org>
9297
9298         * XEmacs 21.2.44 "Thalia" is released.
9299
9300 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9301
9302         Fixes crashes in kill-emacs on some systems.
9303         * process-unix.c (unix_kill_child_process):
9304         It's OK for kill() to fail with ESRCH.
9305
9306 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9307
9308         Contortions to make .gdbinit tricks work on most systems.
9309         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9310         * alloc.c (dbg_valmask): Make non-const.
9311         * alloc.c (dbg_typemask): Make non-const.
9312         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9313         * alloc.c (dbg_valbits): Make non-const.
9314         * alloc.c (dbg_gctypebits): Make non-const.
9315         * .gdbinit (decode_object): Make it work with AIX cc.
9316
9317 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9318
9319         * elhash.c (make_general_lisp_hash_table):
9320         Use simpler and more efficient calloc to clear entries.
9321
9322 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9323
9324         * window.c (window_scroll): Work around an AIX C compiler bug.
9325         Fixes 'scroll-up' does nothing problem with xlC.
9326
9327 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9328
9329         * .gdbinit: Remove obsolete comment.
9330
9331 2001-01-31  Mike Alexander  <mta@arbortext.com>
9332
9333         * select.c (Fown_selection_internal): Set owned_p for device
9334         method correctly.
9335
9336 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9337
9338         Port to g++ 2.97.
9339         "not" cannot be used as a macro name as it is an operator in C++
9340         * config.h.in: Stop #defining `not'.
9341         * chartab.c (check_category_char): not ==> not_p
9342         * chartab.h: Likewise.
9343         * regex.c (re_match_2_internal): Likewise.
9344
9345 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9346
9347         * lisp-disunion.h: Fix up comments.
9348
9349 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9350
9351         * keymap.c (define_key_check_and_coerce_keysym):
9352         (syms_of_keymap):
9353         Support mouse-6 and mouse-7 bindings in the obvious way.
9354
9355 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9356
9357         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9358
9359 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9360
9361         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9362         Previous patch missed DEFVAR_INT_MAGIC.
9363         Make sure future DEFVAR_foo use correct types.
9364         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9365         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9366         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9367         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9368         * (DEFVAR_INT): Likewise.
9369         * redisplay.c (vertical_clip): Should be of type Fixnum.
9370         * redisplay.c (horizontal_clip): Likewise.
9371         * lisp.h (dump_add_opaque_int): New.
9372         (dump_add_opaque_fixnum): New.
9373
9374 2001-01-29  Andy Piper  <andy@xemacs.org>
9375
9376         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9377         since they can be eval'ed
9378
9379 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9380
9381         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9382         Oops, XEmacs redefines `class'.  Use `typename' instead.
9383
9384 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9385
9386         * dumper.c: Fix C++ compile errors.
9387
9388 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9389
9390         * tparam.c: Use correct prototypes.
9391
9392 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9393
9394         * sysproc.h: #include util.h for NetBSD's openpty.
9395
9396 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9397
9398         More 64-bit correctness.
9399         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9400         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9401         Fix up comments.
9402         This finally finishes the 64-bit SGI port.
9403         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9404         * symbols.c: Fix up comments and type casts.
9405         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9406         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9407         * symeval.h (Fixnum): New type.
9408         * symeval.h (symbol_value_type): Fix up comment.
9409
9410         * commands.h:
9411         * nt.c:
9412         * emacs.c:
9413         * data.c:
9414         * redisplay.c:
9415         * abbrev.c:
9416         * dired-msw.c:
9417         * event-Xt.c:
9418         * eldap.c:
9419         * window.c:
9420         * sound.c:
9421         * event-stream.c:
9422         * eval.c:
9423         * buffer.c:
9424         * mule-canna.c: A million DEFVAR_INTs here...
9425         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9426         * extents.c:
9427         * cmdloop.c:
9428         * lisp.h:
9429         * select-x.c:
9430         * console-x.h:
9431         * event-msw.c:
9432         * mule-wnnfns.c:
9433         * hpplay.c:
9434         * ralloc.c:
9435         * alloc.c:
9436         * keymap.c:
9437         * profile.c:
9438         s/int/Fixnum/g in DEFVAR_INT declarations.
9439
9440 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9441
9442         Port pdump to SGI alignment-sensitive environment.
9443         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9444         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9445         properly aligned.
9446         Define and use aligned reading and writing macros.
9447         Use buffered stdio instead of posix i/o for faster dumping.
9448         Eliminate kludgy 256 byte space for header.
9449         Read and write from dump file using structs for alignment safety.
9450         * dumper.c (pdump_align_stream): New.
9451         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9452         * dumper.c (PDUMP_READ_ALIGNED): New.
9453         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9454         * dumper.c (pdump_static_Lisp_Object): New struct.
9455         * dumper.c (pdump_static_pointer): New struct.
9456         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9457         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9458         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9459         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9460
9461         * dumper.c (pdump_backtrace):
9462         * dumper.c (pdump_get_indirect_count):
9463         * dumper.c (pdump_register_object):
9464         * dumper.c (pdump_register_struct):
9465         * dumper.c (pdump_reloc_one):
9466         * dumper.c (pdump_scan_by_alignment):
9467         * dumper.c (pdump_dump_from_root_struct_ptrs):
9468         * dumper.c (pdump_dump_opaques):
9469         * dumper.c (pdump_dump_rtables):
9470         * dumper.c (pdump_dump_from_root_objects):
9471         * dumper.c (pdump):
9472         * dumper.c (pdump_load_finish):
9473         Use aligned reading and writing.
9474
9475         * dumper.c (pdump_free): Make static.
9476         * dumper.c (pdump_hFile): Likewise.
9477         * dumper.c (pdump_hMap): Likewise.
9478
9479 2001-01-26  Martin Buchholz <martin@xemacs.org>
9480
9481         * XEmacs 21.2.43 "Terspichore" is released.
9482
9483 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9484
9485         Type fiddling for window_config.saved_windows_count
9486         * window.c (struct window_config): 
9487         Make saved_windows_count member unsigned.
9488         * window.c (sizeof_window_config_for_n_windows): 
9489         Make parameter unsigned.
9490         * window.c (mark_window_config):
9491         * window.c (window_config_equal):
9492         * window.c (free_window_configuration):
9493         * window.c (Fset_window_configuration):
9494         * window.c (count_windows):
9495         * window.c (Fcurrent_window_configuration):
9496         * window.c (reinit_vars_of_window):
9497         Update all callers and users.
9498
9499 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9500
9501         Alignment correctness for flexible arrays.
9502         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9503         Make alignment-correct. Add interesting comments.
9504         * alloc.c (size_vector):
9505         * alloc.c (make_vector_internal):
9506         * alloc.c (make_bit_vector_internal):
9507         * alloc.c (sweep_bit_vectors_1):
9508         * fns.c (size_bit_vector):
9509         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9510         * window.c (sizeof_window_config_for_n_windows): 
9511         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9512
9513 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9514
9515         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9516
9517 2001-01-23  Andy Piper  <andy@xemacs.org>
9518
9519         * select.c (Fown_selection_internal): pass owned_p
9520
9521         * select-msw.c (mswindows_own_selection): New Signature.
9522
9523         * console.h (struct console_methods): add owned_p to
9524         _own_selection.
9525
9526         * select-x.c (x_own_selection): pass owned_p
9527         (hack_motif_clipboard_selection): use owned_p
9528         (vars_of_select_x): new variable -
9529         x_selection_strict_motif_ownership.
9530
9531 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9532
9533         * specifier.h (specifier_data_offset): Remove pointless parens.
9534         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9535
9536 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9537
9538         Make Lisp_Object sizeof methods be alignment-correct.
9539         pdump must restore objects to the same alignment as the C compiler
9540         assumes.  It really matters on SGIs.
9541         * lstream.c (aligned_sizeof_lstream): New.
9542         (sizeof_lstream): Use aligned_sizeof_lstream.
9543         (Lstream_new): Likewise.
9544         * opaque.c (aligned_sizeof_opaque): New.
9545         (sizeof_opaque): Use aligned_sizeof_opaque.
9546         (make_opaque): Likewise.
9547         * specifier.c (aligned_sizeof_specifier): New.
9548         (sizeof_specifier): Use aligned_sizeof_specifier.
9549         (make_specifier_internal): Likewise.
9550
9551 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9552
9553         * lstream.h (struct lstream): Use max_align_t for trailing data.
9554         * specifier.h (struct Lisp_Specifier): Likewise.
9555
9556 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9557
9558         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9559         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9560         (CCL_SUSPEND): Likewise.
9561         (CCL_INVALID_CMD): Likewise.
9562         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9563         (ccl_driver): Likewise.
9564         (CCL_WRITE_CHAR): Macro hygiene.
9565         (CCL_WRITE_STRING): Macro hygiene.
9566
9567 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9568
9569         Port "portable" dumper to SunOS 4 and HP-UX.
9570         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9571         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9572         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9573
9574 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9575
9576         * lisp.h (ALIGNOF): A better definition for C++.
9577
9578 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9579
9580         Macro hygiene.
9581         Fix printf warnings: int format, long int arg.
9582         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9583         (PUSH_FAILURE_POINT): Use correct printf formats.
9584         (POP_FAILURE_POINT): Use correct printf formats.  
9585         Use do {...} while (0)
9586
9587 2001-01-20  Martin Buchholz <martin@xemacs.org>
9588
9589         * XEmacs 21.2.42 "Poseidon" is released.
9590
9591 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9592
9593         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9594
9595 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9596
9597         De-kludgify FIXED_TYPE free list frobbing.
9598         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9599         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9600         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9601         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9602         * alloc.c (LRECORD_FREE_P): New.
9603         * alloc.c (MARK_LRECORD_AS_FREE): New.
9604         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9605         * alloc.c (STRUCT_FREE_P): Deleted.
9606         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9607         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9608         * alloc.c (STRING_CHARS_FREE_P): New.
9609         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9610         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9611         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9612         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9613         * alloc.c (resize_string): Use new definitions.
9614         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9615         * alloc.c (verify_string_chars_integrity): Use new definitions.
9616         * alloc.c (compact_string_chars): Use new definitions.
9617         * alloc.c: Update monster comments.
9618         * lrecord.h (lrecord_type): Add some new lrecord types for
9619         alloc.c's use.
9620
9621 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9622
9623         Improve alignment hackery.
9624         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9625         (max_align_t): Moved from opaque.h - general purpose.
9626         (ALIGN_PTR): Use size_t, not long.
9627         * opaque.h (max_align_t): Move to lisp.h.
9628
9629 2001-01-18  Norbert Koch  <nk@LF.net>
9630
9631         * gui.h: Fix and add prototypes to fix build problems.
9632
9633 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9634
9635         temacs is going away, so `dump-temacs' is now a bad name.
9636         * .dbxrc (dump-temacs): Rename to `dmp'.
9637         * .gdbinit (dump-temacs): Rename to `dmp'.
9638
9639 2001-01-17  Andy Piper  <andy@xemacs.org>
9640
9641         * glyphs.c (print_image_instance): comment to make martin happy.
9642
9643         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9644         change.
9645
9646         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9647         activation.
9648         (mswindows_tab_control_redisplay): warning suppression.
9649
9650         * glyphs-widget.c (widget_update): re-write to cope with updated
9651         items.
9652         (widget_instantiate): use new gui_item functions.
9653         (tab_control_update): deleted.
9654         (progress_gauge_update): deleted.
9655         (image_instantiator_progress_guage): take out update reference.
9656         (image_instantiator_tree_view): ditto.
9657         (image_instantiator_tab_control): ditto.
9658
9659         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9660         Right the new way.
9661         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9662         return whether anything was changed.
9663         (update_gui_item_keywords): as it sounds.
9664
9665         * gui.h: declare widget_gui_parse_item_keywords.
9666
9667         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9668         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9669
9670 2001-01-17  Martin Buchholz <martin@xemacs.org>
9671
9672         * XEmacs 21.2.41 "Polyhymnia" is released.
9673
9674 2001-01-16  Didier Verna  <didier@xemacs.org>
9675
9676         * glyphs.c (image_instantiate): don't use fallbacks when
9677         instantiating a face's background pixmap by inheritance.
9678
9679 2001-01-14  Mike Sperber <mike@xemacs.org>
9680
9681         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9682         Conditionalize accordingly.
9683
9684 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9685
9686         * dumper.c (pdump_file_get): Fix a compiler warning.
9687
9688 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9689
9690         Make Purify happy when pdumping.
9691         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9692         iniitalizing all bits of new lisp object memory.
9693         * symbols.c (Fmake_local_variable): Likewise.
9694         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9695         * symbols.c (Fdefvaralias): Likewise.
9696         * mule-charset.c (vars_of_mule_charset): Likewise.
9697
9698 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9699         Add the `-nd' flag when running pre-dump operations under the debugger.
9700         * .dbxrc (run-temacs): Add `-nd'.
9701         * .dbxrc (update-elc): Likewise.
9702         * .dbxrc (dump-temacs): Likewise.
9703         * .gdbinit (run-temacs): Likewise.
9704         * .gdbinit (check-temacs): Likewise.
9705         * .gdbinit (update-elc): Likewise.
9706         * .gdbinit (dump-temacs): Likewise.
9707
9708 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9709
9710         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9711         export OBJECT_MODE=64
9712         configure --pdump --use-union-type=no
9713         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9714         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9715
9716         * miscplay.c (sndcnv8U_2mono):
9717         Avoid two uses of `++' in the same expression.
9718         Suppresses a GCC warning.
9719
9720 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9721
9722         Make sure future compilers don't miscompile alloc.c.
9723         * alloc.c:
9724         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9725         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9726
9727 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9728
9729         * dumper.c: A little post-pdump-rename comment fixup.
9730
9731 2001-01-09  Jerry James  <james@eecs.ku.edu>
9732
9733         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9734
9735 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9736
9737         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9738         script:
9739         #!/bin/sh
9740         replace_symbol () {
9741           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9742         }
9743
9744         replace_symbol pdump_wire_lists pdump_weak_object_chains
9745         replace_symbol pdump_wire_list dump_add_weak_object_chain
9746
9747         replace_symbol pdump_wires pdump_root_objects
9748         replace_symbol pdump_wire dump_add_root_object
9749
9750         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9751         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9752
9753         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9754         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9755         replace_symbol dumpstructinfo pdump_root_struct_ptr
9756         replace_symbol dumpstruct dump_add_root_struct_ptr
9757
9758         replace_symbol dumpopaque dump_add_opaque
9759         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9760         replace_symbol dumpopaqueinfos pdump_opaques
9761         replace_symbol dumpopaqueinfo pdump_opaque
9762
9763         replace_symbol nb_structdump nb_root_struct_ptrs
9764         replace_symbol nb_opaquedump nb_opaques
9765
9766         replace_symbol align_table pdump_align_table
9767         replace_symbol dump_header pdump_header
9768
9769         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9770         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9771
9772
9773 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9774
9775         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9776         optimizing bytecount_to_charcount().
9777
9778 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9779
9780         * config.h.in:
9781         (HAVE_DLFCN_H): Removed.
9782         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9783
9784 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9785
9786         Portable dumper maintainability improvements.
9787         * alloc.c (staticpro):
9788         * alloc.c (staticpro_nodump):
9789         * alloc.c (garbage_collect_1):
9790         * alloc.c (reinit_alloc_once_early):
9791         * alloc.c (init_alloc_once_early):
9792         * alloc.c: Move dumper functions to alloc.c.
9793         * dumper.c (pdump_backtrace):
9794         * dumper.c (pdump_dump_structs):
9795         * dumper.c (pdump_dump_opaques):
9796         * dumper.c (pdump_dump_rtables):
9797         * dumper.c (pdump_dump_wired):
9798         * dumper.c (pdump):
9799         * dumper.c (pdump_load_check):
9800         * dumper.c (pdump_load_finish):
9801         * dumper.c (pdump_file_unmap):
9802         * dumper.c (pdump_file_get):
9803         * dumper.c (pdump_resource_free):
9804         * dumper.c (pdump_resource_get):
9805         * dumper.c (pdump_file_free):
9806         * dumper.c (pdump_file_try):
9807         * dumper.c (pdump_load):
9808         Remove fixed size limits on staticpro(), staticpro_nodump(),
9809         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9810         Remove custom code for dumping lrecord_implementations_table - use
9811         dumpopaque instead.
9812         Remove (most of the) custom code for dumping staticpros - dump it
9813         like any other dynarr.
9814
9815         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9816         * dumper.c: Moved functions from alloc.c.
9817         * alloc.c (dumpstruct): Moved to dumper.c.
9818         * alloc.c (dumpopaque): Likewise.
9819         * alloc.c (pdump_wire): Likewise.
9820         * alloc.c (pdump_wire_list): Likewise.
9821
9822         * lisp.h (Dynarr_sizeof): New.
9823         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9824         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9825         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9826
9827         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9828         * lisp.h (dumpopaque): ditto.
9829         * lisp.h (pdump_wire): ditto.
9830         * lisp.h (pdump_wire_list): ditto.
9831
9832 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9833
9834         * make-src-depend (PrintPatternDeps):
9835         Use `sort' to make output independent of perl version.
9836
9837 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9838
9839         Port to Netbsd 1.5.
9840         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9841         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9842
9843 2001-01-03  Didier Verna  <didier@xemacs.org>
9844
9845         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9846         that `focus_frame' is alive before thinking of calling
9847         `redisplay_redraw_cursor' on it.
9848
9849 2001-01-08  Martin Buchholz <martin@xemacs.org>
9850
9851         * XEmacs 21.2.40 is released.
9852
9853 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9854
9855         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9856
9857 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9858
9859         * alloc.c (dbg_valmask): Make const.
9860         * alloc.c (dbg_typemask): Make const.
9861         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9862         * alloc.c (dbg_valbits): Make const.
9863         * alloc.c (dbg_gctypebits): Make const.
9864
9865 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9866
9867         * redisplay-x.c (x_bevel_area):
9868         redisplay.h (struct rune):
9869         Typo fixes in comments.
9870
9871 2001-01-05  Andy Piper  <andy@xemacs.org>
9872
9873         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9874         adjustment.
9875
9876         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9877
9878 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9879
9880         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9881
9882         * mule-ccl.c (stack_idx_of_map_multiple):
9883         Non const global data must not be initialized!
9884         Found by MIYASHITA Hisashi.
9885
9886 2001-01-02  Andy Piper  <andy@xemacs.org>
9887
9888         * frame.c (change_frame_size): make sure frame size is always
9889         marked as changed.
9890
9891         * glyphs.c (image_instance_layout): minor code reuse.
9892
9893         * window.c (Fcurrent_window_configuration): revert previous
9894         change.
9895
9896 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9897
9898         * glyphs.h:
9899         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9900
9901 2000-12-31  Andy Piper  <andy@xemacs.org>
9902
9903         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9904         when widget gets unmapped.
9905
9906         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9907         function. Make sure widgets losing focus don't just drop it.
9908         (handle_focus_event_1): record the widget with focus.
9909
9910 2000-12-31  Andy Piper  <andy@xemacs.org>
9911
9912         * window.c (allocate_window): use
9913         make_image_instance_cache_hash_table.
9914         (make_dummy_parent): ditto.
9915         (Fset_window_configuration): ditto.
9916
9917         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9918
9919         * glyphs.c (process_image_string_instantiator): use
9920         INSTANTIATOR_TYPE.
9921         (get_image_instantiator_governing_domain): ditto.
9922         (normalize_image_instantiator): ditto.
9923         (instantiate_image_instantiator): ditto.
9924         (make_image_instance_1): ditto.
9925         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9926         (instantiator_eq_equal): new function for use with instance hash
9927         tables.
9928         (instantiator_eq_hash): ditto.
9929         (make_image_instance_cache_hash_table): create a suitable hash
9930         table for storing image instances.
9931
9932         * elhash.h (hash_table_weakness): new internal weakness type
9933         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9934         declare new functions.
9935
9936         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9937         another weakness type for glyphs.
9938         (make_standard_lisp_hash_table): new function split out from
9939         make_general_lisp_hash_table.
9940         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9941         (hash_table_instantiate): ditto.
9942         (Fmake_hash_table): ditto.
9943
9944 2000-12-31  Martin Buchholz <martin@xemacs.org>
9945
9946         * XEmacs 21.2.39 is released.
9947
9948 2000-12-29  Andy Piper  <andy@xemacs.org>
9949
9950         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9951
9952         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9953         the frame has changed so that we pick up geometry changes such as
9954         menubar visibility.
9955
9956 2000-12-28  Andy Piper  <andy@xemacs.org>
9957
9958         * lastfile.c (my_ebss): make a char array so we can pad the
9959         bss. Fixes cygwin unexec.
9960
9961         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9962
9963 2000-12-26  Andy Piper  <andy@xemacs.org>
9964
9965         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9966         comments and try and be more precise about a non-/SIGIO world.
9967         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9968         SIGIO.
9969
9970         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9971         we don't normalize to zero width or height.
9972
9973 2000-12-24  Andy Piper  <andy@xemacs.org>
9974
9975         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9976
9977 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9978
9979         * s/sco5.h: SCO 5 has pty support.
9980
9981 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9982
9983         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9984         input-method-xlib.c contains whole contents of input-method-xfs.c,
9985         so we can use input-method-xlib.c's code for USE_XFONTSET
9986         using #ifdefs.
9987         * input-method-xfs.c: removed.
9988
9989 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9990
9991         * file-coding.h (enum coding_category_type): reorder enumerators to
9992         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9993         (now one greater than largest real coding_category_type enumerator).
9994         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9995         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9996         Fcoding_category_list, Fset_coding_priority_list,
9997         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9998         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9999
10000 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10001
10002         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
10003         * redisplay-output.c (redisplay_output_window): Clear top of window
10004         when face is changed.
10005         * redisplay-x.c (x_redraw_exposed_window): Call
10006         redisplay_clear_top_of_window.
10007         * redisplay.h: Publish redisplay_clear_top_of_window.
10008
10009 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10010
10011         * buffer.c (Fkill_buffer): Map over all devices.
10012         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10013         (list_windows): New function.
10014         (list_all_windows): Ditto.
10015         (Freplace_buffer_in_windows): Use them.
10016
10017 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10018
10019         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10020         (Fopen_database): Use `db_create' instead of `db_open'.
10021         (syms_of_database): Initialize Qqueue.
10022
10023 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10024
10025         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10026         buffer_local_face_property.
10027         * buffer.h (struct buffer): New member buffer_local_face_property.
10028         * window.c (Fset_window_buffer):  Mark window's face as changed
10029         when buffer has buffer local face.
10030         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10031         * objects.c (color_after_change): Set buffer_local_face_property
10032         when locale of face specifier is buffer.
10033         * objects.c (font_after_change): Ditto.
10034         * objects.c (face_boolean_after_change): Ditto.
10035         * glyphs.c (image_after_change): Ditto.
10036
10037 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10038
10039         * nt.c (mswindows_fstat): Report file permissions, volume serial
10040         number, etc. Code adapted from FSF Emacs 20.7.
10041
10042 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10043
10044         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10045         of stat when we don't have symbolic links, to make sure
10046         mswindows_stat is called on mswindows.
10047
10048 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10049
10050         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10051
10052 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10053
10054         * doprnt.c (emacs_doprnt_1): More printing fixes.
10055         Make printing of numbers compatible with libc and FSF Emacs.
10056         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10057         Use the system printf to do most of the hard work of formatting,
10058         instead of doprnt_1().
10059         Calculate memory to allocate for format string.
10060         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10061         (doprnt_1): Cleaner code and documentation.
10062
10063 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10064
10065         * Makefile.in.in: Use the loop variable to install headers.
10066
10067 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10068
10069         * window.c (Fsplit_window): Don't invalidate face cache.
10070
10071 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10072
10073         * minibuf.c (Fall_completions): Undo the previous change
10074         which removed checking elements start with space.
10075
10076 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10077
10078         * mule-canna.c: Didier suppression.
10079
10080 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10081
10082         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10083         (warning suppression).  Add English comment translations.
10084
10085 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10086
10087         * unexelfsgi.c (unexec): Better test for mmap failure.
10088
10089 2000-12-05  Martin Buchholz <martin@xemacs.org>
10090
10091         * XEmacs 21.2.38 is released.
10092
10093 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10094
10095         * redisplay.c (bar-cursor): Make a user variable.
10096
10097         * symsinit.h: Add init_postgresql_from_environment.
10098
10099 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10100
10101         * regex.c: Convert to clean C.
10102
10103 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10104
10105         * realpath.c:
10106         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10107         initialization.
10108         (sys_readlink): renamed to system_readlink to avoid conflict with
10109         the other sys_readlink.
10110
10111 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10112
10113         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10114
10115 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10116
10117         * postgresql.c (init_postgresql_from_environment): new function.
10118         (vars_of_postgresql): Move code initializing Lisp variables out and
10119         into init_postgresql_from_environment.
10120         emacs.c (main_1): Call init_postgresql_from_environment if and only
10121         if running a dumped XEmacs.
10122
10123 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10124
10125         * buffer.c: Make find-file-compare-truenames default to true on
10126         windows.
10127
10128         * realpath.c (win32_abs_start):
10129         (cygwin_readlink):
10130         (win32_readlink): New functions.
10131         (xrealpath): Return really real filenames on windows.
10132
10133         * fileio.c (Ffile_truename): Make file-truename work on windows.
10134
10135 2000-11-29  Didier Verna  <didier@xemacs.org>
10136
10137         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10138         * faces.c (update_face_cachel_data): use it.
10139         * faces.c (add_face_cachel): use it. Complete background pixmap
10140         frobbing in face cache if `update_face_cachel_data' has not done so.
10141
10142 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10143
10144         * search.c (string_match_1): Don't set last_thing_searched
10145         when search failed.
10146
10147 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10148
10149         * buffer.c: Include casetab.h
10150         (common_init_complex_vars_of_buffer): Use new case-table object.
10151         * buffer.h: Include casetab.h
10152         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10153         (DOWNCASE_TABLE_OF): Ditto.
10154         * bufslots.h: Remove char-tables and add case-table.
10155         * casetab.c: Include casetab.h
10156         (CASE_TABLE_P): Removed.
10157         (mark_case_table): New function.
10158         (allocate_case_table): New function.
10159         (Fcase_table_p): Use new case-table.
10160         (case_table_char): New function.
10161         (Fget_case_table): Ditto.
10162         (Fput_case_table): Ditto.
10163         (Fput_case_table_pair): Ditto.
10164         (Fcopy_case_table): Ditto.
10165         (Fcurrent_case_table): Return case-table.
10166         (Fstandard_case_table): Return case-table.
10167         (Fset_case_table): Fix doc-string.
10168         (set_case_table): Use case-table
10169         (syms_of_casetab): DEFSUBR new functions.
10170         (complex_vars_of_casetab): Set up standard case-table.
10171         * casetab.h: New file.
10172         * editfns.c: Include casetab.h
10173         (Fcompare_buffer_substrings): Use case-table.
10174         * inline.c: Include casetab.h
10175         * lisp.h: Remove bogus extern.
10176         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10177         * search.c: Include casetab.h
10178         (TRANSLATE_ASCII): Removed.
10179         (TRANSLATE): Unconditionally translate character.
10180         (looking_at_1): Use case-table.
10181         (string_match_1): Ditto.
10182         (fast_string_match): Ditto.
10183         (search_command): Ditto.
10184         (search_buffer): Separate boyer_moore.  Check whether
10185         boyer_moore is possible.
10186         (simple_search): New function.
10187         (boyer_moore): Separated from search_buffer. Translate char.
10188
10189 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10190
10191         * regex.c (RE_TR_ASCII): Removed.
10192         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10193         (PATFETCH): Call PATFETCH_RAW.
10194         (PATFETCH_RAW): Fetch Emchar.
10195         (PATUNFETCH): Decrement charptr.
10196         (GET_BUFFER_SPACE): Rename b to buf_end.
10197         (BUF_PUSH): Ditto.
10198         (BUF_PUSH_2): Ditto.
10199         (BUF_PUSH_3): Ditto.
10200         (EXTEND_BUFFER): Ditto.
10201         (SET_LIST_BIT): Ditto.
10202         (regex_compile): Ditto.  Translate non ASCII char.
10203         (compile_range): Ditto.
10204         (re_search_2): Ditto.
10205         (re_match_2_internal): Compare Emchar.
10206         (bcmp_translate): Ditto.
10207
10208 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10209
10210         * lisp.h (basic char/int typedefs):  comment improvement.
10211
10212 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10213
10214         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10215         unstomp inhibit_site_lisp.  Improve comments.
10216
10217 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10218
10219         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10220
10221 2000-11-28  Andy Piper  <andy@xemacs.org>
10222
10223         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10224         clipped display for windows in the gutter also.
10225         (redisplay_display_boxes_in_window_p): change semantics of return
10226         codes to be more intuitive.
10227
10228         * gutter.h: declare display_boxes_in_gutter_p.
10229
10230         * gutter.c (display_boxes_in_gutter_p): new function for
10231         redisplay.
10232
10233 2000-11-22  Andy Piper  <andy@xemacs.org>
10234
10235         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10236         autodetect domain.
10237
10238 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10239
10240         * callproc.c (Fold_call_process_internal):
10241         * gpm.c (Freceive_gpm_event):
10242         (tty_get_foreign_selection): Might be just warning supression.
10243         * fileio.c (Fwrite_region_internal):
10244         (Fset_visited_file_modtime):
10245         * keymap.c (event_matches_key_specifier_p):
10246         Initialize GCPROed variable.
10247
10248         * menubar-x.c (command_builder_find_menu_accelerator):
10249         Initialize before use.
10250
10251 2000-11-23  Andy Piper  <andy@xemacs.org>
10252
10253         * unexcw.c (unexec): make the resulting executable executable.
10254
10255 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10256
10257         * doc.c (get_doc_string):
10258         Use size_t, not int, for result of XSTRING_LENGTH.
10259
10260         * cmds.c (Fdelete_char):
10261         * cmds.c (Fpoint_at_eol):
10262         * cmds.c (Fself_insert_command):
10263         Use EMACS_INT, not int, for result of XINT.
10264         Someday, someone will want to insert more than 2**31 identical characters.
10265
10266         * cmds.c (Fdelete_char):
10267         * cmds.c (Fdelete_backward_char):
10268         * syntax.c (Fforward_word):
10269         * syntax.c (Fforward_comment):
10270         Make COUNT argument optional, for consistency with forward-char et al.
10271
10272 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10273
10274         * lisp.h:
10275         * print.c (long_to_string):
10276         Return a useful value: the pointer at end of data written.
10277
10278         * doprnt.c:
10279         Use `static const char * const' for constant strings.
10280         (union printf_arg): Delete `i', `ui' members.
10281         (get_doprnt_args):
10282         (emacs_doprnt_1):
10283         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10284         Do all printf-ing via the `l' specifier.
10285         Use EMACS_INT instead of int.
10286         Optimize.
10287
10288 2000-11-20  Didier Verna  <didier@xemacs.org>
10289
10290         * faces.c (update_face_cachel_data): don't frob the background
10291         pixmap when the window is being created. The face is needed but
10292         does not exist yet.
10293
10294 2000-11-20  Andy Piper  <andy@xemacs.org>
10295
10296         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10297         messing with a debug environment.
10298
10299 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10300
10301         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10302
10303 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10304
10305         * casetab.c (Fcase_table_p): Fix compile error and crash.
10306
10307 2000-11-18  Philip Aston  <philipa@mail.com>
10308
10309         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10310
10311 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10312
10313         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10314         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10315
10316 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10317
10318         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10319         * unexelf.c: Use HAVE_ELF_H.
10320         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10321         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10322         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10323         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10324         for testing.
10325         So this is an unexelfsgi.c from a different line of development.
10326
10327 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10328
10329         * regex.c (RE_TR_ASCII): New function.
10330         (RE_TRANSLATE): Call it.
10331
10332 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10333
10334         * buffer.h (TRT_TABLE_OF): Remove assert.
10335         (IN_TRT_TABLE_DOMAIN): Removed.
10336
10337 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10338
10339         * free-hook.c (log_gcpro):
10340         (show_gcprohist): Add support for GCPRO5.
10341
10342 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10343
10344         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10345
10346 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10347
10348         * symeval.h: Declare flush_all_buffer_local_cache.
10349
10350         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10351         (flush_buffer_local_cache): Added.
10352         (flush_all_buffer_local_cache): Added.
10353
10354         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10355
10356         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10357         (pdump_dump_data): Ditto.
10358         (pdump_reloc_one): Ditto.
10359         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10360         before dumping.
10361
10362
10363 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10364
10365         * buffer.c: Remove if 0'ed entry.
10366         * buffer.h: Rewrite TRT to use char-table.
10367         * bufslots.h: Remove mirror tables.
10368         * casetab.c: Remove mirror tables.
10369         (CASE_TABLE_P): New macro.
10370         (Fcase_table_p): Element of a case table is string or char-table.
10371         (make_mirror_trt_table): Removed.
10372         (set_case_table): Setup char-table from strings for backward
10373         compatibility.
10374         * dired.c (Fdirectory_files):
10375         * dired-msw.c: (mswindows_get_files):
10376         * lisp.h: Change prototype of re_pattern_buffer.
10377         * regex.c: (RE_TRANSLATE): New macro.
10378         (TRANSLATE_P): Ditto.
10379         Change translate to type RE_TRANSLATE_TYPE.
10380         * regex.h: Define RE_TRANSLATE_TYPE
10381         * search.c (TRANSLATE): New macro.
10382         (TRANSLATE_ASCII): New macro.
10383         Translate table is changed to Lisp_Object.
10384         (signal_failure): Inhibit return.
10385
10386 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10387
10388         * device-msw.c:
10389         * eldap.c:
10390         * event-Xt.c:
10391         * event-stream.c:
10392         * print.c:
10393         Do UNGCPRO before return.
10394
10395 2000-11-14  Martin Buchholz <martin@xemacs.org>
10396
10397         * XEmacs 21.2.37 is released.
10398
10399 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10400
10401         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10402         Add comments about discarded return value.
10403
10404 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10405
10406         * callint.c:
10407         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10408
10409 2000-10-27  Andy Piper  <andy@xemacs.org>
10410
10411         * gutter.c (Fset_default_gutter_position): default left and right
10412         gutters to visible.
10413         (calculate_gutter_size): calculate resonable heuristic for left
10414         and right gutter sizes.
10415         (specifier_vars_of_gutter): change left and right gutter sizes to
10416         autodetect.
10417         (calculate_gutter_size_from_display_lines): new function.
10418         (output_gutter): check for resizing on left and right gutters.
10419         (clear_gutter): don't special case top and left gutters.
10420         (specifier_vars_of_gutter): use new signature for
10421         set_specifier_caching.
10422
10423         * glyphs-x.c (x_redisplay_widget): spelling fix.
10424         * glyphs.c (specifier_vars_of_glyphs):
10425         * menubar.c (specifier_vars_of_menubar):
10426         * redisplay.c (specifier_vars_of_redisplay):
10427         * toolbar.c (specifier_vars_of_toolbar):
10428         * window.c (specifier_vars_of_window):
10429         * scrollbar.c (specifier_vars_of_scrollbar):
10430         (complex_vars_of_scrollbar): use new signature for
10431         set_specifier_caching.
10432
10433         * specifier.c (set_specifier_caching): include recompute flag.
10434         (recompute_one_cached_specifier_in_window): always recompute if
10435         flag set.
10436         (recompute_one_cached_specifier_in_frame): ditto.
10437
10438         * specifier.h (struct specifier_caching): add recompute flag.
10439
10440 2000-10-24  Andy Piper  <andy@xemacs.org>
10441
10442         * unexcw.c (copy_executable_and_dump_data_section): add new
10443         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10444         5.0 happy.
10445
10446 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10447
10448         * console-x.h (x_device): New member modifier_release_time.
10449         * event-Xt.c (x_handle_sticky_modifiers):
10450         Bound interval modifier keys are sticky.
10451         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10452         * events.h: extern it.
10453
10454 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10455
10456         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10457
10458 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10459
10460         * event-stream.c (execute_command_event): Preserve current_events
10461         and the like when event is misc-user-event.
10462         Inhibit quit during the call to maybe_echo_keys.
10463
10464 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10465
10466         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10467         symlink when buffer is killed.
10468         (inhibit_clash_detection): New variable.
10469
10470 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10471
10472         * console.c (Fset_input_method): Trigger redisplay on tty.
10473
10474 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10475
10476         * process.c (Fprocess_status): Revert to previous behavior:
10477         (process-status "nosuchprocess") ==> nil
10478
10479 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10480
10481         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10482         Work around another GCC 2.95.2 optimizer bug.
10483
10484 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10485
10486         * process.c (Fget_process): Use LIST_LOOP_2.
10487         (kill_buffer_processes): Use LIST_LOOP_2.
10488
10489         * minibuf.c (Fall_completions):
10490         Delete old non-functional code for FSF fourth argument.
10491
10492         * frame.c (frame_matches_frame_spec):
10493         Renamed from `frame_matches_frametype'.  Update all callers.
10494         (device_matches_device_spec):
10495         Renamed from 'device_matches_console_spec'.  Update all callers.
10496
10497         * doc.c (Fsubstitute_command_keys):
10498         Remove buffer overflow crash.  Small code cleanups.
10499
10500         * casetab.c (check_case_table): Simpler code.
10501
10502         * window.c (Freplace_buffer_in_windows):
10503         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10504         (and similar implementation) as Fdelete_windows_on.
10505         Update all callers.
10506
10507         * alloc.c (Fmake_list):
10508         * alloc.c (make_vector):
10509         * alloc.c (Fmake_vector):
10510         * alloc.c (make_bit_vector):
10511         * alloc.c (Fmake_bit_vector):
10512         * alloc.c (Fbit_vector):
10513         * alloc.c (Fmake_string):
10514         * alloc.c (Fpurecopy):
10515         * alloc.c (Fmemory_limit):
10516         * buffer.c:
10517         * buffer.c (Fget_buffer):
10518         * buffer.c (Fkill_buffer):
10519         * buffer.c (complex_vars_of_buffer):
10520         * bytecode.c (Fcompiled_function_stack_depth):
10521         * callint.c (Fprefix_numeric_value):
10522         * event-stream.c:
10523         * event-stream.c (Fread_key_sequence):
10524         * casetab.c:
10525         * casetab.c (Fcase_table_p):
10526         * casetab.c (check_case_table):
10527         * casetab.c (Fset_case_table):
10528         * casetab.c (Fset_standard_case_table):
10529         * chartab.c:
10530         * chartab.c (Fchar_table_type):
10531         * chartab.c (Freset_char_table):
10532         * chartab.c (Fget_char_table):
10533         * chartab.c (Fget_range_char_table):
10534         * chartab.c (Fput_char_table):
10535         * chartab.c (Fmap_char_table):
10536         * chartab.c (Fcategory_table_p):
10537         * chartab.c (Fcheck_category_at):
10538         * chartab.c (Fchar_in_category_p):
10539         * chartab.c (Fcategory_table):
10540         * chartab.c (Fcopy_category_table):
10541         * chartab.c (Fset_category_table):
10542         * chartab.c (Fcategory_designator_p):
10543         * chartab.c (Fcategory_table_value_p):
10544         * cmds.c (Fdelete_char):
10545         * cmds.c (Fdelete_backward_char):
10546         * cmds.c (Fself_insert_command):
10547         * cmds.c (Fself_insert_internal):
10548         * console.c (Fvalid_console_type_p):
10549         * console.c (Fcdfw_console):
10550         * console.c (Fconsole_type):
10551         * console.c (Fconsole_name):
10552         * console.c (Fconsole_device_list):
10553         * console.c (Fconsole_on_window_system_p):
10554         * data.c:
10555         * data.c (Feq):
10556         * data.c (Fold_eq):
10557         * data.c (Fsubr_interactive):
10558         * data.c (Fchar_to_int):
10559         * data.c (Fint_to_char):
10560         * data.c (Fsetcar):
10561         * data.c (Fsetcdr):
10562         * data.c (Fnumber_to_string):
10563         * data.c (Fstring_to_number):
10564         * data.c (Frem):
10565         * database.c (mark_database):
10566         * database.c (finalize_database):
10567         * database.c (Fdatabase_live_p):
10568         * database.c (Fdatabasep):
10569         * device-x.c (Fx_get_resource):
10570         * device.c (Fdfw_device):
10571         * dired.c:
10572         * dired.c (Ffile_name_completion):
10573         * dired.c (Ffile_name_all_completions):
10574         * dired.c (Fuser_name_completion):
10575         * dired.c (Fuser_name_completion_1):
10576         * dired.c (Fuser_name_all_completions):
10577         * doc.c (Fdocumentation):
10578         * doc.c (Fdocumentation_property):
10579         * doc.c (Fsubstitute_command_keys):
10580         * editfns.c:
10581         * editfns.c (Fchar_to_string):
10582         * editfns.c (Fstring_to_char):
10583         * editfns.c (Ftemp_directory):
10584         * editfns.c (Finsert_char):
10585         * editfns.c (Fbuffer_substring_no_properties):
10586         * editfns.c (Fnarrow_to_region):
10587         * editfns.c (Fchar_equal):
10588         * editfns.c (Fchar_Equal):
10589         * editfns.c (Ftranspose_regions):
10590         * emacs.c (Fdump_emacs):
10591         * eval.c (Fthrow):
10592         * eval.c (Fcommand_execute):
10593         * eval.c (Fautoload):
10594         * eval.c (Fbacktrace):
10595         * eval.c (Fbacktrace_frame):
10596         * events.c:
10597         * events.c (Fcopy_event):
10598         * events.c (Fcharacter_to_event):
10599         * events.c (Fevent_button):
10600         * events.c (Fevent_process):
10601         * extents.c:
10602         * extents.c (Fnext_extent_change):
10603         * extents.c (Fextent_property):
10604         * faces.c (Ffacep):
10605         * faces.c (Fmake_face):
10606         * file-coding.c:
10607         * file-coding.c (Fencode_shift_jis_char):
10608         * file-coding.c (Fencode_big5_char):
10609         * fileio.c (Ffile_name_directory):
10610         * fileio.c (Ffile_name_nondirectory):
10611         * fileio.c (Ffile_name_as_directory):
10612         * fileio.c (Fdirectory_file_name):
10613         * fileio.c (Ffile_truename):
10614         * fileio.c (Fsubstitute_in_file_name):
10615         * fileio.c (Ffile_modes):
10616         * fileio.c (Fset_file_modes):
10617         * fileio.c (Fset_default_file_modes):
10618         * fileio.c (Fverify_visited_file_modtime):
10619         * floatfns.c (Facos):
10620         * floatfns.c (Fasin):
10621         * floatfns.c (Fatan):
10622         * floatfns.c (Fcos):
10623         * floatfns.c (Fsin):
10624         * floatfns.c (Ftan):
10625         * floatfns.c (Fbessel_j0):
10626         * floatfns.c (Fbessel_j1):
10627         * floatfns.c (Fbessel_jn):
10628         * floatfns.c (Fbessel_y0):
10629         * floatfns.c (Fbessel_y1):
10630         * floatfns.c (Fbessel_yn):
10631         * floatfns.c (Ferf):
10632         * floatfns.c (Ferfc):
10633         * floatfns.c (Flog_gamma):
10634         * floatfns.c (Fexp):
10635         * floatfns.c (Fexpt):
10636         * floatfns.c (Flog):
10637         * floatfns.c (Flog10):
10638         * floatfns.c (Fsqrt):
10639         * floatfns.c (Fcube_root):
10640         * floatfns.c (Facosh):
10641         * floatfns.c (Fasinh):
10642         * floatfns.c (Fatanh):
10643         * floatfns.c (Fcosh):
10644         * floatfns.c (Fsinh):
10645         * floatfns.c (Ftanh):
10646         * floatfns.c (Fabs):
10647         * floatfns.c (Ffloat):
10648         * floatfns.c (Flogb):
10649         * floatfns.c (Fceiling):
10650         * floatfns.c (Ffloor):
10651         * floatfns.c (Fround):
10652         * floatfns.c (Ftruncate):
10653         * floatfns.c (Ffceiling):
10654         * floatfns.c (Fffloor):
10655         * floatfns.c (Ffround):
10656         * floatfns.c (Fftruncate):
10657         * fns.c (Fstring_equal):
10658         * fns.c (Fstring_lessp):
10659         * fns.c (concat2):
10660         * fns.c (concat3):
10661         * fns.c (vconcat2):
10662         * fns.c (vconcat3):
10663         * fns.c (Fsubstring):
10664         * fns.c (Fassoc):
10665         * fns.c (Fold_assoc):
10666         * fns.c (assoc_no_quit):
10667         * fns.c (Fassq):
10668         * fns.c (Fold_assq):
10669         * fns.c (assq_no_quit):
10670         * fns.c (Frassoc):
10671         * fns.c (Fold_rassoc):
10672         * fns.c (Frassq):
10673         * fns.c (Fold_rassq):
10674         * fns.c (rassq_no_quit):
10675         * fns.c (Fremassoc):
10676         * fns.c (remassoc_no_quit):
10677         * fns.c (Fremassq):
10678         * fns.c (remassq_no_quit):
10679         * fns.c (Fremrassoc):
10680         * fns.c (Fremrassq):
10681         * fns.c (remrassq_no_quit):
10682         * fns.c (Fsort):
10683         * fns.c (Fplist_get):
10684         * fns.c (Fplist_put):
10685         * fns.c (Fplist_remprop):
10686         * fns.c (Fplist_member):
10687         * fns.c (Flax_plist_get):
10688         * fns.c (Flax_plist_put):
10689         * fns.c (Flax_plist_remprop):
10690         * fns.c (Flax_plist_member):
10691         * fns.c (Fequal):
10692         * fns.c (Fold_equal):
10693         * fns.c (Frequire):
10694         * fns.c (Fbase64_encode_region):
10695         * fns.c (Fbase64_encode_string):
10696         * fns.c (Fbase64_decode_region):
10697         * frame.c:
10698         * frame.c (frame_matches_frame_spec):
10699         * frame.c (device_matches_device_spec):
10700         * frame.c (next_frame):
10701         * frame.c (previous_frame):
10702         * frame.c (Fnext_frame):
10703         * frame.c (Fprevious_frame):
10704         * frame.c (Fframe_property):
10705         * frame.c (Fset_frame_height):
10706         * frame.c (Fset_frame_size):
10707         * frame.h:
10708         * glyphs.c:
10709         * glyphs.c (if):
10710         * glyphs.c (decode_error_behavior_flag):
10711         * glyphs.c (Fmake_image_instance):
10712         * indent.c (Findent_to):
10713         * intl.c (Fignore_defer_gettext):
10714         * keymap.c (Fkeymapp):
10715         * keymap.c (Flookup_key):
10716         * lread.c:
10717         * lread.c (Fload_internal):
10718         * lread.c (Feval_buffer):
10719         * lread.c (Feval_region):
10720         * macros.c (Fexecute_kbd_macro):
10721         * marker.c (set_marker_internal):
10722         * marker.c (Fset_marker):
10723         * marker.c (set_marker_restricted):
10724         * marker.c (Fcopy_marker):
10725         * marker.c (noseeum_copy_marker):
10726         * menubar.c:
10727         * menubar.c (Fpopup_menu):
10728         * minibuf.c:
10729         * mule-charset.c (Fcharset_name):
10730         * mule-charset.c (Fchar_charset):
10731         * mule-charset.c (Fchar_octet):
10732         * mule-charset.c (Fsplit_char):
10733         * mule-wnnfns.c (Fwnn_open):
10734         * mule-wnnfns.c (Fwnn_dict_comment):
10735         * mule-wnnfns.c (Fwnn_quit_henkan):
10736         * mule-wnnfns.c (Fwnn_word_toroku):
10737         * mule-wnnfns.c (Fwnn_word_sakujo):
10738         * mule-wnnfns.c (Fwnn_word_use):
10739         * mule-wnnfns.c (Fwnn_hindo_set):
10740         * objects.c:
10741         * objects.c (Fmake_color_instance):
10742         * objects.c (Fmake_font_instance):
10743         * print.c (Fwrite_char):
10744         * process.c:
10745         * process.c (mark_process):
10746         * process.c (print_process):
10747         * process.c (get_process_from_usid):
10748         * process.c (Fprocessp):
10749         * process.c (Fprocess_live_p):
10750         * process.c (Fget_process):
10751         * process.c (Fget_buffer_process):
10752         * process.c (get_process):
10753         * process.c (Fprocess_id):
10754         * process.c (Fprocess_name):
10755         * process.c (Fprocess_command):
10756         * process.c (init_process_io_handles):
10757         * process.c (start_process_unwind):
10758         * process.c (Fstart_process_internal):
10759         * process.c (Fopen_multicast_group_internal):
10760         * process.c (Fset_process_window_size):
10761         * process.c (read_process_output):
10762         * process.c (send_process):
10763         * process.c (Fprocess_tty_name):
10764         * process.c (Fset_process_buffer):
10765         * process.c (Fprocess_buffer):
10766         * process.c (Fprocess_mark):
10767         * process.c (set_process_filter):
10768         * process.c (Fset_process_filter):
10769         * process.c (Fprocess_filter):
10770         * process.c (Fprocess_send_region):
10771         * process.c (Fprocess_send_string):
10772         * process.c (exec_sentinel):
10773         * process.c (Fset_process_sentinel):
10774         * process.c (Fprocess_sentinel):
10775         * process.c (status_notify):
10776         * process.c (Fprocess_status):
10777         * process.c (Fprocess_exit_status):
10778         * process.c (process_send_signal):
10779         * process.c (Fprocess_send_eof):
10780         * process.c (deactivate_process):
10781         * process.c (remove_process):
10782         * process.c (Fdelete_process):
10783         * process.c (kill_buffer_processes):
10784         * process.c (Fprocess_kill_without_query):
10785         * process.c (Fprocess_kill_without_query_p):
10786         * rangetab.c:
10787         * rangetab.c (Fget_range_table):
10788         * rangetab.c (Fput_range_table):
10789         * rangetab.c (Fremove_range_table):
10790         * rangetab.c (Fclear_range_table):
10791         * search.c:
10792         * search.c (Fskip_chars_forward):
10793         * search.c (Fskip_chars_backward):
10794         * search.c (Fskip_syntax_forward):
10795         * search.c (Fskip_syntax_backward):
10796         * search.c (search_command):
10797         * search.c (Freplace_match):
10798         * search.c (Fregexp_quote):
10799         * select.c (Fown_selection_internal):
10800         * select.c (Fselection_owner_p):
10801         * select.c (Fselection_exists_p):
10802         * select.c (Fget_selection_internal):
10803         * specifier.c:
10804         * symbols.c:
10805         * symbols.c (Fintern):
10806         * symbols.c (Fintern_soft):
10807         * symbols.c (Funintern):
10808         * symbols.c (Fapropos_internal):
10809         * symbols.c (Fset_default):
10810         * syntax.c:
10811         * syntax.c (Fsyntax_table_p):
10812         * syntax.c (Fcopy_syntax_table):
10813         * syntax.c (Fset_syntax_table):
10814         * syntax.c (Fchar_syntax):
10815         * syntax.c (syntax_match):
10816         * syntax.c (Fmatching_paren):
10817         * syntax.c (Fforward_word):
10818         * syntax.c (scan_lists):
10819         * syntax.c (Fscan_lists):
10820         * syntax.c (Fscan_sexps):
10821         * syntax.c (Fparse_partial_sexp):
10822         * toolbar.c (Fcheck_toolbar_button_syntax):
10823         * tooltalk.doc:
10824         * window.c:
10825         * window.c (Fwindowp):
10826         * window.c (Fwindow_live_p):
10827         * window.c (Fwindow_point):
10828         * window.c (Fdelete_window):
10829         * window.c (Fnext_window):
10830         * window.c (Fprevious_window):
10831         * window.c (Fother_window):
10832         * window.c (window_loop):
10833         * window.c (Fget_lru_window):
10834         * window.c (Fsplit_window):
10835         * window.c (Fenlarge_window):
10836         * window.c (Fenlarge_window_pixels):
10837         * window.c (Fshrink_window):
10838         * window.c (Fshrink_window_pixels):
10839         * window.c (change_window_height):
10840         * window.c (Fwindow_configuration_p):
10841         * window.c (Fcurrent_window_configuration):
10842         * window.h:
10843         * casefiddle.c (casify_object):
10844         * casefiddle.c (Fupcase):
10845         * casefiddle.c (Fdowncase):
10846         * casefiddle.c (Fcapitalize):
10847         * casefiddle.c (Fupcase_initials):
10848         * casefiddle.c (casify_region_internal):
10849         * casefiddle.c (casify_region):
10850         * casefiddle.c (Fupcase_region):
10851         * casefiddle.c (Fdowncase_region):
10852         * casefiddle.c (Fcapitalize_region):
10853         * casefiddle.c (Fupcase_initials_region):
10854         * casefiddle.c (Fupcase_word):
10855         * casefiddle.c (Fdowncase_word):
10856         * casefiddle.c (Fcapitalize_word):
10857         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10858         Replace 0 with '\0' when working with bytes.
10859         Replace initial "(" with "\(" in docstrings.
10860
10861 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10862
10863         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10864
10865         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10866
10867 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10868
10869         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10870
10871 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10872
10873         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10874         correctly.
10875
10876 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10877
10878         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10879         (inhibit_auto_save_session): New variable.
10880         (vars_of_fileio): Declare and initialize them.
10881         * fileio.c (Fdo_auto_save): Don't create session file if
10882         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10883
10884 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10885
10886         * sgiplay.c (play_internal): C++ compilability.
10887         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10888         * callproc.c (Fold_call_process_internal):
10889         Remove unused vars `env', `first'.
10890         * scrollbar.c (update_scrollbar_instance):
10891         #### unused var `current_window'.
10892         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10893         etc. within #ifdef NOT_YET.
10894         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10895         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10896         * specifier.c (specifier_instance):
10897         #### unused var `tag'.
10898         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10899
10900 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10901
10902         * fns.c (Fbutlast):
10903         * fns.c (list_sort):
10904         * fns.c (Ffillarray):
10905         * fns.c (bytecode_nconc2):
10906         * fns.c (Fnconc):
10907         * fns.c (mapcar1):
10908         * fns.c (Fmapconcat):
10909         Be pedantically 64-bit correct.  For the time when someone will
10910         want to have a list with length > 2**32.
10911
10912         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10913         Work around MIPSpro compiler bug.
10914
10915         * process-unix.c (unix_kill_child_process): Add snarky comment.
10916         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10917
10918         * config.h.in: Oops, _getpt ==> _getpty
10919
10920 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10921
10922         * config.h.in:
10923         * regex.c:
10924         Use void*, not char*, as return type of alloca().
10925
10926         * alloc.c (free_marker): Side effect inside assert expression!
10927
10928 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10929
10930         * mule-charset.c (Fset_charset_ccl_program): To check
10931         if the given ccl program is valid, use setup_ccl_program()
10932         instead of CHECK_VECTOR().
10933         (Fmake_charset): Likewise.
10934
10935 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10936
10937         * faces.c (get_extent_fragment_face_cache_index):
10938         Fix cachel.merged_faces memory leak.
10939
10940 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10941
10942         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10943         Reset MSB of octets obtained by DECODE_SJIS
10944         because of the incompatibility with Emacs.
10945         (ccl_driver)<CCL_ENCODE_SJIS>:
10946         Set MSB of octets before passing them to
10947         ENCODE_SJIS because of the incompatibility
10948         with Emacs.
10949
10950 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10951
10952         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10953         (DECLARE_LRECORD): Undo the last change.
10954         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10955
10956 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10957
10958         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10959         the implementation to lrecord_implementations_table.
10960
10961 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10962
10963         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10964         initial value of `lrecord_type_##c_name' and
10965         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10966         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10967         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10968         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10969         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10970
10971 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10972
10973         * miscplay.c (sndcnv8S_2mono):
10974         (sndcnv2monounsigned):
10975         (sndcnvULaw_2linear):
10976         (sndcnv16swap):
10977         Remove implementation-defined behavior.
10978
10979 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10980
10981         * input-method-xlib.c: Warning suppression.
10982
10983 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10984
10985         * mule-ccl.c: Sync up with Emacs 21.0.90.
10986         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10987         Do nothing.
10988         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10989         Likewise.
10990         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10991         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10992         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10993         leading char belongs to official 2-dimensional charset.
10994         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10995         write the given character as is.  Otherwise,
10996         if it is a multibyte char, convert it by
10997         non_ascii_set_charptr_emchar, then write it.
10998         (CCL_WRITE_STRING): Likewise.
10999         (ccl_get_compiled_code): New function.
11000         (setup_ccl_program): When ccl_prog is invalid,
11001         return -1.
11002         (Fregister_code_conversion_map): New function.
11003         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
11004
11005         * mule-ccl.h: Sync up with Emacs 21.0.90.
11006         (Fregister_ccl_program): export it.
11007
11008         * redisplay-msw.c (separate_textual_runs):
11009         If ccl program is not valid, don't do ccl conversion.
11010
11011         * redisplay-x.c (separate_textual_runs): Ditto.
11012
11013         * file-coding.c (Fmake_coding_system):
11014         When type is ccl and value is vector, register it
11015         with a proper symbol.  And checks whether the
11016         given ccl program is valid.
11017         (mule_decode): When calling ccl_driver, if src indicates
11018         NULL pointer, set an empty string instead.
11019         (mule_encode): Likewise.
11020
11021 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11022
11023         The following large batch of changes gets us back to a state of
11024         C++ compilability.  Extbyte is now a char, which means that
11025         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11026
11027         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11028
11029         * sound.c (Fplay_sound): Type correctness.
11030
11031         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11032         (x_get_window_property): Type correctness.
11033         (receive_incremental_selection): unsigned char ==> Extbyte
11034         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11035         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11036         (Fx_store_cutbuffer_internal): Type correctness.
11037
11038         * process-unix.c (try_to_initialize_subtty): Type correctness.
11039
11040         * objects-x.c (x_print_color_instance): Type correctness.
11041         (x_print_font_instance): Type correctness.
11042         (x_list_fonts): SExtbyte ==> Extbyte.
11043         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11044         (x_find_charset_font): SExtbyte ==> Extbyte.
11045         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11046         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11047         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11048         Use bufbyte_strcmp.
11049
11050         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11051         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11052         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11053         (BYTE_C0_P): Use bit ops for char-signedness safety.
11054         (BYTE_C1_P): Use bit ops for char-signedness safety.
11055         (CHARSET_BY_LEADING_BYTE):
11056         (CHARSET_BY_ATTRIBUTES):
11057         Always use inline function.
11058         Use type_checking_assert.
11059         Hide chlook.
11060
11061         * mule-charset.c (non_ascii_charptr_copy_char):
11062         Modify to work with both ASCII and non-ASCII characters.
11063         Improve docs and variable names.
11064         Replace over-clever fall-through switch with a simple loop.
11065         (Lstream_get_emchar_1):
11066         Replace over-clever fall-through switch with a simple loop.
11067
11068         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11069         Warning suppression.
11070
11071         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11072         the return value of Lstream_getc, which could be EOF as well.
11073
11074         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11075
11076         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11077         APIs can be used on Extbytes without casts.  Risky!
11078         (SExtbyte): Remove.
11079         (UExtbyte): Remove.
11080
11081         * input-method-xlib.c (XIM_init_device):
11082         Use Xlib.h instead of IntrinsicP.h.
11083         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11084         which will break in X11R7.
11085         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11086         to call XRegisterIMInstantiateCallback with correct types.
11087
11088         * gui-x.c (button_item_to_widget_value): Type correctness.
11089
11090         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11091
11092         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11093         (xbm_instantiate_1): Type correctness.
11094         (BUILD_GLYPH_INST):  Type correctness.
11095
11096         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11097
11098         * file-coding.c:
11099         (decode_coding_sjis):
11100         (decode_coding_big5):
11101         (decode_coding_ucs4):
11102         (decode_coding_utf8):
11103         (decode_coding_iso2022):
11104         (decode_coding_no_conversion):
11105         Make all decoding functions take an Extbyte * arg.
11106         (encode_coding_sjis):
11107         (encode_coding_big5):
11108         (encode_coding_ucs4):
11109         (encode_coding_utf8):
11110         (encode_coding_iso2022):
11111         (encode_coding_no_conversion):
11112         Make all encoding functions take a Bufbyte * arg.
11113         Use size_t instead of unsigned int for memory sizes.
11114         Only cast to unsigned char whenever dereferencing Extbyte *.
11115
11116         * doc.c (unparesseuxify_doc_string): Type correctness.
11117
11118         * console-x.c (split_up_display_spec):
11119         Rewrite without using details of internal string representation.
11120         (x_semi_canonicalize_device_connection): Type correctness.
11121
11122         * config.h.in:
11123         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11124         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11125         (HAVE_XFREE386): Removed.
11126
11127         * buffer.h (DEC_CHARPTR): `const' correctness.
11128         (bufbyte_strcmp): New.
11129         (bufbyte_memcmp): New.
11130
11131         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11132
11133         * buffer.h (XCHAR_OR_CHAR_INT):
11134         Always use inline function.
11135         Remove redundant type checking assert() - XINT will abort quite nicely.
11136
11137 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11138
11139         * search.c (Freplace_match): Set newtext to an empty string.
11140
11141 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11142
11143         * s/decosf1-3.h: Remove #include of stropts.h
11144         * s/ptx.h: Remove #include of stropts.h
11145         * s/usg5-4.h: Remove #include of stropts.h
11146         * sysproc.h:
11147         * config.h.in:
11148         Use stropts.h, not sys/stropts.h.
11149         Use strtio.h, not sys/strtio.h.
11150
11151 2000-10-04  Martin Buchholz <martin@xemacs.org>
11152
11153         * XEmacs 21.2.36 is released.
11154
11155 2000-09-21  Andy Piper  <andy@xemacs.org>
11156
11157         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11158         changes still involve copying the widget tree.
11159         (update_widget_face): make sure a change is register in the widget
11160         tree. Call update_tab_widget_face appropriately.
11161         (update_tab_widget_face): ditto.
11162         (x_tab_control_redisplay): make sure non-structural changes still
11163         involve copying the widget tree.
11164
11165 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11166
11167         * lread.c (locate_file): Check the path element is non-nil.
11168
11169 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11170
11171         * lisp.h: Warning suppression for SCO compilers.
11172
11173         * redisplay-tty.c (reset_tty_modes): Fix crash.
11174         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11175
11176 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11177
11178         Big signal/process handling overhaul.  Bugs fixed:
11179         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11180         M-x comint-kill-subjob should work for both values nil and t of
11181         process-connection-type. It was broken on most platforms.
11182         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11183         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11184         * process-unix.c: Signal/Process handling overhaul.
11185         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11186         (allocate_pty): Use all available modern methods of allocating
11187         ptys, falling back to old style BSD allocation as a last resort.
11188         Use allegedly more secure Unix98 pty allocation by default.
11189         (allocate_pty_the_old_fashioned_way): New. the last resort.
11190         (unix_create_process): Push ptem, ldterm, ttcompat where
11191         available.  Autoconfiscate.
11192         (try_to_initialize_subtty): New.
11193         (unix_kill_child_process): Proper signal handling for ptys on most
11194         platforms, using special knowledge of AIX, BSD, etc...
11195         (unix_create_process): Always disconnect_controlling_terminal() for
11196         subprocesses, whether using ptys or not.
11197         * process.h: Remove old getpt-dependent PTY code.
11198         * process.c (Fprocess_send_signal): New, obvious generic function.
11199         (decode_signal): New.
11200         (Finterrupt_process):
11201         (Fkill_process):
11202         (Fquit_process):
11203         (Fstop_process):
11204         (Fcontinue_process):
11205         (Fsignal_process): Use decode_signal.
11206         (process_send_signal):
11207         Many docstring corrections.
11208         Allow any signal to be sent to a process object.
11209         * config.h.in: Add symbols for big signal/process overhaul.
11210         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11211         * sysproc.h: Include process-related headers, where available:
11212         sys/stropts.h sys/strtio.h pty.h libutil.h
11213         * s/irix4-0.h:
11214         * s/irix5-0.h:
11215         * s/cygwin32.h:
11216         * s/gnu.h:
11217         * s/linux.h:
11218         * s/hpux.h:
11219         * s/aix3-1.h:
11220         Remove old S&M pty stuff.
11221         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11222         * systty.h: Simplify cpp hackery, improve comments.
11223         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11224
11225         * editfns.c (Fformat_time_string):
11226         Be a little more paranoid with the return value of ctime.
11227
11228         * fileio.c (check_executable):
11229         (check_writable):
11230         Use symbolic constants X_OK, W_OK.
11231
11232         * console-x.c (split_up_display_spec): Fix a warning.
11233
11234 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11235
11236         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11237         * ntproc.c (sys_spawnve): make_string ==> build_string
11238         Small clarity improvements.
11239
11240 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11241
11242         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11243
11244         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11245
11246         * config.h.in (HAVE_STRCASECMP): Remove.
11247
11248 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11249
11250         * redisplay-output.c (redisplay_output_pixmap):
11251         Cleaner and possibly more 64-bit correct code.
11252
11253 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11254
11255         * dumper.c (pdump_load_finish): move restoration of
11256         `noninteractive1' to emacs.c (main_1).
11257         * emacs.c (main_1): protect LISP-visible command-line flags
11258         from pdump_load().
11259
11260 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11261
11262         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11263         DUMP_TARGET instead of literal program names.
11264
11265 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11266
11267         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11268
11269 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11270
11271         * *: Spelling mega-patch
11272
11273 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11274
11275         * fns.c (bad_bad_turtle):
11276         Delete "Eek!" comment, since we fixed the bug to which it refers.
11277
11278 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11279
11280         * alloca.c: Replace REGISTER with register.
11281
11282 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11283
11284         * file-coding.c (ucs_to_char): Use countof.
11285
11286 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11287
11288         * file-coding.c: (ucs_to_char):
11289         (complex_vars_of_file_coding):
11290         Use countof instead of sizeof.
11291         Use CHECK_NATNUM instead of CHECK_INT.
11292
11293         * sysdep.c (strcasecmp): Remove.
11294         * device-x.c (ascii_strcasecmp): New.
11295         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11296         Avoid using non-standard non-portable strcasecmp.
11297
11298 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11299
11300         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11301         * font-lock.c: remove reference to emacsfns.h.
11302         * search.c: small doc improvement.
11303         * event-Xt.c: correct file names in comments.
11304         * console-x.h Correct file names in comments.
11305         * frame.c: Correct file names in comments.
11306         * event-stream.c: remove Energize from comments.
11307
11308 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11309
11310         * symeval.h (DEFERROR_STANDARD):
11311         (DEFERROR):
11312         (DEFSYMBOL):
11313         (DEFSYMBOL_NO_DUMP):
11314         (DEFSYMBOL_MULTIWORD_PREDICATE):
11315         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11316         (DEFKEYWORD):
11317         The construct &##name is not sensible C.
11318         Fixes compilation errors with Unixware native compiler.
11319
11320 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11321
11322         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11323         (next_frame_internal): Removed.  We now just have next_frame.
11324         (next_frame):
11325         Write a simpler and cleaner one-pass algorithm.
11326         Remove called_from_delete_device arg and #ifdefed-out code.
11327         (previous_frame):
11328         Renamed from prev_frame.  Update callers.
11329         Cleaned up to have an analogous implementation to next_frame.
11330         (other_visible_frames_internal): Remove the
11331         called_from_delete_device bogus arg, and hence, remove this
11332         function.  Just use other_visible_frames().
11333
11334         * window.c (Fnext_window):
11335         Prettify docstring.
11336         Since next_frame() is guaranteed to return a frame, remove check
11337         for nil inserted in previous patch.
11338         (Fprevious_window):
11339         Prettify docstring.
11340         Make code look more like Fnext_window.
11341         (window_loop):
11342         Respect the `console' arg when iterating through windows.
11343         Fixes bug: (get-buffer-window buffer t device) not respecting
11344         the `device' arg.
11345         This function needs more work, as others have pointed out.
11346
11347         * frame.h: Rename prev_frame to previous_frame.
11348         device_matches_console_spec no longer takes a `frame' arg.
11349
11350         * s/gnu.h:
11351         * s/linux.h:
11352         * s/hpux.h:
11353         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11354         From "Golubev I. N." <gin@mo.msk.ru>.
11355
11356         * make-src-depend: Fix typo.
11357
11358 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11359
11360         * window.c (Fnext_window):
11361         next_frame() might return nil, not a frame.
11362         Fixes this crash:
11363         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11364
11365         * frame.c (next_frame_internal):
11366         We've passed a frame if we've passed its device.
11367         Fixes this crash:
11368         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11369 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11370
11371 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11372
11373         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11374         Allow option to suppress accelerators in menu/dialog items.
11375         (populate_or_checksum_helper): Pass dialog title through above.
11376
11377 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11378
11379         * event-msw.c (mswindows_key_to_emacs_keysym):
11380         Add "pause" key, fix "menu" key.
11381
11382 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11383
11384         * eval.c (reinit_vars_of_eval):
11385         Increase max_lisp_eval_depth to 1000,
11386         required for thai-xtis.el to byte-compile under some circumstances.
11387
11388 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11389
11390         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11391         From Kenichi Handa.
11392
11393 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11394
11395         * make-src-depend: Make the generated Makefiles smaller.
11396
11397         * s/hpux.h (SETUP_SLAVE_PTY):
11398         Provide a %d in the format string for the errno argument.
11399
11400         * editfns.c (Ftemp_directory):
11401         Warning fix.
11402         Avoid buffer overrun on very long file name.
11403
11404         * input-method-xlib.c (XIM_init_device):
11405         6th parameter of XRegisterIMInstantiateCallback has different
11406         pointer types on different OSes, so simply cast to (void *).
11407
11408         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11409
11410         * sysdll.c (dll_open):
11411         shl_load will hang hard if passed a NULL filename.
11412         Simply return NULL for compatibility with dlopen.
11413         * sysdll.c: Conform to XEmacs coding standards.
11414
11415         * sysdep.c (get_pty_max_bytes):
11416         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11417
11418 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11419
11420         * tooltalk.c: Add #include <syssignal.h>
11421
11422 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11423
11424         * s/hpux.h: Don't use undefined function sigunblock().
11425
11426 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11427
11428         * config.h.in: Add HAVE_BALLOON_HELP.
11429         * emacs.c: Use HAVE_BALLOON_HELP.
11430         * Makefile.in.in (x_objs):
11431         Make Balloon Help conditional on finding shape.h.
11432
11433 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11434
11435         * syntax.c (regex_emacs_buffer_p): New variable.
11436         * syntax.h (regex_emacs_buffer_p): extern.
11437         * search.c (looking_at_1):
11438         (string_match_1):
11439         (fast_string_match):
11440         (search_buffer): Set regex_emacs_buffer_p.
11441         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11442         when before_dot, at_dot, after_dot.
11443
11444 2000-08-23  Andy Piper  <andy@xemacs.org>
11445
11446         * gui-x.c (popup_selection_callback): Only set action_occurred
11447         when we really have an image instance.
11448         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11449
11450 2000-08-23  Andy Piper  <andy@xemacs.org>
11451
11452         * gui-msw.c (mswindows_handle_gui_wm_command): set
11453         action_occurred.
11454         * gui-x.c (popup_selection_callback): ditto.
11455
11456         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11457         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11458         (struct Lisp_Image_Instance): add action_occurred flag.
11459
11460         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11461         (image_instance_changed): ditto.
11462         (reset_frame_subwindow_instance_cache): only unmap windows - do
11463         not remove them from the cache also.
11464
11465         * glyphs-widget.c (tab_control_update): better debug.
11466         (progress_gauge_update): ditto.
11467         (layout_update): ditto.
11468         (layout_instantiate): ditto.
11469         (tab_control_order_only_changed): cope with null pending items.
11470
11471         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11472         debug. Force selection of an item when an action occurred. Cope
11473         with null pending_items.
11474         (mswindows_progress_gauge_redisplay): better debug.
11475         * glyphs-x.c (x_tab_control_redisplay): ditto.
11476
11477         * redisplay.c (redisplay_frame): reset the frame cache if the
11478         frame is garbaged.
11479
11480         * window.c (Fset_window_configuration): potentially re-enable
11481         frame cache reset.
11482         (window_unmap_subwindows): need to finalize instances here since
11483         it is only used in mark_window_as_deleted.
11484
11485 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11486
11487         * nas.c (SndOpenDataForReading):
11488         nas.c (WaveOpenDataForReading):
11489         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11490         Somehow escaped from the 2000-08-14 patch.
11491
11492 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11493
11494         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11495         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11496
11497 2000-08-21  Andy Piper  <andy@xemacs.org>
11498
11499         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11500         window if it is not already displayed.
11501
11502         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11503         it is not already displayed.
11504
11505         * window.c (Fset_window_configuration): don't reset the frame
11506         cache.
11507
11508         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11509         instances from the frame cache if we are actually finalizing them.
11510         (reset_frame_subwindow_instance_cache): reset frame cache only
11511         after unmapping everything.
11512         (map_subwindow): set displayed flag after mapping.
11513
11514 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11515
11516         * data.c (indirect_function):
11517         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11518
11519         * eval.c (function_argcount):
11520         Use original function when signaling errors.
11521
11522 2000-08-18  Andy Piper  <andy@xemacs.org>
11523
11524         * frame.c (delete_frame_internal): use new
11525         free_frame_subwindow_instances name.
11526
11527         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11528         (add_tab_item): make return type correct.
11529         (mswindows_tab_control_instantiate): assert index of tab.
11530         (mswindows_tab_control_redisplay): Re-code to use
11531         gui_item_equal_sans_selected and gui_item_list_find_selected.
11532
11533         * glyphs-widget.c (tab_control_update): Correct comment.
11534
11535         * window.c (window_unmap_subwindows): use new
11536         unmap_subwindow_instance_cache_mapper.
11537         (window_unmap_subwindows_cache_mapper): deleted.
11538         (Fset_window_configuration): comparisons should now be with
11539         EQ. Preserve the subwindow instance cache across configuration
11540         changes.
11541         (allocate_window): ditto.
11542         (make_dummy_parent): ditto.
11543
11544         * glyphs.c (free_frame_subwindow_instances): rename from
11545         free_frame_subwindow_instance_cache. finalize all instances rather
11546         than just those in the display cache.
11547         (finalize_all_subwindow_instances): walk windows unmapping and
11548         finalizing subwindows.
11549         (unmap_subwindow_instance_cache_mapper): moved from
11550         window.c. Allow finalization as well as unmapping.
11551
11552         * gui.c (gui_item_list_find_selected): new function.
11553
11554         * gui.h (gui_item_list_find_selected): declare.
11555
11556         * glyphs-x.c (x_tab_control_redisplay): pick tab
11557         explicitly. Re-code to use gui_item_equal_sans_selected and
11558         gui_item_list_find_selected.
11559
11560         * glyphs-x.h: add lwlib-utils.h
11561
11562         * buffer.c (Frecord_buffer): undo previous change.
11563
11564 2000-08-09  Vin Shelton  <acs@xemacs.org>
11565
11566         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11567         possible.  Create temporary files more securely.  The patch was
11568         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11569         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11570         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11571         for details.
11572
11573 2000-08-07  Ben Wing  <ben@xemacs.org>
11574
11575         * getloadavg.c: remove duplicate (and windows-breaking)
11576         includes of fcntl.h and sys/file.h.
11577
11578         * nt.c: remove duplicate getloadavg() definition.
11579
11580         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11581         encodings.
11582
11583 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11584
11585         * eval.c (function_argcount): If function needs to be autoloaded
11586         actually use the loaded definition.
11587         GCPRO function.
11588
11589 2000-08-05  Ben Wing  <ben@xemacs.org>
11590
11591         * getloadavg.c: add prototype for getloadavg().  remove
11592         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11593         of the code).  remove duplicate header includes.
11594
11595         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11596
11597         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11598         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11599         useful load average.
11600
11601         * alloc.c (reinit_alloc_once_early): removed references to
11602         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11603         the lisp vars are the only things referencing the malloc_sbrk_*
11604         vars, and they were already if 0'd out.  these vars only exist
11605         in the older malloc.c, which is basically unused, and they're
11606         only for informational purposes.
11607
11608         * m\*.h: removed useless VIRT_ADDR_VARIES.
11609
11610         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11611
11612 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11613
11614         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11615         color if the image is a mono pixmap.
11616
11617 2000-07-30  Ben Wing  <ben@xemacs.org>
11618
11619         * Makefile.in.in (release):
11620         Remove stray @.
11621
11622         * buffer.c (directory_is_current_directory):
11623         * dired-msw.c (mswindows_get_files):
11624         * dired.c:
11625         * dired.c (Fdirectory_files):
11626         * dired.c (file_name_completion_stat):
11627         * dired.c (Ffile_attributes):
11628         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11629         preprocessor tricks, to avoid problems on some machines
11630         (e.g. SCO).
11631
11632         * callproc.c (egetenv): GC docs.
11633
11634         * console-msw.h:
11635         * console-msw.h (struct mswindows_dialog_id):
11636         * lrecord.h (lrecord_type):
11637         New object for use with MSW dialogs.
11638
11639         * console.h (struct console_methods):
11640         New enable/disable frame methods, for proper modal dialogs.
11641
11642         * device-msw.c (msprinter_default_printer): Fix to follow
11643         proper Mule conventions.
11644
11645         * device-msw.c:
11646         * device-msw.c (signal_open_printer_error):
11647         * device-msw.c (msprinter_init_device):
11648         * device-msw.c (ensure_not_printing):
11649         * device-msw.c (plist_get_margin):
11650         * device-msw.c (Fmsprinter_select_settings):
11651         * device-msw.c (finalize_devmode):
11652         * device-msw.c (Fmsprinter_settings_despecialize):
11653         * device-msw.c (signal_enum_priner_error):
11654         * extents.c (decode_extent):
11655         * extents.c (decode_map_extents_flags):
11656         * extents.c (decode_extent_at_flag):
11657         * extents.c (Fextent_at):
11658         * extents.c (Fextents_at):
11659         * extents.c (symbol_to_glyph_layout):
11660         [[[[2]]]] Use structured errors.
11661
11662         * dialog-msw.c:
11663         * dialog-msw.c (mswindows_is_dialog_msg):
11664         * dialog-msw.c (mark_mswindows_dialog_id):
11665         * dialog-msw.c (dialog_proc):
11666         * dialog-msw.c (handle_question_dialog_box):
11667         * dialog-msw.c (syms_of_dialog_mswindows):
11668         Define new object to clean up marking; use it as a dialog identifier.
11669         Call new delete-dialog-box-hook.
11670
11671         * dialog-x.c (dbox_selection_callback):
11672         * dialog-x.c (dbox_descriptor_to_widget_value):
11673         * dialog-x.c (x_make_dialog_box_internal):
11674         Call new delete-dialog-box-hook.
11675         Return an id.
11676
11677         * dialog.c:
11678         * dialog.c (syms_of_dialog):
11679         * dialog.c (vars_of_dialog):
11680         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11681
11682         * eval.c:
11683         * eval.c (signal_call_debugger):
11684         when noninteractive, output stack traces on the console instead
11685         of in a (never-seen) buffer.
11686
11687         * eval.c (signal_type_error):
11688         * eval.c (invalid_argument_2):
11689         * lisp.h:
11690         new funs for use w/structured errors.
11691
11692         * event-Xt.c:
11693         * event-Xt.c (x_to_emacs_keysym):
11694         * event-Xt.c (describe_event):
11695         * event-Xt.c (emacs_Xt_event_handler):
11696         * event-Xt.c (vars_of_event_Xt):
11697         * event-msw.c:
11698         * event-msw.c (mswindows_wnd_proc):
11699         * event-msw.c (vars_of_event_mswindows):
11700         rename {x,mswindows}-debug-events to debug-{}-events for
11701         consistency with other debug-foo variables.
11702
11703         * event-stream.c:
11704         document next-event more clearly.
11705
11706         * fileio.c (Ffile_name_directory):
11707         * fileio.c (Ffile_name_nondirectory):
11708         * fileio.c (Funhandled_file_name_directory):
11709         * fileio.c (file_name_as_directory):
11710         * fileio.c (Ffile_name_as_directory):
11711         * fileio.c (directory_file_name):
11712         * fileio.c (Fdirectory_file_name):
11713         * fileio.c (Fmake_temp_name):
11714         * fileio.c (Ffile_truename):
11715         * fileio.c (Fsubstitute_in_file_name):
11716         * fileio.c (expand_and_dir_to_file):
11717         * fileio.c (barf_or_query_if_file_exists):
11718         * fileio.c (check_executable):
11719         * fileio.c (Ffile_exists_p):
11720         * fileio.c (Ffile_writable_p):
11721         * fileio.c (Ffile_directory_p):
11722         * fileio.c (Ffile_regular_p):
11723         * fileio.c (Ffile_modes):
11724         * fileio.c (Ffile_newer_than_file_p):
11725         * fileio.c (Fverify_visited_file_modtime):
11726         * fileio.c (Fset_visited_file_modtime):
11727         * fileio.c (auto_save_1):
11728         (1). (2).
11729         fix up gcpro's.
11730
11731         * frame-msw.c:
11732         * frame-msw.c (mswindows_init_frame_1):
11733         * frame-msw.c (mswindows_enable_frame):
11734         * frame-msw.c (error_frame_unsizable):
11735         * frame-msw.c (msprinter_init_frame_1):
11736         * frame-msw.c (msprinter_init_frame_3):
11737         * frame-msw.c (console_type_create_frame_mswindows):
11738         (2).
11739         implement new enable/disable frame methods.
11740
11741         * frame-x.c:
11742         * frame-x.c (x_enable_frame):
11743         * frame-x.c (console_type_create_frame_x):
11744         implement new enable/disable frame methods.
11745
11746         * frame.c:
11747         * frame.c (Fdisable_frame):
11748         * frame.c (syms_of_frame):
11749         * frame.h (struct frame):
11750         implement new enable/disable frame methods/functions.
11751
11752         * general-slots.h:
11753         add initial-focus.
11754
11755         * glyphs-msw.c (mswindows_widget_instantiate):
11756         comment that initial-focus should be implemented.
11757
11758         * glyphs-widget.c:
11759         * glyphs-widget.c (check_valid_instantiator):
11760         * glyphs-widget.c (check_valid_orientation):
11761         * glyphs-widget.c (check_valid_tab_orientation):
11762         * glyphs-widget.c (check_valid_justification):
11763         * glyphs-widget.c (check_valid_border):
11764         * glyphs-widget.c (check_valid_callback):
11765         * glyphs-widget.c (check_valid_int_or_function):
11766         * glyphs-widget.c (check_valid_string_or_vector):
11767         * glyphs-widget.c (check_valid_item_list_1):
11768         * glyphs-widget.c (widget_validate):
11769         * glyphs-widget.c (combo_box_validate):
11770         * glyphs-widget.c (widget_instantiate):
11771         * glyphs-widget.c (syms_of_glyphs_widget):
11772         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11773         * glyphs-widget.c (image_instantiator_combo_box):
11774         * glyphs-widget.c (image_instantiator_scrollbar):
11775         * glyphs-widget.c (image_instantiator_tab_control):
11776         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11777         (2).
11778         support (unimplemented) keyword initial-focus.
11779         reindent long macros.
11780
11781         * glyphs-x.c (x_redisplay_widget):
11782         * glyphs-x.c (x_button_instantiate):
11783         * glyphs-x.c (x_button_redisplay):
11784         * glyphs-x.c (x_progress_gauge_instantiate):
11785         * glyphs-x.c (x_edit_field_instantiate):
11786         * glyphs-x.c (x_combo_box_instantiate):
11787         * glyphs-x.c (x_tab_control_instantiate):
11788         * glyphs-x.c (x_label_instantiate):
11789         * gui-x.c:
11790         * gui-x.c (button_item_to_widget_value):
11791         * gui-x.c (gui_items_to_widget_values_1):
11792         * gui-x.c (gui_item_children_to_widget_values):
11793         * gui-x.c (gui_items_to_widget_values):
11794         * gui-x.h:
11795         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11796         add new flag to gui-parsing routines to indicate whether
11797         accelerator specs should be supported.
11798
11799         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11800
11801         * glyphs.h (struct Lisp_Image_Instance):
11802         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11803         add initial-focus flag.
11804
11805         * gui.c:
11806         * gui.c (syms_of_gui):
11807         * gui.c (vars_of_gui):
11808         clean up menu-no-selection-hook.
11809
11810         * gui.h:
11811         support delete-dialog-box-hook.
11812
11813         * lread.c (Fload_internal):
11814         * lread.c (locate_file_in_directory_mapper):
11815         (1).
11816
11817         * lrecord.h:
11818         * lrecord.h (struct toolbar_button):
11819         * lrecord.h (syms_of_toolbar):
11820         document how to create a new object.
11821
11822         * menubar-msw.c (mswindows_char_is_accelerator):
11823         may be called on frames w/o menus.
11824
11825         * menubar.c (vars_of_menubar):
11826         clean up :filter docs.
11827
11828         * nt.c (readdir):
11829         * ntproc.c:
11830         (1).
11831
11832         * process-nt.c:
11833         * process-nt.c (validate_signal_number):
11834         * process-nt.c (signal_cannot_launch):
11835         * process-nt.c (nt_create_process):
11836         * process-nt.c (nt_send_process):
11837         * process-nt.c (nt_kill_child_process):
11838         * process-nt.c (nt_open_network_stream):
11839         * process-nt.c (syms_of_process_nt):
11840         (2).
11841         delete quote-handling.  call new lisp code that does it better.
11842
11843         * process-unix.c (connect_to_file_descriptor):
11844         * process-unix.c (allocate_pty):
11845         * process-unix.c (unix_send_process):
11846         * process-unix.c (unix_kill_child_process):
11847         * process-unix.c (unix_open_network_stream):
11848         * process-unix.c (unix_open_multicast_group):
11849         (1). (2).
11850
11851         * process.c:
11852         * process.c (Fstart_process_internal):
11853         (2).  need to canonicalize process path even if absolute.
11854
11855         * select-msw.c (symbol_to_ms_cf):
11856         * select-msw.c (ms_cf_to_symbol):
11857         * select-msw.c (cf_is_autofreed):
11858         * select-msw.c (mswindows_destroy_selection):
11859         * select.c:
11860         * select.c (syms_of_select):
11861         * select.h:
11862         support dibv5, fix bugs. (from Mike Alexander)
11863
11864         * select.c (Fget_selection_internal):
11865         * select.c (select_convert_out):
11866
11867         * sysdep.c:
11868         * sysdep.c (xemacs_stat):
11869         renamed.
11870
11871         * sysdep.c (mkdir):
11872         * sysdep.c (rmdir):
11873         but keep original stat() here because we provide encapsulation
11874         around these funs.
11875
11876         * sysfile.h:
11877         * sysfile.h (fstat):
11878         remove stat garbage.
11879
11880         * syswindows.h:
11881         fix X/MSW conflict.
11882         don't include tchar.h.  it's inappropriate because it makes
11883         compile-time distinctions when we want runtime distinctions.
11884         (we provide our own tchar replacements)
11885
11886         * toolbar.c:
11887         use default object printer for toolbar-button.
11888
11889         * unexcw.c:
11890         make sure we don't encapsulate.
11891
11892         * window.c (vars_of_window):
11893         emphasize that temp-buffer-show-hook is obsolete.
11894
11895 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11896
11897         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11898         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11899
11900         * events.c (Fevent_timestamp_lessp):
11901         Not 64-bit clean.  Use EMACS_INT, not int.
11902
11903 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11904
11905         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11906         unsigned int and changed the last enum to
11907         lrecord_type_last_built_in_type.
11908         (lrecord_implementations_table): changed prototype to know how
11909         long the array is supposed to be.
11910         (lrecord_type_count): new unsigned int to keep track of the
11911         current number of lisp lrecord types.
11912         (DEFINE_EXTERNAL_LRECORD):
11913         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11914         dynamic-modules to declare new lisp types. They are the same
11915         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11916         int for each new type, and increment lrecord_type_count by 1.
11917
11918         * alloc.c (lrecord_implementations_table): Changed to reference
11919         lrecord_type_last_built_in_type for the size of the array.
11920         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11921
11922 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11923
11924         * glyphs.h (check_valid_item_list): Renamed from
11925         check_valid_item_list_1.
11926
11927 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11928
11929         * select.c (Qselect_coerce): New.
11930         * select.c (Vselection_coercion_alist): New.
11931         * select.c (syms_of_select): Declare.
11932         * select.c (get-selection-internal): Use it.
11933         Use the new select-coerce functionality.
11934
11935         * select.c (select_coerce): New.
11936         * select.h (select_coerce): Declare.
11937         New function to coerce one type of data into another.
11938
11939 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11940
11941         * callproc.c (Fcall_process_internal):
11942         (Fcall_process_internal):
11943         * process-unix.c (unix_create_process):
11944         Save and restore the value of errno, so that error messages are accurate.
11945
11946 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11947
11948         * elhash.c (print_hash_table):
11949         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11950         Prettify docstrings and indentation.
11951
11952 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11953
11954         * window.c (Fwindow_pixel_edges): Subtract frame border and
11955         gutter size.
11956
11957 2000-07-31  Andy Piper  <andy@xemacs.org>
11958
11959         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11960         will acknowledge the change.
11961
11962         * glyphs.h: declare tab_control_order_only_changed.
11963
11964         * glyphs-x.c (x_tab_control_redisplay): use
11965         tab_control_order_only_changed.
11966
11967         * glyphs-widget.c (tab_control_order_only_changed): new function.
11968
11969         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11970         tab_control_order_only_changed.
11971
11972         * gui.c (gui_item_equal_sans_selected): new function.
11973         (gui_item_equal): use it.
11974
11975         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11976         :properties in favor of :items..
11977
11978         * glyphs-widget.c (check_valid_item_list): rename from
11979         check_valid_item_list_1.
11980         (check_valid_item_list_1): renamed.
11981         (combo_box_validate): deprecate :properties in favor of :items.
11982         (widget_instantiate): ditto.
11983         (tab_control_update): ditto.
11984         (image_instantiator_combo_box): ditto.
11985         (image_instantiator_tree_view): ditto.
11986         (image_instantiator_tab_control): ditto.
11987         (layout_post_instantiate): remove dead code.
11988
11989         * print.c (debug_print_no_newline): only write to debugger if in
11990         WIN32_NATIVE.
11991
11992         * elhash.c (Fmake_hash_table): update doc string.
11993
11994         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11995         messages whilst in GC. This at least stops XEmacs crashing but has
11996         the potential for wierd behaviour.
11997
11998 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11999
12000         * config.h.in:
12001         Make existence of s&m files optional.
12002
12003         * s/bsd386.h: Remove HAVE_GETLOADAVG.
12004         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12005         * s/gnu.h: Remove HAVE_GETLOADAVG.
12006         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12007         * s/sol2.h: Remove HAVE_GETLOADAVG.
12008         * lisp.h: Remove getloadavg() declaration.
12009         * fns.c:
12010         Include <sys/loadavg.h> if available.
12011         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12012         * config.h.in:  Group together getloadavg()-related macros.
12013         Use only configure-time tests to detect getloadavg().
12014
12015 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12016
12017         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12018
12019 2000-07-25  Andy Piper  <andy@xemacs.org>
12020
12021         * syswindows.h: add tchar.h for native builds.
12022
12023         * frame.c (syms_of_frame): remove set-glyph-image.
12024
12025         * general-slots.h: add Qset_glyph_image.
12026
12027         * glyphs-widget.c (layout_update): add domain arg to
12028         set-glyph-image.
12029         (syms_of_glyphs_widget): remove set-glyph-image.
12030
12031 2000-07-23  Ben Wing  <ben@xemacs.org>
12032
12033         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12034         Vpopup_frame_list.
12035
12036 2000-07-22  Andy Piper  <andy@xemacs.org>
12037
12038         * symsinit.h: add syms_of_win32().
12039
12040         * gui-msw.c (syms_of_gui_mswindows): remove
12041         Fmswindows_shell_execute.
12042         (Fmswindows_shell_execute): moved to win32.c.
12043
12044         * emacs.c (main_1): add syms_of_win32 ().
12045
12046         * win32.c (init_potentially_nonexistent_functions): rewrite in
12047         compiler-friendly terms.
12048         (Fmswindows_shell_execute): move here from gui-msw.c.
12049         (syms_of_win32): new.
12050
12051         * device-msw.c (Fmswindows_printer_list): clean up args to
12052         EnumPrinters.
12053         Don't include tchar under cygwin or mingw.
12054         (msprinter_default_printer): make cygwin-friendly.
12055
12056 2000-07-21  Andy Piper  <andy@xemacs.org>
12057
12058         * glyphs-widget.c (image_instantiator_tree_view): use tab
12059         control's update function.
12060         (layout_property): new function. Retrieve items.
12061
12062         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12063         function. Re-populate the tree view from the pending items.
12064
12065         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12066         is designated the parent if the domain is an image instance. This
12067         is needed so that dirtiness can be cascade up the hierarchy and
12068         thus for layout children to be redisplayed correctly.
12069         (allocate_image_instance): rename glyph -> parent.
12070
12071         * redisplay.h: change redisplay_output_layout signature.
12072
12073         * redisplay-msw.c (mswindows_output_display_block): use domain
12074         arg.
12075
12076         * redisplay-x.c (x_output_display_block): use domain arg.
12077
12078 2000-07-10  Andy Piper  <andy@xemacs.org>
12079
12080         * window.c (Fset_window_configuration): add comment.
12081
12082         * redisplay-output.c (compare_runes):
12083         (redisplay_output_subwindow): redisplay rather than update subwindow.
12084         (redisplay_output_layout): ditto.
12085
12086         * redisplay-msw.c (mswindows_frame_output_end):
12087         (mswindows_frame_output_end): make defer window pos optional.
12088
12089         * lisp.h: add Flast.
12090
12091         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12092         normalize method. Change update method to be for changed
12093         instantiators. Add redisplay method. Change signature of layout
12094         method.
12095         (struct Lisp_Image_Instance): add instantiator.
12096         (IMAGE_INSTANCE_INSTANTIATOR): new.
12097         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12098         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12099         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12100
12101         * glyphs.c:
12102         (find_instantiator_differences): new function.
12103         (Fset_instantiator_property): new convenience function.
12104         (check_image_instance_structure): strictly check for vector
12105         instantiators.
12106         (normalize_image_instantiator): make non-static.
12107         (instantiate_image_instantiator): pass on dest_mask and use new
12108         signatures for image_instance_layout and friends.
12109         (mark_image_instance): mark the instantiator. Mark the subwindow
12110         face not the widget face.
12111         (image_instance_equal): add instantiator.
12112         (image_instance_hash): ditto.
12113         (allocate_image_instance): ditto.
12114         (Fset_image_instance_property): removed.
12115         (Fimage_instance_file_name): ditto.
12116         (Fcolorize_image_instance): ditto.
12117         (image_instance_layout): add offsets to be set.
12118         (update_image_instance): new function. update an image instance
12119         from its changed instantiator.
12120         (inherit_normalize): add dest_mask.
12121         (xbm_normalize): ditto.
12122         (xface_normalize): ditto.
12123         (xpm_normalize): ditto.
12124         (text_update): set_property -> update.
12125         (image_instantiate): use the glyph identity as a hash key, not the
12126         instantiator.
12127         (glyph_width): use new image_instance_layout signature.
12128         (glyph_ascent): ditto.
12129         (glyph_descent): ditto.
12130         (glyph_height): ditto.
12131         (glyph_query_geometry): ressurrect.
12132         (glyph_layout): ditto.
12133         (redisplay_subwindow): update -> redisplay.
12134         (syms_of_glyphs): add Fset_instantiator_property.
12135         (image_instantiator_format_create): set_property -> update.
12136
12137         * glyphs-x.c:
12138         (autodetect_normalize): add dest_maks to signature.
12139         (x_redisplay_subwindow): update -> redisplay.
12140         (x_redisplay_widget): ditto.
12141         (x_button_redisplay): ditto.
12142         (x_progress_gauge_redisplay): ditto.
12143         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12144         stacking order.
12145         (console_type_create_glyphs_x): update -> redisplay.
12146         (image_instantiator_format_create_glyphs_x): ditto.
12147
12148         * glyphs-widget.c:
12149         (check_valid_instantiator): disallow glyphs in the instantiator,
12150         they must now be vectors.
12151         (check_valid_instantiator_list): ditto.
12152         (glyph_instantiator_to_glyph): use internal symbol rather than
12153         intern.
12154         (widget_update): renamed from widget_set_property. Call cascaded
12155         update methods.
12156         (redisplay_widget): renamed from update_widget.
12157         (widget_layout): image_instance_layout now takes position as well
12158         as size.
12159         (widget_normalize): ditto.
12160         (widget_instantiate): ditto.
12161         (tab_control_query_geometry) ditto.:
12162         (tab_control_update): renamed from tab_control_set_property.
12163         (progress_gauge_update): set_property -> update.
12164         (layout_normalize): rewrite so that child instantiators are
12165         normalized also.
12166         (layout_update): new function. Create glyphs from the normalized
12167         children and cope with any other layout keywords. We do not
12168         instantiate children here that will be take care of by
12169         redisplay_output_layout.
12170         (layout_instantiate): call layout_update and not much else.
12171         (layout_post_instantiate): not sure whether this is needed
12172         anymore.
12173         (layout_query_geometry): query glyph geometry rather than
12174         image_instance geometry.
12175         (layout_layout): set offsets from pass in parameters. Use glyph
12176         geometry and layout functions rather than image instance ones.
12177         (native_layout_layout): ditto.
12178         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12179         (image_instantiator_widget): set_property -> update.
12180         (image_instantiator_buttons): ditto.
12181         (image_instantiator_progress_guage): ditto.
12182         (image_instantiator_tab_control): ditto.
12183         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12184         (image_instantiator_layout): add update method.
12185
12186         * glyphs-msw.c (bmp_normalize):
12187         (mswindows_resource_normalize): add dest_mask so that it can be
12188         proprogated by layout_normalize.
12189         (begin_defer_window_pos): make optional because it may not be the
12190         right thing to do and it introduces differences with X.
12191         (mswindows_unmap_subwindow): ditto.
12192         (mswindows_map_subwindow): ditto.
12193         (mswindows_redisplay_subwindow): renamed from
12194         mswindows_update_subwindow.
12195         (mswindows_redisplay_widget): ditto.
12196         (mswindows_button_redisplay): renamed from
12197         mswindows_button_update. Update is now what the instantiation
12198         function does for a changed instantiator.
12199         (mswindows_progress_gauge_instantiate): set the progress value
12200         here if appropriate.
12201         (mswindows_tab_control_redisplay): cope with re-ordering of the
12202         members of the tab widget by simply selecting the new top
12203         widget. This makes things appear ok if you click on a tab.
12204         (mswindows_combo_box_instantiate): image_instance_layout now takes
12205         position as well as size.
12206         (mswindows_progress_gauge_redisplay): renamed from
12207         mswindows_progress_gauge_update.
12208         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12209         (image_instantiator_format_create_glyphs_mswindows): ditto.
12210
12211         * glyphs-eimage.c (jpeg_normalize):
12212         (gif_normalize):
12213         (png_normalize):
12214         (tiff_normalize): add dest_mask so that it can be proprogated by
12215         layout_normalize.
12216
12217         * elhash.c:
12218         (print_hash_table):
12219         (hash_table_weakness_validate):
12220         (decode_hash_table_weakness):
12221         (Fhash_table_weakness):
12222         (Fhash_table_type):
12223         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12224
12225         * console.h (struct console_methods): move update_* to
12226         redisplay_*.
12227
12228 2000-07-20  Ben Wing  <ben@xemacs.org>
12229
12230         * *.[ch] (XSETOBJ): remove unused middle argument.
12231         lisp-disunion.h: correct wrap_object() to one argument.
12232
12233 2000-07-15  Ben Wing  <ben@xemacs.org>
12234
12235         * s/cygwin32.h:
12236         * s/cygwin32.h (CYGWIN_CONV_PATH):
12237         Add missing logb prototype for v1.1.
12238         Use post-b20 names and alias to pre-b20 names when pre-b20.
12239
12240         * s/windowsnt.h: [5].
12241
12242 2000-07-15  Ben Wing  <ben@xemacs.org>
12243
12244         * Makefile.in.in (x_objs):
12245         * Makefile.in.in (sheap_objs):
12246         * Makefile.in.in (objs):
12247         added win32.o, cosmetic cleanups.
12248
12249         * alloc.c (Fmake_byte_code):
12250         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12251         etc. macros which declare their own args now.
12252
12253         * alloc.c (syms_of_alloc):
12254         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12255
12256         * buffer.c:
12257         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12258
12259         * buffer.c (Fget_file_buffer):
12260         Fixed GCPRO problem.
12261
12262         * buffer.c (get_truename_buffer):
12263         Fixed comment about GC checking.
12264
12265         * buffer.c (syms_of_buffer):
12266         Undeclared those dedicated frame funs.
12267         [2].
12268
12269         * buffer.h:
12270         Define convenience macros for internal/external conversions.
12271         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12272         and Qenvironment_variable_encoding for cleaner code.
12273
12274         * bufslots.h:
12275         Remove dedicated-frame; in lisp.
12276
12277         * bytecode.c (funcall_compiled_function):
12278         [1].
12279
12280         * bytecode.c (syms_of_bytecode):
12281         [2].
12282
12283         * console-msw.c:
12284         * console-msw.c (mswindows_show_console): Rewrote.
12285
12286         * console-msw.c (Fmswindows_debugging_output): New.
12287         Sends to OutputDebugString (special MSWin debugger interface).
12288
12289         * console-msw.c (Fmswindows_message_box):
12290         Fixed stupid bugs so it works when called from kill-emacs.
12291
12292         * console-msw.c (syms_of_console_mswindows):
12293         Declare Fmswindows_debugging_output.
12294
12295         * console-msw.h:
12296         New MSWin prototypes.
12297
12298         * console-msw.h (struct mswindows_frame):
12299         New entry last-click-mods for improved button-modifier support.
12300
12301         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12302         New struct entry `popup' with corresponding accessor.
12303
12304         * console-x.c:
12305         * console-x.c (split_up_display_spec):
12306         * console-x.c (get_display_arg_connection):
12307         * console-x.c (x_semi_canonicalize_console_connection):
12308         * console-x.c (x_canonicalize_device_connection):
12309         [[[6]]]: Change char to more specific type.
12310         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12311
12312         * console-x.c (x_semi_canonicalize_console_connection):
12313         * console-x.c (x_canonicalize_device_connection):
12314         [[[9]]]: Fix up error signalling to use new structured error system.
12315
12316         * console-x.h:
12317         [[[4]]]: Define codesys aliases:
12318         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12319         Qx_color_name_encoding, Qx_display_name_encoding.
12320
12321         * console.h (struct console_methods):
12322         New method make_dialog_box_internal supersedes older
12323         popup_dialog_box method.
12324
12325         * data.c:
12326         Define many new errors, part of new structured errors.
12327
12328         * data.c (init_errors_once_early):
12329         * data.c (syms_of_data):
12330         [2].
12331
12332         * device-msw.c (mswindows_init_device):
12333         [[[5]]]: Cleanup to support NT 3.51.
12334
12335         * device-msw.c (decode_devmode): Cleanup.
12336
12337         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12338         * device-msw.c (mswindows_handle_print_dialog_box):
12339         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12340         * device-msw.c (syms_of_device_mswindows):
12341         Delete the dialog box primitives recently introduced by Kirill and
12342         instead interface to general dialog box interface.
12343
12344         * device-x.c:
12345         * device-x.c (compute_x_app_name):
12346         * device-x.c (x_init_device):
12347         * device-x.c (Fx_valid_keysym_name_p):
12348         * device-x.c (Fx_set_font_path):
12349         [6].
12350         [7].
12351
12352         * device.h (wrap_device): New.
12353         First of its kind; meant to replace XSETDEVICE.
12354
12355         * dialog-msw.c: Many file-dialog symbols.
12356
12357         * dialog-msw.c (mswindows_register_popup_frame): New.
12358         * dialog-msw.c (mswindows_is_dialog_msg): New.
12359         For supporting kbd traversal in dialog boxes.
12360
12361         * dialog-msw.c (dialog_proc):
12362         Support hitting ESC in dialogs.
12363
12364         * dialog-msw.c (struct):
12365         Common dialog box errors.
12366
12367         * dialog-msw.c (handle_file_dialog_box): New.
12368         Add file dialog code.
12369
12370         * dialog-msw.c (handle_question_dialog_box):
12371         Redo existing code to support new question dialog syntax.
12372
12373         * dialog-msw.c (console_type_create_dialog_mswindows):
12374         We support new dialog console method.
12375
12376         * dialog-msw.c (syms_of_dialog_mswindows):
12377         * dialog-msw.c (vars_of_dialog_mswindows):
12378         New file dialog symbols, vars.
12379
12380         * dialog-x.c:
12381         * dialog-x.c (maybe_run_dbox_text_callback):
12382         * dialog-x.c (dbox_descriptor_to_widget_value):
12383         * dialog-x.c (x_make_dialog_box_internal):
12384         * dialog-x.c (console_type_create_dialog_x):
12385         Mule-ize entire file.
12386         Redo to support question dialog syntax.
12387         [6].
12388
12389         * dialog.c:
12390         * dialog.c (Fmake_dialog_box_internal):
12391         * dialog.c (syms_of_dialog):
12392         Kill old popup-dialog-box, replace with new primitive.
12393         Just call device method or signal error.
12394
12395         * eldap.c (Fldap_open):
12396         * eldap.c (Fldap_search_basic):
12397         * eldap.c (Fldap_add):
12398         * eldap.c (Fldap_modify):
12399         [1].
12400         [7].
12401
12402         * emacs.c:
12403         * emacs.c (make_arg_list_1):
12404         * emacs.c (make_arg_list):
12405         Mule-ize call to dll_init().
12406         [6].
12407         [8].
12408
12409         * emacs.c (make_argc_argv):
12410         * emacs.c (free_argc_argv):
12411         * emacs.c (init_cmdargs):
12412         * emacs.c (main_1):
12413         * emacs.c (Fkill_emacs):
12414         * emacs.c (Fdump_emacs):
12415         Update comments about what can be used in syms_* etc.
12416         Call init_win32() when necessary.
12417         Fix up MS Win dialog box in kill-buffer to actually work right.
12418         [7].
12419
12420         * eval.c:
12421         * eval.c (For):
12422         * eval.c (Fand):
12423         * eval.c (Fprogn):
12424         * eval.c (Fprog1):
12425         * eval.c (Fprog2):
12426         * eval.c (FletX):
12427         * eval.c (Flet):
12428         * eval.c (condition_case_3):
12429         * eval.c (Feval):
12430         * eval.c (function_argcount):
12431         * eval.c (funcall_lambda):
12432         [1].
12433
12434         * eval.c (type_error): New.
12435         * eval.c (maybe_type_error): New.
12436         * eval.c (continuable_type_error): New.
12437         * eval.c (maybe_continuable_type_error): New.
12438         * eval.c (type_error_with_frob): New.
12439         * eval.c (maybe_type_error_with_frob): New.
12440         * eval.c (continuable_type_error_with_frob): New.
12441         * eval.c (maybe_continuable_type_error_with_frob): New.
12442         New functions for use with structured errors.
12443
12444         * event-Xt.c:
12445         * event-Xt.c (x_event_to_emacs_event):
12446         Buttons are now modifiers too.
12447
12448         * event-Xt.c (emacs_Xt_current_event_timestamp):
12449         Implement new event method.
12450         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12451
12452         * event-msw.c:
12453         * event-msw.c (ntpipe_shove_writer): [5].
12454         * event-msw.c (mswindows_enqueue_mouse_button_event):
12455         * event-msw.c (mswindows_drain_windows_queue):
12456         * event-msw.c (mswindows_wnd_proc): [7].
12457         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12458         * event-msw.c (mswindows_modifier_state):
12459         Throughout: support new button modifiers.
12460
12461         * event-msw.c (emacs_mswindows_current_event_timestamp):
12462         Implement new event method.
12463         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12464
12465         * event-stream.c:
12466         * event-stream.c (event_stream_current_event_timestamp): New.
12467         * event-stream.c (maybe_kbd_translate): New functionality.
12468         * event-stream.c (vars_of_event_stream):
12469         Document new kbd-translate-table functionality.
12470
12471         * event-stream.c (Fcurrent_event_timestamp): New.
12472         New primitive for use in fabricated events.
12473         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12474
12475         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12476
12477         * events.c:
12478         * events.c (Fmake_event):
12479         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12480         [1].
12481         [9].
12482
12483         * events.c (format_event_object): fix gcc warnings.
12484
12485         * events.c (Fevent_timestamp): Document new primitives.
12486
12487         * events.c (TIMESTAMP_HALFSPACE): New.
12488
12489         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12490         comparing timestamps correctly (half-space algorithm).
12491
12492         * events.c (Fevent_modifier_bits): Doc fix.
12493
12494         * events.c (Fevent_modifiers): Major doc addition.
12495         * events.c (event_x_y_pixel_internal): Typo fix.
12496         * events.c (syms_of_events): Declare new primitives.
12497
12498         * events.h:
12499         Update long comment for button modifiers, timestamps.
12500
12501         * events.h (struct event_stream):
12502         New current_event_timestamp method.
12503
12504         * extents.c:
12505         * extents.c (extent_in_region_p):
12506         * extents.c (decode_extent):
12507         * extents.c (Fset_extent_parent):
12508         * extents.c (decode_map_extents_flags):
12509         Fix gcc warnings.
12510         [9].
12511
12512         * extents.c (struct extent_at_arg):
12513         * extents.c (decode_extent_at_flag):
12514         * extents.c (extent_at_mapper):
12515         * extents.c (extent_at_bytind):
12516         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12517         * extents.c (Fextents_at): New primitive. [9].
12518         * extents.c (symbol_to_glyph_layout): [9].
12519         Support new primitive `extents-at'.
12520
12521
12522         * extents.c (get_text_property_bytind):
12523         extent_at_bytind has another arg.
12524         [9].
12525
12526         * extents.c (syms_of_extents): New primitive.
12527
12528         * file-coding.c (Fmake_coding_system): [1].
12529         * file-coding.c (subsidiary_coding_system): fix gcc warning
12530         * file-coding.c (syms_of_file_coding): [2].
12531
12532         * fileio.c (Fexpand_file_name):
12533         * fileio.c (Fsysnetunam):
12534         * fileio.c (Ffile_exists_p):
12535         * fileio.c (Ffile_executable_p):
12536         * fileio.c (Fverify_visited_file_modtime):
12537         Clean up GCPROing.
12538
12539         * fileio.c (syms_of_fileio): [2].
12540
12541         * filelock.c (lock_file_1):
12542         * filelock.c (current_lock_owner):
12543         * filelock.c (lock_if_free):
12544         * filelock.c (lock_file):
12545         * filelock.c (unlock_file):
12546         Clean up GCPROing.
12547
12548         * fns.c (concat): Fix gcc warning.
12549
12550         * fns.c (Fmember):
12551         * fns.c (Fold_member):
12552         * fns.c (Fmemq):
12553         * fns.c (Fold_memq):
12554         * fns.c (memq_no_quit):
12555         * fns.c (Fassoc):
12556         * fns.c (Fold_assoc):
12557         * fns.c (Fassq):
12558         * fns.c (Fold_assq):
12559         * fns.c (assq_no_quit):
12560         * fns.c (Frassoc):
12561         * fns.c (Fold_rassoc):
12562         * fns.c (Frassq):
12563         * fns.c (Fold_rassq):
12564         * fns.c (rassq_no_quit):
12565         * fns.c (Fdelete):
12566         * fns.c (Fold_delete):
12567         * fns.c (Fdelq):
12568         * fns.c (Fold_delq):
12569         * fns.c (delq_no_quit):
12570         * fns.c (Fremassoc):
12571         * fns.c (Fremassq):
12572         * fns.c (remassq_no_quit):
12573         * fns.c (Fremrassoc):
12574         * fns.c (Fremrassq):
12575         * fns.c (remrassq_no_quit):
12576         * fns.c (Freverse):
12577         * fns.c (mapcar1):
12578         [1].
12579
12580         * frame-msw.c (mswindows_init_frame_1):
12581         * frame-msw.c (mswindows_delete_frame):
12582         Register popups with dialog code so keyboard traversing works.
12583
12584         * frame-tty.c (tty_raise_frame_no_select): [1].
12585
12586         * frame-x.c:
12587         * frame-x.c (x_set_frame_text_value):
12588         * frame-x.c (x_set_frame_properties):
12589         * frame-x.c (x_create_widgets):
12590         [7].
12591
12592         * frame.c:
12593         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12594
12595         * frame.h (wrap_frame): New.
12596         Macro like wrap_device.
12597
12598         * general.c:
12599         * general.c (SYMBOL):
12600         * general.c (syms_of_general):
12601         Major reorg.  This is now just a wrapper and symbols themselves
12602         are listed in general-slots.h.
12603
12604         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12605         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12606
12607         * glyphs-msw.c (mswindows_native_layout_instantiate):
12608         Add DS_CONTROL so keyboard traversal will work.
12609
12610         * glyphs-widget.c:
12611         * glyphs-widget.c (syms_of_glyphs_widget):
12612         Move some symbols to general-slots.h.
12613
12614         * glyphs-x.c:
12615         * glyphs-x.c (xbm_instantiate_1):
12616         * glyphs-x.c (x_xbm_instantiate):
12617         * glyphs-x.c (x_xface_instantiate):
12618         * glyphs-x.c (autodetect_instantiate):
12619         * glyphs-x.c (cursor_font_instantiate):
12620         * glyphs-x.c (x_update_widget):
12621         * glyphs-x.c (x_widget_instantiate):
12622         * glyphs.c (bitmap_to_lisp_data):
12623         * glyphs.c (pixmap_to_lisp_data):
12624         [7].
12625
12626         * glyphs.c (syms_of_glyphs):
12627         [2].
12628
12629         * gui-x.c:
12630         * gui-x.c (print_widget_value):
12631         * gui-x.c (menu_separator_style_and_to_external):
12632         * gui-x.c (add_accel_and_to_external):
12633         * gui-x.c (button_item_to_widget_value):
12634         * gui-x.c (gui_items_to_widget_values_1):
12635         * gui-x.c (gui_items_to_widget_values):
12636         * gui-x.c (syms_of_gui_x):
12637         * gui-x.c (vars_of_gui_x):
12638         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12639         [9].
12640
12641         * gui-x.h:
12642         Muleize, prototype changes matching gui-x.c.
12643
12644         * gui.c:
12645         * gui.c (separator_string_p):
12646         * gui.c (gui_item_add_keyval_pair):
12647         * gui.c (make_gui_item_from_keywords_internal):
12648         * gui.c (signal_too_long_error):
12649         * gui.c (parse_gui_item_tree_item):
12650         * gui.c (syms_of_gui):
12651         * gui.c (vars_of_gui):
12652         * gui.h:
12653         menu-no-selection-hook moved here (used by MSWin).
12654         Move some symbols to general-slots.h.
12655         [6].
12656         [9].
12657
12658         * insdel.c (get_buffer_pos_char):
12659         * insdel.c (get_buffer_range_char):
12660         Add GC comments.
12661
12662         * keymap.c (keymap_lookup_directly):
12663         * keymap.c (keymap_store):
12664         * keymap.c (ensure_meta_prefix_char_keymapp):
12665         * keymap.c (describe_map):
12666         * keymap.h:
12667         Support new button modifiers.
12668
12669         * lisp-disunion.h (wrap_object):
12670         * lisp-disunion.h (XSETOBJ):
12671         Rename make_obj to wrap_object.
12672
12673         * lisp-union.h:
12674         * lisp-union.h (make_int):
12675         * lisp-union.h (make_char):
12676         Support wrap_object.
12677
12678         * lisp.h:
12679         * lisp.h (LIST_LOOP):
12680         * lisp.h (EXTERNAL_LIST_LOOP):
12681         * lisp.h (LIST_LOOP_2):
12682         * lisp.h (EXTERNAL_LIST_LOOP_1):
12683         * lisp.h (EXTERNAL_LIST_LOOP_2):
12684         * lisp.h (EXTERNAL_LIST_LOOP_3):
12685         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12686         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12687         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12688         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12689         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12690         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12691         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12692         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12693         * lisp.h (struct Lisp_Symbol):
12694         * lisp.h (maybe_continuable_error_with_frob):
12695         Fix up section comments.
12696         Add new types for char to indicate usage.
12697         Delete symbols auto-generated from general-slots.h.
12698         Add prototypes for structured error functions.
12699         Add long comments describing looping macros and change interface
12700         so that lvalues are automatically declared.
12701         Add NO_DECLARE macro in case callers want to declare lvalues
12702         themselves.
12703
12704         * lread.c (read_syntax_error):
12705         * lread.c (continuable_read_syntax_error):
12706         * lread.c (read_structure):
12707         * lread.c (sequence_reader):
12708         * lread.c (read_list_conser):
12709         * lread.c (read_compiled_function):
12710         Rename syntax_error and continuable_syntax_error to avoid clash
12711         with same-named structured error functions.
12712
12713         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12714         * menubar-msw.c (populate_menu_add_item):
12715         * menubar-msw.c (populate_or_checksum_helper):
12716         [5].
12717         [9].
12718
12719         * menubar-x.c:
12720         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12721         Mule-ize whole file.
12722
12723         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12724
12725         * mule-charset.c (Fmake_charset):
12726         * mule-wnnfns.c (Fwnn_set_param):
12727         [1].
12728
12729         * ntproc.c (create_child):
12730         * ntproc.c (Fwin32_set_current_locale):
12731         Add comments portending doom.
12732
12733         * objects-msw.c:
12734         * objects-msw.c (old_font_enum_callback_2):
12735         * objects-msw.c (font_enum_callback_1):
12736         * objects-msw.c (mswindows_enumerate_fonts):
12737         [5].
12738
12739         * objects-x.c:
12740         * objects-x.c (allocate_nearest_color):
12741         * objects-x.c (x_parse_nearest_color):
12742         * objects-x.c (x_initialize_color_instance):
12743         * objects-x.c (x_print_color_instance):
12744         * objects-x.c (x_finalize_color_instance):
12745         * objects-x.c (x_valid_color_name_p):
12746         * objects-x.c (x_initialize_font_instance):
12747         * objects-x.c (x_print_font_instance):
12748         * objects-x.c (valid_x_font_name_p):
12749         * objects-x.c (truename_via_FONT_prop):
12750         * objects-x.c (truename_via_random_props):
12751         * objects-x.c (truename_via_XListFonts):
12752         * objects-x.c (x_font_truename):
12753         * objects-x.c (x_font_instance_truename):
12754         * objects-x.c (x_font_instance_properties):
12755         * objects-x.c (x_list_fonts):
12756         * objects-x.c (x_find_charset_font):
12757         Mule-ize entire file.
12758         [7].
12759
12760         * objects-x.h:
12761         Mule-verify.
12762
12763         * print.c:
12764         * print.c (std_handle_out_external):
12765         * print.c (debug_print_no_newline):
12766         * print.c (syms_of_print):
12767         Output to all debugger kinds in debug-print.
12768         Fix console-output code under MSWin to actually work.
12769
12770         * process-nt.c (send_signal):
12771         * process-nt.c (nt_create_process):
12772         Use newer Unicode macros.
12773
12774         * process-unix.c (unix_create_process):
12775         * process-unix.c (unix_canonicalize_host_name):
12776         * process-unix.c (unix_open_network_stream):
12777         [7].
12778
12779         * scrollbar-x.c:
12780         Mule-verify.
12781
12782         * search.c (syms_of_search):
12783         [2].
12784
12785         * select-msw.c (mswindows_destroy_selection):
12786         Use LIST_LOOP_2.
12787
12788         * select-x.c (symbol_to_x_atom):
12789         [7].
12790
12791         * select.c (syms_of_select):
12792         [2].
12793
12794         * sound.c (Fplay_sound_file):
12795         [7].
12796
12797         * specifier.c:
12798         * specifier.c (decode_specifier_type):
12799         * specifier.c (Fvalid_specifier_locale_type_p):
12800         * specifier.c (check_valid_locale_or_locale_type):
12801         * specifier.c (decode_locale):
12802         * specifier.c (decode_locale_type):
12803         * specifier.c (decode_locale_list):
12804         * specifier.c (check_valid_domain):
12805         * specifier.c (decode_specifier_tag_set):
12806         * specifier.c (Fcanonicalize_tag_set):
12807         * specifier.c (Fdefine_specifier_tag):
12808         * specifier.c (Fspecifier_tag_predicate):
12809         * specifier.c (check_valid_inst_list):
12810         * specifier.c (check_valid_spec_list):
12811         * specifier.c (decode_how_to_add_specification):
12812         * specifier.c (check_modifiable_specifier):
12813         * specifier.c (specifier_add_spec):
12814         * specifier.c (boolean_validate):
12815         * specifier.c (display_table_validate):
12816         [9].
12817
12818         * specifier.c (syms_of_specifier):
12819         Move some symbols to general-slots.h.
12820         [2].
12821
12822         * symbols.c:
12823         * symbols.c (Fmapatoms):
12824         * symbols.c (Fapropos_internal):
12825         Add GCPROs.
12826
12827         * symbols.c (set_default_buffer_slot_variable):
12828         * symbols.c (set_default_console_slot_variable):
12829         [1].
12830
12831         * symbols.c (defsymbol_massage_name_1):
12832         * symbols.c (defkeyword_massage_name):
12833         * symbols.c (deferror_1):
12834         * symbols.c (deferror):
12835         * symbols.c (deferror_massage_name_and_message):
12836         * symeval.h:
12837         * symeval.h (DEFSYMBOL):
12838         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12839
12840         * symbols.c (syms_of_symbols):
12841         [2].
12842
12843         * symsinit.h:
12844         * symsinit.h (init_win32): New.
12845         Also new is syms_of_dialog_mswindows.
12846
12847         * syswindows.h:
12848         Add new Unicode macros, missing Cygwin wide-char functions,
12849         convenience conversion macros for Qmswindows_tstr, macros for
12850         encapsulating required MSWin <-> Cygwin filename conversions,
12851         prototype for dynamically-extracted (not in NT 3.51) functions.
12852
12853         * toolbar-x.c:
12854         Mule-verify.
12855
12856         * tooltalk.c (Fadd_tooltalk_message_arg):
12857         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12858         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12859         [7].
12860
12861         * tooltalk.c (syms_of_tooltalk):
12862         [2].
12863
12864         * unexnt.c:
12865         * unexnt.c (unexec):
12866         Fix up headers, declaration of unexec() to be more standard.
12867
12868 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12869
12870         * offix.h: Revert change to guard macros - they're used in offix.c!
12871
12872 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12873
12874         * lisp.h: Defsubred Fdelete.
12875
12876         * console-msw.h:  (msprinter_default_printer): Added.
12877
12878         * console-msw.c (msprinter_canonicalize_console_connection):
12879         (msprinter_canonicalize_device_connection): Added.
12880
12881         * device-msw.c (msprinter_default_printer):
12882         (Fmswingows_get_default_printer):
12883         (signal_enum_priner_error):
12884         (Fmswingows_printer_list): Added.
12885
12886 2000-07-19  Martin Buchholz <martin@xemacs.org>
12887
12888         * XEmacs 21.2.35 is released.
12889
12890 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12891
12892         * select-x.c (x_handle_selection_request):
12893         Text selected in xemacs and pasted into xterm failed to appear.
12894         Spelling fixes and cosmetic changes.
12895
12896 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12897
12898         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12899         XEmacs frame (fix for doubling chars in dialog boxes).
12900
12901 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12902
12903         * select.c (select_convert_in, select_convert_out):
12904         Don't call intern() every time.
12905
12906         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12907         * select.c (vars_of_select): Initialise them.
12908
12909 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12910
12911         * select.c (selection-coercible-types): New.
12912
12913         * select.c (own-selection-internal):
12914         * select.c (get-selection-internal):
12915         MULE bug fix - these should default to COMPOUND_TEXT and not
12916         STRING for MULE. I think.
12917
12918         * select.c (select_convert_out): Use selection-coercible-types
12919         to find types that we can attempt to perform coercions on.
12920
12921 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12922
12923         * mule-wnnfns.c:
12924         * mule-canna.c:
12925         Add coding: cookie to identify encoding.
12926
12927         * mule-canna.c (CANNA_mode_keys): make static.
12928         Use proper prototypes, even for functions of no arguments.
12929         Remove external prototype for Fding().
12930
12931         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12932
12933         * select.c (syms_of_select): Add missing DEFSUBR.
12934
12935 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12936
12937         * select.c (get_selection_internal, own_selection_internal):
12938         Make the type default to STRING, rather than placing a nil type
12939         into Vselection_alist.
12940
12941 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12942
12943         * gpmevent.c (tty_selection_exists_p):
12944         * gpmevent.c (tty_own_selection):
12945         Updated parameter lists.
12946
12947 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12948
12949         * select.h (selection-alist): Removed declaration.
12950
12951         * select.h (get_local_selection):
12952         * select.c (get_local_selection):
12953         Made static.
12954
12955         * select.h (convert_selection): Removed declaration.
12956         * select.c (convert_selection): Removed.
12957         This function belongs in Lisp.
12958
12959         * select.h (select_convert_in): Declare.
12960         * select.h (select_convert_out): Declare.
12961         * select.c (select_convert_in): New.
12962         * select.c (select_convert_out): New.
12963         New conversion functions for other files to call.
12964
12965         * select.h (select_notify_buffer_kill): Declare.
12966         * select.c (select_notify_buffer_kill): New.
12967         New functions that get called from kill-buffer.
12968
12969         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12970         X-specific lisp code.
12971
12972         * select.h: Declare some of the lisp-visible functions for
12973         external use.
12974
12975         * select.c (clean_local_selection_data): Removed. This was
12976         a disgusting function, and previously should have been in
12977         select-x.c in any case. The functionality is now provided
12978         in select-convert-from-integer (select.el).
12979
12980         * select.c (available-selection-types): Fixed stupidity where
12981         INTEGER and ATOM got added twice. Also add STRING when we see an
12982         extent.
12983
12984         * select.c (get-selection-internal): Removed symbol stripping. No
12985         longer causes conversion when data comes from the internal cache.
12986
12987         * select.c (syms_of_select): Added new functions.
12988
12989         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12990         error checking - previously this called abort!
12991
12992         * select-x.c (x_own_selection): Changed comment.
12993
12994         * select-x.c (x_handle_selection_request): Use select_convert_out.
12995         Don't mess with selection-alist; it's an internal variable of select.c.
12996
12997         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12998
12999         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
13000         rather than messing with selection-alist.
13001
13002         * select-msw.c (mswindows_get_foreign_selection):
13003         Use TO_INTERNAL_FORMAT rather than hacking.
13004
13005 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13006
13007         * process-unix.c (unix_open_multicast_group):
13008         (unix_open_multicast_group): Remove useless casts.
13009
13010 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13011
13012         * sound.c (Fplay_sound): Fix `unused variable' warning.
13013
13014         * emacs.c (main): Use correct type for _environ on SCO5.
13015
13016 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13017
13018         * console.h (own_selection_method):
13019         * console.h (selection_exists_p_method):
13020         * console.h (available_selection_types_method): New.
13021         * console.h (register_selection_data_type_method): New.
13022         * console.h (selection_data_type_name): New.
13023
13024         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13025         function & alist to track GlobalAlloc()'d handles that need
13026         releasing when the clipboard data gets replaced or emptied.
13027
13028         * event-msw.c (mswindows_wnd_proc): Call it.
13029
13030         * lisp.h, general.c (Qappend): New symbol representing a
13031         `how-to-add' mode.
13032
13033         * select.c (own-selection-internal):
13034         * select.c (selection-exists-p):
13035         * select.c (available-selection-types): New.
13036         * select.c (register-selection-data-type): New.
13037         * select.c (selection-data-type-name): New.  New functions to deal
13038         with device-specific selection data formats.
13039         * select.c (selection-converter-out-alist): Renamed.
13040         * select.c (selection-converter-in-alist): New.
13041         * select.c (selection-appender-alist): New.  Added new alists.
13042         * select.c (syms_of_select, vars_of_select): Added new symbols &
13043         variables.
13044         * select.c (get_local_selection): Split.
13045         * select.c: Removed spurious type checking - selections may now be
13046         of any type, not just strings.
13047         * select.c (own-selection-internal):
13048
13049         * select.h, select.c (convert_selection): New. Created
13050         convert_selection() function based on get_local_selection().
13051         * select.h, select.c (QCF_*): New symbols representing mswindows
13052         clipboard formats.
13053         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13054         symbols representing `how-to-add' modes.
13055
13056         * select-msw.c (x_sym_p): New.
13057         * select-msw.c (symbol_to_ms_cf): New.
13058         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13059         symbols & clipboard formats. Can also handle string names.
13060         * select-msw.c (mswindows_own_selection):
13061         * select-msw.c (mswindows_selection_exists_p):
13062         Added `data-type' parameter. Use it.
13063         * select-msw.c (mswindows_available_selection_types): New.
13064         * select-msw.c (mswindows_register_selection_data_type): New.
13065         * select-msw.c (mswindows_selection_data_type_name): New.
13066         * select-msw.c (mswindows_own_selection):
13067         * select-msw.c (mswindows_get_foreign_selection):
13068         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13069         * select-msw.c (console_create_select_mswindows): Added new methods.
13070         * select-msw.c (mswindows_destroy_selection): New.
13071         * select-msw.c (Vhandle_alist): New list.
13072         * select-msw.c (mswindows_own_selection):
13073
13074         * select-x.c (x_own_selection):
13075         * select-x.c (x_selection_exists_p):
13076         * select-x.c: Added some comments about maybe using new
13077         functionality.
13078         * select-x.c (x_own_selection):
13079
13080         * specifier.c: Remove definition of Qappend (now in general.c)
13081         * specifier.c (syms_of_specifier): Remove Qappend.
13082
13083 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13084
13085         * config.h.in: Add socklen_t.
13086
13087         * s/decosf4-0.h: No special compiler flags needed or desired.
13088         In particular, undefine _BSD for DEC OSF 4.0.
13089
13090 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13091
13092         * redisplay-msw.c (msprinter_frame_output_end): Added.
13093         (console_type_create_redisplay_mswindows): Referred the above.
13094
13095         * frame.c (setup_frame_without_minibuffer): Do not create a
13096         default minibuffer frame on a printer device.
13097
13098         * frame-msw.c (apply_dc_geometry): Added.
13099         (msprinter_start_page):
13100         (msprinter_init_frame_3):
13101         (msprinter_eject_page): Use it.
13102
13103         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13104         and removed residual duplex and orientation properties.
13105
13106 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13107
13108         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13109
13110         * unexalpha.c: Remove system prototypes from C sources!
13111
13112 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13113
13114         * eval.c: Remove references to M-x edit-options in DEFUNs for
13115         `defvar' and `defconst'.
13116
13117 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13118
13119         * config.h.in: Remove SMART_INCLUDE hackery.
13120
13121         PostgreSQL hacking:
13122         * config.h.in: Don't use SMART_INCLUDE.
13123
13124         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13125         * inline.c: Simply #include "postgresql.h"
13126         * postgresql.c:
13127         - Don't use SMART_INCLUDE
13128         - Use simply "const".
13129         - Use standard doc string conventions.
13130         - Use correct type for result of PQstatus.
13131
13132 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13133
13134         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13135
13136         C++ compilation changes.
13137         * config.h.in (EXTERN_C): Define.
13138         * config.h.in (not): This is also a C++ keyword.
13139         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13140         * cm.c: Use EXTERN_C.
13141         * redisplay-tty.c: Use EXTERN_C.
13142         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13143
13144 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13145
13146         * general.c: Remove duplicate definition for Qfunction.
13147
13148 2000-07-08  Ben Wing  <ben@xemacs.org>
13149
13150         * device-msw.c (msprinter_init_device):
13151         * device-msw.c (sync_printer_with_devmode):
13152         * device-msw.c (handle_devmode_changes):
13153         * device-msw.c (print_dialog_worker):
13154         * device-msw.c (Fmsprinter_apply_settings):
13155         * device-msw.c (hash_devmode):
13156         * device-msw.c (Fmsprinter_settings_despecialize):
13157         use Qmswindows_tstr, not Qctext.
13158
13159         * vm-limit.c (check_memory_limits):
13160         avoid infinite loop printing warning messages.
13161
13162 2000-07-05  Craig Lanning  <lanning@scra.org>
13163
13164         * Makefile.in.in: Add support for including the Windows resources
13165         when building with the cygwin and mingw targets.
13166
13167         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13168         not set or not correct.
13169         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13170         (init_initial_directory): Don't try to use $PWD on the
13171         WIN32_NATIVE target.
13172
13173         * s\cygwin32.h:
13174         [[Add -mwindows to eliminate console window.]] not required --ben
13175         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13176         (MAIL_USE_POP): removed; now handled by configure.
13177
13178         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13179         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13180         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13181         (MAIL_USE_POP): removed; now handled by configure.
13182         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13183         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13184         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13185         constant string.
13186         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13187         up from <winsock.h> via systime.h.
13188         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13189         (getpagesize): from Dan Holmsand, added.
13190         Added #endif which was left dangling by Ben's mega patch; added
13191         comment to help prevent this in the future.
13192
13193         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13194
13195 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13196
13197         * console-msw.h (struct mswindows_device): Removed unnecessary
13198         cached device geometry values.
13199         Added update_tick and an accessor macro.
13200         (Lisp_Devmode): Added lrecord declaration.
13201         (struct msprinter_device): Contain devmode as a Lisp object.
13202         Added mswindows_get_selected_frame_hwnd();
13203
13204         * console.h (struct console_methods): Indentation nitpicking.
13205
13206         * device-msw.c (mswindows_init_device): Do not initialize geometry
13207         cache. Initialize update tick.
13208         (mswindows_device_system_metrics): Ask the device for its geometry.
13209         (global_free_2_maybe):
13210         (devmode_to_hglobal):
13211         (handle_printer_changes):
13212         (ensure_not_printing):
13213         (print_dialog_worker):
13214         (Fmsprinter_print_setup_dialog):
13215         (Fmsprinter_print_dialog):
13216         (plist_get_margin):
13217         (plist_set_margin):
13218         (Fmsprinter_page_setup_dialog): Added functions.
13219         (sync_printer_with_devmode):
13220         (handle_devmode_changes):
13221         (Fmsprinter_get_settings):
13222         (Fmsprinter_select_settings):
13223         (Fmsprinter_apply_settings):
13224         (allocate_devmode):
13225         (Fmsprinter_settings_copy):
13226         (Fmsprinter_settings_despecialize):
13227         (print_devmode):
13228         (finalize_devmode):
13229         (equal_devmode):
13230         (hash_devmode): Added functions
13231         (syms_of_device_mswindows): Init devmode lrecord class.
13232
13233         * device.h: Added an exfun for find-device.
13234
13235         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13236         geometry; although, recreate the device compatible DC.
13237
13238         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13239         (msprinter_init_frame_3):
13240         (msprinter_frame_property):
13241         (msprinter_internal_frame_property_p):
13242         (msprinter_frame_properties):
13243         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13244         print job properties (will move to device settings).
13245
13246         * lisp.h: Added symbols.
13247
13248         * general.c (syms_of_general): Declared them.
13249
13250         * hash.c (string_hash): Added.
13251
13252         * lrecord.h (lrecord_type): Added devmode lrecord type.
13253
13254 2000-07-02  Mike Sperber <mike@xemacs.org>
13255
13256         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13257         FreeBSD 4.0.
13258
13259 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13260
13261         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13262         integer.
13263
13264 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13265
13266         * data.c (Fstring_to_number): Don't recognize floating point if
13267         base is not 10.
13268
13269 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13270
13271         * glyphs-widget.c (tab_control_query_geometry):
13272         (widget_query_geometry):
13273         (button_query_geometry):
13274         * glyphs.c (text_query_geometry):
13275         Enforce type correctness.
13276
13277 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13278
13279         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13280         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13281
13282 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13283
13284         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13285         conflicts with gcc's fixincluded version of FOO.h.
13286
13287         * glyphs.h (image_instance_geometry): Remove trailing `,'
13288
13289 2000-06-08  Mike Alexander  <mta@arbortext.com>
13290
13291         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13292         (shove_thread): Don't write the same output twice
13293         (make_ntpipe_output_stream): Increase priority of shove thread
13294         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13295         chance to run
13296         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13297         it.
13298
13299 2000-06-12  Ben Wing  <ben@xemacs.org>
13300
13301         * s\mingw32.h (sigset):
13302         * s\windowsnt.h (sigset):
13303         rename msw_ to mswindows_ for consistency with general convention.
13304
13305 2000-06-12  Ben Wing  <ben@xemacs.org>
13306
13307         * console-msw.c:
13308         * console-msw.c (mswindows_get_console_hwnd):
13309         * console-msw.c (mswindows_ensure_console_allocated):
13310         * console-msw.c (mswindows_hide_console):
13311         * console-msw.c (mswindows_show_console):
13312         * console-msw.c (mswindows_ensure_console_buffered):
13313         * console-msw.c (mswindows_output_console_string):
13314         * console-msw.c (mswindows_windows9x_p):
13315         * console-msw.h:
13316         * device-msw.c (mswindows_get_workspace_coords):
13317         * device-msw.c (mswindows_device_system_metrics):
13318         * dialog-msw.c (mswindows_popup_dialog_box):
13319         * event-msw.c (mswindows_wnd_proc):
13320         * frame-msw.c (mswindows_size_frame_internal):
13321         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13322         * menubar-msw.c (displayable_menu_item):
13323         * menubar-msw.c (mswindows_char_is_accelerator):
13324         * nt.c:
13325         * nt.c (mswindows_sigset):
13326         * nt.c (mswindows_sigrelse):
13327         * nt.c (mswindows_sigpause):
13328         * nt.c (mswindows_raise):
13329         * nt.c (timer_proc):
13330         * ntproc.c:
13331         * ntproc.c (find_child_console):
13332         * ntproc.c (sys_kill):
13333         * print.c:
13334         * print.c (std_handle_out_external):
13335         * process-nt.c (find_child_console):
13336         * process-nt.c (send_signal_the_95_way):
13337         * process-nt.c (ensure_console_window_exists):
13338         * process-nt.c (nt_create_process):
13339         * syssignal.h:
13340         rename msw_ to mswindows_ for consistency with general convention.
13341
13342         * emacs.c:
13343         * dumper.c:
13344         include nt.h, not syswindows.h.
13345
13346         * nt.c (mswindows_fstat):
13347         * nt.c (mswindows_stat):
13348         prefix mswindows_ instead of attempting to directly override the
13349         library functions.  fix declarations.
13350
13351         * nt.h:
13352         include syswindows.h.  move some sysdep.h stuff here.
13353
13354         * ntheap.h:
13355         include syswindows.h, not <windows.h>.
13356
13357         * ntplay.c:
13358         clean up headers.
13359
13360         * sysdep.c:
13361         clean up headers.
13362
13363         * sysdep.c (sys_fstat):
13364         * sysdep.c (sys_stat):
13365         call mswindows versions when appropriate.
13366
13367         * sysdep.h:
13368         move mswin decls to nt.h.
13369
13370         * syswindows.h:
13371         add long comment describing appropriate use of the various windows
13372         headers.
13373
13374 2000-06-11  Ben Wing  <ben@xemacs.org>
13375
13376         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13377
13378 2000-06-10  Ben Wing  <ben@xemacs.org>
13379
13380         * Makefile.in.in (release):
13381         Correction to make sure xemacs.exe always dumped when correct.
13382
13383         * alloca.c:
13384         * balloon_help.c:
13385         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13386
13387         * buffer.c (set_buffer_internal):
13388         [[[[2]]]]: Remove HAVE_FEP code.
13389
13390         * buffer.c (init_initial_directory):
13391         [3].
13392
13393         * bytecode.c:
13394         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13395         individual files.
13396
13397         * callproc.c:
13398         * callproc.c (call_process_cleanup):
13399         * callproc.c (Fold_call_process_internal):
13400         * callproc.c (child_setup):
13401         * callproc.c (getenv_internal):
13402         * callproc.c (init_callproc):
13403         * callproc.c (vars_of_callproc):
13404         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13405         __CYGWIN32__ -> CYGWIN.
13406         DOS_NT -> WIN32_NATIVE.
13407         Remove MSDOS support/references, converting to WIN32_NATIVE
13408           where correct.
13409         __MINGW32__ -> MINGW.
13410         Fix windows.h includes.
13411         Remove bogus HAVE_NTGUI.
13412
13413         * config.h.in:
13414         [2].
13415
13416         * console-msw.c:
13417         mswindows_message_outputted added for use in allowing startup
13418         errors on the console to be seen.
13419
13420         * console-msw.c (msw_ensure_console_allocated):
13421         * console-msw.c (msw_output_console_string):
13422         * console-msw.c (DHEADER):
13423         * console-msw.c (DOPAQUE_DATA):
13424         * console-msw.c (DEVENT):
13425         * console-msw.c (DCONS):
13426         * console-msw.c (DCONSCDR):
13427         * console-msw.c (DSTRING):
13428         * console-msw.c (DVECTOR):
13429         * console-msw.c (DSYMBOL):
13430         * console-msw.c (DSYMNAME):
13431         Fix warnings.
13432
13433         * console-stream.c (stream_init_console):
13434         Fix text/binary problems.
13435
13436         * device-msw.c:
13437         * device-msw.c (mswindows_finish_init_device):
13438         * device-msw.c (mswindows_delete_device):
13439         [1].
13440
13441         * device.c (handle_asynch_device_change):
13442         [3].
13443
13444         * dgif_lib.c:
13445         * dgif_lib.c (DGifOpenFileName):
13446         * dgif_lib.c (DGifOpenFileHandle):
13447         * dgif_lib.c (DGifGetLine):
13448         * dgif_lib.c (DGifGetPixel):
13449         Added config.h/lisp.h, fix up includes.
13450         [1].
13451
13452         * dired-msw.c:
13453         [4].
13454
13455         * dired.c:
13456         * dired.c (file_name_completion):
13457         * dired.c (Ffile_attributes):
13458         * dired.c (syms_of_dired):
13459         [1].
13460
13461         * dumper.c:
13462         * dumper.c (pdump_file_unmap):
13463         * dumper.c (pdump_load):
13464         [1].
13465
13466         * editfns.c:
13467         * editfns.c (Ftemp_directory):
13468         * editfns.c (user_login_name):
13469         * editfns.c (Fuser_real_login_name):
13470         * editfns.c (get_home_directory):
13471         [1].
13472
13473         * elhash.c (finish_marking_weak_hash_tables):
13474         [[[[5]]]]: Fix GCC warnings.
13475
13476         * emacs.c:
13477         * emacs.c (mswindows_handle_hardware_exceptions):
13478         * emacs.c (make_arg_list_1):
13479         * emacs.c (main_1):
13480         * emacs.c (Fkill_emacs):
13481         * emacs.c (Fdump_emacs):
13482         [1].
13483         Fix problems with nested crashes, add long comment.
13484
13485         * event-Xt.c (init_event_Xt_late):
13486         [1].
13487
13488         * event-msw.c:
13489         * event-msw.c (mswindows_dde_callback):
13490         * event-msw.c (mswindows_handle_sticky_modifiers):
13491         * event-msw.c (mswindows_wnd_proc):
13492         [1].
13493         [5].
13494
13495         * events.c (character_to_event):
13496         [1].
13497
13498         * fileio.c:
13499         * fileio.c (Ffile_name_directory):
13500         * fileio.c (Ffile_name_nondirectory):
13501         * fileio.c (directory_file_name):
13502         * fileio.c (Fexpand_file_name):
13503         * fileio.c (Fsubstitute_in_file_name):
13504         * fileio.c (Ffile_name_absolute_p):
13505         * fileio.c (check_executable):
13506         * fileio.c (Ffile_readable_p):
13507         * fileio.c (Ffile_accessible_directory_p):
13508         * fileio.c (Ffile_modes):
13509         * fileio.c (Funix_sync):
13510         * fileio.c (vars_of_fileio):
13511         [1]. [4].
13512
13513         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13514
13515         Expand getdefdir defn.
13516         Fix bogus rename() comment.
13517
13518         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13519         to use standard XEmacs include files, e.g. sysfile.h, rather
13520         than system-specific includes.
13521
13522         * fns.c:
13523         * fns.c (Fsubseq):
13524         [5]. [6].
13525
13526         * frame.c (vars_of_frame):
13527         [1].
13528
13529         * getloadavg.c:
13530         * getloadavg.c (getloadavg):
13531         [1]. [6].
13532         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13533         (We don't use it elsewhere in the code; just add a comment.)
13534
13535         * gif_io.c:
13536         [6].
13537         Add config.h.
13538
13539         * glyphs-msw.c:
13540         * glyphs-msw.c (mswindows_resource_instantiate):
13541         [1].
13542
13543         * glyphs-x.c (x_native_layout_instantiate):
13544         [5].
13545
13546         * gui-msw.c (Fmswindows_shell_execute):
13547         [1].
13548
13549         * insdel.c:
13550         [4].
13551
13552         * lisp.h:
13553         [4]. [5].
13554
13555         * lread.c (locate_file_in_directory_mapper):
13556         [1].
13557
13558         * lstream.c:
13559         [4].
13560
13561         * mem-limits.h:
13562         * mem-limits.h (get_lim_data):
13563         [1].
13564
13565         * menubar-msw.c:
13566         [4].
13567
13568         * ndir.h:
13569         [1].
13570
13571         * nt.c:
13572         * nt.c (getwd):
13573         * nt.c (closedir):
13574         * nt.c (rva_to_section):
13575         * nt.c (mswindows_executable_type):
13576         [1]. [6].
13577         Fix closedir() defn.
13578
13579         * nt.h:
13580         [[[[8]]]]: *_OK defs moved to sysfile.h.
13581
13582         * ntproc.c:
13583         [6]. [7].
13584
13585         * objects-x.c:
13586         [4].
13587
13588         * print.c:
13589         * print.c (std_handle_out_external):
13590         [1]. [4].
13591
13592         * process-nt.c:
13593         * process-nt.c (nt_create_process):
13594         [6].
13595         try to fix process quoting somewhat.
13596
13597         * process-unix.c (unix_create_process):
13598         [1].
13599
13600         * process.c:
13601         * process.c (vars_of_process):
13602         Add Vnull_device.
13603
13604         * process.h:
13605         [1].
13606
13607         * realpath.c:
13608         * realpath.c (xrealpath):
13609         [1].
13610
13611         * redisplay-tty.c (init_tty_for_redisplay):
13612         [3].
13613
13614         * redisplay.c:
13615         [4]. [6].
13616
13617         * scrollbar-msw.c:
13618         [4].
13619
13620         * sheap.c:
13621         * sheap.c (more_static_core):
13622         * sheap.c (report_sheap_usage):
13623         [5]. [6].
13624
13625         * signal.c:
13626         * signal.c (alarm_signal):
13627         [1]. [6].
13628
13629         * sound.c:
13630         [6].
13631
13632         * strftime.c:
13633         * strftime.c (zone_name):
13634         [1]. [5].
13635
13636         * symsinit.h (init_sunpro):
13637         [1].
13638
13639         * syscommctrl.h:
13640         commctrl.h not in Cygwin b20.1.
13641
13642         * sysdep.c:
13643         * sysdep.c (endif):
13644         * sysdep.c (sys_subshell):
13645         * sysdep.c (init_baud_rate):
13646         * sysdep.c (emacs_get_tty):
13647         * sysdep.c (emacs_set_tty):
13648         * sysdep.c (tty_init_sys_modes_on_device):
13649         * sysdep.c (init_system_name):
13650         * sysdep.c (sys_open):
13651         * sysdep.c (interruptible_open):
13652         * sysdep.c (sys_fopen):
13653         * sysdep.c (sys_mkdir):
13654         * sysdep.c (sys_rename):
13655         * sysdep.c (get_process_times_1):
13656         [1]. [6].
13657
13658         * sysdep.h:
13659         [1].
13660
13661         * sysdir.h:
13662         * sysdir.h (DIRENTRY_NONEMPTY):
13663         [1]. [6].
13664
13665         * sysdll.c (dll_init):
13666         * sysdll.h:
13667         [1].
13668
13669         * sysfile.h:
13670         [1]. [6]. [8].
13671         added text/binary defs.
13672
13673         * sysfloat.h:
13674         [1].
13675
13676         * sysproc.h:
13677         * sysproc.h (EDESTADDRREQ):
13678         * sysproc.h (poll_fds_for_input):
13679         [1]. [6].
13680
13681         * syspwd.h:
13682         [6].
13683
13684         * syssignal.h:
13685         [1].
13686
13687         * systime.h:
13688         [1]. [6].
13689
13690         * systty.h:
13691         [1].
13692
13693         * syswindows.h:
13694         [1].
13695         Always define WIN32_LEAN_AND_MEAN.
13696
13697         * unexcw.c (unexec):
13698         [5].
13699
13700         * unexec.c:
13701         * unexec.c (copy_text_and_data):
13702         * unexec.c (adjust_lnnoptrs):
13703         [1].
13704
13705         * unexnt.c:
13706         * unexnt.c (_start):
13707         [1].
13708
13709 2000-06-07  Ben Wing  <ben@xemacs.org>
13710
13711         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13712         was used only as a model.  We've long since extracted any useful
13713         logic or code out of this. (I just did an exhaustive search.)
13714
13715         * s\msdos.h: Removed.
13716
13717         * s\windows95.h: Removed.
13718
13719 2000-06-10  Ben Wing  <ben@xemacs.org>
13720
13721         * s\cygwin32.h:
13722         [1]. [5].
13723         Don't use extern with fun defs.
13724
13725         * s\mingw32.h:
13726         [1]. [7].
13727         Remove nt\inc include.
13728         Remove getdisk, getdefdir. (The former is unused, the latter
13729         expanded in fileio.h.)
13730
13731         * s\windowsnt.h:
13732         * s\windowsnt.h (WIN32_NATIVE):
13733         * s\windowsnt.h (HAVE_STRCASECMP):
13734         [1]. [7].
13735         Add long comment about preprocessor changes.
13736         Remove getdisk, getdefdir. (The former is unused, the latter
13737         expanded in fileio.h.)
13738
13739 2000-06-10  Ben Wing  <ben@xemacs.org>
13740
13741         * m\arm.h:
13742         * m\delta.h:
13743         * m\intel386.h:
13744         * m\sequent.h:
13745         * m\template.h:
13746         * m\windowsnt.h:
13747         [1].
13748         Remove bogus/unused NO_SOCK_SIGIO.
13749
13750 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13751
13752         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13753         not an Emchar.
13754
13755 2000-06-04  Mike Sperber <mike@xemacs.org>
13756
13757         * casetab.c (set_case_table): For `set-standard-case-table',
13758         actually deposit the new case tables where the rest of XEmacs can
13759         see them.
13760
13761 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13762
13763         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13764
13765 2000-06-05  Ben Wing  <ben@xemacs.org>
13766
13767         * callproc.c (child_setup): Don't do close_load_descs() under
13768         MS Windows.  Put in a comment explaining why.
13769
13770 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13771
13772         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13773         Toolkit shell" which breaks `kill-compilation' on Windows NT
13774         native, retaining STDERR handling improvements.
13775
13776 2000-06-01  Andreas Jaeger  <aj@suse.de>
13777
13778         * s/s390.h: Support for S390, based on a patch by Martin
13779         Schwidefsky <schwidefsky@de.ibm.com>.
13780
13781 2000-05-30  Andy Piper  <andy@xemacs.org>
13782
13783         * window.c (allocate_window):
13784         (make_dummy_parent):
13785         (Fset_window_configuration): use new hashtable type.
13786
13787         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13788         (struct image_instantiator_methods):
13789         (struct Lisp_Image_Instance): make instance geometry signed.
13790
13791         * glyphs.c (instantiate_image_instantiator):
13792         (image_instance_query_geometry):
13793         (image_instance_layout):
13794         (image_instance_layout):
13795         (query_string_geometry):
13796         (text_query_geometry):
13797         (image_instantiate):
13798         (image_instantiate):
13799         (cache_subwindow_instance_in_frame_maybe):
13800         (subwindow_query_geometry): make instance geometry signed.
13801
13802         * glyphs-widget.c (widget_query_geometry):
13803         (widget_layout):
13804         (button_query_geometry):
13805         (tree_view_query_geometry):
13806         (tab_control_query_geometry):
13807         (layout_query_geometry):
13808         (layout_layout):
13809         (native_layout_layout): make instance geometry signed.
13810
13811 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13812
13813         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13814         constant.
13815
13816         * general.c (syms_of_general): Add Qfull_assoc symbol.
13817
13818         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13819         correctly.
13820         (decode_weak_list_type): Decode full-assoc type.
13821         (encode_weak_list_type): Encode full-assoc type.
13822         (Fmake_weak_list): Update doc string.
13823
13824 2000-05-30  Andy Piper  <andy@xemacs.org>
13825
13826         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13827
13828         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13829         (decode_hash_table_weakness): ditto.
13830         (Fhash_table_weakness): ditto.
13831         (Fhash_table_type): ditto.
13832         (finish_marking_weak_hash_tables): ditto.
13833         (hash_table_weakness_validate): ditto.
13834         (syms_of_elhash): ditto.
13835
13836 2000-05-28  Martin Buchholz <martin@xemacs.org>
13837
13838         * XEmacs 21.2.34 is released.
13839
13840 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13841
13842         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13843         start cache.
13844         (updating_line_start_cache): Gone.
13845         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13846         generic code to force a minimum of 1 line laid out in the
13847         CMOTION_DISP case.
13848
13849 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13850
13851         * glyphs.c (instantiate_image_instantiator): Check for initialized
13852         height & width no longer special cases IMAGE_NOTHING.
13853         (nothing_instantiate): Set height and width of instance.
13854
13855 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13856
13857         * unexelf.c (unexec): Search for ".data" section.
13858         Initialize new_data2_offset from old_data_index.
13859         Remove redundant check for ElfW.
13860
13861 2000-05-23  Andy Piper  <andy@xemacs.org>
13862
13863         * glyphs.c (get_image_instantiator_governing_domain): allow more
13864         specific domains as the governing domain rather than expecting an
13865         exact match. This fixes problems with layouts.
13866
13867 2000-05-22  Andy Piper  <andy@xemacs.org>
13868
13869         * redisplay-output.c (compare_runes): check for non-images
13870
13871         * glyphs.c (set_glyph_dirty_p): ditto.
13872         (update_glyph_cachel_data): ditto.
13873
13874         * glyphs-widget.c (layout_post_instantiate): ditto.
13875         (layout_post_instantiate): ditto.
13876
13877         * event-msw.c (mswindows_wnd_proc): warning removal.
13878
13879 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13880
13881         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13882
13883         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13884
13885         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13886
13887         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13888         (mswindows_executable_type): mingw32 now has enough headers for
13889         this to work.
13890
13891 2000-05-20  Andy Piper  <andy@xemacs.org>
13892
13893         * console-msw.c (mswindows_output_last_error): ; -> ,
13894
13895 2000-05-12  Andy Piper  <andy@xemacs.org>
13896
13897         * console-msw.c (FROB): compare ints with ints.
13898
13899 2000-05-11  Andy Piper  <andy@xemacs.org>
13900
13901         * glyphs-x.c (x_finalize_image_instance): make minimal build
13902         happy.
13903
13904 2000-05-20  Ben Wing  <ben@xemacs.org>
13905
13906         * event-Xt.c:
13907         * event-Xt.c (vars_of_event_Xt):
13908         move modifier-keys-are-sticky to event-stream.c.
13909
13910         * event-msw.c:
13911         * event-msw.c (mswindows_enqueue_mouse_button_event):
13912         * event-msw.c (key_needs_default_processing_p):
13913         * event-msw.c (XEMSW_LCONTROL):
13914         * event-msw.c (mswindows_handle_sticky_modifiers):
13915         * event-msw.c (FROB):
13916         * event-msw.c (clear_sticky_modifiers):
13917         * event-msw.c (output_modifier_keyboard_state):
13918         * event-msw.c (output_alt_keyboard_state):
13919         * event-msw.c (mswindows_wnd_proc):
13920         * event-msw.c (mswindows_modifier_state):
13921         * event-msw.c (emacs_mswindows_handle_magic_event):
13922         implement sticky modifiers.
13923
13924         * event-stream.c:
13925         * event-stream.c (vars_of_event_stream):
13926         move modifier-keys-are-sticky here.
13927
13928         * lisp.h:
13929         add CHECK_FUNCTION.
13930
13931         * rangetab.c:
13932         implement map-range-table.
13933
13934
13935 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13936
13937         * redisplay-tty.c (reset_tty_modes):
13938         (tty_redisplay_shutdown): Adjust argument type to
13939         tty_frame_output_end.
13940
13941 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13942
13943         * eval.c (Fbacktrace): Don't output a line with only right
13944         parenthesis.
13945
13946 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13947
13948         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13949         (Fpq_reset_poll): Ditto.
13950
13951 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13952
13953         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13954
13955 2000-05-16  Ben Wing  <ben@xemacs.org>
13956
13957         * buffer.c:
13958         * buffer.c (dfc_convert_to/from_internal_format):
13959         * buffer.c (reinit_vars_of_buffer):
13960         Fix conversion functions to allow reentrancy.
13961
13962         * console-msw.c:
13963         * console-msw.c (mswindows_output_last_error):
13964         New fun, generally useful -- output a human-readable
13965         version of GetLastError() on the console.
13966
13967         * console-msw.h:
13968         * console-msw.h (struct mswindows_frame):
13969         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13970
13971         * console-stream.c (stream_output_begin):
13972         * console-stream.c (stream_output_end):
13973         * console-stream.c (stream_output_vertical_divider):
13974         * console-stream.c (stream_clear_region):
13975         * console-stream.c (stream_flash):
13976         * console-stream.c (console_type_create_stream):
13977         Delete blank stream methods, not needed.
13978
13979         * console.h (struct console_methods):
13980         Split begin/end methods into window and frame.
13981
13982         * event-msw.c:
13983         * event-msw.c (mswindows_handle_paint):
13984         * event-msw.c (output_alt_keyboard_state):
13985         * event-msw.c (mswindows_wnd_proc):
13986         * event-msw.c (vars_of_event_mswindows):
13987         Comment about problems with ignored-expose.
13988         Define mswindows-debug-events; not really implemented.
13989
13990         * frame-msw.c (mswindows_init_frame_1):
13991         random cleanups.
13992
13993         * glyphs-msw.c:
13994         * glyphs-msw.c (begin_defer_window_pos):
13995         * glyphs-msw.c (mswindows_unmap_subwindow):
13996         * glyphs-msw.c (mswindows_map_subwindow):
13997         * glyphs-msw.c (mswindows_resize_subwindow):
13998         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13999
14000         * glyphs.c (make_image_instance_1):
14001         Fix crash.
14002
14003         * gutter.c (Fredisplay_gutter_area):
14004         Use new begin/end methods.
14005
14006         * lisp.h (Dynarr_new2):
14007         New creation fun.
14008
14009         * redisplay-msw.c:
14010         * redisplay-msw.c (mswindows_frame_output_begin):
14011         * redisplay-msw.c (mswindows_frame_output_end):
14012         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14013         New begin/end methods -- handle DeferWindowPos.
14014
14015         * redisplay-output.c (redisplay_move_cursor):
14016         * redisplay-output.c (redraw_cursor_in_window):
14017         * redisplay-output.c (redisplay_update_line):
14018         * redisplay-output.c (redisplay_output_window):
14019         New begin/end methods.
14020
14021         * redisplay-tty.c:
14022         * redisplay-tty.c (tty_frame_output_begin):
14023         * redisplay-tty.c (tty_frame_output_end):
14024         * redisplay-tty.c (console_type_create_redisplay_tty):
14025         New begin/end methods.
14026
14027         * redisplay-x.c:
14028         * redisplay-x.c (x_window_output_begin):
14029         * redisplay-x.c (x_window_output_end):
14030         * redisplay-x.c (console_type_create_redisplay_x):
14031         New begin/end methods.
14032
14033         * redisplay.c (redisplay_frame):
14034         * redisplay.c (Fredisplay_echo_area):
14035         New begin/end methods.
14036         use MAYBE_DEVMETH for clear_frame; it may not exist.
14037
14038         * window.h (WINDOW_XFRAME):
14039         WINDOW_XFOO macros -- get locale and decode struct pointer.
14040
14041
14042 2000-05-12  Ben Wing  <ben@xemacs.org>
14043
14044         * emacs.c:
14045         * emacs.c (ensure_no_quitting_from_now_on):
14046         * emacs.c (fatal_error_signal):
14047         * emacs.c (mswindows_handle_hardware_exceptions):
14048         * emacs.c (main):
14049         * emacs.c (Fkill_emacs):
14050         * emacs.c (shut_down_emacs):
14051         * emacs.c (assert_failed):
14052         various improvements in fatal error handling.
14053
14054         * eval.c:
14055         move preparing_for_armageddon to emacs.c.
14056
14057         * lisp.h:
14058         declare fatal_error_in_progress.
14059
14060         * print.c:
14061         * print.c (std_handle_out_external):
14062         * print.c (std_handle_out_va):
14063         * print.c (stderr_out):
14064         * print.c (stdout_out):
14065         use console under mswin when no standard output.
14066         don't do code conversion during fatal error.
14067
14068         * scrollbar.c (Fscrollbar_page_up):
14069         * scrollbar.c (Fscrollbar_page_down):
14070         fix missing else.  reindent.
14071
14072 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14073
14074         Emergency fix.
14075
14076         * glyphs.h (GLYPH_CACHEL_DESCENT):
14077         (GLYPH_CACHEL_DESCENT):
14078         (GLYPH_CACHEL_DESCENT):
14079         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14080         used in case these are inline functions.
14081         Use more absurd values to error check.
14082
14083         include window.h for error check functions.
14084
14085 2000-05-11  Ben Wing  <ben@xemacs.org>
14086
14087         * cmdloop.c (Freally_early_error_handler):
14088         Display message box under windows; otherwise, message will disappear
14089         before it can be viewed.
14090
14091         * console-msw.c:
14092         * console-msw.c (Fmswindows_message_box):
14093         * console-msw.c (FROB):
14094         * console-msw.c (syms_of_console_mswindows):
14095         Define new fun `mswindows-message-box'.
14096         #### I will merge this into `popup-dialog-box'; just give me
14097         a bit of time.
14098
14099         * general.c:
14100         * general.c (syms_of_general):
14101         Some new symbols used in `mswindows-message-box'.
14102
14103         * glyphs.c:
14104         * glyphs.c (Fset_image_instance_property):
14105         put warning in this fun.
14106
14107         * glyphs.h:
14108         * glyphs.h (GLYPH_CACHEL_WIDTH):
14109         * glyphs.h (GLYPH_CACHEL_ASCENT):
14110         * glyphs.h (GLYPH_CACHEL):
14111         * glyphs.h (GLYPH_CACHEL_GLYPH):
14112         define error-checking versions to try to catch a bug i've seen --
14113         redisplay gets in an infinite loop because the glyph width of the
14114         continuation glyph is 65535.
14115
14116         * lisp.h:
14117         Extern message-box stuff.
14118
14119         * window.c (allocate_window):
14120         * window.c (make_dummy_parent):
14121         * window.c (Fset_window_configuration):
14122         Use EQUAL not EQ for subwindow caches to make them work a bit
14123         better. (Something is still very broken.)
14124
14125
14126 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14127
14128         * glyphs.c (image_instantiate): Suppress gcc warnings.
14129         (Fmake_image_instance): Fix doc string.
14130         * specifier.c (Fmake_specifier): Ditto.
14131
14132 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14133
14134         * paths.h.in (PATH_LOCK): Removed.
14135         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14136         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14137
14138 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14139
14140         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14141         Document (featurep '(and xemacs 21.02)).
14142
14143 2000-05-09  Ben Wing  <ben@xemacs.org>
14144
14145         * buffer.c (complex_vars_of_buffer):
14146         update modeline-format doc.
14147
14148         * device.h:
14149         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14150
14151         * emacs.c:
14152         timeline of all released versions of Emacs, for use in creating
14153         authorship comments and in synching up.
14154
14155         * glyphs-widget.c (image_instantiator_buttons):
14156         * glyphs-widget.c (image_instantiator_edit_fields):
14157         * glyphs-widget.c (image_instantiator_combo_box):
14158         * glyphs-widget.c (image_instantiator_scrollbar):
14159         * glyphs-widget.c (image_instantiator_progress_guage):
14160         * glyphs-widget.c (image_instantiator_tree_view):
14161         * glyphs-widget.c (image_instantiator_tab_control):
14162         * glyphs-widget.c (image_instantiator_labels):
14163         * glyphs-widget.c (image_instantiator_layout):
14164         * glyphs-widget.c (image_instantiator_native_layout):
14165         rename decode_domain method to governing_domain.
14166
14167         * glyphs.c:
14168         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14169         * glyphs.c (add_entry_to_device_ii_format_list):
14170         make sure we don't put an entry more than once into the list.
14171         * glyphs.c (check_instance_cache_mapper):
14172         *************************************************************
14173         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14174         HAVE BEEN GETTING.
14175         *************************************************************
14176         * glyphs.c (get_image_instantiator_governing_domain):
14177         clean up, expand on new concept of governing domain.
14178         * glyphs.c (instantiate_image_instantiator):
14179         * glyphs.c (allocate_image_instance):
14180         use governing_domain instead of cache_domain in naming.
14181         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14182         * glyphs.c (make_image_instance_1):
14183         * glyphs.c (Fmake_image_instance):
14184         allow for any domain (not just device), and process the
14185         governing domain correctly.  very big doc fix.
14186         * glyphs.c (Fimage_instance_domain):
14187         new primitive, to retrieve the governing domain of an image instance.
14188         * glyphs.c (image_instantiate):
14189         use new governing_domain stuff.  this fixes a crash you could get
14190         by instantiating certain widget glyphs in frame locales. (should
14191         signal an error instead of crashing.)
14192         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14193         * glyphs.c (Fglyphp): clean up doc.
14194         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14195         * glyphs.c (syms_of_glyphs):
14196         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14197         * glyphs.c (image_instantiator_format_create): add some comments about
14198         bogus code.
14199         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14200         for current-display-table. (Apparently Hrjove implemented in 1998 a
14201         design I wrote up in 1996, but didn't update the doc string.)
14202
14203         * glyphs.h: clean up a doc string.
14204         * glyphs.h (governing_domain):
14205         * glyphs.h (struct image_instantiator_methods):
14206         changes for governing_domain stuff.
14207
14208         * gutter.c:
14209         * gutter.c (Fgutter_specifier_p):
14210         * gutter.c (Fgutter_size_specifier_p):
14211         * gutter.c (Fgutter_visible_specifier_p):
14212         * objects.c:
14213         * objects.c (Fcolor_specifier_p):
14214         * objects.c (Ffont_specifier_p):
14215         * objects.c (Fface_boolean_specifier_p):
14216         doc strings moved to make-*-specifier.
14217
14218         * redisplay.c (add_disp_table_entry_runes_1):
14219         * redisplay.c (generate_fstring_runes):
14220         * redisplay.c (screen):
14221         add random comments and doc strings.
14222
14223         * specifier.c:
14224         * specifier.c (Fmake_specifier):
14225         major overhaul of this doc string.
14226
14227         * specifier.c (Fvalid_specifier_domain_p):
14228         comment about the bogosity of image instances being domains.
14229         * specifier.c (decode_domain):
14230         now non-static, used in glyphs.c.
14231         * specifier.c (specifier_instance):
14232         comment about the bogosity of image instances being domains.
14233         * specifier.c (Fgeneric_specifier_p):
14234         move doc string to make-generic-specifier.
14235         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14236         rebackslashify.
14237
14238         * specifier.h:
14239         * specifier.h (DOMAIN_FRAME):
14240         * specifier.h (DOMAIN_LIVE_P):
14241         * specifier.h (DOMAIN_XDEVICE):
14242         rebackslashify.
14243         add comments about problems with these macros.
14244         prototype for decode_domain.
14245
14246         * toolbar.c:
14247         * toolbar.c (Ftoolbar_specifier_p):
14248         move doc string to `make-toolbar-specifier'.
14249
14250         * window.c (window_unmap_subwindows_cache_mapper):
14251         *************************************************************
14252         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14253         HAVE BEEN GETTING.
14254         *************************************************************
14255
14256 2000-05-09  Andy Piper  <andy@xemacs.org>
14257
14258         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14259
14260         * window.c (Fset_window_configuration): reset the frame subwindow
14261         cache and re-initialize the window subwindow caches.
14262
14263         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14264
14265 2000-05-09  Ben Wing  <ben@xemacs.org>
14266
14267         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14268         DWORD.
14269
14270 2000-04-26  Mike Woolley  <mike@bulsara.com>
14271
14272         * ntheap.c: Changed recreate_heap to limit the amount reserved
14273         for the heap to that which is actually available. Also now
14274         displays a message box (with some dignostics) in the event that
14275         it still can't start.
14276
14277 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14278
14279         * callproc.c (Fold_call_process_internal): GCPRO path
14280
14281 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14282
14283         Patch by Bill Perry.
14284
14285         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14286         back data instead of #ifdef.
14287         (Fscrollbar_page_down): ditto.
14288
14289 2000-05-07  Ben Wing  <ben@xemacs.org>
14290
14291         * buffer.h:
14292         Kludge for defining Qmswindows_tstr.
14293
14294         * nt.c:
14295         * nt.c (open_input_file):
14296         * nt.c (open_output_file):
14297         * nt.c (rva_to_section):
14298         * nt.c (mswindows_executable_type):
14299         Move all memory-mapped-file routines here (some were in unexnt.c,
14300         which is bad because they are used by process-nt.c, and unexnt
14301         won't be around when portable dumping).  Synched the above routines
14302         with FSF 20.6.
14303
14304         * nt.h:
14305         Removed ifdef'd out bogus code.
14306         Fixed some prototypes.
14307
14308         * nt.h (file_data):
14309         * nt.h (OFFSET_TO_RVA):
14310         * nt.h (RVA_TO_OFFSET):
14311         * nt.h (RVA_TO_PTR):
14312         Moved the memory-mapped-file structures, macros and prototypes
14313         here, to parallel nt.c.  ntheap.h should really be removed
14314         entirely, and it's a non-portable-dumper specific file.
14315
14316         * ntheap.h (round_to_next):
14317         Moved the memory-mapped-file structures, macros and prototypes
14318         to nt.h.
14319
14320         * ntproc.c (compare_env):
14321         Moved rva_to_section and mswindows_executable_type to nt.c.
14322         Moved compare_env to process-nt.c.
14323         ntproc.c will die, one day.
14324
14325         * ntproc.c (sys_spawnve):
14326         Account for win32_ -> mswindows_.
14327
14328         * process-nt.c:
14329         * process-nt.c (struct nt_process_data):
14330         * process-nt.c (ensure_console_window_exists):
14331         * process-nt.c (compare_env):
14332         * process-nt.c (nt_create_process):
14333         * process-nt.c (nt_kill_process_by_pid):
14334         * process-nt.c (syms_of_process_nt):
14335         * process-nt.c (vars_of_process_nt):
14336         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14337         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14338         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14339         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14340         Move compare_env here from ntproc.c.
14341
14342         * process.c (Fprocess_send_region):
14343         Takes an optional fourth argument, BUFFER, which should fix some
14344         problems with call-process.
14345
14346         * syscommctrl.h:
14347         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14348
14349         * syswindows.h:
14350         Move ICC_BAR_CLASSES to syscommctrl.h.
14351         Add preliminary macros for MSWindows/Mule.  More to come.
14352
14353         * unexnt.c:
14354         * unexnt.c (unexec):
14355         open_output_file moved to nt.c.
14356
14357
14358 2000-05-05  Andy Piper  <andy@xemacs.org>
14359
14360         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14361         instance from the frame cache also since GC may catch up too late
14362         to make frame deletion sane.
14363
14364 2000-05-04  Andy Piper  <andy@xemacs.org>
14365
14366         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14367         (x_finalize_image_instance): ungcpro on deletion.
14368
14369         * glyphs.c (image_instantiator_format_create): give pointers a
14370         query geometry method so that the geometry is at least set.
14371
14372         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14373         initialize layouts if using widgets.
14374
14375 2000-05-03  Andy Piper  <andy@xemacs.org>
14376
14377         * nt.c: remove bogus reference to sysmmsystem.h
14378
14379         * gui-x.c (popup_selection_callback): fix no selection abort.
14380
14381 2000-05-02  Andy Piper  <andy@xemacs.org>
14382
14383         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14384         (mswindows_widget_instantiate): ditto.
14385
14386         * glyphs-widget.c (initialize_widget_image_instance): initialize
14387         children correctly.
14388         (widget_instantiate): cope with children and items in the same
14389         instance.
14390
14391         * glyphs.c (mark_image_instance): cope with children as a first
14392         class member.
14393         (image_instance_equal): ditto.
14394         (image_instance_hash): ditto.
14395         (image_instance_changed): ditto.
14396
14397 2000-04-30  Andy Piper  <andy@xemacs.org>
14398
14399         * glyphs.c (subwindow_query_geometry): new function. Return some
14400         defaults.
14401         (subwindow_instantiate): don't assign dimensions if none have been
14402         given.
14403         (image_instantiator_format_create): add subwindow_query_geometry.
14404         (print_image_instance): cope with layouts as widgets.
14405
14406 2000-04-29  Andy Piper  <andy@xemacs.org>
14407
14408         * frame.c (delete_frame_internal): call
14409         free_frame_subwindow_instance_cache so that all subwindows are
14410         finalized before their parent.
14411         (mark_frame): remove subwindow_cachels.
14412         (Fmake_frame): remove subwindow_cachel manipulation.
14413         (allocate_frame_core): subwindow_instance_cache is a weak list.
14414         (delete_frame_internal): set subwindow_instance_cache to nil.
14415
14416         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14417         finalization safe.
14418         (mswindows_finalize_image_instance): use the device
14419         not the domain as the domain may have died already.
14420
14421         * glyphs-x.c (x_finalize_image_instance): ditto.
14422         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14423         HEIGHT.
14424
14425         * redisplay-output.c (redisplay_unmap_subwindows): update for
14426         subwindow instance cache as a weak list.
14427         (redisplay_unmap_subwindows_maybe): ditto.
14428         (redisplay_unmap_subwindows_except_us): ditto.
14429
14430         * glyphs.c (unmap_subwindow): error checking will check the domain
14431         so don't deal with it here. Don't use cachels anymore.
14432         (map_subwindow): ditto.
14433         (update_subwindow_cachel_data): remove old accessor names.
14434         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14435         (Fresize_subwindow): don't update cachel.
14436         (mark_subwindow_cachels):
14437         (update_subwindow_cachel_data):
14438         (add_subwindow_cachel):
14439         (get_subwindow_cachel_index):
14440         (update_subwindow_cachel):
14441         (reset_subwindow_cachels):
14442         (mark_subwindow_cachels_as_not_updated): deleted.
14443         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14444         subwindow instance to the frame cache.
14445         (find_matching_subwindow): update for subwindow instance cache as
14446         a weak list.
14447         (update_widget_instances): ditto.
14448         (image_instance_type_to_mask):inlined.
14449         (free_frame_subwindow_instance_cache): new function. finalize all
14450         subwindows that are instantiated.
14451
14452         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14453         of cachel information.
14454         (IMAGE_INSTANCE_DISPLAY_X):
14455         (IMAGE_INSTANCE_DISPLAY_Y):
14456         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14457         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14458         (XIMAGE_INSTANCE_DISPLAY_X):
14459         (XIMAGE_INSTANCE_DISPLAY_Y):
14460         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14461         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14462         remove subwindow_cachel structure and function references.
14463         (image_instance_type_to_mask): inline from glyphs.c
14464
14465         * redisplay.c (redisplay_frame): remove subwindow_cachel
14466         references.
14467
14468         * frame.h (struct frame): remove subwindow_cachels.
14469         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14470
14471         * frameslots.h: add subwindow_instance_cache.
14472
14473         * window.c (replace_window): check subwindow cache of replacement.
14474         (window_unmap_subwindows_cache_mapper):
14475         (window_unmap_subwindows): new functions. Unmap all subwindows
14476         cached on this window.
14477         (mark_window_as_deleted): unmap all subwindows.
14478
14479 2000-04-27  Andy Piper  <andy@xemacs.org>
14480
14481         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14482
14483         * glyphs-widget.c (widget_layout): return something.
14484         (layout_layout): return something. Fail if not initialized.
14485         (layout_query_geometry): ditto.
14486         (image_instantiator_native_layout): new function. Initialized the
14487         native layout type.
14488         (widget_instantiate): don't do layout stuff here.
14489
14490         * glyphs.c (instantiate_image_instantiator): reorded calling or
14491         instantiate and post_instantiate with layout in between.
14492         (image_instance_layout): be more selective about deciding whether
14493         the layout has been done or not.
14494
14495         * glyphs.h (struct image_instantiator_methods): return a value
14496         from layout_method.
14497
14498 2000-04-26  Andy Piper  <andy@xemacs.org>
14499
14500         * glyphs.c (allocate_image_instance): make initial width and
14501         height unspecified. Set initialized to 0.
14502
14503         * syscommctrl.h new file. Encapsulates commctrl.h.
14504
14505         * syswindows.h new file. Encapsulates windows.h.
14506
14507         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14508         * nt.c: ditto.
14509         * console-msw.h: ditto.
14510
14511         * redisplay-tty.c (tty_output_display_block): remove layout references.
14512
14513         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14514         window handle rather than just the frame.
14515
14516         * glyphs.c (mark_image_instance): remove layout references.
14517         (print_image_instance): ditto.
14518         (image_instance_equal): ditto.
14519         (image_instance_hash): ditto.
14520         (decode_image_instance_type): ditto.
14521         (encode_image_instance_type): ditto.
14522         (image_instantiate): ditto.
14523         (allocate_glyph): ditto.
14524         (Fimage_instance_height): ditto.
14525         (Fimage_instance_width): ditto.
14526         (update_subwindow): ditto.
14527
14528         * redisplay-x.c (x_output_display_block): recode for layouts as
14529         widgets.
14530
14531         * redisplay-output.c (redisplay_output_layout): recode for layouts
14532         as widgets.
14533         (compare_runes): remove layout references.
14534
14535         * redisplay-msw.c (mswindows_output_display_block): recode for
14536         layouts as widgets.
14537
14538         * glyphs-widget.c (image_instantiator_layout): remove
14539         layout_possible_dest_types.
14540         (layout_possible_dest_types): deleted.
14541
14542         * glyphs.h (image_instance_type): remove layout references.
14543         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14544         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14545         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14546
14547 2000-04-25  Andy Piper  <andy@xemacs.org>
14548
14549         * glyphs-widget.c (image_instantiator_buttons):
14550         (image_instantiator_edit_fields):
14551         (image_instantiator_combo_box):
14552         (image_instantiator_scrollbar):
14553         (image_instantiator_progress_guage):
14554         (image_instantiator_tree_view):
14555         (image_instantiator_tab_control):
14556         (image_instantiator_labels):
14557         (image_instantiator_layout): call default post_instantiate method.
14558         (widget_post_instantiate): new function. Simply lays out the
14559         widgets.
14560
14561         * glyphs.h (struct image_instantiator_methods): add
14562         post_instantiate method.
14563
14564         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14565         method calls.
14566
14567 2000-04-23  Andy Piper  <andy@xemacs.org>
14568
14569         * glyphs.h (struct image_instantiator_methods): add
14570         decode_domain_method.
14571         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14572         derived from the domain.
14573         (IMAGE_INSTANCE_FRAME): new accessor.
14574         (XIMAGE_INSTANCE_FRAME): ditto.
14575
14576         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14577         instead of _SUBWINDOW_FRAME.
14578         (finalize_image_instance): ditto.
14579         (Fimage_instance_foreground): ditto.
14580         (Fimage_instance_background): ditto.
14581         (image_instantiate): ditto.
14582         (update_subwindow_cachel): ditto.
14583         (update_subwindow): ditto.
14584         (unmap_subwindow): ditto.
14585         (map_subwindow): ditto
14586         (subwindow_instantiate): ditto.
14587         * glyphs-msw.c (mswindows_update_widget): ditto.
14588         (mswindows_progress_gauge_instantiate): ditto.
14589         (mswindows_tab_control_update): ditto.
14590         * glyphs-x.c (x_update_widget): ditto.
14591         (x_widget_instantiate): ditto.
14592         (x_tab_control_instantiate): ditto.
14593         (x_tab_control_update): ditto.
14594         * event-msw.c (mswindows_wnd_proc): ditto
14595
14596         * glyphs-widget.c (image_instantiator_layout): use
14597         subwindow_decode_domain.
14598         (image_instantiator_buttons): ditto.
14599         (image_instantiator_edit_fields): ditto.
14600         (image_instantiator_combo_box): ditto.
14601         (image_instantiator_scrollbar): ditto.
14602         (image_instantiator_progress_guage): ditto.
14603         (image_instantiator_tree_view): ditto.
14604         (image_instantiator_tab_control): ditto.
14605         (image_instantiator_labels): ditto.
14606         (image_instantiator_layout): ditto.
14607
14608         * glyphs.c: add instance error checking to many functions.
14609         (instantiate_image_instantiator): decode device from cache_domain.
14610         (image_instantiate): partially rewrite by using
14611         decode_image_instantiator_domain to determine what domain the
14612         instance needs to be cached in.
14613         (decode_image_instantiator_domain): new function. Determine what
14614         domain the image needs to be cached in.
14615         (check_window_subwindow_cache): new error checking function.
14616         (check_instance_cache_mapper): ditto.
14617         (check_image_instance_structure): ditto.
14618         (subwindow_decode_domain): new function. Encodes a window as a
14619         subwindow's cache domain.
14620         (image_instantiator_format_create): use it for text and
14621         subwindows.
14622
14623 2000-04-21  Andy Piper  <andy@xemacs.org>
14624
14625         * glyphs.c (image_instance_device): new function.
14626         (image_instance_frame): new function.
14627         (image_instance_window): new function.
14628         (image_instance_live_p): new function.
14629
14630         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14631         cache to nil.
14632
14633         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14634         (IMAGE_INSTANCE_DOMAIN): new accessor.
14635         (XIMAGE_INSTANCE_DOMAIN): ditto.
14636
14637         * glyphs-x.c (x_finalize_image_instance): device->domain.
14638
14639         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14640         (mswindows_finalize_image_instance): ditto.
14641
14642         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14643         (gif_instantiate): ditto.
14644         (png_instantiate): ditto.
14645         (tiff_instantiate): ditto.
14646
14647         * glyphs.c (instantiate_image_instantiator): use domain rather
14648         than device.
14649         (mark_image_instance): device -> domain.
14650         (print_image_instance): ditto.
14651         (finalize_image_instance): ditto.
14652         (image_instance_equal): ditto.
14653         (allocate_image_instance): ditto.
14654         (Fcolorize_image_instance): ditto.
14655         (query_string_geometry): ditto.
14656         (image_instantiate): ditto
14657         (query_string_font): ditto.
14658         (image_instantiate): ditto.
14659         (update_subwindow): ditto.
14660         (unmap_subwindow): ditto.
14661         (map_subwindow): ditto.
14662         (subwindow_instantiate): ditto.
14663
14664         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14665         (DOMAIN_FRAME): ditto.
14666         (DOMAIN_WINDOW): ditto.
14667         (DOMAIN_LIVE_P): ditto.
14668         (XDOMAIN_DEVICE): ditto.
14669         (XDOMAIN_FRAME): ditto.
14670         (XDOMAIN_WINDOW): ditto.
14671
14672         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14673         a valid specifier domain.
14674
14675 2000-04-19  Andy Piper  <andy@xemacs.org>
14676
14677         * glyphs-widget.c (syms_of_glyphs_widget): remove
14678         widget-callback-current-channel.
14679         (vars_of_glyphs_widget): ditto.
14680         * glyphs.h: ditto
14681
14682         * gui.c (get_gui_callback): revert to previous behaviour.
14683
14684 2000-04-18  Andy Piper  <andy@xemacs.org>
14685
14686         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14687         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14688         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14689
14690         * glyphs.c (image_instance_equal): add margin_width.
14691         (image_instance_hash): ditto.
14692
14693         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14694         (layout_query_geometry): ditto.
14695         (layout_layout): ditto.
14696         (syms_of_glyphs_widget): add margin-width.
14697         (image_instantiator_layout): allow margin-width.
14698
14699         * glyphs.c (update_widget_instances): make a normal function.
14700         (syms_of_glyphs): remove Qupdate_widget_instances.
14701         * glyphs.h: ditto.
14702
14703         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14704         so that we don't corrupt ideas about the last event or
14705         command. Remove widget-callback-current-channel fiddling.
14706         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14707
14708 2000-05-01  Martin Buchholz <martin@xemacs.org>
14709
14710         * XEmacs 21.2.33 is released.
14711
14712 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14713
14714         * make-src-depend: Allow dots in header file name.
14715
14716 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14717
14718         * mule-charset.h (struct charset_lookup): Add
14719         next_allocated_1_byte_leading_byte and
14720         next_allocated_2_byte_leading_byte.
14721         * mule-charset.c: Move above two variables so that those values
14722         will be dumped.
14723
14724 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14725
14726         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14727         when string length is zero.
14728         (find_charsets_in_emchar_string): Ditto.
14729
14730 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14731
14732         * lisp.h: extern Qdialog and Qmenubar.
14733
14734         * gui-x.c: added events.h.
14735                 also fixed typo which made the file uncompilable.
14736
14737         * general.c: Added Qmenubar and Qdialog
14738
14739 2000-04-28  Ben Wing  <ben@xemacs.org>
14740
14741         * frame-msw.c (mswindows_init_frame_1):
14742         * frame-msw.c (mswindows_mark_frame):
14743         * event-msw.c (mswindows_enqueue_dispatch_event):
14744         * console-msw.h:
14745         * console-msw.h (struct mswindows_frame):
14746         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14747         there are now three hash tables for callbacks.
14748         mswindows_enqueue_dispatch_event is no longer static.
14749
14750         * dialog-x.c (maybe_run_dbox_text_callback):
14751         * dialog-x.c (dbox_descriptor_to_widget_value):
14752         switch to new cons3 form for callbacks.
14753
14754         * glyphs-msw.c (mswindows_register_gui_item):
14755         * glyphs-msw.c (mswindows_widget_instantiate):
14756         * glyphs-msw.c (add_tree_item):
14757         * glyphs-msw.c (add_tab_item):
14758         new image instance parameter, so it can be passed to callback-ex.
14759         respect :callback-ex as well as :callback.
14760
14761         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14762         add :callback-ex.
14763
14764         * glyphs.c (print_image_instance):
14765         prettify, e.g. now prints widget type.
14766
14767         * gui-x.h:
14768         certain funs have new image instance parameter.
14769
14770         * gui.c:
14771         * gui.c (get_gui_callback):
14772         * gui.c (gui_item_add_keyval_pair):
14773         * gui.c (gui_item_init):
14774         * gui.c (gui_add_item_keywords_to_plist):
14775         * gui.c (mark_gui_item):
14776         * gui.c (gui_item_hash):
14777         * gui.c (gui_item_equal):
14778         * gui.c (copy_gui_item):
14779         * gui.c (syms_of_gui):
14780         recognize callback-ex in a number of places.
14781         also, fix the annoying "can't get out of yes-no dialog" bug.
14782
14783         * gui.h:
14784         * gui.h (struct Lisp_Gui_Item):
14785         recognize callback-ex in a number of places.
14786
14787         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14788         new parameter in button_item_to_widget_value.
14789
14790         * glyphs-x.c (x_update_widget):
14791         * glyphs-x.c (x_button_instantiate):
14792         * glyphs-x.c (x_button_update):
14793         * glyphs-x.c (x_progress_gauge_instantiate):
14794         * glyphs-x.c (x_edit_field_instantiate):
14795         * glyphs-x.c (x_combo_box_instantiate):
14796         * glyphs-x.c (x_tab_control_instantiate):
14797         * glyphs-x.c (x_label_instantiate):
14798         new image instance parameter in various places.
14799
14800         * event-Xt.c:
14801         * event-Xt.c (enqueue_Xt_dispatch_event):
14802         this fun gets exported.
14803
14804         * gui-msw.c:
14805         * gui-msw.c (mswindows_handle_gui_wm_command):
14806         handle both :callback and :callback-ex, and generate our own
14807         event because it's one of the callback-ex arguments.
14808
14809         * gui-x.c:
14810         * gui-x.c (popup_selection_callback):
14811         handle both :callback and :callback-ex, and generate our own
14812         event because it's one of the callback-ex arguments.
14813         * gui-x.c (button_item_to_widget_value):
14814         * gui-x.c (gui_items_to_widget_values_1):
14815         * gui-x.c (gui_item_children_to_widget_values):
14816         * gui-x.c (gui_items_to_widget_values):
14817         new image instance parameter in various places.
14818
14819         * fns.c (Freplace_list):
14820         fix small typo in doc string.
14821
14822         * lisp.h:
14823         declare enqueue_Xt_dispatch_event.
14824
14825 2000-04-28  Ben Wing  <ben@xemacs.org>
14826
14827         * buffer.c:
14828         * buffer.c (Frecord_buffer):
14829         * buffer.c (syms_of_buffer):
14830         delete record-buffer-hook.
14831
14832         * fns.c:
14833         * fns.c (Freplace_list):
14834         * fns.c (syms_of_fns):
14835         new primitive replace-list.
14836
14837         * frameslots.h:
14838         slot for old buffer-alist.
14839
14840         * lisp.h:
14841         exfun replace-list.
14842
14843         * redisplay.c:
14844         * redisplay.c (redisplay_frame):
14845         * redisplay.c (syms_of_redisplay):
14846         * redisplay.c (vars_of_redisplay):
14847         new hook buffer-list-changed-hook.
14848         call it.
14849
14850 2000-04-27  Ben Wing  <ben@xemacs.org>
14851
14852         * extents.h: extern in_modeline_generation.
14853
14854         * redisplay.c (generate_formatted_string_db): set
14855         in_modeline_generation.
14856
14857         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14858         flags if in modeline generation.  otherwise frame-modified-tick
14859         is ticked far too often.
14860         Declare in_modeline_generation.
14861
14862 2000-04-26  Ben Wing  <ben@xemacs.org>
14863
14864         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14865         option.
14866         (vars_of_emacs): add quick-build as an error-checking option.
14867         A bit kludgy, but there doesn't seem much point in creating
14868         a real var for this.
14869
14870         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14871
14872 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14873
14874         * redisplay.h (struct display_line): Add a new variable,
14875         line_continuation.
14876
14877         * redisplay.c (create_text_block): Set dl->line_continuation if
14878         the line continues.
14879         (create_string_text_block): Ditto.
14880         (regenerate_window_incrementally): Use line_continuation instead
14881         of searching continuation glyph.
14882         (add_margin_runes): Call add_glyph_rune.
14883         (add_glyph_rune): Handle margin glyph.
14884
14885 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14886
14887         * filelock.c (fill_in_lock_file_name):
14888         ANSIfy.
14889         Check for IS_ANY_SEP instead of '/'.
14890         (lock_file_1):
14891         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14892         Never check errno without first seeing that system call failed.
14893         (unlock_file): Add GCPRO.
14894         (Flock_buffer): Fix docstring.
14895         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14896
14897 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14898
14899         * sysdep.c (get_pty_max_bytes):
14900         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14901         strings longer than 252 bytes.
14902
14903         * md5.c: Unconditionally include ANSI header <limits.h>
14904
14905         * glyphs-x.c (convert_EImage_to_XImage):
14906         * lisp-union.h (union Lisp_Object):
14907         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14908
14909 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14910
14911         * filelock.c (current_lock_owner): Remove unused variable o, p.
14912
14913 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14914
14915         * callint.c: Remove multiply defined symbol Qlet
14916         (syms_of_callint): ditto.
14917
14918 2000-04-14  Andy Piper  <andy@xemacs.org>
14919
14920         * general.c (syms_of_general): add last-command, this-command, let
14921         and funcall.
14922
14923         * lisp.h: declare various symbols.
14924
14925         * glyphs.h: declare Qwidget_callback_current_channel;
14926
14927         * glyphs-widget.c (syms_of_glyphs_widget): add
14928         Qgui_callback_current_channel.
14929         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14930
14931         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14932         widget-callback-current-channel when invoking the interactive
14933         arg. Also bind last-command and next-command when invoking the
14934         widget updates.
14935         * gui-x.c (popup_selection_callback): ditto.
14936
14937         * gui.c (get_gui_callback): massage args so that we are always
14938         calling eval. This allows us to add our own variable bindings
14939         outside.
14940
14941         * glyphs-x.c (x_button_instantiate): use
14942         gui_items_to_widget_values since this is GC safe.
14943         (x_progress_gauge_instantiate): ditto.
14944         (x_edit_field_instantiate): ditto.
14945         (x_label_instantiate): ditto.
14946
14947         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14948         (emacs_Xt_event_widget_focus_out): new function
14949         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14950         focus.
14951         (emacs_Xt_event_add_widget_actions): new function. add focus
14952         functions as actions.
14953         (init_event_Xt_late): use it.
14954
14955 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14956
14957         * event-stream.c (Fdispatch_event): Doc fix.
14958
14959 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14960
14961         * postgresql.c: Remove all references to PQsetenv*.
14962
14963         * postgresql.h: Remove references to PGsetenvHandler object.
14964         * lrecord.h (lrecord_type): Ditto.
14965
14966 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14967
14968         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14969         real_heigh and real_width members, and accessor macros for these.
14970
14971         * glyphs-msw.c (init_image_instance_geometry): New function.
14972         (init_image_instance_from_dibitmap): Use it.
14973         (mswindows_resource_instantiate): Use it.
14974         (init_image_instance_from_xbm_inline): Use it.
14975         (mswindows_initialize_image_instance_mask): Use real bitmap
14976         geometry.
14977         (mswindows_create_resized_bitmap): Ditto.
14978         (mswindows_create_resized_mask): Ditto.
14979
14980         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14981         and bitmap to their surface size.
14982
14983 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14984
14985         * process-unix.c (unix_send_process): Guard against process MIA
14986         after Faccept_process_output.
14987
14988 2000-04-11  Ben Wing  <ben@xemacs.org>
14989
14990         * eval.c (unbind_to_hairy): fix brokenness introduced by
14991         nanosecond speed improvements.
14992
14993 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14994
14995         * sunplay.c (init_device): To play sounds correctly, the device
14996         apparently needs to be initialized at least once by XEmacs.  Make
14997         it so.
14998
14999 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15000
15001         * redisplay.c (add_margin_runes): Add text image glyph
15002           handling.
15003
15004 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15005
15006         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15007         gcc is newer than 2.5.
15008
15009 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15010
15011         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15012
15013         * fns.c (size_bit_vector):
15014         * alloc.c (size_vector):
15015         (make_vector_internal):
15016         (make_bit_vector_internal):
15017         (sweep_bit_vectors_1):
15018         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15019
15020 2000-04-06  Andy Piper  <andy@xemacs.org>
15021
15022         * gmalloc.c (malloc): undo previous change.
15023         (malloc): ditto.
15024         (free): ditto.
15025         (realloc): ditto.
15026
15027 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15028
15029         * line-number.c (buffer_line_number): Revert to former version.
15030
15031 2000-04-06  Andy Piper  <andy@xemacs.org>
15032
15033         * gmalloc.c (malloc): add error checking.
15034         (malloc): ditto.
15035         (free): ditto.
15036         (realloc): ditto.
15037
15038         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15039         button_item_to_widget_value arg.
15040
15041         * glyphs-x.c (x_button_instantiate): add extra
15042         button_item_to_widget_value arg.
15043         (x_progress_gauge_instantiate): ditto.
15044         (x_edit_field_instantiate): ditto.
15045         (x_label_instantiate): ditto.
15046
15047         * gui-x.c (gui_items_to_widget_values_1): add extra
15048         button_item_to_widget_value arg.
15049         (button_item_to_widget_value): add extra menu_item_p arg.
15050
15051         * gui-x.h: change signature of button_item_to_widget_value.
15052
15053         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15054         button_item_to_widget_value arg.
15055
15056 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15057
15058         * buffer.h (struct buffer): auto_save_modified should be long.
15059
15060 2000-04-05  Andy Piper  <andy@xemacs.org>
15061
15062         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15063         type.
15064         (button_query_geometry): give a little more room so that athena
15065         buttons fit.
15066
15067 2000-04-05  Andy Piper  <andy@xemacs.org>
15068
15069         * faces.c (complex_vars_of_faces): The widget face should inherit
15070         the font of the gui-element face.
15071
15072 2000-04-04  Andy Piper  <andy@xemacs.org>
15073
15074         * glyphs-x.c (x_button_update): new function. unconditionally
15075         update a button's state when the instance is dirty.
15076         (image_instantiator_format_create_glyphs_x): add x_button_update.
15077         (x_widget_instantiate): remove old resize cruft.
15078
15079 2000-04-02  Andy Piper  <andy@xemacs.org>
15080
15081         * frame.c (change_frame_size_1): The introduction of gutters means
15082         that we need to allow 0 as a potential frame dimension.
15083
15084 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15085
15086         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15087         image glyph if allow_cursor.
15088         (add_hscroll_rune): Don't allow cursor to border glyph.
15089         (create_text_block): Ditto.
15090
15091         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15092         text not in buffer.
15093         (redisplay_output_layout): Call ensure_face_cachel_complete for
15094         text image glyph.
15095
15096
15097 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15098
15099         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15100
15101         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15102         not in buffer
15103
15104         * redisplay-tty.c (tty_output_display_block): Delete the routine
15105         for text image glyph
15106         * redisplay-x.c (x_output_display_block): ditto
15107         * redisplay-msw.c (mswindows_output_display_block): ditto
15108
15109 2000-02-02  Mike Alexander  <mta@arbortext.com>
15110
15111         Note: Some of these were committed by accident as part of other
15112         patches.
15113
15114         * regex.c (regex_compile): Avoid compiler warnings.
15115
15116         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15117
15118         * nt.h: Declare term_ntproc correctly.
15119
15120         * nt.c: Remove incorrect declaration of get_home_directory which
15121         is declared correctly in lisp.h.
15122
15123         * keymap.c (get_keyelt): Avoid compiler warnings.
15124         (raw_lookup_key_mapper): Avoid compiler warnings.
15125
15126         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15127
15128         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15129
15130         * filemode.c (mode_string): Avoid compiler warnings.
15131
15132         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15133         avoid warning.
15134
15135         * events-mod.h: Undef some things that winuser.h defines differently.
15136
15137         * data.c (Faset): Avoid compiler warnings.
15138
15139         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15140
15141 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15142
15143         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15144         Fall through to simple beep on error.
15145         Replace "extern" by real header file.
15146
15147         * linuxplay.c: Use nativesound.h
15148         (play_sound_data): Return error code. Be less verbose on error.
15149
15150         * sunplay.c: Use nativesound.h
15151         (play_sound_data): Return error code. Be less verbose on error.
15152
15153         * ntplay.c: Use nativesound.h
15154         (play_sound_data): Return fake error code
15155
15156         * sgiplay.c: Use nativesound.h
15157         (play_sound_data): Return error code
15158
15159         * hpplay.c: Use nativesound.h, partially implement
15160         new error code. Break compilation until finished.
15161         (play_sound_data): error code.
15162
15163         * nativesound.h (play_sound_file):
15164           (play_sound_data): Prototype in new header.
15165
15166 2000-03-31  Andy Piper  <andy@xemacs.org>
15167
15168         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15169         for toggle and radio buttons.
15170         (image_instantiator_buttons): use it.
15171
15172 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15173
15174         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15175         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15176         found. Scrollbar event probably belonged to some old config.
15177
15178 2000-03-31  Andy Piper  <andy@xemacs.org>
15179
15180         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15181         than 1.
15182         (initialize_widget_image_instance): default layout to
15183         LAYOUT_HORIZONTAL rather than 0.
15184         (widget_instantiate): reverse the item list at the end rather than
15185         every iteration.
15186         (layout_layout): re-code for the border text at the front of the
15187         item list rather than at the end.
15188         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15189         provided by the user.
15190         (widget_query_geometry): comment.
15191
15192 2000-03-30  Andy Piper  <andy@xemacs.org>
15193
15194         * glyphs-widget.c (image_instantiator_layout): allow standard
15195         widget keywords in layouts.
15196
15197         * gutter.c (output_gutter): cope with nil gutter contents.
15198
15199         * frame.c (Fset_frame_properties): add gutter docs.
15200
15201 2000-03-29  Andy Piper  <andy@xemacs.org>
15202
15203         * toolbar-msw.c (TBSTYLE_FLAT): add.
15204         (mswindows_output_toolbar): minor fiddling.
15205
15206 2000-03-29  Andy Piper  <andy@xemacs.org>
15207
15208         * gutter.c (output_gutter): force gutter size recalculation if
15209         what we are trying to display won't fit.
15210         (update_gutter_geometry): new function. A per-gutter version of
15211         update_frame_gutter_geometry.
15212         (update_frame_gutter_geometry): use it.
15213         (redraw_exposed_gutter): add extra debugging output.
15214
15215 2000-03-28  Mike Alexander  <mta@arbortext.com>
15216
15217         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15218         (pdump_file_unmap): Implement it on Windows
15219         (pdump_file_get): Save alocated handles for pdump_file_unmap
15220
15221 2000-03-28  Andy Piper  <andy@xemacs.org>
15222
15223         * gui.c (get_gui_callback): treat Quit specially.
15224
15225 2000-03-27  Andy Piper  <andy@xemacs.org>
15226
15227         * glyphs.c (image_instantiate): be careful to check in the same
15228         way we assigned.
15229
15230 2000-03-27  Didier Verna  <didier@xemacs.org>
15231
15232         * config.h.in: define the proper SMART_INCLUDE macro.
15233         handle renaming of `foo_h_path' to `foo_h_file'.
15234
15235         * database.c: ditto.
15236
15237         * emacs.c: ditto.
15238
15239         * linuxplay.c: ditto.
15240
15241         * terminfo.c: ditto.
15242
15243         * tooltalk.h: ditto.
15244
15245 2000-03-27  Andy Piper  <andy@xemacs.org>
15246
15247         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15248         gets updated whenever the face might have changed.
15249
15250 2000-03-26  Mike Alexander  <mta@arbortext.com>
15251
15252         * dumper.c (pdump_resource_free): Fix the comment.
15253
15254 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15255
15256         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15257
15258 2000-03-22  Mike Alexander  <mta@arbortext.com>
15259
15260         * dumper.c: Include Windows headers on Windows
15261         (pdump_resource_free): Add a body to the function
15262         (pdump_load): exe_name -> exe_path and add some comments.
15263
15264 2000-03-25  Mike Alexander  <mta@arbortext.com>
15265
15266         * gui.c (copy_gui_item_tree): Return a value in all cases
15267
15268 2000-03-21  Didier Verna  <didier@xemacs.org>
15269
15270         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15271         lwlib/config.h.in.
15272         (SMART_INCLUDE): new macro.
15273         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15274         the proper location.
15275
15276         * postgresql.c: use it.
15277
15278         * inline.c: ditto.
15279
15280 2000-03-24  Andy Piper  <andy@xemacs.org>
15281
15282         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15283         do this.
15284
15285 2000-03-24  Andy Piper  <andy@xemacs.org>
15286
15287         * redisplay-output.c (compare_runes): use image_instance_changed
15288         to detect changes. Do not depend on glyphs_changed, only depend on
15289         dirtiness.
15290          (redisplay_output_layout): add debug messages.
15291         (compare_runes): ditto.
15292
15293         * glyphs.h: declare new functions.
15294         (struct Lisp_Image_Instance): remove percent and associated
15295         accessors.
15296
15297         * gui.h: declare new copying functions.
15298
15299         * gui.c (copy_gui_item_tree): new function.
15300         (copy_gui_item): new function.
15301         (gui_item_id_hash): revert to standard hash.
15302         (gui_item_hash): ditto.
15303         (gui_item_hash_internal): deleted.
15304         (mark_gui_item): mark value.
15305         (gui_item_add_keyval_pair): add value.
15306         (gui_item_init): ditto.
15307         (gui_add_item_keywords_to_plist): ditto.
15308         (gui_item_equal): ditto.
15309         (syms_of_gui): add Q_value.
15310
15311         * glyphs-x.c (x_progress_gauge_update): use pending items and
15312         value for setting the state.
15313         (x_update_widget): don't set items from pending here.
15314
15315         * glyphs-widget.c (update_widget): update items here.
15316         (progress_gauge_set_property): use items for storing value. Put
15317         new value in pending items.
15318
15319         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15320         items for new value. Convert percent -> value.
15321         (mswindows_tab_control_update): don't update items here.
15322
15323         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15324         (update_subwindow): ditto.
15325         (image_instance_changed): new function. Compare hash values and
15326         past and present widget items.
15327         (image_instantiate): We more careful about where we instantiate
15328         things.
15329         (image_instantiate): add error checking.
15330
15331         * gutter.c (syms_of_gutter): use -hook.
15332
15333 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15334
15335         * console-tty.c (Fset_console_tty_input_coding_system): Use
15336         Qkeyboard.
15337         (Fset_console_tty_output_coding_system): Use Qterminal.
15338         (tty_init_console): Use Qkeyboard and Qterminal.
15339
15340 2000-03-21  Ben Wing  <ben@xemacs.org>
15341
15342         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15343         From Mike Alexander <mta@arbortext.com>.
15344
15345 2000-03-21  Ben Wing  <ben@xemacs.org>
15346
15347         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15348         process brokenness.  Proper implementation to come.
15349         * callproc.c:
15350         Rename call-process-internal to old-call-process-internal.
15351         New impl. in process.el.
15352
15353 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15354
15355         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15356
15357 2000-03-20  Andy Piper  <andy@xemacs.org>
15358
15359         * glyphs.c (full_list_hash): make hashes of the same elements in
15360         different orders return different values.
15361
15362 2000-03-20  Martin Buchholz <martin@xemacs.org>
15363
15364         * XEmacs 21.2.32 is released.
15365
15366 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15367
15368         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15369         (DFC_MALLOC_USE_CONVERTED_DATA):
15370         Add aliasing-safe casts to allow use with char* or unsigned char*
15371         lvalues.
15372
15373         * eldap.c (Fldap_open):
15374         (Fldap_search_basic):
15375         (Fldap_add):
15376         (Fldap_modify):
15377         Make C++-compilable.
15378         Make sure GCPRO'ed variables are initialized.
15379         Use temp variables to avoid repeated calls to Flength.
15380
15381 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15382
15383         * sysfile.h:
15384         Make sure PATH_MAX is always defined.
15385         Include limits.h for PATH_MAX.
15386         Deprecate use of MAXPATHLEN.
15387
15388 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15389
15390         * emacs.c: Add reinit_vars_of_fileio.
15391         * symsinit.h: Add reinit_vars_of_fileio.
15392         * fileio.c (reinit_vars_of_fileio): New.
15393         * fileio.c (Fmake_temp_name):
15394         Initialize temp_name random number from microseconds to make
15395         collisions even less likely.  Initialize always at process startup
15396         time.  (make-temp-name) used to return the same file name twice in
15397         a row when PDUMP.
15398         Random stylistic fiddling.
15399         Comment fixes.
15400
15401 2000-03-20  Andy Piper  <andy@xemacs.org>
15402
15403         * glyphs.c (image_instantiate): allow text glyphs to be
15404         instantiated in the minibuffer window.
15405
15406 2000-03-19  Andy Piper  <andy@xemacs.org>
15407
15408         * glyphs.c (image_instance_hash): be careful about which items we
15409         hash on.
15410
15411         * glyphs-widget.c (tab_control_set_property): record into pending
15412         items rather than the actual items.
15413
15414         * glyphs-x.c (x_update_widget): use pending items to update with.
15415
15416         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15417         to update with.
15418
15419         * glyphs.c (mark_image_instance): mark pending items.
15420
15421         * window.c (Fset_window_configuration): record the buffer.
15422         (Fselect_window): totally revert previous change which breaks many
15423         things.
15424
15425 2000-03-18  Andy Piper  <andy@xemacs.org>
15426
15427         * glyphs-msw.c (mswindows_tab_control_update): force selected
15428         item.
15429
15430         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15431         window domain cache, otherwise we get inconsistencies at
15432         startup. There is something fishy at startup which can lead to the
15433         minibuffer being the selected window when the gutter content is
15434         instantiated.
15435
15436         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15437         gcpros.
15438         (parse_gui_item_tree_children): ditto.
15439         (parse_gui_item_tree_item): ditto.
15440
15441         * glyphs.c (Fupdate_widget_instances): return something.
15442
15443 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15444
15445         * window.c (Fselect_window): Undo 2000-03-17 change.
15446
15447 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15448
15449         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15450         against v7.0 libraries.  Insta-coredump city until the postgres
15451         folks fix it.
15452
15453 2000-03-17  Andy Piper  <andy@xemacs.org>
15454
15455         * faces.c (complex_vars_of_faces): don't give the widget face an
15456         inherited background pixmap.
15457
15458         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15459         selected item.
15460
15461         * event-stream.c (Fdispatch_non_command_events): return something.
15462
15463         * gutter.c (output_gutter): use widget face.
15464         (clear_gutter): ditto.
15465
15466         * NEWS: adjust again.
15467
15468         * window.c (Fselect_window): make sure this runs to completion to
15469         avoid oddities with Fset_window_configuration.
15470         (Fcurrent_window_configuration): in general do not save the
15471         minibuffer as the selected window.
15472
15473         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15474
15475 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15476
15477         * emacs.c (Frunning_temacs_p): Revert previous patch.
15478         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15479
15480 2000-03-16  Andy Piper  <andy@xemacs.org>
15481
15482         * glyphs-x.c (x_tab_control_update): if no widget values then
15483         return.
15484
15485         * NEWS: update for new features.
15486
15487         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15488         synthetic event to the native system.
15489         (reinit_vars_of_event_Xt): set force_event_pending to
15490         emacs_Xt_force_event_pending.
15491
15492         * events.h (struct event_stream): add force_event_pending.
15493
15494         * specifier.c (recompute_one_cached_specifier_in_window): add
15495         comment.
15496
15497         * redisplay.c (redisplay_frame): don't call
15498         update_frame_subwindows. Reset subwindow cachels when
15499         subwindows_changed, removing this was an optimization too far.
15500
15501         * redisplay-output.c (compare_runes): reorganize so that we catch
15502         glyph changes when we want them. Set optimize_output when this
15503         would help layouts.
15504         (redisplay_output_layout): remove frame_really_changed, use
15505         optimize_output instead.
15506
15507         * redisplay-msw.c (mswindows_output_display_block): reset
15508         optimize_output after outputting a glyph.
15509         * redisplay-x.c (x_output_display_block): ditto.
15510         * redisplay-tty.c (tty_output_display_block): ditto.
15511
15512         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15513         functions.
15514         (gutter_specs_changed): do specific gutter positions.
15515         (top_gutter_specs_changed): new function. Only update the
15516         specified gutter specs.
15517         (bottom_gutter_specs_changed): ditto.
15518         (left_gutter_specs_changed): ditto.
15519         (right_gutter_specs_changed): ditto.
15520
15521         * gui.c (gui_item_hash_internal): new function, does a real hash.
15522         (gui_item_id_hash): use it.
15523         (gui_item_hash): hash the eval'ed gui_item.
15524
15525         * gui-x.c (popup_selection_callback): send an eval event to call
15526         Fupdate_widget_instances.
15527
15528         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15529         to call Fupdate_widget_instances.
15530
15531         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15532         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15533
15534         * glyphs.c: (update_frame_subwindows): deleted.
15535         (Fupdate_widget_instances): new function for updating the dirty
15536         state of widgets that might have changed.
15537         (syms_of_glyphs): add Qupdate_widget_instances.
15538         (full_list_hash): hash a list completely.
15539         (image_instance_hash): use it for items and properties.
15540
15541         * frame-msw.c (mswindows_size_frame_internal): remove unused
15542         variable.
15543
15544         * faces.h (struct face_cachel): fix comment.
15545
15546         * event-stream.c (Fdispatch_non_command_events): new
15547         function. Process non-command events, forcing an event cycle
15548         beforehand.
15549         (syms_of_event_stream): declare.
15550         (event_stream_force_event_pending): new function. Force an event
15551         on the native event queue so that an event cycle will occur next
15552         time we check.
15553
15554         * event-msw.c:
15555         (struct ntpipe_shove_stream):
15556         (mswindows_enqueue_dispatch_event):
15557         (mswindows_dequeue_dispatch_event):
15558         (mswindows_cancel_dispatch_event):
15559         (mswindows_pump_outstanding_events):
15560         (mswindows_drain_windows_queue):
15561         (mswindows_handle_paint):
15562         (mswindows_wnd_proc):
15563         (mswindows_key_to_emacs_keysym):
15564         (get_process_input_waitable):
15565         (emacs_mswindows_delete_stream_pair): re-indent file.
15566         (mswindows_need_event): do not process further fds if the windows
15567         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15568         fixes the 100% cpu problem.
15569         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15570
15571 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15572
15573         * alloc.h: New.
15574         * dumper.h: New.
15575         * dumper.c: New.
15576
15577         * emacs.c: Moved dump file searching to dumper.c.
15578         (Frunning_temacs_p): Fixed.
15579
15580         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15581         last_lrecord_type_index_assigned.
15582
15583 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15584
15585         * symsinit.h: Added reinit parameter to init_console_stream
15586         declaration.
15587
15588         * lisp.h: Added file parameter to pdump_load declaration.
15589
15590         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15591         support.  Added dump file searching.
15592
15593         * config.h.in: Added EMACS_PROGNAME.
15594
15595         * console-stream.c (init_console_stream): Fix reinitialisation
15596         when running from temacs.
15597
15598         * alloc.c (pdump): Add id support.
15599         (pdump_load): Add file parameter and signature/id support.
15600
15601         * Makefile.in.in: Add full pdump support.
15602
15603 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15604
15605         * postgresql.c: Update documentation to reflect latest code
15606         status.
15607         (print_result): Show tuple counts in printed representation when
15608         appropriate.
15609         (Fpq_put_nbytes): MULE-ize.
15610         (Fpq_get_line_async): Ditto.
15611
15612 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15613
15614         * postgresql.c (Fpq_lo_import): Fix return value.
15615         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15616
15617 2000-03-13  Ben Wing  <ben@xemacs.org>
15618
15619         * alloc.c (pdump_load):
15620         Fix compile warning under mswin.
15621
15622 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15623
15624         * postgresql.c: Mule-ization, bug fixes.
15625         Use PG_CODING to encapsulate coding system name changes.
15626         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15627         (pg-coding-system): Create.
15628
15629         (Fpq_conn_defaults): Mule-ize.
15630         (Fpq_connectdb): Mule-ize & bug fix.
15631         (Fpq_connect_start): Mule-ize.
15632         (Fpq_set_client_encoding): Mule-ize.
15633         (Fpq_finish): Document `DEAD' connection status.
15634         (Fpq_clear): Ditto.
15635         (Fpq_pgconn): Mule-ize.
15636         (Fpq_exec): Mule-ize & bug fix.
15637         (Fpq_send_query): Ditto.
15638         (Fpq_get_result): Ditto.
15639         (Fpq_res_status): Mule-ize.
15640         (Fpq_result_error_message): Mule-ize.
15641         (Fpq_ntuples): fix comments.
15642         (Fpq_fname): Mule-ize.
15643         (Fpq_fnumber): Mule-ize.
15644         (Fpq_ftype): fix comments.
15645         (Fpq_get_value): Mule-ize.
15646         (Fpq_cmd_status): Ditto.
15647         (Fpq_cmd_tuples): Ditto.
15648         (Fpq_oid_value): Ditto.
15649         (Fpq_notifies): Ditto.
15650         (Fpq_lo_import): Ditto.
15651         (Fpq_lo_export): Ditto.
15652         (Fpq_get_line): Ditto.
15653         (Fpq_put_line): Mule-ize and bug fix.
15654         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15655
15656 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15657
15658         * postgresql.c (vars_of_postgresql): Mule-ize.
15659         (Fpq_conn_defaults): Ditto.
15660
15661 2000-03-12  Ben Wing  <ben@xemacs.org>
15662
15663         * alloc.c (Fmake_byte_code):
15664         * alloc.c (debug_string_purity_print):
15665         * alloc.c (pdump_backtrace):
15666         * alloc.c (pdump_get_indirect_count):
15667         * alloc.c (pdump_register_sub):
15668         * alloc.c (pdump_register_object):
15669         * alloc.c (pdump_register_struct):
15670         * alloc.c (pdump_dump_data):
15671         * alloc.c (pdump_reloc_one):
15672         Minor cleanups.
15673
15674         * console-msw.c:
15675         * console-msw.c (GetConsoleHwnd):
15676         * console-msw.c (msw_hide_console):
15677         * console-msw.c (msw_show_console):
15678         * console-msw.c (msw_ensure_console_buffered):
15679         * console-msw.c (msw_output_console_string):
15680         * console-msw.c (console_type_create_mswindows):
15681
15682         a) Added functions to manipulate the console window for use with
15683         shell support.
15684
15685         b) Added support for writing text to the console, which is now
15686         used under Windows when xemacs is not being run non-interactively,
15687         to write text that would otherwise be destined for stdout because
15688         under these circumstances, text written to stdout tends to
15689         disappear and not be seen.
15690
15691         * console-msw.h:
15692         * event-Xt.c:
15693         * event-Xt.c (x_event_to_emacs_event):
15694         * event-Xt.c (describe_event_window):
15695         * events-mod.h (XEMACS_MOD_CONTROL):
15696         * events.c:
15697         * events.c (Fmake_event):
15698         * events.c (character_to_event):
15699         * events.c (event_to_character):
15700         * events.c (format_event_object):
15701         * events.c (Fevent_modifiers):
15702         * events.h:
15703         * events.h (struct key_data):
15704         * events.h (struct button_data):
15705         * events.h (struct misc_user_data):
15706         * frame-x.c (Fcde_start_drag_internal):
15707         * frame-x.c (Foffix_start_drag_internal):
15708         * gpmevent.c (Freceive_gpm_event):
15709         * keymap.c:
15710         * keymap.c (bucky_sym_to_bucky_bit):
15711         * keymap.c (control_meta_superify):
15712         * keymap.c (make_key_description):
15713         * keymap.c (keymap_lookup_directly):
15714         * keymap.c (create_bucky_submap):
15715         * keymap.c (keymap_store):
15716         * keymap.c (define_key_check_and_coerce_keysym):
15717         * keymap.c (define_key_parser):
15718         * keymap.c (define_key_alternate_name):
15719         * keymap.c (Fdefine_key):
15720         * keymap.c (raw_lookup_key_mapper):
15721         * keymap.c (struct map_keymap_unsorted_closure):
15722         * keymap.c (map_keymap_unsorted_mapper):
15723         * keymap.c (map_keymap_sort_predicate):
15724         * keymap.c (map_keymap_sorted):
15725         * keymap.c (accessible_keymaps_mapper_1):
15726         * keymap.c (where_is_recursive_mapper):
15727         * keymap.c (describe_map_mapper):
15728         * keymap.c (describe_map_sort_predicate):
15729         * keymap.c (describe_map):
15730         * keymap.c (complex_vars_of_keymap):
15731         And a number of other files, the key modifier preprocessor
15732         constants that xemacs uses have names that conflict with constants
15733         defined under MS Windows for other purposes, so they were renamed
15734         to begin with the prefix XEMACS_. The variables that hold such
15735         modifiers were changed to consistently be of type int to fix
15736         various compile warnings.
15737
15738         * console.c (complex_vars_of_console):
15739         * device.c:
15740         * device-msw.c:
15741         * device-msw.c (mswindows_finish_init_device):
15742         * device-msw.c (msw_get_workspace_coords):
15743         * device-msw.c (mswindows_device_system_metrics):
15744         and various other files, added support for a new
15745         device property called offset-workspace which returns the position
15746         of the upper left corner of the workspace area and goes along with
15747         the existing size-workspace property.
15748
15749         * dialog-msw.c:
15750         * dialog-msw.c (push_bufbyte_string_as_unicode):
15751         * dialog-msw.c (mswindows_popup_dialog_box):
15752         Added support for XEmacs-style accelerator specifications in
15753         button text.  Note: I didn't add support for this under X Windows,
15754         and somebody needs to do this.
15755
15756         * dialog.c:
15757         * dialog.c (Fpopup_dialog_box):
15758         Documented the support for accelerators that was just mentioned.
15759
15760         editfns.c (get_home_directory): Changed behavior under Windows
15761         when HOME not defined; former behavior was irretrievably broken.
15762
15763         * emacs.c:
15764         * emacs.c (main_1):
15765         * emacs.c (main):
15766         * minibuf.c (clear_echo_area_internal):
15767         * minibuf.c (echo_area_append):
15768         * print.c:
15769         * print.c (std_handle_out_external):
15770         * print.c (std_handle_out_va):
15771         * print.c (fatal):
15772         * print.c (write_string_to_stdio_stream):
15773         * print.c (output_string):
15774         * print.c (debug_print):
15775         * print.c (debug_backtrace):
15776         * print.c (debug_short_backtrace):
15777         Cleaned up the code that prints text to stdout so that this can be
15778         changed to output into a console window instead under MS Windows,
15779         as described above.
15780
15781         * eval.c:
15782         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15783         * eval.c (internal_catch):
15784         * eval.c (unwind_to_catch):
15785         * eval.c (throw_or_bomb_out):
15786         * eval.c (condition_case_1):
15787         * eval.c (signal_1):
15788         * eval.c (check_error_state_sanity):
15789         * eval.c (call_with_suspended_errors_1):
15790         * eval.c (call_with_suspended_errors):
15791         * eval.c (reinit_vars_of_eval):
15792         Added code to catch throw loops and check for a pesky bug that may
15793         be gone now.
15794
15795         * event-msw.c:
15796         * event-msw.c (key_needs_default_processing_p):
15797         * event-msw.c (mswindows_wnd_proc):
15798         * event-msw.c (mswindows_modifier_state):
15799         * event-msw.c (emacs_mswindows_quit_p):
15800         * event-msw.c (vars_of_event_mswindows):
15801         a) Added support for using the alt key to select menu items as is
15802         standard under MS Windows.  This is controlled using the variable
15803         menu-accelerator-enabled, just like under X Windows.  There is an
15804         option on the options menu to turn this support on.  I really
15805         think that it should be on by default under Windows, but I'm not
15806         going to make this change yet.
15807
15808         b)  Added support for dynamic display size changes under Windows.
15809
15810         * event-stream.c:
15811         * event-stream.c (maybe_echo_keys):
15812         * event-stream.c (Fnext_event):
15813         * event-stream.c (command_builder_find_leaf):
15814         * event-stream.c (lookup_command_event):
15815         * event-stream.c (execute_command_event):
15816         * event-stream.c (pre_command_hook):
15817         * event-stream.c (post_command_hook):
15818         * event-stream.c (syms_of_event_stream):
15819         * event-stream.c (vars_of_event_stream):
15820         * event-stream.c (complex_vars_of_event_stream):
15821         * events.h (struct command_builder):
15822
15823         a) Tried to clean up a little bit the horribly written x-specific
15824         accelerator code that crept into this file.  I moved this code
15825         into menubar-x.c where it belongs. I also needed to move the
15826         command builder structure into the file events.h because it is
15827         accessed directly by this accelerator code.  What I didn't do, but
15828         which should be done at some point, is to properly abstract this
15829         code using device methods instead of the kludgy way that it
15830         currently hooks into the event code.
15831
15832         b) Added the lisp variables this-command-properties and
15833         last-command- properties, which should be used to synchronize two
15834         adjacent commands in preference to playing games with the variable
15835         this-command, which is typically what happens.
15836
15837         c) Added some slightly nasty code to hook into the lisp support
15838         for shifted- motion-key selection.  This is actually necessary for
15839         somewhat complicated reasons, which are described in
15840         simple.el. (NB: I think the proper thing would be to have the code
15841         that calls the pre and post command hooks also call out to generic
15842         lisp functions in simple.el, where all built-in stuff could be
15843         added.  I will think about this more.)
15844
15845         * event-unixoid.c (poll_fds_for_input):
15846         * lread.c (readchar):
15847         * redisplay-tty.c (tty_clear_frame):
15848         * redisplay-x.c (x_get_gc):
15849         * signal.c (interrupt_signal):
15850         And a whole bunch of other files: fixed up places that printed
15851         directly to stderr to instead call the function stderr_out so that
15852         the changes I made under Windows work correctly.
15853
15854         * filemode.c (mode_string):
15855         Warning fixes.
15856
15857         * frame-msw.c:
15858         * frame-msw.c (mswindows_size_frame_internal):
15859         Fixed the computation of frame size and position to keep the frame
15860         within the workspace area, rather than within the physical
15861         dimensions of the screen, so that the frame doesn't overlap window
15862         manager decorations, such as the start menu and toolbar, typically
15863         at the bottom of the screen.
15864
15865         * frame.c (vars_of_frame):
15866         Changed the default frame title format under MS Windows to consist
15867         of buffername-XEmacs, which is standard under MS Windows.  I think
15868         it might be a good idea to change this everywhere because I think
15869         it is superior to the current frame title format, but this is the
15870         kind of change that is likely to cause some people to get annoyed,
15871         so I'm not making it.
15872
15873         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15874
15875         * gui-msw.c (mswindows_handle_gui_wm_command):
15876         Fixed compile warnings.
15877
15878         * gui-x.c:
15879         * gui-x.c (strdup_and_add_accel):
15880         * gui-x.c (button_item_to_widget_value):
15881         * gui-x.h:
15882         Added code to automatically put an accelerator onto the beginning
15883         of menu items that don't have one as is now the standard, and is
15884         described more later.  Also fixed things so that the menu item
15885         name can be an evaluated expression, again a new standard.
15886
15887         * gui.c:
15888         * gui.c (gui_item_add_keyval_pair):
15889         * gui.c (make_gui_item_from_keywords_internal):
15890         * gui.c (gui_add_item_keywords_to_plist):
15891         * gui.c (gui_item_accelerator):
15892         * gui.c (gui_name_accelerator):
15893         * gui.c (gui_item_included_p):
15894         * gui.c (gui_item_display_flush_left):
15895         * gui.c (gui_item_display_flush_right):
15896         * gui.c (parse_gui_item_tree_item):
15897         * gui.c (parse_gui_item_tree_children):
15898         * gui.c (parse_gui_item_tree_list):
15899         Mule-ized.  Cleanup.  GCPRO addition.
15900
15901         * line-number.c (buffer_line_number):
15902         * lisp.h:
15903         * lisp.h (EMACS_INT_MAX):
15904         Added the manifest constant EMACS_INT_MIN corresponding to the
15905         existing constant EMACS_INT_MAX.  This is partially to fix compile
15906         warnings under Windows, and partly for cleanliness.
15907
15908         * menubar-msw.c:
15909         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15910         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15911         * menubar-msw.c (displayable_menu_item):
15912         * menubar-msw.c (populate_menu_add_item):
15913         * menubar-msw.c (populate_or_checksum_helper):
15914         * menubar-msw.c (populate_menu):
15915         * menubar-msw.c (update_frame_menubar_maybe):
15916         * menubar-msw.c (prune_menubar):
15917         * menubar-msw.c (msw_char_is_accelerator):
15918         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15919         * menubar-msw.c (mswindows_handle_wm_command):
15920         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15921         * menubar-msw.c (mswindows_handle_wm_initmenu):
15922         * menubar-msw.c (mswindows_update_frame_menubars):
15923         * menubar-msw.c (mswindows_free_frame_menubars):
15924         * menubar-msw.c (mswindows_popup_menu):
15925         Fixed a bug in handling accelerators where an extra character
15926         would be displayed in the menu item.  Also generalized the
15927         function displayable_menu_item because it is now used by the
15928         dialog box code as well.  And finally, added code in the functions
15929         that create the menubar to extract a list of accelerators for the
15930         top level menubar, which is used in the event code to determine
15931         whether a particular alt-key combination should be used to invoke
15932         a menu item, or should be passed through to access the standard
15933         XEmacs keymap binding for this key combination.
15934
15935         Much needed GCPROing.
15936
15937         * menubar-x.c:
15938         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15939         * menubar-x.c (menu_item_descriptor_to_widget_value):
15940         * menubar-x.c (restore_in_menu_callback):
15941         * menubar-x.c (x_popup_menu):
15942         * menubar-x.c (menu_move_up):
15943         * menubar-x.c (menu_move_down):
15944         * menubar-x.c (menu_move_left):
15945         * menubar-x.c (menu_move_right):
15946         * menubar-x.c (menu_select_item):
15947         * menubar-x.c (command_builder_operate_menu_accelerator):
15948         * menubar-x.c (menu_accelerator_junk_on_error):
15949         * menubar-x.c (command_builder_find_menu_accelerator):
15950         * menubar-x.c (Faccelerate_menu):
15951         * menubar.h:
15952         Moved a whole bunch of code here that was previously in
15953         event-stream.c as described above.  There is also code connected
15954         to the new standard of adding an accelerator to the beginning of
15955         menu items that don't have one as described above and below.
15956
15957         * menubar.c:
15958         * menubar.c (menu_parse_submenu_keywords):
15959         * menubar.c (Fmenu_find_real_submenu):
15960         * menubar.c (Fnormalize_menu_item_name):
15961         * menubar.c (syms_of_menubar):
15962         * menubar.c (vars_of_menubar):
15963         * menubar.c (complex_vars_of_menubar):
15964
15965         a) Cleaned up a bunch of documentation and improved it.
15966
15967         b) XEmacs now automatically adds an accelerator onto the beginning
15968         of any menu items that don't have one.  I did this because there
15969         will inevitably be some menu items on the main menubar that don't
15970         have accelerators on them because the package that adds that
15971         particular menu item hasn't yet been fixed up to have accelerators
15972         in them and it looked rather strange to have some items with and
15973         some items without accelerators, especially since even in items
15974         without accelerators, you can, at least under windows, still
15975         access the item through an accelerator corresponding to the first
15976         character in the item's name.  If people don't like this behavior,
15977         I can add a variable to turn it off optionally, but I'm not sure
15978         this is a good idea because we really do need to have accelerators
15979         on all of the menu items, and if a package doesn't like the
15980         accelerators being put on the first character, then it should put
15981         the accelerators where they belong.
15982
15983         c) I made a behavior change, which is that the descriptor that
15984         specifies the text of the menu item, which formerly was just a
15985         string, can now also be an evaluated expression.  This makes this
15986         descriptor parallel with all of the others, which could also be
15987         evaluated expressions.  This also obviates the need for the
15988         keyword :label, which was previously listed in the documentation
15989         as unimplemented, and which was for the same purpose.
15990
15991         d) GCPROing.
15992
15993         * ntproc.c:
15994         * ntproc.c (new_child):
15995         * ntproc.c (sys_spawnve):
15996         * ntproc.c (find_child_console):
15997         * ntproc.c (sys_kill):
15998         Fixed compile warnings.  By the way, this file should really go
15999         away entirely, and this will happen as soon as Kirill makes his
16000         final round of process cleanups, which affect the function
16001         call-process.
16002
16003         * process-nt.c:
16004         * process-nt.c (struct nt_process_data):
16005         * process-nt.c (find_process_from_pid):
16006         * process-nt.c (send_signal_the_nt_way):
16007         * process-nt.c (enable_child_signals):
16008         * process-nt.c (find_child_console):
16009         * process-nt.c (send_signal_the_95_way):
16010         * process-nt.c (nt_finalize_process_data):
16011         * process-nt.c (ensure_console_window_exists):
16012         * process-nt.c (nt_create_process):
16013         * process-nt.c (nt_kill_child_process):
16014         * process-nt.c (nt_kill_process_by_pid):
16015         * process-nt.c (nt_open_network_stream):
16016         * process-nt.c (vars_of_process_nt):
16017         Copied over code from Emacs 20.5 to correctly send signals to sub-
16018         processes under Windows 95.  Also added code to automatically
16019         create and hide console window when a sub-process is created under
16020         Windows 95, which obviates the need for the separate runemacs.exe
16021         executable, and finally implemented some variables that were
16022         implemented in Emacs 20.5, but previously not in XEmacs.  These
16023         include mswindows- start-process-share-console and
16024         mswindows-start-process-inherit-error-mode. (Both of these only
16025         apply to Windows 95.)
16026
16027         * regex.c (regex_compile): Fixed a compile warning.
16028
16029         * select-msw.c:
16030         * select-msw.c (mswindows_own_selection):
16031         * select-msw.c (mswindows_get_foreign_selection):
16032         * select-msw.c (mswindows_disown_selection):
16033         * select-msw.c (console_type_create_select_mswindows):
16034         * select-msw.c (syms_of_select_mswindows):
16035         Cleaned up the file and implemented the device method
16036         selection_exists_p, which had accidentally been left out.  Also
16037         removed four lisp functions that were remnants from before the
16038         time when the selection code was properly device abstracted.
16039         These functions are no longer needed because there are generic
16040         equivalents, and because they were added recently and don't exist
16041         in FSF Emacs, I don't think there's any problem with just deleting
16042         them.
16043
16044         * sysdep.c:
16045         * sysdep.c (sys_subshell):
16046         Fixed a compile warning, although in this case there's probably
16047         something wrong with this code, and it ought to be looked into
16048         more thoroughly by somebody who understands it.
16049
16050         * window.c:
16051         * window.c (Fwindow_text_area_height):
16052         * window.c (Fwindow_width):
16053         * window.c (Fwindow_full_width):
16054         * window.c (Fwindow_pixel_width):
16055         * window.c (debug_print_window):
16056         * window.c (syms_of_window):
16057         Added functions window-text-area-height and window-full-width,
16058         which are functions for returning various width and height
16059         characteristics of a window. (One of these functions is necessary
16060         for making the file dialog box work correctly, and the other one
16061         was added for completeness.)  Also added a table to the
16062         documentation for window-height which describes the entire scheme
16063         for accessing width and height characteristics of a window.
16064
16065 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16066
16067         * nt.c (fstat): Added a comment for another problem with
16068         non-encapsulated [f]stat(), reported by Adrian Aichner
16069         <aichner@ecf.teradyne.com>.
16070
16071 2000-03-11  Andy Piper  <andy@xemacs.org>
16072
16073         * window.c (make_dummy_parent): initialize subwindow instance
16074         cache.
16075         (Fset_window_configuration): zero extent_modiff.
16076
16077 2000-03-10  Andy Piper  <andy@xemacs.org>
16078
16079         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16080         more changes can be triggered.
16081         (Fredisplay_frame): ditto.
16082         (Fredraw_device): ditto.
16083         (Fredisplay_device): ditto.
16084         (redisplay_frame): make non-static.
16085         (redisplay_frame): call update_frame_gutter_geometry outside of
16086         display proper.
16087
16088         * gutter.h: declare update_frame_gutter_geometry.
16089
16090         * redisplay.h: declare redisplay_frame.
16091
16092         * gutter.c (update_frame_gutter_geometry): move geometry changes
16093         in update_frame_gutters here. Geometry changes can only occur
16094         outside of redisplay.
16095         (update_frame_gutters): remove geometry change code.
16096         (Fredisplay_gutter_area): make sure that we are in display when we
16097         update and that we have flushed any size changes.
16098
16099 2000-03-11  Andy Piper  <andy@xemacs.org>
16100
16101         * alloc.c (pdump_dump_data): remove i & count shadows.
16102
16103 2000-02-27  Mike Alexander  <mta@arbortext.com>
16104
16105         * sysdep.h: Declare pdump_read_file
16106
16107         * sysdep.c (pdump_read_file): New function
16108
16109         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16110         dump data
16111
16112 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16113
16114         * lrecord.h: add `lrecord_type_pgsetenv'.
16115
16116 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16117
16118         * symsinit.h: declare (vars|syms)_of* functions.
16119         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16120
16121 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16122
16123         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16124
16125         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16126         GCCs.
16127
16128         * emacs.c (main_1): Call postgres initialization code.
16129
16130         * postgresql.h: New file.  PostgreSQL RDBMS support.
16131         * postgresql.c: New file.
16132
16133 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16134
16135         * redisplay-output.c (redisplay_output_display_block): Disable
16136         redundant code.
16137
16138 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16139
16140         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16141         (Fcanna_henkan_next): Ditto.
16142         (Fcanna_bunsetu_henkou): Ditto.
16143         (Fcanna_henkan_kakutei): Ditto.
16144         (Fcanna_henkan_end): Ditto.
16145         (Fcanna_henkan_quit): Ditto.
16146         (Fcanna_henkan_next): Set retun value correctly.
16147         (c2mu): Use unsigned char instead of signed char.
16148
16149 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16150
16151         * emacs.c (main_1): Always call syms_of_gui.
16152         * inline.c: include gui.h
16153
16154 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16155
16156         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16157         converted to Lisp_Object.
16158         (Qtop_bottom): New variable.
16159         (syms_of_redisplay): Initialize it.
16160         * redisplay.h (Vvisible_bell): Ditto.
16161         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16162         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16163         only flash top and bottom.
16164
16165 2000-03-08  Andy Piper  <andy@xemacs.org>
16166
16167         * buffer.c (Frename_buffer): record new buffer name the right way.
16168
16169 2000-03-08  Andy Piper  <andy@xemacs.org>
16170
16171         * glyphs.c (update_subwindow): increase hash depth so that widget
16172         items get picked up properly.
16173
16174         * redisplay-output.c (compare_runes): increase hash depth so that
16175         widget items get picked up properly.
16176
16177 2000-03-08  Andy Piper  <andy@xemacs.org>
16178
16179         * gutter.c (output_gutter): add some debug.
16180
16181         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16182         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16183         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16184
16185         * redisplay-output.c (compare_runes): use display_hash to
16186         determine if glyphs really are not the same.
16187
16188         * glyphs.c (update_subwindow): check display_hash to see if
16189         anything really needs to be updated. If not then do
16190         nothing. Record the display_hash after updating.
16191         (image_instance_equal): compare the image_instance face also.
16192
16193 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16194
16195         * redisplay.h: Fix comment style.
16196
16197 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16198
16199         * consle-msw.h (struct mswindows_frame):
16200         Added new member paint_pending to indicate whether a WM_PAINT
16201         magic event has been queued for this frame.
16202
16203         * event-msw.c (mswindows_drain_windows_queue):
16204         Don't queue a WM_PAINT magic event if one is already queued.
16205         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16206
16207         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16208
16209 2000-03-07  Didier Verna  <didier@xemacs.org>
16210
16211         * dired.c: #include `regex.h' after `sysfile.h'.
16212
16213 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16214
16215         * sound.c (init_nas_sound): Fix compiler warning.
16216
16217         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16218         (FREE_STRUCT_P):
16219         (MARK_STRUCT_AS_FREE):
16220         (MARK_STRUCT_AS_NOT_FREE):
16221         Make `gcc -fstrict-aliasing' work properly.
16222
16223 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16224
16225         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16226         (mswindows_delete_device): Call CoUnnitialize().
16227
16228         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16229
16230 2000-02-25    <CraigL@DyCon.com>
16231
16232         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16233         <errno.h>.
16234
16235         * sysdep.c: This extern declaration for environ prevents MinGW
16236         from finding the variable in CRTDLL.DLL.
16237
16238         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16239         windows headers.
16240         (SHGFI_EXETYPE): ..
16241         (WM_MOUSEWHEEL): ..
16242         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16243         definitions.
16244         (MMRESULT): Removed, now defined in cygwin's windows headers.
16245         (TIMECAPS): ..
16246         (uid_t,gid_t,pid_t,ssize_t): ..
16247         (_timeb): Removed, MinGW defines both _timeb and timeb.
16248         (HAVE_H_ERRNO): Added.
16249         (HAVE_TZNAME): Added, configure is not detecting this.
16250
16251 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16252
16253         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16254         * syntax.c (syntax_match): Use it.
16255
16256         * cmds.c: Import auto-fill-chars from FSF Emacs.
16257         (Vauto_fill_chars): New variables.
16258         (internal_self_insert): Check Vauto_fill_chars.
16259         (vars_of_cmds):
16260         Declare auto-fill-chars as a Lisp variable and initialize it.
16261
16262 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16263
16264         * fileio.c (Fmake_symbolic_link):
16265         (Ffile_symlink_p):
16266         Run handlers even if local machine doesn't have symlinks.
16267
16268 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16269
16270         * event-msw.c (mswindows_drain_windows_queue):
16271         Don't generate paint magic events for non-XEmacs frames.
16272
16273 2000-03-05  Andy Piper  <andy@xemacs.org>
16274
16275         * redisplay.c (redisplay_frame): generate_displayable_area and
16276         friends assumes that we are not in GC, we therefore have to make
16277         sure that this doesn't happen.
16278
16279         * gutter.c (calculate_gutter_size): generate_displayable_area
16280         assumes that we are not in GC, we therefore have to make sure that
16281         this doesn't happen.
16282
16283 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16284
16285         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16286
16287 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16288
16289         * redisplay.c (regenerate_window): Make sure we set a sane value
16290         for end_pos even if we jump out of the loop.
16291         (regenerate_window): Answer Ben's question :-).
16292         (start_end_of_last_line): Add may_error argument.
16293         (start_of_last_line):
16294         (end_of_last_line): Pass may_error = 0.
16295         (end_of_last_line_may_error): New function.
16296         (pixel_to_glyph_translation): Use it, so we don't crash in
16297         event_to_glyph.
16298
16299 2000-03-04  Andy Piper  <andy@xemacs.org>
16300
16301         * window.h (struct window): add gutter_extent_modiff.
16302
16303         * window.c (allocate_window): zero out gutter_extent_modiff.
16304
16305         * redisplay.h: declare sync_display_line_structs.
16306
16307         * redisplay.c (add_glyph_rune): add a better comment.
16308
16309         * redisplay-output.c (sync_display_line_structs): made non-static.
16310         (compare_runes): remove unneccesary glyph cachel access.
16311
16312         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16313
16314         * gutter.c (output_gutter): don't output the gutter if extent
16315         changes only involve extents in buffers. use 4 sets of display
16316         lines.
16317         (gutter_extent_signal_changed_region_maybe): new function. Mark
16318         extents in gutters as changed.
16319         (update_frame_gutters): use 4 sets of display lines.
16320         (reset_gutter_display_lines): ditto.
16321         (free_frame_gutters): ditto.
16322         (redraw_exposed_gutter): force output of gutters.
16323
16324         * frame.h (struct frame): add 4 sets of gutter display lines.
16325
16326         * extents.c: (extent_changed_for_redisplay): signal changes to
16327         extents in strings in the gutter as well as extents in buffers.
16328
16329 2000-03-02  Andy Piper  <andy@xemacs.org>
16330
16331         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16332
16333         * frame.c (Fmake_frame): make sure the gutters get initialized
16334         after the frame is visible.
16335         (set_frame_selected_window): re-arrange compilation macros a
16336         little.
16337         (change_frame_size_1): mark gutters changed.
16338
16339         * device.c (Fset_device_class): mark gutters changed.
16340
16341 2000-03-01  Andy Piper  <andy@xemacs.org>
16342
16343         * window.c (window_top_frame_gutter_height): deleted.
16344         (window_bottom_frame_gutter_height): ditto.
16345         (window_left_frame_gutter_height): ditto.
16346         (window_right_frame_gutter_height): ditto.
16347         (window_top_gutter_height): don't use them.
16348         (window_bottom_gutter_height): ditto.
16349         (window_left_gutter_width): ditto.
16350         (window_right_gutter_width): ditto.
16351         (Fsplit_window): ditto.
16352         (Fwindow_pixel_edges): don't use border dimensions here.
16353
16354         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16355         (update_scrollbar_instance): ditto.
16356
16357         * redisplay.c (generate_modeline): don't take gutters into account.
16358         (generate_modeline): ditto.
16359         (redisplay_frame): small gutter display optimization.
16360
16361         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16362
16363         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16364         gutters into account.
16365
16366         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16367         for window position and type.
16368
16369         * gutter.c (get_gutter_coords): fix for frame gutters.
16370         (update_frame_gutters): update frame geometry if the gutters have
16371         changed.
16372         (init_frame_gutters): record current gutter geometries.
16373
16374         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16375         var.
16376         (mswindows_widget_instantiate): ditto.
16377
16378         * frame.h (struct frame): add current_gutter_bounds.
16379
16380         * frame.c (change_frame_size_1): position window and minibuffer
16381         appropriately taking into account the frame gutters.
16382
16383         * frame-x.c: (x_initialize_frame_size): take into account the
16384         frame gutters.
16385
16386 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16387
16388         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16389
16390 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16391
16392         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16393
16394 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16395
16396         * file-coding.c (reset_decoding_stream): Clear previous
16397         detection state when autodetect.
16398
16399 2000-02-29  Didier Verna  <didier@xemacs.org>
16400
16401         * extents.c (set_extent_glyph_1): don't require extents to be
16402         attached.
16403
16404 2000-02-27  Andy Piper  <andy@xemacs.org>
16405
16406         * gutter.c (Fset_default_gutter_position): don't default left and
16407         right gutter visibility to t.
16408         (Fset_default_gutter_position): run
16409         default-gutter-position-changed-hook.
16410         (syms_of_gutter): add default-gutter-position-changed-hook.
16411
16412 2000-02-26  Andy Piper  <andy@xemacs.org>
16413
16414         * specifier.c (Fmake_specifier): add gutter references.
16415
16416         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16417
16418         * lisp.h: declare Fvalid_plist_p.
16419
16420         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16421         as changed.
16422         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16423         well as its visibility so that it gets reconstructed.
16424         (construct_window_gutter_spec): new function. Construct a string
16425         to be displayed in the gutter from a plist of strings. Take care
16426         to only use elements that are declared as visible.
16427         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16428         WINDOW_GUTTER.
16429         (gutter_validate): allow plists of strings in the specifier.
16430         (gutter_specs_changed): construct the real_gutter from the gutter
16431         specs using construct_window_gutter_spec.
16432         (gutter_visible_validate): gutter-visible is a new specifier type.
16433         (Fgutter_visible_specifier_p): new function for the new specifier.
16434         (syms_of_gutter): declare gutter-visible and
16435         Fgutter_visible_specifier_p.
16436         (specifier_type_create_gutter): intitalize new gutter-visible
16437         specifier.
16438         (reinit_specifier_type_create_gutter): ditto.
16439         (specifier_vars_of_gutter): use new specifier type for gutter
16440         visibility.
16441         (init_frame_gutters): construct real_gutter correctly.
16442         (Fgutter_specifier_p): beef up documentation.
16443         (Fgutter_size_specifier_p): ditto.
16444
16445         * winslots.h: add real_gutter slots.
16446
16447 2000-02-25  Andy Piper  <andy@xemacs.org>
16448
16449         * device-msw.c: Be kind to older cygwin versions. From Raymond
16450         Toy <toy@rtp.ericsson.se>.
16451
16452         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16453         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16454
16455 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16456
16457         * elhash.c (MARK_OBJ): Practice macro hygiene.
16458
16459 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16460
16461         * miscplay.c: s/__inline__/inline/g;
16462         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16463         (get_device_compdc): INLINE ==> static inline
16464         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16465         find -name '*.h' | \
16466         xargs global-replace \
16467         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16468
16469 2000-02-25  Andy Piper  <andy@xemacs.org>
16470
16471         * window.c (window_top_frame_gutter_height): new function.
16472         (window_top_window_gutter_height): ditto.
16473         (window_top_gutter_height): use them.
16474         (window_bottom_frame_gutter_height): new function.
16475         (window_bottom_window_gutter_height): ditto.
16476         (window_bottom_gutter_height): use them.
16477         (window_left_window_gutter_width): new function.
16478         (window_left_frame_gutter_width): ditto.
16479         (window_left_gutter_width): use them.
16480         (window_right_window_gutter_width): new function.
16481         (window_right_frame_gutter_width): ditto.
16482         (window_right_gutter_width): use them.
16483         (window_pixel_height): new function. calulate window pixel height
16484         with frame gutter involvement.
16485         (Fsplit_window): calculate new sizes taking frame gutters into
16486         account.
16487         (window_char_height_to_pixel_height): don't include frame gutters.
16488         (window_char_height): use window_pixel_height.
16489         (window_pixheight): rename from window_pixel_height.
16490         (change_window_height): use it.
16491         (window_pixel_height_to_char_height): don't include frame gutters.
16492         (window_char_width_to_pixel_width): ditto.
16493
16494 2000-02-25  Andy Piper  <andy@xemacs.org>
16495
16496         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16497         if it is.
16498
16499 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16500
16501         * alloc.c (staticpro):
16502         (staticpro_nodump):
16503         (dumpstruct):
16504         (dumpopaque):
16505         (pdump_wire):
16506         (pdump_wire_list):
16507         (compact_string_chars):
16508         (pdump_dump_wired):
16509         Convert:  if (foo) abort();  ==>  assert (! foo);
16510
16511         * eldap.c (Fldap_search_basic):
16512         (Fldap_add):
16513         (Fldap_modify):
16514         (Fldap_delete):
16515         Fix compiler warnings, and possible crashes if (random) return
16516         value were to be used.
16517
16518 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16519
16520         * device-msw.c: Workaround ResetDC failure.
16521
16522         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16523         applying a devmode.
16524
16525         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16526         (mswindows_text_width): Do not start printer page.
16527
16528         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16529
16530         * glyphs-msw.c: Added image methods to msprinter console and
16531         msprinter-specific image instantiation.
16532
16533 2000-02-20  Mike Alexander  <mta@arbortext.com>
16534
16535         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16536         to avoid crashes when selection-sets-clipboard is on
16537         (mswindows_own_selection): ditto
16538
16539 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16540
16541         * glyphs-msw.c:
16542         * redisplay-msw.c (get_frame_dc):
16543         (get_frame_compdc):
16544         * console-msw.h:
16545         * device-msw.c (mswindows_init_device):
16546         (mswindows_delete_device):
16547         (msprinter_init_device):
16548         (msprinter_delete_device):
16549         * frame-msw.c (mswindows_init_frame_1):
16550         (mswindows_delete_frame):
16551         (msprinter_init_frame_3):
16552         (msprinter_delete_frame): Move compatible DC to device object from
16553         frame object, for both mswindows and msprinter. Only one at a time
16554         is needed, it is a real waste to have one per frame!
16555
16556 2000-02-23  Andy Piper  <andy@xemacs.org>
16557
16558         * glyphs.c: add dynamic width and height elements.
16559         (image_instance_equal): ditto.
16560
16561         * glyphs-widget.c (widget_query_geometry): calculate width and
16562         height dynamically if required.
16563         (initialize_widget_image_instance): initialize dynamic dimensions.
16564         (widget_instantiate): pick-up dynamic dimensions.
16565
16566         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16567         dynamic determination. Add appropriate macros.
16568
16569         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16570         dimensions safe.
16571         (WINDOW_GUTTER_SIZE): ditto.
16572         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16573
16574         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16575         inline.
16576         (get_frame_dc): ditto.
16577
16578         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16579         here.
16580
16581 2000-02-23  Martin Buchholz <martin@xemacs.org>
16582
16583         * XEmacs 21.2.31 is released.
16584
16585 2000-02-22  Ben Wing <ben@xemacs.org>
16586
16587         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16588
16589 2000-02-22  Andy Piper  <andy@xemacs.org>
16590
16591         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16592
16593 2000-02-21  Mike Sperber <mike@xemacs.org>
16594
16595         * .dbxrc:
16596         * .gdbinit:
16597         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16598         variables.
16599
16600 2000-02-21  Mike Sperber <mike@xemacs.org>
16601
16602         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16603
16604 2000-02-21  Martin Buchholz <martin@xemacs.org>
16605
16606         * XEmacs 21.2.30 is released.
16607
16608 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16609
16610         Performance hacking.
16611         * *.c (syms_of_*):
16612         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16613         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16614         * emacs.c (main_1):
16615         * lisp.h (DEFUN):
16616         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16617         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16618         * symeval.h (DEFVAR_SYMVAL_FWD):
16619         * symbols.c (guts_of_unbound_marker):
16620         Make all c_readonly objects also lisp_readonly and marked for life.
16621         * lrecord.h (struct lrecord_implementation):
16622         Document flags better.
16623         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16624         * lrecord.h (DECLARE_LRECORD):
16625         * lrecord.h (XSETRECORD):
16626         * lrecord.h (RECORDP):
16627         * lrecord.h (RECORD_TYPEP):
16628         * lrecord.h (RECORD_MARKER): New.
16629         * lrecord.h (error_check_*):
16630         * lrecord.h (CONCHECK_NONRECORD):
16631         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16632         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16633         * lrecord.h (set_lheader_implementation):
16634         * lrecord.h (enum lrecord_type): New.
16635         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16636         * alloc.c (disksave_object_finalization_1):
16637         * alloc.c (mark_object):
16638         * alloc.c (lrecord_type_index):
16639         * alloc.c (tick_lcrecord_stats):
16640         * alloc.c (Fgarbage_collect):
16641         * alloc.c (init_alloc_once_early):
16642         * alloc.c (pdump_load):
16643         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16644         * alloc.c (lrecord_type_index): Delete.
16645         Make lisp object type indexes be constant.
16646           Makes (byte-compile) 5% faster.
16647         Put all marker functions into their own array.
16648           Makes (garbage-collect) 5% faster.
16649         Optimize SYMBOL_VALUE_MAGIC_P.
16650           Makes (byte-compile) 2-3% faster.
16651         * config.h.in (gc_checking_assert): New.
16652         * alloc.c: Use gc_checking_assert().
16653         * .dbxrc: Make compatible with new object type implementation.
16654         * .gdbinit: Make compatible with new object type implementation.
16655         * alloc.c: Delete all symbols defined only for debugging, such as
16656         Lisp_Type_Vector and lrecord_charset.
16657
16658 2000-02-21  Andy Piper  <andy@xemacs.org>
16659
16660         * gui-msw.c (Fmswindows_shell_execute): fix file location
16661         problems.
16662
16663         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16664         unshowing so that set_window_buffer doesn't undo
16665         kill_buffer_hook's hard work.
16666
16667         * glyphs-widget.c (tab_control_query_geometry): don't count the
16668         first item when calculating geometry.
16669
16670         * glyphs.c (map_subwindow): remove redundant code.
16671         (update_frame_subwindows): be more circumspect about when to
16672         update subwindows.
16673
16674         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16675         when items haven't changed. Update faces if faces have changed as
16676         well as just the widget face.
16677         (x_tab_control_update): Update faces if faces have changed as well
16678         as just the widget face.
16679
16680 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16681
16682         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16683         registration.
16684         (build_syscolor_string): Use mswindows_color_to_string to try to
16685         get a named color.
16686         (mswindows_device_system_metrics): Reverse the foreground and
16687         background colors so that they match the documentation.
16688
16689         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16690         they match the default Windows palette.
16691         (mswindows_color_to_string): New function.
16692
16693 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16694
16695         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16696
16697 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16698
16699         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16700         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16701
16702         * symbols.c (init_symbols_once_early): Removed obsolete
16703         DATA_SEG_BITS related kludge.
16704         (defvar_magic): Ditto.
16705
16706         * malloc.c: Removed obsolete DATA_SEG_BITS
16707         * ralloc.c: Ditto.
16708         * mem-limits.h: Ditto.
16709
16710         * Makefile.in.in: Removed obsolete HAVE_SHM
16711         * emacs.c: Ditto.
16712
16713 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16714
16715         *  device-msw.c (mswindows_delete_device): Free DDE string
16716         handles.
16717
16718 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16719
16720         * keymap.c (get_keyelt):
16721         * unexnt.c (unexec):
16722         * vm-limit.c (memory_warnings):
16723         * ntheap.c (recreate_heap):
16724         * ntheap.h (UNINIT_PTR):
16725         * select-msw.c (Fmswindows_get_clipboard):
16726         (Fmswindows_set_clipboard):
16727         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16728         * objects-msw.c:
16729         * menubar-msw.c (displayable_menu_item):
16730         * glyphs-msw.c:
16731         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16732         * sysdep.c (sys_subshell):
16733         * process-nt.c (nt_create_process):
16734         * nt.c (normalize_filename):
16735         (dostounix_filename):
16736         (unixtodos_filename):
16737         * ntproc.c (win32_executable_type):
16738         * ntplay.c (play_sound_data_1):
16739         (play_sound_file):
16740         * editfns.c (get_home_directory):
16741         * event-msw.c (struct winsock_stream):
16742         (mswindows_dde_callback):
16743         * device-msw.c (msprinter_init_device):
16744         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16745
16746         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16747         mswindows_clear_toolbar were swapped!
16748
16749         * objects-msw.c:(colormap_t):
16750         (fontmap_t):
16751         * emacs.c (struct standard_args): Fixed const jumble.
16752
16753         * glyphs-widget.c (update_widget): Fixed comparison notation.
16754
16755         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16756
16757         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16758         __declspec(noreturn) syntax.
16759
16760 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16761
16762         * eldap.c (Fldap_open):
16763         (Fldap_search_basic):
16764         (Fldap_add):
16765         (Fldap_modify):
16766         Use new coding system conversion macros.
16767
16768 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16769
16770         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16771
16772 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16773
16774         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16775         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16776
16777         * eldap.c (Qadd, Qreplace): New constant symbols
16778         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16779         interruptions by XEmacs signals
16780         Remove unnecessary calls to slow_down_interrupts and
16781         speed_up_interrupts
16782         (Fldap_search_basic): Renamed from Fldap_search_internal
16783         Added new optional parameter VERBOSE that triggers the
16784         display of progress messages
16785         Remove unnecessary calls to slow_down_interrupts and
16786         speed_up_interrupts
16787         LDAP result code analysis rewritten
16788         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16789         (syms_of_eldap): Define the new symbols and functions
16790
16791
16792 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16793
16794         * realpath.c: Determine PATH_MAX maximally portably.
16795
16796         * insdel.c (bytecount_to_charcount): Optimize.
16797         The function used to be optimized for entirely ASCII sequences.
16798         Now it is optimized for successive characters from the same
16799         charset.  This also wins big for _mostly_ ASCII sequences.
16800
16801         * fileio.c (Ffile_truename): convert return from realpath() using
16802         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16803         - Rewrite GCPROing slightly.
16804
16805         * sysdep.c (sys_open): Do filename conversion, like all other
16806         sys_* functions.  Fixes bug:
16807         (let ((file-name-coding-system 'iso-8859-2))
16808            (write-region x y latin2-name))
16809         ==> writes filename using internal encoding.
16810
16811 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16812
16813         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16814         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16815         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16816         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16817         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16818         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16819         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16820         (CONST_IF_NOT_DEBUG): Delete.
16821         * alloc.c (this_one_is_unmarkable): Delete.
16822         (mark_object): Don't check for this_one_is_unmarkable. Use the
16823         c_readonly flag instead.
16824         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16825
16826 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16827
16828         * event-msw.c (mswindows_drain_windows_queue):
16829         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16830         away redundant repaint events.
16831
16832 2000-02-17  Andy Piper  <andy@xemacs.org>
16833
16834         * redisplay.h: declare mark_redisplay_structs.
16835
16836         * redisplay.c (redisplay_window):
16837         (redisplay_frame): don't check subwindows_state_changed.
16838         (mark_redisplay): mark gutters here.
16839
16840         * glyphs.c: (instantiate_image_instantiator): always layout if we
16841         haven't done so already.
16842         (allocate_image_instance): don't mark as dirty.
16843         (update_subwindow): bind inhibit_quit.
16844
16845         * gutter.c (mark_gutters): new function.
16846
16847         * glyphs-x.c (x_update_widget): Always resize to get round a
16848         widget bug.
16849
16850         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16851         breaking absolutely everything.
16852
16853         * gutter.h: declare mark_gutters.
16854
16855 2000-02-16  Martin Buchholz <martin@xemacs.org>
16856
16857         * XEmacs 21.2.29 is released.
16858
16859 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16860
16861         * fns.c (size_bit_vector): Fix computation of the size.
16862
16863 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16864
16865         * *.[ch]: Change CONST to const globally.
16866         find -name '*.[ch]' | \
16867         xargs global-replace \
16868         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16869         - Remove vestigial references to CONST_IS_LOSING
16870
16871 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16872
16873         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16874         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16875         events instead of dispatching them directly.
16876         (mswindows_handle_paint): New function to do repainting.
16877         (mswindows_wnd_proc):
16878         (emacs_mswindows_handle_magic_event): Call above function.
16879
16880 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16881
16882         * objects-msw.c (mswindows_create_font_variant): Return the new
16883         font handle.
16884         (initialize_font_instance): Get font metrics from the underlined
16885         variant of the font to cope with the case where the underlined
16886         font has a bigger descent.
16887
16888 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16889
16890         * gui.c (gui_item_accelerator): Return the first underlined
16891         character in item name.
16892
16893 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16894
16895         * lisp.h: Added Qprinter.
16896
16897         * general.c (syms_of_general): Initialized it.
16898
16899         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16900         (get_frame_dc):
16901         (get_frame_compdc): Made inline.
16902
16903         * console.h (struct console_methods): Added eject_page method.
16904
16905         * frame.h: Added FRAME_DISPLAY_P and friends.
16906         Aligned backslahes in many macros in more readable fashion.
16907         Added page_number to struct frame, and an accessor macro
16908         for it.
16909
16910         * defice.h: Added DEVICE_DISPLAY_P and friends.
16911
16912         * device.c (Fdevice_printer_p): Used these.
16913
16914         * frame.c (allocate_frame_core): Initialize page number.
16915         (Fprint_job_page_number):
16916         (Fprint_job_eject_page): Implemented.
16917
16918         * frame-msw.c (msprinter_eject_page): Added method.
16919         (msprinter_start_page): Added.
16920
16921         * window.c (Fwindow_truncated_p): Fixed docstring.
16922         (Fwindow_last_line_visible_height): Implemented.
16923
16924 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16925
16926         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16927
16928 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16929
16930         * syntax.c (scan_words): Always advance at least one character.
16931
16932 2000-02-13  Andy Piper  <andy@xemacs.org>
16933
16934         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16935         to make sure the glyph is in the cachels.
16936
16937         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16938         global image instance flag.
16939         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16940         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16941
16942         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16943         (Fset_image_instance_property): mark layout as changed.
16944         (invalidate_glyph_geometry_maybe): mark layout as changed.
16945         (glyph_width): use new NEEDS_LAYOUT macro.
16946         (glyph_ascent): ditto.
16947         (glyph_descent): ditto.
16948         (glyph_height): ditto.
16949         (image_instance_layout): mark layout as clean after laying out.
16950         (update_subwindow): don't mark layout as clean here.
16951
16952         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16953         should no longer be needed.
16954
16955         * glyphs-x.c (x_update_widget): sanitize asserts.
16956         (x_finalize_image_instance): sanitize assignment to widgets.
16957
16958         * glyphs-widget.c (widget_instantiate): don't need to clear the
16959         layout flag here.
16960
16961 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16962
16963         * sysdep.c (getcwd): Use standard prototype.
16964         * sysdep.h (getcwd): Use standard prototype.
16965
16966         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16967         (sequence, start, end).
16968         Remove redundant type checking.
16969         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16970         view of `caller-protects') to avoid a crash where the real fix was
16971         found elsewhere.
16972
16973 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16974
16975         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16976
16977         * s/sol2.h: Remove feature macro initialization.
16978
16979         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16980         (vector_hash): New.  Code from internal_hash.
16981         * lrecord.h:
16982         Fix up allocation subsystem comments.
16983
16984         * config.h.in: Add __EXTENSIONS__ for Solaris.
16985
16986         * systime.h (EMACS_GETTIMEOFDAY): New.
16987         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16988         Remove Solaris-specific code.
16989         Use void* for the (ignored) second arg for gettimeofday().
16990
16991         * elhash.c (hash_table_hash): Implement it, finally.
16992         * elhash.c:  Use hashcode_t.
16993
16994         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16995         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16996
16997         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16998         * fns.c (size_bit_vector):
16999         * alloc.c (size_vector):
17000         (make_vector_internal):
17001         (make_bit_vector_internal):
17002         (sweep_bit_vectors_1):
17003         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
17004
17005 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17006
17007         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17008         Include strings.h to avoid warnings for bzero and strcasecmp.
17009
17010 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17011
17012         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17013         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17014
17015         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17016         sequence.
17017
17018 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17019
17020         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17021         use a value field instead.
17022         (symbol_value_forward_forward): Use value field.
17023         (DEFVAR_SYMVAL_FWD): Use value field.
17024         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17025         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17026         (DEFVAR_CONST_INT): Ditto.
17027         (DEFVAR_BOOL): Ditto.
17028         (DEFVAR_CONST_BOOL): Ditto.
17029         (DEFVAR_INT_MAGIC): Ditto.
17030         (DEFVAR_BOOL_MAGIC): Ditto.
17031
17032         * symbols.c (guts_of_unbound_marker): Use value field.
17033         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17034         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17035
17036         * lisp.h: Declare dumpopaque and noninteractive1.
17037
17038         * alloc.c (dumpopaque): Added.
17039         (pdump_dump_opaquevec): Added.
17040         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17041         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17042         noninteractive.
17043
17044 2000-02-10  Andy Piper  <andy@xemacs.org>
17045
17046         * glyphs.c (image_instance_layout): if the size changes, mark it
17047         as such.
17048
17049         * redisplay-output.c (redisplay_output_layout): Update the
17050         subwindow here.
17051         (redisplay_output_subwindow): ditto.
17052
17053         * glyphs.c (update_subwindow): make sure we reset flags for
17054         layouts as well as everything else.
17055
17056         * glyphs-widget.c (layout_layout): don't need to set the instances
17057         dimensions here.
17058
17059 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17060
17061         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17062         not HAVE_DLOPEN, which is a lower-level thing.
17063
17064         * .cvsignore: Ignore gmon.out
17065
17066 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17067
17068         * .cvsignore: Ignore portable dumper xemacs.dmp file
17069
17070 2000-02-09  Andy Piper  <andy@xemacs.org>
17071
17072         * redisplay-output.c (redisplay_output_layout): be more clever
17073         about when we output based on the changed flags.
17074
17075         * glyphs.h (struct image_instantiator_methods): add update_method.
17076         (struct Lisp_Image_Instance): add changed flags. Declare new
17077         macros for manipulating them.
17078
17079         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17080         (image_instance_parent_glyph): find an image_instance's parent
17081         glyph or image_instance.
17082         (image_instance_layout): mark the size as changed.
17083         (set_image_instance_dirty_p): new function. mark an image
17084         instance, plus all of its parents, as dirty.
17085         (Fset_image_instance_property): use it.
17086         (Fglyph_animated_timeout_handler): use it.
17087         (update_subwindow): call update_widget and device methods for
17088         update_subwindow. Mark all changed flags as clean.
17089         (Fresize_subwindow): mark size as changed.
17090
17091         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17092         failures.
17093         (x_update_subwindow): only resize subwindows here.
17094         (x_update_widget): new function. Update all changed properties of
17095         a widget.
17096         (x_resize_subwindow): deleted.
17097         (x_widget_set_property): deleted.
17098         (x_progress_gauge_set_property): deleted.
17099         (x_progress_gauge_update): new function. Implement recorded
17100         changes.
17101         (x_tab_control_update): ditto.
17102         (x_tab_control_set_property): deleted.
17103         (console_type_create_glyphs_x): declare new functions.
17104         (image_instantiator_format_create_glyphs_x): ditto.
17105
17106         * glyphs-widget.c (widget_set_property): mark text changed.
17107         (update_widget): new function. Update properties of a widget.
17108         (widget_instantiate): for layouts make sure we set their
17109         children's parent correctly.
17110         (tab_control_set_property): new function. Record changes that will
17111         take place under redisplay's control.
17112         (progress_gauge_set_property): ditto.
17113         (image_instantiator_progress_guage): declare new functions.
17114         (image_instantiator_tab_control): ditto.
17115
17116         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17117         now.
17118         (mswindows_update_widget): new function. Update all properties on
17119         a widget that have changed.
17120         (mswindows_button_update): new function. Update a button's set
17121         state.
17122         (mswindows_tab_control_update): new function. Update the items in
17123         a tab.
17124         (mswindows_tab_control_set_property): deleted.
17125         (mswindows_progress_gauge_update): new function. Update the
17126         progress gauge's progress.
17127         (mswindows_widget_set_property): deleted. This is all done
17128         asynchronously now.
17129         (mswindows_progress_gauge_set_property): ditto.
17130         (console_type_create_glyphs_mswindows): declare new methods.
17131         (image_instantiator_format_create_glyphs_mswindows): ditto.
17132
17133         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17134         (msprinter_set_frame_properties): ditto.
17135
17136         * console.h (struct console_methods): Add update_widget_method.
17137
17138 2000-02-09  Andy Piper  <andy@xemacs.org>
17139
17140         * gui-msw.c (Fmswindows_shell_execute): Make
17141         mswindows-shell-execute industrial strength.
17142
17143 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17144
17145         * lrecord.h: Make macro argument `props' match member function `plist'.
17146         * fns.c (Fget):
17147         * fns.c (Fput):
17148         * fns.c (Fremprop):
17149         * fns.c (Fobject_plist):
17150         * alloc.c:
17151         * symbols.c:
17152         Object property list frobbing cleanup.
17153         - Allow any lisp object (compared with `eq'), not just symbols, as
17154           keys in object plists.
17155         - Move symbol plist frobbing into symbols.c, where it belongs.
17156         - Move string plist frobbing into alloc.c, where it belongs.
17157         - Everything's an lrecord now, so no need to test for symbolp, etc.
17158         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17159
17160         * extents.c: Reorder code to remove declarations.
17161
17162         * frame.h (store_in_alist): Remove useless declaration.
17163
17164 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17165
17166         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17167         * config.h.in: Add HAVE_XCONVERTCASE.
17168
17169 2000-02-07  Andy Piper  <andy@xemacs.org>
17170
17171         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17172         it breaks many things.
17173
17174 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17175
17176         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17177         actually can start a common comment type.
17178         * src/syntax.h (SYNTAX_END_P): ditto for end.
17179
17180 2000-02-07  Martin Buchholz <martin@xemacs.org>
17181
17182         * XEmacs 21.2.28 is released.
17183
17184 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17185
17186         * event-Xt.c (x_keysym_to_character): New.
17187         (maybe_define_x_key_as_self_inserting_character): New.
17188         (x_has_keysym): New.
17189         Auto-define all keys on the keyboard as self-insert-key.
17190
17191 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17192
17193         * menubar.c (vars_of_menubar): A small code simplification.
17194
17195         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17196
17197         * ExternalShell.c:
17198         * ExternalClient.c:
17199         * EmacsShell-sub.c:
17200         * EmacsManager.c:
17201         * EmacsFrame.c:
17202         Use consistent style for specifying X resources.
17203
17204         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17205         This makes (dontusethis-set-symbol-value-handler) actually usable.
17206
17207         * lrecord.h (lrecord_decription_type):
17208         * alloc.c (pdump_register_sub):
17209         (pdump_dump_data):
17210         (pdump_reloc_one):
17211         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17212         Comply with XEmacs coding style.
17213         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17214         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17215
17216         * keymap.c (Faccessible_keymaps):
17217         Make (accessible-keymaps map "\C-h") do the Right Thing.
17218         Make (accessible-keymaps map []) do the Right Thing.
17219         Make (accessible-keymaps map "") do the Right Thing.
17220         (check_keymap_definition_loop): New function.
17221         (keymap_store_internal): Keep luser from shooting self in foot,
17222           via (define-key ctl-x-4-map "p" global-map).
17223         Remove fullness slot from struct Lisp_Keymap, since hash tables
17224         are now reliable.
17225         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17226
17227 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17228
17229         * redisplay.c (init_redisplay): Fix small memory leak.
17230         * elhash.h:
17231         * elhash.c (pdump_reorganize_hash_table):
17232         Rename from reorganize_hash_table. Change prototype.
17233         Reuse the original memory for hentries.  Save 100k.
17234         * alloc.c (PDUMP_READ): new macro.
17235         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17236         * alloc.c: No need to #ifndef before #undef.
17237
17238         * print.c: Allow debug_print() to print readably by modifying
17239         debug_print_readably.  Use consistent variable names.
17240
17241         * .dbxrc: Try to get things to work even if stopped in a function
17242         without source available by explicitly specifying source files.
17243 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17244
17245         * unexnt.c (_start): Removed bogus code which caused loading heap
17246         from differrent executable file.
17247         Removed bogus assignment to _fmode, which caused inconsistencies.
17248
17249 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17250
17251         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17252         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17253         Do not preliminary `#define signal sigset'.
17254
17255         * systime.h: Do not prototype environ on windows nt and cygwin,
17256         this conflicts with system header.
17257
17258         * syssignal.h: Use correct define for WINDOWSNT
17259
17260         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17261         with system header.
17262
17263         * sysdep.c (near start of file): Fixed commentary and rearranged
17264         ifdefs in readable order.
17265         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17266         (start_of_text):
17267         (end_of_text):
17268         (end_of_data): Do not compile in if using PDUMP.
17269
17270         * symsinit.h: Prototyped vars_of_nt().
17271
17272         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17273         (find_child_console): Use it.
17274         (sys_kill): Use it.
17275
17276         * ntheap.h: Do not extern os_subtype.
17277
17278         * ntheap.c (cache_system_info): Do not cache unneeded:
17279         nt_major_version, nt_minor_version and os_subtype.
17280         (recreate_heap): Do not compile in when PDUMPing.
17281
17282         * nt.c (geteuid and friends): Use the new varibale
17283         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17284         (init_user_info): Removed the above mentioned hackery.
17285         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17286         stat has been fixed in the C runtime.
17287         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17288
17289         * file-coding.c (struct file_coding_dump): Do not define
17290         ucs_to_mule_table in the struct if not MULE.
17291         (struct struct lrecord_description fcd_description_1): Do not dump
17292         the above.
17293
17294         * emacs.c (main_1): Call vars_of_nt().
17295         (right before Fdump_emacs_data): Don't need lastfile if using both
17296         portabe dumper and system malloc.
17297
17298         * alloc.c (Fmemory_limit): Conditionalized out.
17299         (pdump): Use OPEN_BINARY for the portable dump file.
17300         (pdump_load): Ditto.
17301
17302 2000-02-02  Mike Alexander  <mta@arbortext.com>
17303
17304         * nt.c (convert_time): Set tm_isdst before calling mktime and
17305         avoid calling it at all if the compiler supports 64 bit integers.
17306         Also initialize utc_base_ft before using it.
17307
17308 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17309
17310         * frame.c (change_frame_size_1): Take f->internal_border_width
17311         into consideration when calculating the width of the frame.
17312
17313 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17314
17315         * window.c (frame_min_height):
17316         (frame_size_valid_p):
17317         (frame_pixsize_valid_p): Added.
17318         (check_frame_size): Generalized.
17319
17320         * window.h: Prototyped the above.
17321
17322         * lisp.h:
17323         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17324         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17325         Deleted Vwin32_* and Vbinary_process_* unused variables.
17326
17327         * device-msw.c (msprinter_init_device): Do not get printer font
17328         list; Added DEVMODE functions.
17329
17330         * frame-msw.c: Added lots of printer code.
17331
17332         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17333         general.c.
17334
17335         * console-msw.h: Added more msprinter device private slots.
17336
17337 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17338
17339         * event-msw.c (key_needs_default_processing_p): Added.
17340         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17341
17342 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17343
17344         * glyphs.c (image_instance_layout): Mark image instance as clean
17345         after layout.
17346         (glyph_dirty_p): Removed redundant function.
17347         (invalidate_glyph_geometry_maybe): Added.
17348         (update_glyph_cachel_data): Call it.
17349
17350         * glyphs.h: Prototyped it.
17351
17352         * redisplay.c (add_glyph_rune): Call it.
17353         (redisplay_window): Reset glyphs cachels when frame faces have
17354         changed, thus forcing recomputation of built-in border glyphs.
17355
17356 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17357
17358         * Makefile.in.in: Make portable dumper and purify play well together.
17359         Add imperfect, but better than nothing, support for pdump.
17360         Remove xemacs.dmp when temacs is re-generated.
17361         Don't ignore errors when dumping xemacs.
17362
17363         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17364
17365 2000-01-28  Andy Piper  <andy@xemacs.org>
17366
17367         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17368         (setup_normal_frame): ditto.
17369         (setup_frame_without_minibuffer): ditto.
17370         (setup_minibuffer_frame): ditto.
17371         (delete_frame_internal): ditto.
17372         (Fmake_frame_invisible): ditto.
17373         (Ficonify_frame): ditto.
17374
17375         * window.h: change Fset_window_buffer signature.
17376
17377         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17378         (Fset_window_buffer): allow recording of buffer if the window is
17379         the selected window.
17380         (window_loop): Use new Fset_window signature.
17381
17382 2000-01-23  Daniel Pittman  <daniel@danann.net>
17383
17384         * config.h.in: Added template for `HAVE_ATHENA_3D'
17385
17386 2000-01-29  Andy Piper  <andy@xemacs.org>
17387
17388         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17389
17390         * gutter.c (output_gutter): Don't output if the window isn't live.
17391
17392 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17393
17394         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17395         of 01/12/00: Moved SetFocus back here where it belongs.
17396
17397 2000-01-23  Andy Piper  <andy@xemacs.org>
17398
17399         * s/cygwin32.h: declare printer things.
17400
17401 2000-01-26  Andy Piper  <andy@xemacs.org>
17402
17403         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17404         Alexander.
17405
17406 2000-01-24  Andy Piper  <andy@xemacs.org>
17407
17408         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17409         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17410
17411         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17412
17413         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17414
17415         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17416
17417         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17418         (mswindows_output_display_block): Avoid local shadows.
17419
17420         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17421         (mswindows_enqueue_mouse_button_event): ditto.
17422         (mswindows_handle_gui_wm_command): remove declaration.
17423
17424         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17425         warnings.
17426
17427         * console-msw.h: Avoid shadows.
17428         (mswindows_get_toolbar_button_text):
17429         (emacs_mswindows_create_stream_pair):
17430         (emacs_mswindows_delete_stream_pair):
17431         (mswindows_handle_toolbar_wm_command): declare.
17432
17433         * device-msw.c (build_syscolor_string): Avoid shadows.
17434
17435 2000-01-23  Andy Piper  <andy@xemacs.org>
17436
17437         * glyphs-widget.c (widget_instantiate): reverse the items for
17438         layouts so that children are in the expected order.
17439
17440 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17441
17442         * ralloc.c: safe_bcopy ==> memmove
17443         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17444         * s/msdos.h: Remove BCOPY macros.
17445         * insdel.c (gap_right): Remove BCOPY conditional code.
17446         * insdel.c (gap_left): Remove BCOPY conditional code.
17447         XEmacs demands a working ANSI C compiler - hence memmove.
17448
17449         * regex.c (regex_compile): Remove accidental use of trigraphs.
17450
17451 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17452
17453         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17454         event timestamp.
17455
17456 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17457
17458         * event-msw.c (mswindows_drain_windows_queue): Added the
17459         parameter.
17460         (mswindows_need_event): Commented the call to
17461         mswindows_drain_windows_queue().
17462         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17463         only.
17464
17465         * console-msw.h: Moved a few function prototypes here from
17466         event-msw.c.
17467
17468         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17469         parameter from unsigned short to unsigned long.
17470         (Fmswindows_shell_execute): Added return value.
17471
17472 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17473
17474         * sysdep.c (init_system_name):
17475           process-unix.c (unix_canonicalized_host_name):
17476         Don't call freeaddrinfo() if getaddrinfo() fails.
17477
17478         * process-unix.c (unix_open_unix_network_stream):
17479         Moved the code to get a port # into address loop.
17480
17481 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17482
17483         * buffer.c (reinit_vars_of_buffer):
17484         The right place to initialize conversion_in_dynarr and
17485         conversion_out_dynarr.
17486
17487         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17488
17489         * process-unix.c (unix_canonicalize_host_name): Muleize.
17490         (unix_open_network_stream): Muleize.
17491
17492         * buffer.h: Fix up prototypes for ralloc.c functions.
17493
17494 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17495         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17496         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17497                 instead of gethostbyname()
17498         * process-unix.c: In unix_canonicalize_host_name() and
17499                 unix_open_network_stream(), add code to use getaddrinfo()
17500                 instead of gethostbyname().
17501
17502 2000-01-27  Daniel Pittman <daniel@danann.net>
17503
17504         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17505         libs when built with flat Athena.
17506
17507 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17508
17509         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17510         Use coding standards for function prototypes.
17511
17512 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17513
17514         * dialog-msw.c (push_lisp_string_as_unicode):
17515         * doc.c (unparesseuxify_doc_string):
17516         * dired.c (Fuser_name_completion_1):
17517         * dired.c (Fuser_name_all_completions):
17518         * dired.c (free_user_cache):
17519         * dired.c (user_name_completion):
17520         * console-x.c (get_display_arg_connection):
17521         * minibuf.c (clear_echo_area_internal):
17522         * minibuf.c (echo_area_append):
17523         * eldap.c (Fldap_open):
17524         * eldap.c (Fldap_search_internal):
17525         * frame-x.c (x_set_frame_text_value):
17526         * frame-x.c (x_set_frame_properties):
17527         * frame-x.c (x_create_widgets):
17528         * redisplay-tty.c (term_get_fkeys_1):
17529         * objects-x.c (x_parse_nearest_color):
17530         * objects-x.c (x_valid_color_name_p):
17531         * objects-x.c (x_initialize_font_instance):
17532         * objects-x.c (x_list_fonts):
17533         * objects-x.c (x_find_charset_font):
17534         * tooltalk.c (Fadd_tooltalk_message_arg):
17535         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17536         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17537         * process-unix.c (unix_create_process):
17538         * ntproc.c (sys_spawnve):
17539         * sound.c (Fplay_sound_file):
17540         * sound.c (Fplay_sound):
17541         * buffer.c (init_initial_directory):
17542         * buffer.c (init_buffer):
17543         * editfns.c (init_editfns):
17544         * editfns.c (Ftemp_directory):
17545         * editfns.c (Fuser_full_name):
17546         * editfns.c (uncache_home_directory):
17547         * editfns.c (get_home_directory):
17548         * editfns.c (Fuser_home_directory):
17549         * editfns.c (Fformat_time_string):
17550         * editfns.c (Fcurrent_time_string):
17551         * gui-x.c (button_item_to_widget_value):
17552         * database.c (Fopen_database):
17553         * event-Xt.c (x_to_emacs_keysym):
17554         * event-Xt.c (x_event_to_emacs_event):
17555         * event-Xt.c (describe_event_window):
17556         * event-msw.c (mswindows_wnd_proc):
17557         * glyphs-eimage.c (jpeg_instantiate):
17558         * glyphs-eimage.c (gif_instantiate):
17559         * glyphs-eimage.c (png_instantiate):
17560         * glyphs-eimage.c (tiff_instantiate):
17561         * glyphs-x.c (xbm_instantiate_1):
17562         * glyphs-x.c (x_xbm_instantiate):
17563         * glyphs-x.c (x_xface_instantiate):
17564         * glyphs-x.c (autodetect_instantiate):
17565         * glyphs-x.c (cursor_font_instantiate):
17566         * glyphs-x.c (x_widget_instantiate):
17567         * glyphs-x.c (x_widget_set_property):
17568         * glyphs-x.c (x_widget_property):
17569         * glyphs-x.c (BUILD_GLYPH_INST):
17570         * print.c (write_string_to_stdio_stream):
17571         * print.c (output_string):
17572         * print.c (Falternate_debugging_output):
17573         * print.c (Fexternal_debugging_output):
17574         * glyphs-msw.c (extract_xpm_color_names):
17575         * glyphs-msw.c (mswindows_xpm_instantiate):
17576         * glyphs-msw.c (bmp_instantiate):
17577         * glyphs-msw.c (resource_name_to_resource):
17578         * glyphs-msw.c (mswindows_resource_instantiate):
17579         * glyphs-msw.c (xbm_instantiate_1):
17580         * glyphs-msw.c (mswindows_xbm_instantiate):
17581         * glyphs-msw.c (mswindows_xface_instantiate):
17582         * glyphs-msw.c (mswindows_widget_instantiate):
17583         * glyphs-msw.c (add_tree_item):
17584         * glyphs-msw.c (add_tab_item):
17585         * glyphs-msw.c (mswindows_combo_box_instantiate):
17586         * glyphs-msw.c (mswindows_widget_property):
17587         * glyphs-msw.c (mswindows_combo_box_property):
17588         * glyphs-msw.c (mswindows_widget_set_property):
17589         * console.c (stuff_buffered_input):
17590         * objects-msw.c (mswindows_initialize_color_instance):
17591         * objects-msw.c (mswindows_valid_color_name_p):
17592         * objects-msw.c (mswindows_list_fonts):
17593         * objects-msw.c (mswindows_font_instance_truename):
17594         * bytecode.c (optimize_compiled_function):
17595         * select-x.c (symbol_to_x_atom):
17596         * select-x.c (x_atom_to_symbol):
17597         * select-x.c (hack_motif_clipboard_selection):
17598         * select-x.c (selection_data_to_lisp_data):
17599         * select-x.c (lisp_data_to_selection_data):
17600         * select-x.c (Fx_get_cutbuffer_internal):
17601         * select-x.c (Fx_store_cutbuffer_internal):
17602         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17603         * buffer.h (TO_INTERNAL_FORMAT): New function.
17604         * emacs.c (make_arg_list_1):
17605         * emacs.c (make_argc_argv):
17606         * emacs.c (main_1):
17607         * emacs.c (Fdump_emacs):
17608         * emacs.c (split_string_by_emchar_1):
17609         * file-coding.h:
17610         * lisp.h:
17611         * lstream.h:
17612         * symsinit.h:
17613         * device-x.c (x_init_device):
17614         * device-x.c (Fx_valid_keysym_name_p):
17615         * device-x.c (Fx_get_font_path):
17616         * device-x.c (Fx_set_font_path):
17617         * glyphs.c (bitmap_to_lisp_data):
17618         * glyphs.c (pixmap_to_lisp_data):
17619         * alloc.c (make_ext_string): Use coding system arguments.  Update
17620         all callers.
17621         * alloc.c (build_string):
17622         * callproc.c (child_setup):
17623         * callproc.c (init_callproc):
17624         * fileio.c (lisp_strerror):
17625         * fileio.c (directory_file_name):
17626         * fileio.c (Fexpand_file_name):
17627         * fileio.c (Ffile_truename):
17628         * fileio.c (Fsysnetunam):
17629         * fileio.c (Fdo_auto_save):
17630         * sysdep.c (sys_readdir):
17631         * tests.c: New file.  Allow adding C tests.
17632         Replace GET_* macros with a more comprehensible and flexible
17633         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17634         Modify all calls.
17635         Any coding system can be used to do format conversion.
17636         Eliminate enum external_data_format.
17637         Eliminate convert_to_external_format.
17638         Eliminate convert_to_internal_format.
17639         Make sure file-name, keyboard, terminal, and ctext are always
17640         defined as coding systems or aliases.  Make
17641         file-name-coding-system, terminal-coding-system, and
17642         keyboard-coding-system magical variables that are equivalent to
17643         defining the corresponding coding system aliases.
17644
17645         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17646         * file-coding.c (Fcoding_system_alias_p): New function.
17647         * file-coding.c (Fcoding_system_aliasee): New function.
17648         * file-coding.c (append_suffix_to_symbol): New function.
17649         * file-coding.c (dangling_coding_system_alias_p): New function.
17650         * file-coding.c (Ffind_coding_system):
17651         * file-coding.c (Fcopy_coding_system):
17652         * file-coding.c (encode_coding_no_conversion):
17653         * file-coding.c (syms_of_file_coding):
17654         * file-coding.c (vars_of_file_coding):
17655         Rewrite coding system alias code.
17656         Allow nested aliases, like symbolic links.
17657         Allow redefinition of coding system aliases.
17658         Prevent existence of dangling coding system aliases.
17659
17660         * dired.c (Fuser_name_completion_1):
17661         * dired.c (Fuser_name_all_completions):
17662         A crash would happen if user did QUIT in the middle of building
17663         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17664
17665         * lisp.h:
17666         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17667
17668         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17669         an unsigned char *.  Update all callers.
17670
17671 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17672
17673         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17674
17675 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17676
17677         * elhash.c (hentry_description): Use more portable definition.
17678         (resize_hash_table): Initialize new hentries using
17679         xnew_array_and_zero, thereby simplifying the code.
17680
17681         * mule-charset.c (make_charset): Make sure entire object is
17682         initialized, to avoid Purify warnings.
17683
17684         * alloc.c (resize_string): Fix unlikely crash with big strings.
17685
17686 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17687
17688         * realpath.c (xrealpath):
17689         Don't call getwd().
17690
17691 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17692
17693         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17694
17695 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17696
17697         * unexelfsgi.c (unexec): Change the way we decide which segment
17698         should be extended.
17699
17700         Assumption that .bss section should be outside the PT_LOADable
17701         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17702         it's present) is inside the 'data' segment. This would fail the
17703         test which was used to find a segment to grow and cover new
17704         heap. Instead of this assumption, I created another one - on IRIX
17705         the segment to grow should start below .bss and it's address
17706         should extent above the end of .bss. Once this segment is
17707         identified, it's grown to accommodate the new heap and new
17708         zero-length .bss section is added at the end of .data2.
17709
17710 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17711
17712         * eval.c (Feval): Wrong number of arguments should use original
17713         function, not the indirect_function version of it.
17714
17715 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17716
17717         * glyphs-x.c (x_button_instantiate): Don't add image if
17718         it is not a pixmap.
17719         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17720         is relative.
17721
17722 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17723
17724         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17725         declaration.
17726         (DEFVAR_INT_MAGIC): Ditto.
17727         (DEFVAR_BOOL_MAGIC): Ditto.
17728         * glyphs.h: Reindent backslash.
17729
17730 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17731
17732         * glyphs-widget.c (layout_query_geometry):
17733         (layout_layout): Use correct types for gheight, gwidth.
17734
17735 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17736
17737         * EmacsManager.c (QueryGeometry): Purified.
17738
17739 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17740
17741         * alloc.c (make_float): Make sure entire object is initialized, to
17742         avoid Purify warnings.
17743         (pdump_register_sub): Remove useless assignment.
17744         (pdump): Use xmalloc, not malloc.
17745         (pdump_load): Use xmalloc, not malloc.
17746
17747 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17748
17749         * callproc.c:
17750         * dired-msw.c:
17751         * fileio.c:
17752         * process-nt.c:
17753         * redisplay-msw.c:
17754         * sysdep.c: Removed redundant #include <windows.h>
17755
17756 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17757
17758         * frame.c (delete_frame_internal): Do not delete device when its
17759         implementation so declares.
17760         (delete_frame_internal): Set device selected frame to nil when
17761         last frame goes away.
17762
17763         * device-msw.c (msprinter_device_system_metrics): Implemented.
17764         (mswindows_device_system_metrics): Added 'device-dpi property.
17765
17766         * device.c: (Fdevice_printer_p): Added.
17767         Added 'offset-workspace device metric.
17768
17769         * console.h (device_metrics): Declared DM_offset_workspace.
17770
17771 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17772
17773         * fileio.c (Ffile_truename): Remove pointless and confusing
17774         initialization of elen.
17775
17776         * glyphs-widget.c: Compiler warning fixes.
17777
17778 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17779
17780         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17781         instead of a Lisp_Object as argument to make it consistent with
17782         the other LIVE_P macros.
17783         (CHECK_LIVE_PROCESS): New macro.
17784
17785         * process.c: Declare Qprocess_live_p.
17786         (Fprocess_live_p): New function.
17787         (create_process): Use PROCESS_LIVE_P.
17788         (read_process_output): Ditto.
17789         (set_process_filter): Ditto.
17790         (Fdelete_process): Ditto.
17791         (kill_buffer_processes): Ditto
17792         (process_send_signal): Use CHECK_LIVE_PROCESS.
17793         (Fprocess_input_coding_system): Check whether process is still
17794         alive (fix PR#1061).
17795         (Fprocess_output_coding_system): Ditto.
17796         (Fprocess_coding_system): Ditto.
17797         (Fset_process_input_coding_system): Ditto.
17798         (Fset_process_output_coding_system): Ditto.
17799
17800 2000-01-23  Andy Piper  <andy@xemacs.org>
17801
17802         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17803         layout and widget.
17804
17805         * glyphs.c (mark_image_instance): take into account changed
17806         image_instance format.
17807         (image_instance_equal): ditto.
17808         (image_instance_hash): ditto.
17809
17810         * glyphs-widget.c (widget_instantiate): Incorporate layout
17811         instantiation here. Delay layout of the layout until later.
17812         (layout_instantiate): deleted.
17813         (layout_query_geometry): new function. get the geometry of a
17814         layout.
17815         (layout_layout): layout a layout dynamically.
17816         (image_instantiator_widget): New function - splitting up
17817         image_instantiator_format_create_glyphs_widget for netwinder
17818         compilation.
17819         (image_instantiator_buttons):
17820         (image_instantiator_edit_fields):
17821         (image_instantiator_combo_box):
17822         (image_instantiator_scrollbar):
17823         (image_instantiator_progress_guage):
17824         (image_instantiator_tree_view):
17825         (image_instantiator_tab_control):
17826         (image_instantiator_labels):
17827         (image_instantiator_layout): ditto.
17828         (image_instantiator_format_create_glyphs_widget): Call preceding
17829         functions.
17830
17831 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17832
17833         * process.c (Fset_process_coding_system):
17834         * device-x.c (Fx_keysym_hash_table):
17835         Docstring fixes.
17836
17837         * lstream.c (Lstream_write): Return documented value, not 0.
17838
17839         * fileio.c (directory_file_name):
17840         (Fsubstitute_in_file_name):
17841         (Fsubstitute_insert_file_contents_internal):
17842         (Fwrite_region_internal):
17843         * emacs.c:
17844         * sysdep.c:
17845         * getloadavg.c:
17846         * systty.h:
17847         Remove vestigial APOLLO-conditional code.
17848
17849 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17850
17851         * getpagesize.h: Add guard macros.
17852         * libsst.h: Add guard macros.
17853         * libst.h: Add guard macros.
17854         * line-number.h: Add guard macros.
17855         * ndir.h: Add guard macros.
17856         * sysfloat.h: Add guard macros.
17857         * sysfile.h: Add guard macros.
17858         * sysproc.h: Add guard macros.
17859         * syswait.h: Add guard macros.
17860         * xintrinsic.h: Add guard macros.
17861         * xintrinsicp.h: Add guard macros.
17862         * xmmanager.h: Add guard macros.
17863         * xmmanagerp.h: Add guard macros.
17864         * xmprimitive.h: Add guard macros.
17865         * xmu.h: Add guard macros.
17866         * gpmevent.h: Add copyright statement. Add guard macros.
17867         * miscplay.h: Add guard macros.
17868         * *.h: Use consistent C-standards-approved guard macro names.
17869
17870         * opaque.c (make_opaque): Switch parameter order.
17871         * opaque.h (make_opaque): Switch parameter order.
17872         Update all callers.
17873         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17874
17875         * config.h.in (type_checking_assert): Added.
17876         (bufpos_checking_assert): Added.
17877
17878 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17879
17880         * alloc.c: Harmless pdump changes.
17881         - Use countof().
17882         - spell alignment correctly.
17883         * sysdep.c: Use countof()
17884
17885 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17886
17887         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17888         initially_selected_for_input() console method, default to 0.
17889         (semi_canonicalize_console_connection): Try to delegate to
17890         canonicalize_console_connection if no such console method.
17891         (canonicalize_console_connection): Vice versa.
17892         (print_console): Do not print nil connection.
17893
17894         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17895         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17896         (XDEVIMPF_FRAMELESS_OK): Added.
17897         (CONSOLE_INHERITS_METHOD): Added.
17898
17899         * console-msw.c (mswindows_canonicalize_console_connection):
17900         Added.
17901         (mswindows_canonicalize_device_connection): Added.
17902
17903         * console-msw.h (struct msprinter_device): Added this struct and
17904         accessor macros.
17905         (mswindows_device): Made fontlist a lisp object.
17906
17907         * device.c (semi_canonicalize_device_connection):  Try to delegate
17908         to canonicalize_device_connection if no such console method.
17909         (canonicalize_device_connection): Vice versa.
17910         (print_device): Do not print nil connection.
17911
17912         * device-msw.c (mswindows_init_device): Call InitCommonControls
17913         when have widgets.
17914         (mswindows_delete_device): Removed fontlist deallocation.
17915         (mswindows_mark_device): Added.
17916
17917         * events.c (event_equal): Added abort() at unreached code.
17918         (event_hash): Ditto.
17919
17920         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17921         fallback tags of Windows devices.
17922
17923         * general.c (syms_of_general): Initialized Qmsprinter.
17924
17925         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17926         of fallback tags of Windows devices.
17927
17928         * lisp.h: Declared Qmsprinter.
17929
17930         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17931         of strings.
17932         (mswindows_list_fonts): Ditto.
17933         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17934         that it can be used by both mswindows and msprinter devices.
17935         (initialize_font_instance): Added.
17936         (mswindows_initialize_font_instance): Use it.
17937         (msprinter_initialize_font_instance): Added.
17938
17939         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17940         and implementation flags check.
17941         (redisplay_without_hooks): Changed the call to the above.
17942         (Fredraw_device): Ditto.
17943         (Fredisplay_device): Ditto.
17944
17945         * redisplay-msw.c (get_frame_dc): Implemented.
17946         (get_frame_compdc): Implemented.
17947         (many functions): Use the two functions above to get device
17948         contexts, ether for a window or a printer.
17949
17950 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17951
17952         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17953         initialization here.
17954         (init_symbols_once_early): Call it.
17955         * emacs.c (main_1): Call it.
17956         * symsinit.h: Declare it.
17957
17958 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17959
17960         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17961         Lisp_Object.
17962         (pdump_backtrace): Ditto.
17963         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17964         (pdump_get_entry): Abort if trying to register a null pointer.
17965         (pdump_dump_data): Cleanup types when relocating.
17966         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17967         (pdump_dump_rtables): Remove bad casts.
17968         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17969         Lisp_Object instead of a EMACS_INT for the hashtable
17970         reorganization.
17971
17972 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17973
17974         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17975
17976         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17977
17978         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17979
17980         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17981
17982 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17983
17984         * faces.h (FACE_STRIKETHRU_P): Added.
17985
17986         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17987         of font variants.
17988
17989         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17990         (mswindows_set_dc_font): New function, aware of font variants,
17991         separated from mswindows_update_dc.
17992
17993         * objects-msw.h (struct mswindows_font_instance_data): Added
17994         definition.
17995
17996         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17997         cached fonts and the data structure.
17998         (mswindows_initialize_font_instance): Added creation of font data
17999         structure.
18000         (mswindows_print_font_instance): Print at least something.
18001         (mswindows_create_font_variant): Implemented.
18002         (mswindows_get_hfont): Implemented.
18003
18004 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18005
18006         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18007         prototyping problem with msvc.
18008
18009         * emacs.c (main_1): added syms_of_gui_mswindows() call
18010
18011         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18012         syms_of_gui_mswindows() function
18013
18014         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18015
18016 2000-01-18  Martin Buchholz <martin@xemacs.org>
18017
18018         * XEmacs 21.2.27 is released.
18019
18020 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18021
18022         * glyphs-eimage.c (struct tiff_error_struct):
18023         (tiff_error_func):
18024         (tiff_warning_func):
18025         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18026
18027         * unexmips.c:
18028         * unexhp9k3.c:
18029         * unexfreebsd.c:
18030         * unexec.c: Remove vestigial Lucid C code.
18031         * unexalpha.c:
18032         * unexaix.c:
18033         * termcap.c:
18034         * libsst.c: Ansify.
18035         Remove declarations of errno and strerror().
18036
18037         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18038
18039         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18040
18041 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18042
18043         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18044         Optimize.
18045
18046 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18047
18048         * md5.c:
18049         * file-coding.c:
18050         * file-coding.h:
18051         Change enum eol_type to eol_type_t.
18052
18053 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18054
18055         * gui.c (get_gui_callback): Check cons before accessing car.
18056
18057 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18058
18059         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18060         (XSETSPECIFIER_TYPE): Ditto.
18061
18062 2000-01-17  Didier Verna  <didier@xemacs.org>
18063
18064         * redisplay.c (generate_fstring_runes): compute string size in
18065         characters, not bytes.
18066
18067 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18068
18069         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18070
18071 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18072
18073         * print.c (print_error_message): Call print_prepare().
18074
18075 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18076
18077         * .dbxrc: Renamed from dbxrc.
18078
18079         * events.c (event_to_character):
18080         Use `assert (foo)' instead of `if (!foo) abort()'
18081
18082         * .gdbinit (xtype): Add documentation.
18083         * .gdbinit (check-temacs): New function.
18084         * .gdbinit (check-xemacs): New function.
18085         * dbxrc (check-xemacs): New function.
18086         * dbxrc (check-xemacs): New function.
18087
18088 2000-01-14  Andy Piper  <andy@xemacs.org>
18089
18090         * glyphs-widget.c (widget_query_geometry): Make sure that we
18091         calculate default dimensions correctly.
18092
18093 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18094
18095         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18096
18097         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18098         pdump_wire'd variable.
18099
18100         * emacs.c: (main_1): Conditionalized calls to
18101         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18102
18103 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18104
18105         * window.c (Fset_window_configuration):
18106         * sysdep.c (_start):
18107         * input-method-motif.c (res):
18108         * event-Xt.c (Xt_process_to_emacs_event):
18109         Simple compiler warning fixes.
18110
18111         * bytecode.c (funcall_compiled_function): Use the original
18112         function symbol on the backtrace list in preference to the
18113         compiled_function object in error messages.
18114
18115 2000-01-13  Andy Piper  <andy@xemacs.org>
18116
18117         * glyphs-x.c (update_widget_face): Make sure we update the widget
18118         background as well as foreground.
18119
18120 2000-01-13  Andy Piper  <andy@xemacs.org>
18121
18122         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18123         fields to subwindow.
18124         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18125         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18126         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18127         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18128
18129         * glyphs-widget.c (check_valid_tab_orientation): new function.
18130         (initialize_widget_image_instance): zero orientation and
18131         justification.
18132         (widget_instantiate): pick up orientation.
18133         (tab_control_query_geometry): return appropriate values for
18134         vertical tabs.
18135
18136         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18137         appropriate creation flags for left, right and bottom tabs.
18138
18139         * s/cygwin32.h: add tab definitions.
18140
18141 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18142
18143         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18144         frame upon hiding a subwindow.
18145         (mswindows_button_instantiate): Changed the push button style to
18146         BS_PUSHBUTTON.
18147         (mswindows_button_instantiate): Removed button BS_NOTIFY
18148         style.
18149         (mswindows_button_instantiate): Removed redundant check for
18150         a disabled gui item.
18151         (mswindows_button_instantiate): Made use of WS_TABSTOP
18152         consistent: "operable" controls (edit, button, tree, scroll) have
18153         this style, "display-only" ones (static, progress gauge) do
18154         not. This style is currently ignored by XEmacs though. Also,
18155         removed the WS_EX_CONTROLPARENT style - it is not for children,
18156         it is for their parents!
18157         (mswindows_edit_field_instantiate): Ditto.
18158         (mswindows_progress_gauge_instantiate): Ditto.
18159         (mswindows_tree_view_instantiate): Ditto.
18160         (mswindows_tab_control_instantiate): Ditto.
18161         (mswindows_scrollbar_instantiate): Ditto.
18162         (mswindows_combo_box_instantiate): Ditto.
18163         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18164         style to the "clip" window.
18165         (mswindows_button_instantiate): Removed compilation warning by
18166         equally typing terms of the ?: operator.
18167
18168 2000-01-12  Didier Verna  <didier@xemacs.org>
18169
18170         * redisplay.c (generate_fstring_runes): new parameter holding the
18171         last modeline-format extent.
18172         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18173         extent, fill the glyph block with it.
18174         (generate_fstring_runes): handle these parameters.
18175         (generate_formatted_string_db): ditto.
18176
18177         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18178         glyphs'extents in the modeline.
18179
18180 1999-01-11  Mike Woolley  <mike@bulsara.com>
18181
18182         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18183         256Mb, as a workaround for the non-starting problem many people
18184         have experienced.
18185
18186 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18187
18188         * console-tty.c (Fset_console_tty_output_coding_system):
18189         Force redrawing tty frame.
18190
18191 2000-01-10  Didier Verna  <didier@xemacs.org>
18192
18193         * redisplay.c (generate_fstring_runes): fix size computation bug.
18194
18195 2000-01-09  William M. Perry <wmperry@aventail.com>
18196
18197         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18198
18199 2000-01-09  Andy Piper  <andy@xemacs.org>
18200
18201         * glyphs-msw.c: index -> i to avoid shadows.
18202         (xbm_create_bitmap_from_data): make static.
18203         (check_valid_string_or_int): deleted.
18204         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18205
18206         * glyphs-x.c (x_update_subwindow): remove unused args.
18207
18208         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18209         back pointer - this is done in allocate_image_instance.
18210         (query_string_font): return Qnil to make the compiler happy.
18211         (unmap_subwindow): set to ~0 to make the compiler happy.
18212         (glyph_query_geometry): comment out until used.
18213         (glyph_layout): ditto.
18214
18215 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18216
18217         * insdel.c (signal_after_change): Remove extraneous unbind_to().