update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2013-04-23  MORIOKA Tomohiko  <tomo.git@chise.org>
2
3         * text-coding.c (struct decoding_stream): Use COS_object instead
4         of Lisp_Object for `combining_table' if HAVE_LIBCHISE is defined.
5         (reset_decoding_stream): Likewise.
6         (COMPOSE_FLUSH_CHARS): Likewise.
7         (concord_setup_env_maybe): New function.
8         (COMPOSE_ADD_CHAR): Use COS API for `str->combining_table' if
9         HAVE_LIBCHISE is defined.
10
11 2013-02-16  MORIOKA Tomohiko  <tomo.git@chise.org>
12
13         * chartab.c (find_char_feature_in_family): New implementation;
14         don't support multiple parents; support non-list mother.
15
16 2012-06-11  MORIOKA Tomohiko  <tomo.git@chise.org>
17
18         * text-coding.c (Qenable_decomposition): New variable in XEmacs
19         CHISE.
20         (Fmake_coding_system): Add new property `enable-decomposition' in
21         XEmacs CHISE.
22         (char_encode_utf8): Don't decompose character if
23         CODING_SYSTEM_ENABLE_DECOMPOSITION (str->codesys) is false.
24         (syms_of_file_coding): Add new symbol `enable-decomposition' in
25         XEmacs CHISE.
26         (complex_vars_of_file_coding): Define new coding-system-property
27         `enable-decomposition' in XEmacs CHISE.
28
29         * file-coding.h (struct Lisp_Coding_System): Add
30         `enable_decomposition' in XEmacs CHISE.
31         (CODING_SYSTEM_ENABLE_DECOMPOSITION): New macro in XEmacs CHISE.
32         (XCODING_SYSTEM_ENABLE_DECOMPOSITION): New macro in XEmacs CHISE.
33
34 2012-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
35
36         * text-coding.c (DECODE_ADD_UCS_CHAR): Add `static'.
37
38 2012-02-11  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
39
40         * text-coding.c (DECODE_ADD_UCS_CHAR): Don't use `INLINE_HEADER'.
41
42         * chartab.c (UINT8_DECODE): Don't use `INLINE_HEADER'.
43         (UINT16_DECODE): Ditto.
44
45         * glyphs-eimage.c (png_instantiate):
46         - Use `png_get_image_height (png_ptr, info_ptr)' instead of
47           `info_ptr->height'.
48         - Use `png_get_image_width (png_ptr, info_ptr)' instead of
49           `info_ptr->width'.
50         - Use `png_get_color_type(png_ptr, info_ptr)' instead of
51           `info_ptr->color_type'.
52         - Use `png_get_bit_depth(png_ptr, info_ptr)' instead of
53           `info_ptr->bit_depth'.
54
55 2011-07-20  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
56
57         * mule-charset.c (charset_code_point): If nil is specified as a
58         feature-value, don't find in mother and return -1.
59
60 2011-07-22  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
61
62         * chartab.c (Fput_char_attribute): Accept nil as a value of
63         CCS-feature [it means that specified object does not have
64         code-point of the CCS-feature].
65
66 2011-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * mule-charset.c (complex_vars_of_mule_charset): Use "jisx0208"
69         instead of "jisx0208\\.1990" as the X-registry of `=jis-x0208'.
70
71 2011-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * text-coding.c (char_encode_as_entity_reference): Don't use
74         `DECODE_CHAR' to detect isolated characters.
75
76         * mule-charset.c (charset_code_point): Change the third argument
77         `defined_only' to `accepted_mode'; `accepted_mode' can be
78         CHAR_ISOLATED_ONLY, CHAR_ALL or CHAR_DEFINED_ONLY.
79
80         * char-ucs.h (CHAR_ISOLATED_ONLY): New macro.
81         (CHAR_ALL): New macro.
82         (CHAR_DEFINED_ONLY): New macro.
83
84 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
85
86         * chartab.c (Fchar_feature_base_name_eq): New function when
87         UTF2000 is enabled.
88         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
89         (syms_of_chartab): Add new builtin function
90         `char-feature-base-name=' when UTF2000 is enabled.
91
92 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
93
94         * text-coding.c (Vdecomposition_feature_list): New variable when
95         UTF2000 is defined.
96         (char_encode_utf8): Refer variable `decomposition-feature-list'
97         instead of `=decomposition' feature.
98         (vars_of_file_coding): Add new variable
99         `decomposition-feature-list' when UTF2000 is defined.
100
101 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
102
103         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
104         `=decomposition' feature.
105
106 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
107
108         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
109         coded-charsets with builtin characters.
110
111 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
112
113         * text-coding.c (Qrep_decomposition): New extern.
114         (char_encode_utf8): Try to encode as combing sequence (or IVS).
115
116 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
119         "#endif" for code to refer Vchise_system_db_directory.
120
121 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
124         (Fconcord_object_adjoin): New function.
125         (Fconcord_object_adjoinX): New function.
126         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
127         `Fconcord_object_adjoinX'.
128
129 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * concord.c:
132         - Include "elconcord.h".
133         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
134           and `Fconcord_object_get' to elconcord.h.
135         (Lisp_CONCORD_DS): Moved to elconcord.h.
136         (struct Lisp_CONCORD_DS): Ditto.
137         (XCONCORD_DS): Ditto.
138         (XSET_CONCORD_DS): Ditto.
139         (CONCORD_DS_P): Ditto.
140         (CHECK_CONCORD_DS): Ditto.
141         (CONCHECK_CONCORD_DS): Ditto.
142         (Lisp_CONCORD_Object): Ditto.
143         (struct Lisp_CONCORD_Object): Ditto.
144         (XCONCORD_OBJECT): Ditto.
145         (XSET_CONCORD_OBJECT): Ditto.
146         (CONCORD_OBJECT_P): Ditto.
147         (CHECK_CONCORD_OBJECT): Ditto.
148         (CONCHECK_CONCORD_OBJECT): Ditto.
149         (CONCORD_OBJECT_GENRE): Ditto.
150         (CONCORD_OBJECT_ID): Ditto.
151         (XCONCORD_OBJECT_ID): Ditto.
152         (XCONCORD_OBJECT_GENRE): Ditto.
153         (concord_object_equal): New function.
154         (LRECORD_IMPLEMENTATION of "concord_object"): Use
155         `concord_object_equal'.
156
157         * elconcord.h: New file.
158
159 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * concord.c (print_concord_object): Use readable form even if
162         `print-readably' is nil.
163
164 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * concord.c (print_concord_object): Don't display location of
167         data-source when `print-readably' is nil.
168
169 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
170
171         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
172         the default location of data-source.
173         (complex_vars_of_concord): Use Vchise_system_db_directory to
174         assign genre `character' and `feature'.
175
176         * chartab.h (Vchise_system_db_directory): New extern when
177         HAVE_CONCORD is defined.
178
179 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
182         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
183         (Qfeature): Ditto.
184         (Fconcord_object_genre): New function.
185         (syms_of_concord):
186         - Add new builtin symbols `character' and `feature' when
187           HAVE_LIBCHISE is defined.
188         - Add Add new builtin function `concord-object-genre'.  
189         (complex_vars_of_concord): New function; assign genres `character'
190         and `feature' when HAVE_LIBCHISE is defined.
191
192 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * emacs.c (main_1): Call `complex_vars_of_concord' when
195         HAVE_CONCORD is defined.
196
197         * symsinit.h (complex_vars_of_concord): New prototype.
198
199 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * chartab.c (allocate_character): Add `static'.
202
203 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * chartab.c (allocate_character): New function.
206         (Fdefine_char): Use allocate_character().
207
208 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
209
210         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
211         (ÅŒkawara).
212
213 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * chartab.c (save_uint8_byte_table): Fixed problem when a property
216         is unloaded.
217         (save_uint16_byte_table): Likewise.
218
219 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * chartab.c (Fchar_feature_property): New function when LIBCHISE
222         is enabled.
223         (Fput_char_feature_property): Likewise.
224         (syms_of_chartab): Add new builtin functions
225         `char-feature-property' and `put-char-feature-property' when
226         LIBCHISE is enabled.
227
228 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
231         '=>iso-ir.
232         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
233
234 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
235
236         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
237         (make_charset): Add new argument `iso_ir'.
238         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
239         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
240         XEmacs CHISE.
241         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
242         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
243         XEmacs CHISE.
244         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
245         function `make_charset'.
246
247         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
248         (struct Lisp_Charset): Add new member `iso_ir'.
249         (CHARSET_ISO_IR): New macro.
250
251 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
254         code-point by GL charset.
255
256 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * concord.c (concord_id_validate): New function.
259         (structure_type_create_concord): Use `concord_id_validate' instead
260         of `concord_name_validate' to accept integer and character as =id.
261
262 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * concord.c (func_for_each_object): Fix bug about GC-protection.
265
266 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * concord.c (Fconcord_object_put): Check argument FEATURE is a
269         symbol.
270
271 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * text-coding.c (struct decoding_stream): Add new member
274         `bom_flag' in XEmacs CHISE.
275         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
276         in XEmacs CHISE.
277
278 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
279
280         * mule-charset.c: Move definition of `=jis-x0208@1978' to
281         lisp/mule/mule-conf.el.
282
283 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
284
285         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
286         (make_charset): Add new argument `partial'.
287         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
288         (Fmake_reverse_direction_charset): Modify for `make_charset'.
289         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
290         CHISE.
291         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
292         `=jis-x0208' as a partial coded-charset.
293
294 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
295
296         * text-coding.c (decode_add_er_char): Fix problem when a character
297         represented by an entity-reference is not defined.
298
299 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
302         Qrep_*.
303
304 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
307         (Kasagi).
308
309 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
310
311         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
312         is a relation feature.
313
314 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
315
316         * chartab.c (syms_of_chartab): Define
317         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
318
319         * chartab.h (Q_denotational): New extern when UTF2000 or
320         HAVE_CONCORD is defined.
321         (Q_denotational_from): Likewise.
322         (Q_subsumptive): Likewise.
323         (Q_subsumptive_from): Likewise.
324
325 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * concord.c (concord_object_put): New function.
328         (Fconcord_object_put): Use `concord_object_put'.
329
330 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * concord.c (Fconcord_define_object): New function.
333         (syms_of_concord): Add new builtin function
334         `concord-define-object'.
335
336 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
339         (Kamo).
340
341 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
342
343         * concord.c: Add EXFUN for Fconcord_object_get.
344         (Vconcord_genre_object_hash_table): New variable.
345         (concord_genre_cache_get_object): New function.
346         (concord_genre_cache_put_object): New function.
347         (Fconcord_make_object): Use object cache; put object-ID into `=id'
348         feature.
349         (Fconcord_object_put): Call `concord_index_sync' after
350         `concord_index_strid_put_obj'.
351         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
352
353 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * concord.c (Fconcord_decode_object): Do GCPRO for
356         Fconcord_make_object.
357         (func_for_each_object): Likewise; do GCPRO for
358         for_each_object_closure->function.
359         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
360         for_each_object_closure->function, for_each_object_closure->genre,
361         for_each_object_closure->ds and for_each_object_closure->ret.
362         (concord_object_validate): Do GCPRO for Fconcord_make_object.
363
364 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
365
366         * concord.c: Add EXFUNs for Fconcord_decode_object and
367         Fconcord_object_put.
368         (Fconcord_make_object): Change order of arguments.
369         (Fconcord_decode_object): Modify for Fconcord_make_object.
370         (func_for_each_object): Likewise.
371         (concord_object_validate): Likewise.
372         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
373
374 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
377
378 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * concord.c (Fconcord_decode_object): Try to use readable print
381         form as a key of Concord-index.
382         (Fconcord_object_get): Try to use readable print form as an ID of
383         Concord-object.
384         (Fconcord_object_put): Try to use readable print form as an ID of
385         Concord-object and a feature value.
386         (Fconcord_object_spec): Try to use readable print form as an ID of
387         Concord-object.
388
389 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * concord.c (print_concord_object): Support readable form.
392
393 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
394
395         * emacs.c (main_1): Call `structure_type_create_concord' when
396         HAVE_CONCORD is defined.
397
398         * symsinit.h (structure_type_create_concord): New prototype.
399
400         * concord.c (Qconcord_object): New variable.
401         (Qgenre): Likewise.
402         (Q_id): Likewise.
403         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
404         for directory.
405         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
406         char*> for genre-name.
407         (Fconcord_feature_list): Likewise.
408         (Fconcord_make_object): Likewise.
409         (Fconcord_decode_object): Likewise; use <char*> instead of
410         <unsigned char*> for feature_name and strid.
411         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
412         c_obj and feature_name.
413         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
414         char*> for c_value.
415         (struct closure_for_object_spec): Use <char*> instead of <unsigned
416         char*> for member `object_id'.
417         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
418         char*> for feature-name.
419         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
420         for c_obj.
421         (func_for_each_object): Cast to avoid warnings.
422         (Fconcord_foreach_object_in_feature): Use <char*> instead of
423         <unsigned char*> for genre_name and feature_name.
424         (concord_name_validate): New function.
425         (concord_object_validate): Likewise.
426         (concord_object_instantiate): Likewise.
427         (syms_of_concord): Add new builtin symbols `concord-object',
428         `genre' and `=id'.
429         (structure_type_create_concord): New function.
430
431 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * concord.c (Vconcord_ds_hash_table): New variable.
434         (Vconcord_genre_hash_table): New variable.
435         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
436         (Fconcord_ds_directory): New function.
437         (Fconcord_assign_genre): New function.
438         (Fconcord_genre_directory): New function.
439         (Fconcord_genre_ds): New function.
440         (Fconcord_feature_list): Allow to omit `ds'.
441         (Fconcord_make_object): Likewise.
442         (Fconcord_decode_object): Likewise.
443         (Fconcord_foreach_object_in_feature): Likewise.
444         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
445         Fconcord_assign_genre, Fconcord_genre_directory and
446         Fconcord_genre_ds.
447         (vars_of_concord): Setup Vconcord_ds_hash_table and
448         Vconcord_genre_hash_table.
449
450 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
451
452         * concord.c (struct closure_for_each_object): Add new member
453         `ret'.
454         (func_for_each_object): Setup the return value to
455         `for_each_object_closure->ret'.
456         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
457         returns the value instead of Qt.
458
459 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * concord.c: New file.
462
463 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
466         `lrecord_type_concord_object'.
467
468 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * symsinit.h (syms_of_concord): New prototype.
471         (vars_of_concord): New prototype.
472
473         * emacs.c (main_1): Setup symbols and variable about concord if
474         HAVE_CONCORD is defined.
475
476         * config.h.in (HAVE_CONCORD): New macro.
477
478 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * chartab.c (Fput_char_attribute): For each character relation
481         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
482
483 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * chartab.c (Fput_char_attribute): Use
486         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
487         calling `put_char_composition'.
488
489 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * chartab.c (Q_halfwidth_of): New variable.
492         (put_char_composition): Return `<-halfwidth' instead of
493         `=decomposition' for compatibility mapping to single character
494         tagged `narrow'.
495         (Fput_char_attribute): Convert char-specs in value of
496         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
497         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
498         for `<-halfwidth'.
499         (syms_of_chartab): Add new symbol `<-halfwidth'.
500
501 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
502
503         * chartab.c (put_char_composition): Return
504         `<-formed@{isolated|initial|medial|final}' for compatibility
505         mapping to single character tagged
506         `{isolated|initial|medial|final}'.
507
508 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
509
510         * chartab.c (Q_compat_of): Deleted.
511         (put_char_composition): Return `<-FOO' for compatibility mapping
512         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
513         of `symbol_name (XSYMBOL(...))'.
514         (Fput_char_attribute): Convert char-specs in value of
515         `{<-|->}font[^*]*' to characters and put reverse links.
516         (Fsave_char_attribute_table): Don't refer Q_compat_of.
517         (syms_of_chartab): Delete builtin symbol `<-compat'.
518
519 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
520
521         * chartab.c (Q_circled_of): New variable.
522         (put_char_composition): Return `<-circled' instead of
523         `=decomposition' for compatibility mapping to single character
524         tagged `circle'.
525         (Fput_char_attribute): Convert char-specs in value of
526         `{<-|->}circled[^*]*' to characters and put reverse links.
527         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
528         for `<-circled'.
529         (syms_of_chartab): Add new symbol `<-circled'.
530
531 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * chartab.c (Qto_decomposition_at_circled): New variable.
534         (put_char_composition): Return `=>decomposition@circled' instead
535         of `=decomposition' for compatibility decomposition mapping tagged
536         `circle'.
537         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
538
539 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * chartab.c (Q_subscript_of): New variable.
542         (put_char_composition): Return `<-subscript' instead of
543         `=decomposition' for compatibility mapping to single character
544         tagged `sub'.
545         (Fput_char_attribute): Convert char-specs in value of
546         `{<-|->}subscript[^*]*' to characters and put reverse links.
547         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
548         for `<-subscript'.
549         (syms_of_chartab): Add new symbol `<-subscript'.
550
551 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
552
553         * chartab.c (Q_superscript_of): New variable.
554         (put_char_composition): Return `<-superscript' instead of
555         `=decomposition' for compatibility mapping to single character
556         tagged `super'.
557         (Fput_char_attribute): Convert char-specs in value of
558         `{<-|->}superscript[^*]*' to characters and put reverse links.
559         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
560         for `<-superscript'.
561         (syms_of_chartab): Add new symbol `<-superscript'.
562
563 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * chartab.c (Qto_decomposition_at_compat): Deleted.
566         (Qto_decomposition_at_superscript): New variable.
567         (put_char_composition): Use `=>decomposition@superscript' instead
568         of `=decomposition' for compatibility decomposition mapping tagged
569         `super'.
570         (Fput_char_attribute): Fix condition about `put_char_composition'.
571         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
572         add news symbol `=>decomposition@superscript'.
573
574 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
577         for compatibility decomposition mapping tagged FOO.
578         (Fput_char_attribute): Modify for `put_char_composition'.
579
580 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * chartab.c (Qto_decomposition_at_compat): New variable.
583         (Q_compat_of): Renamed from `Q_compatibility_of'.
584         (put_char_composition): Rename `Q_compatibility_of' to
585         `Q_compat_of'; return `=>decomposition@compat' for compatibility
586         decomposition mapping.
587         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
588         `Q_compat_of'.
589         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
590         `<-compatibility' to `<-compat'.
591
592 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * chartab.c (Q_compatibility_of): New variable.
595         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
596         object is proved to be a cons cell; return `<-compatibility' if
597         the first element of argument `value' is `compat'.
598         (Fput_char_attribute): Eliminate the first value if
599         `put_char_composition' returns `<-compatibility'.
600         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
601         for `<-compatibility'.
602         (syms_of_chartab): Add new symbol `<-compatibility'.
603
604 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
605
606         * chartab.c (Q_canonical): New variable.
607         (put_char_composition): Return a feature name: return
608         `->canonical' if argument `value' specifies single character.
609         (Fput_char_attribute): Use `put_char_composition' to determine
610         feature name for `=decomposition' or `->denotational'.
611         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
612         for `->canonical'.
613         (syms_of_chartab): Add new symbol `->canonical'.
614
615 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * chartab.c (Qmap_decomposition): New variable.
618         (Fput_char_attribute): Convert `->decomposition' to
619         `=decomposition'.
620         (syms_of_chartab): Add new symbol `=decomposition'.
621
622 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
623
624         * chartab.c (Fget_range_char_table): Fix serious problem when
625         `range' is nil.
626
627 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * chartab.c (char_table_get_db): Use `read_from_c_string'.
630
631 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
632
633         * lread.c (read_from_c_string): New function.
634
635         * lisp.h (read_from_c_string): New prototype.
636
637 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
638
639         * chartab.c (Fput_char_attribute): Convert char-specs in value of
640         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
641         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
642         for `{<-|->}Oracle-Bones[^*]*'.
643
644 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
645
646         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
647         (Kizu).
648
649 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * text-coding.c (Qccs_priority_list): New variable in XEmacs
652         CHISE.
653         (Fmake_coding_system): Support new property `ccs-priority-list' in
654         XEmacs CHISE.
655         (Fcoding_system_property): Likewise.
656         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
657         Vdefault_coded_charset_priority_list in XEmacs CHISE.
658         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
659         XEmacs CHISE.
660         (complex_vars_of_file_coding): Define new coding-system-property
661         `ccs-priority-list' in XEmacs CHISE.
662
663         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
664
665 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
666
667         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
668         changed to normal function.
669         (encode_char_2): Likewise.
670
671         * mule-charset.c (decoding_table_put_char): Copied from
672         char-ucs.h; changed to normal function.
673         (encode_char_2): Likewise.
674
675 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
676
677         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
678         New extern.
679         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
680         (encode_char_2_search_children): New inline function.
681         (encode_char_2): Refer
682         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
683         and use `encode_char_2_search_children'.
684
685 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
686
687         * mule-charset.c
688         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
689         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
690         (vars_of_mule_charset): Add new variable
691         `display-coded-charset-priority-use-inheritance' and
692         `display-coded-charset-priority-use-hierarchy-order'.
693
694 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * char-ucs.h (Q_subsumptive): New extern.
697         (Q_denotational): Likewise.
698         (encode_char_2): Search children specified by `->subsumptive' and
699         `->denotational'.
700
701 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * mule-charset.c (complex_vars_of_mule_charset): Modify the
704         X-registry of `ucs-bmp'.
705
706 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
707
708         * chartab.c (char-variants): Refer `->subsumptive',
709         `->denotational' and `->identical' as same as `->ucs-unified'.
710
711 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * chartab.c (Fput_char_attribute): Convert char-specs in value of
714         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
715         links.
716
717 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
718
719         * text-coding.c: Add EXFUN for `Fregexp_quote'.
720         (decode_add_er_char): Fix problem about infinite loop when a CCS
721         specified in `coded-charset-entity-reference-alist' is not
722         existed.
723
724 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
725
726         * mule-charset.c (syms_of_mule_charset): Rename
727         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
728
729 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
730
731         * fns.c (simplify_char_spec): Don't allocate new character-object
732         if specified char_spec does not have any CCS-features.
733
734         * chartab.h: Add EXFUN for Fdefine_char.
735
736         * chartab.c: Delete EXFUN for Fdefine_char.
737
738 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
739
740         * fns.c (simplify_char_spec): Use Fdefine_char instead of
741         Ffind_char for char-spec.
742
743 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * lisp-disunion.h (XCHARVAL): Fix condition about
746         SIZEOF_EMACS_INT.
747
748 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
751         <int> for `code'.
752         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
753         point; use <Emchar> instead of <int> for character-id.
754
755 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
758         (make_char): Likewise.
759         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
760         environment.
761         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
762         instead of <int> as the type of return value; use <Lisp_Object>
763         instead of <Emchar> as the type of argument.
764         (XCHARVAL[macro version]): Cast the result into <Emchar>.
765
766         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
767         syntaxcode> instead of <int>.
768
769 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * chartab.c (put_char_composition): Use DECODE_CHAR to get
772         character corresponding with UCS code point.
773         (Fput_char_attribute): Likewise.
774
775         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
776         character in the UCS decoding-table if the char-id is not equal to
777         the UCS code point.
778
779 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
780
781         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
782         for aliases; write `description'; write
783         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
784         not 0.
785
786 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
787
788         * chartab.c (Fsave_char_attribute_table): Don't use
789         `save_charset_properties'.
790
791         * mule-charset.c (Fsave_charset_properties): Renamed from
792         `save_charset_properties' and changed to Lisp function again;
793         write property `type' as `CCS'; write properties `final-byte' and
794         `mother' if they exists.
795         (syms_of_mule_charset): Revive builtin function
796         `save-charset-properties' when HAVE_LIBCHISE is defined.
797
798 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
799
800         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
801         instead of Vexec_directory.
802         (char_attribute_system_db_file): Likewise.
803
804 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
805
806         * chartab.c (Fsave_char_attribute_table): Use
807         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
808         defined.
809
810         * mule-charset.c (save_charset_properties): Renamed from
811         `Fsave_charset_properties'; changed to non-Lisp function.
812         (syms_of_mule_charset): Abolish builtin function
813         `save-charset-properties'.
814
815 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * mule-charset.c (Fsave_charset_properties): New function when
818         HAVE_LIBCHISE is defined.
819         (syms_of_mule_charset): Add new builtin function
820         `save-charset-properties' when HAVE_LIBCHISE is defined.
821
822 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
823
824         * chartab.c (Fput_char_attribute): Convert char-specs in value of
825         `{<-|->}ancient[^*]*' to characters and put reverse links.
826         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
827         for `{<-|->}ancient[^*]*'.
828
829 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * chartab.c (Fput_char_attribute): Convert char-specs in value of
832         `{<-|->}original[^*]*' to characters and put reverse links.
833         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
834         for `{<-|->}original[^*]*'.
835
836 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
839
840 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
841
842         * mule-charset.c (Qsystem_char_id): New variable.
843
844         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
845         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
846
847 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
848
849         * chartab.c (Fput_char_attribute): When processing a reference of
850         a character, put into the end of the reversed reference of each
851         target character.
852
853 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * chartab.c (Q_same): Deleted.
856         (Q_same_of): Deleted.
857         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
858         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
859         for `{<-|->}same'.
860         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
861
862 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
863
864         * chartab.c (Q_vulgar): Deleted.
865         (Q_vulgar_of): Deleted.
866         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
867         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
868         for `{<-|->}vulgar'.
869         (syms_of_chartab): Don't define `{<-|->}vulgar'.
870
871 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
872
873         * chartab.c (Fput_char_attribute): Convert char-specs in value of
874         `{<-|->}wrong[^*]*' to characters and put reverse links.
875         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
876         for `{<-|->}wrong[^*]*'.
877
878 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * chartab.c (Q_vulgar): New variable.
881         (Q_vulgar_of): New variable.
882         (Fput_char_attribute): Convert char-specs in value of
883         `{->|<-}vulgar' to characters and put reverse links.
884         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
885         for `{->|<-}vulgar'.
886         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
887
888 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * text-coding.c (decode_add_er_char): Must to quote prefix string
891         as regexp.
892
893 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * mule-charset.c (put_char_ccs_code_point): Store characters of
896         =ucs whose code_points >= 0xF0000.
897
898 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
899
900         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
901         CHISE.
902         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
903         CHISE.
904         (complex_vars_of_mule_charset): Add new coded-charset
905         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
906         builtin characters over 0xEFFFF.
907
908         * chartab.c (syms_of_chartab): Don't define symbol
909         `system-char-id' in every case.
910
911         * char-ucs.h (Qsystem_char_id): New extern variable.
912         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
913
914 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * text-coding.c (char_encode_utf8): Try to use entity-references
917         for U-000F0000 ...  U-0010FFFF.
918
919 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
920
921         * text-coding.c (ER_BUF_SIZE): New macro.
922         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
923         `er_buf'.
924         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
925         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
926
927 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * chartab.c (find_char_feature_in_family): New function.
930         (Fchar_feature): Use `find_char_feature_in_family' with
931         `->identical', `<-subsumptive' and `<-denotational'.
932
933 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
934
935         * text-coding.c (char_encode_as_entity_reference): Allow prefix
936         within 8 characters; fix infinite loop.
937
938 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * chartab.c (Q_same): New variable.
941         (Q_same_of): New variable.
942         (Fput_char_attribute): Convert char-specs in value of
943         `{->|<-}same' to characters and put reverse links.
944         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
945         for `{->|<-}same'.
946         (syms_of_chartab): Add new symbols `{->|<-}same'.
947
948 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * chartab.c (Q_component): New variable.
951         (Q_component_of): Likewise.
952         (Fput_char_attribute): Convert char-specs in value of
953         `{->|<-}ideographic-component-forms' to characters and put reverse
954         links.
955         (syms_of_chartab): Add new symbols
956         `{->|<-}ideographic-component-forms'.
957
958 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
959
960         * chartab.c (Q_identical): New variable.
961         (Q_identical_from): New variable.
962         (Fchar_feature): Regard `->identical' as a feature to find
963         ancestors.
964         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
965         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
966         for `{->|<-}identical'.
967         (syms_of_chartab): Add new symbols `{->|<-}identical'.
968
969 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
970
971         * char-ucs.h (encode_char_2): New inline function.
972         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
973
974 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
975
976         * chartab.c (Fput_char_attribute): Convert char-specs to
977         characters in value of `ideographic-structure'.
978         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
979         for `{<-|->}simplified(@...)'.
980         (Fdefine_char): Try to use predefined character's id.
981
982 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * fns.c (simplify_char_spec): Try to convert builtin chars to
985         defined chars.
986
987 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
988
989         * chartab.c (Fput_char_attribute): Convert char-specs in value of
990         `<-simplified[^*]*' to characters and put reverse links.
991
992 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
993
994         * chartab.c (Q_subsumptive): Renamed from Q_unified.
995         (Q_subsumptive_from): Renamed from Q_unified_from.
996         (Fchar_feature): Use `Q_subsumptive_from' instead of
997         `Q_unified_from'.
998         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
999         `Q_unified'.
1000         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
1001         `<-unified' to `<-subsumptive'.
1002
1003 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
1006         inheritance itself; fix typo; stop recursive search if cyclic
1007         inheritance is found.
1008
1009 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * chartab.c (Q_denotational): New variable.
1012         (Q_denotational_from): New variable.
1013         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
1014         (put_char_attribute): New function.
1015         (Fput_char_attribute): Use `put_char_attribute'; regard
1016         `->denotational' and `<-denotational' as same as `->unified' and
1017         `<-unified'.
1018         (syms_of_chartab): Add new symbols `->denotational' and
1019         `<-denotational'.
1020
1021 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1022
1023         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
1024         `Fget_char_attribute'.
1025         (Fchar_variants): Likewise.
1026         (get_char_table): Likewise.
1027         (Fchar_feature): New function.
1028         (put_char_composition): Use `Fchar_feature' instead of
1029         `Fget_char_attribute'.
1030         (Fput_char_attribute): Likewise; don't put the target character
1031         into its `->unified' value.
1032         (syms_of_chartab): Add new builtin function `char-feature'.
1033
1034 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
1037         `Fget_char_attribute'.
1038         (char_encode_utf8): Likewise.
1039
1040         * chartab.h: Add an EXFUN for `Fchar_feature'.
1041
1042 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1043
1044         * chartab.c (Vnext_defined_char_id): New variable.
1045         (Fput_char_attribute): Accept characters in `->unified'.
1046         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
1047         new characters which are not related with builtin char-id ranges.
1048         (vars_of_chartab): Add new variable `next-defined-char-id'.
1049
1050 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1051
1052         * chartab.c (Q_unified): New variable.
1053         (Q_unified_from): New variable.
1054         (Fput_char_attribute): Add code for `->unified'.
1055         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
1056         XEmacs CHISE.
1057
1058 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1059
1060         * mule-charset.c (decode_ccs_conversion): New function.
1061         (decode_defined_char): Use `decode_ccs_conversion'.
1062         (decode_builtin_char): Likewise.
1063
1064 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * char-ucs.h: Change some charset-ids of private coded-charsets.
1067
1068 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1069
1070         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
1071         (char_encode_as_entity_reference): Likewise.
1072         (decode_coding_big5): Modify for `decode_defined_char' and
1073         `DECODE_CHAR'.
1074         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
1075         avoid compiler warning.
1076         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
1077
1078         * mule-charset.c (decode_defined_char): Add new argument
1079         `without_inheritance'.
1080         (Fdecode_char): Add new optional argument `without_inheritance'.
1081         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1082
1083         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1084         (simplify_char_spec): Likewise.
1085
1086         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1087         setting.
1088
1089         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1090         (map_char_table): Likewise.
1091         (Fdefine_char): Use `Fdecode_char' without inheritance.
1092         (Ffind_char): Modify for `Fdecode_char'.
1093
1094         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1095
1096         * char-ucs.h (decode_defined_char): Add new argument
1097         `without_inheritance'.
1098         (DECODE_CHAR): Likewise.
1099         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1100
1101 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1102
1103         * chartab.c (Vchise_system_db_directory): New variable.
1104         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1105
1106 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1107
1108         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1109         (print_chartab_range): Don't define when `UTF2000' is defined.
1110         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1111         `CHISE_DS_open'.
1112
1113 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1116         and optional argument `rehash' is specified, call
1117         `open_chise_data_source_maybe' before
1118         `chise_ds_foreach_char_feature_name' is called.
1119
1120 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * chartab.c (char_attribute_list_reset_map_func): New function
1123         when HAVE_LIBCHISE is defined.
1124         (Fchar_attribute_list): Add new optional argument `rehash' when
1125         HAVE_LIBCHISE is defined.
1126         (open_chise_data_source_maybe): Use "chise-db" instead of
1127         "char-db".
1128         (char_attribute_system_db_file): Likewise.
1129         (Fload_char_attribute_table): Use
1130         `chise_feature_foreach_char_with_value' instead of
1131         `chise_char_feature_value_iterate'.
1132
1133 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * chartab.c (Vchise_db_directory): New variable.
1136         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1137
1138 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1139
1140         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1141         instead of HAVE_CHISE to specify using with libchise.
1142
1143         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1144
1145         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1146
1147         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1148         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1149         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1150         is defined.
1151         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1152         HAVE_CHISE to specify using with libchise.
1153         (syms_of_chartab): Don't define symbol `system-char-id' when
1154         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1155
1156 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1157
1158         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1159         specify CHISE DB support.
1160         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1161         of `char_attribute_system_db_file' to check feature DB file.
1162
1163         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1164         HAVE_CHISE_CLIENT to specify CHISE DB support.
1165
1166         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1167         specify CHISE DB support.
1168         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1169         not defined.
1170         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1171         instead of `char_attribute_system_db_file' to check feature DB
1172         file.
1173
1174 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1175
1176         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1177         `HAVE_CHISE_CLIENT'.
1178
1179 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1180
1181         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1182         (Fsave_charset_mapping_table): Don't use
1183         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1184
1185         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1186         (HAVE_LIBCHISE): New macro.
1187
1188         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1189
1190         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1191         (Fsave_char_attribute_table): Don't use
1192         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1193
1194 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1195
1196         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1197         defined.
1198         (save_uint16_byte_table): Likewise.
1199         (save_byte_table): Likewise.
1200         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1201         instead of `chise_char_load_feature_value'.
1202         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1203
1204 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1205
1206         * chartab.h (struct Lisp_Char_Table): Delete member
1207         `feature_table' if CHISE is defined.
1208
1209         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1210         (Fcopy_char_table): Likewise.
1211         (char_table_open_db_maybe): Likewise.
1212         (char_table_close_db_maybe): Likewise.
1213         (char_table_get_db): Likewise.
1214         (Fmount_char_attribute_table): Likewise.
1215         (Fload_char_attribute_table): Likewise.
1216
1217 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1218
1219         * mule-charset.c (load_char_decoding_entry_maybe): Use
1220         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1221         `chise_ccs_decode'.
1222
1223 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1224
1225         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1226         instead of `chise_open_data_source'.
1227         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1228         `chise_ds_close'.
1229
1230 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1231
1232         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1233         instead of `chise_ds_open_feature_table'.
1234         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1235
1236 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1237
1238         * mule-charset.c (Fsave_charset_mapping_table): Use
1239         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1240         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1241         `chise_ccs_sync' instead of `chise_ccst_close'.
1242         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1243
1244         * chartab.c (open_chise_data_source_maybe): Modify for
1245         `chise_open_data_source'.
1246         (char_table_open_db_maybe): Modify for
1247         `chise_ds_open_feature_table'.
1248
1249 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1250
1251         * mule-charset.c (load_char_decoding_entry_maybe): Use
1252         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1253         `chise_ccst_close'.
1254
1255 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1256
1257         * mule-charset.c (Fsave_charset_mapping_table): Use
1258         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1259         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1260         `chise_dt_put_char' and `chise_dt_close'.
1261         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1262         `chise_ccs_decode' and `chise_ccst_close' instead of
1263         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1264         `chise_dt_close'.
1265
1266         * chartab.c (char_table_get_db): Use
1267         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1268         (load_char_attribute_table_map_func): Modify for
1269         `chise_char_feature_value_iterate'.
1270         (Fload_char_attribute_table): Use
1271         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1272
1273 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1274
1275         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1276
1277 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1278
1279         * chartab.c (put_char_table): Modify for inherited coded-charsets
1280         in XEmacs CHISE.
1281
1282 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1283
1284         * chartab.c (Fput_char_table_map_function): Fixed.
1285         (word_boundary_p): Don't check charset in XEmacs CHISE.
1286
1287 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1288
1289         * mule-charset.c (Fsave_charset_mapping_table): Use
1290         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1291         instead of `chise_open_decoding_table'; refer
1292         `default_chise_data_source'; use `chise_dt_close' instead of
1293         `chise_close_decoding_table'.
1294         (load_char_decoding_entry_maybe): Likewise.
1295
1296         * chartab.c (default_chise_data_source): New variable when `CHISE'
1297         is defined.
1298         (Fcopy_char_table): `ct->ds' is deleted.
1299         (open_chise_data_source_maybe): New function.
1300         (Fclose_char_data_source): New function.
1301         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1302         use `chise_ds_open_feature_table' instead of
1303         `chise_open_feature_table'.
1304         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1305         `chise_close_feature_table'; `cit->ds' is deleted.
1306         (syms_of_chartab): Add new builtin function
1307         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1308
1309         * chartab.h (default_chise_data_source): New extern variable.
1310         (open_chise_data_source_maybe): New prototype.
1311         (struct Lisp_Char_Table): Delete `ds'.
1312
1313 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1314
1315         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1316         `CHISE' is defined.
1317
1318 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1319
1320         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1321         not defined; add code for non-libchise setting.
1322         (char_table_close_db_maybe): Likewise.
1323         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1324         defined.
1325         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1326         even if `CHISE' is not defined.
1327         (Freset_char_attribute_table): Likewise.
1328         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1329         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1330         `char_table_get_db'.
1331         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1332         `char_table_close_db_maybe' even if `CHISE' is not defined.
1333
1334 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1335
1336         * chartab.c (char_table_open_db_maybe): New function.
1337         (char_table_close_db_maybe): New function.
1338         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1339         (Freset_char_attribute_table): Likewise.
1340         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1341         `char_table_close_db_maybe'.
1342         (Fload_char_attribute_table): Likewise.
1343
1344 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1345
1346         * chartab.c: Don't include <chise.h> because it is included in
1347         chartab.h.
1348         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1349         defined.
1350         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1351         `CHISE' is defined.
1352         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1353         `CHISE' is defined.
1354         (Fclose_char_attribute_table): Close `ct->feature_table' and
1355         `ct->ds' when `CHISE' is defined.
1356         (Freset_char_attribute_table): Likewise.
1357         (load_char_attribute_maybe): Use `cit->ds' and
1358         `cit->feature_table' when `CHISE' is defined.
1359         (Fload_char_attribute_table): Likewise.
1360
1361         * chartab.h: Include <chise.h> when `CHISE' is defined.
1362         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1363         when `CHISE' is defined.
1364
1365 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1366
1367         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1368         is defined.
1369         (char_table_description): Likewise.
1370         (Fmake_char_table): Likewise.
1371         (Fcopy_char_table): Likewise.
1372         (Fmount_char_attribute_table): Likewise.
1373         (Fclose_char_attribute_table): Likewise.
1374         (Freset_char_attribute_table): Likewise.
1375         (load_char_attribute_maybe): Likewise.
1376         (Fload_char_attribute_table): Likewise.
1377
1378         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1379         defined.
1380
1381 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1382
1383         * chartab.c (load_char_attribute_table_map_func): New function
1384         when CHISE is defined.
1385         (Qload_char_attribute_table_map_function): Don't define when CHISE
1386         is defined.
1387         (Fload_char_attribute_table_map_function): Likewise.
1388         (Fload_char_attribute_table): Use libchise when `CHISE' is
1389         defined.
1390         (syms_of_chartab): Don't define
1391         `load-char-attribute-table-map-function' when CHISE is defined.
1392
1393 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1394
1395         * chartab.c: Include <chise.h> when `CHISE' is defined.
1396         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1397
1398 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * mule-charset.c (charset_code_point): Fix problem when searching
1401         in mother CCS fails with `defined_only' mode.
1402
1403 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1404
1405         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1406         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1407         (put_char_composition): Likewise.
1408         (Fput_char_attribute): Likewise.
1409         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1410
1411 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1412
1413         * chartab.c (Q_ucs): Deleted.
1414         (Fput_char_attribute): Don't refer `->ucs'.
1415         (Fdefine_char): Likewise.
1416         (Ffind_char): Likewise.
1417         (syms_of_chartab): Delete `->ucs'.
1418
1419 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1420
1421         * mule-charset.c (Qmap_cns11643_2): Renamed from
1422         `Qchinese_cns11643_2'.
1423         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1424         `chinese-cns11643-2'.
1425         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1426         `=cns11643-2'.
1427
1428 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1429
1430         * mule-charset.c (Qmap_cns11643_1): Renamed from
1431         `Qchinese_cns11643_1'.
1432         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1433         `chinese-cns11643-1'.
1434         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1435         `=cns11643-1'.
1436
1437 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1438
1439         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1440         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1441         `chinese-gb12345'.
1442         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1443         `=gb12345'.
1444
1445 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1446
1447         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1448         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1449         `chinese-gb2312'.
1450         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1451         `=gb2312'.
1452
1453 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1454
1455         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1456         (syms_of_mule_charset): Add new symbol `=big5' instead of
1457         `chinese-big5'.
1458         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1459
1460 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1461
1462         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1463         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1464         `korean-ksc5601'.
1465         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1466         `=ks-x1001'.
1467
1468 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1469
1470         * mule-charset.c (Qmap_jis_x0212): Renamed from
1471         `Qjapanese_jisx0212'.
1472         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1473         `japanese-jisx0212'.
1474         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1475         `=jis-x0212'.
1476
1477 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1478
1479         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1480         `Qjapanese_jisx0208'.
1481         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1482         of `japanese-jisx0208'.
1483         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1484         `=jis-x0208-1983'.
1485
1486 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1487
1488         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1489         `Qjapanese_jisx0208_1978'.
1490         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1491         of `japanese-jisx0208-1978'.
1492         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1493         `=jis-x0208-1978'.
1494
1495 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1496
1497         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1498         only for XEmacs CHISE.
1499
1500 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1501
1502         * char-ucs.h: Compact non-ISO-IR charset-ids.
1503         (LEADING_BYTE_UCS): Changed to -177.
1504         (LEADING_BYTE_CONTROL_1): Changed to -77.
1505         (LEADING_BYTE_UCS_BMP): Changed to -176.
1506         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1507
1508 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1509
1510         * mule-charset.c (Qiso_ir): New variable.
1511         (Fmake_charset): Recognise new property `iso-ir'.
1512         (syms_of_mule_charset): Add new symbol `iso-ir'.
1513
1514 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1515
1516         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1517         n to -n; charset-id of non ISO-IR sets are changed to positive
1518         numbers.
1519
1520 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1521
1522         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1523         for &MCS-XXXXXXXX; values.
1524
1525 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1526
1527         * mule.c (Vxemacs_chise_version): Renamed from
1528         `Vutf_2000_version'.
1529         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1530         `utf-2000-version' as an alias for `xemacs-chise-version'.
1531
1532 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1533
1534         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1535         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1536         defined.
1537
1538         * config.h.in (CHISE): New macro.
1539
1540 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1541
1542         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1543         of `ucs'.
1544         (Qmap_ucs): New variable.
1545         (syms_of_mule_charset): Add new symbol `=ucs'.
1546         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1547
1548         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1549         (simplify_char_spec): Likewise.
1550
1551         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1552
1553         * char-ucs.h (Qmap_ucs): New extern variable.
1554
1555 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1556
1557         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1558         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1559         don't define it when UTF2000 is not defined.
1560         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1561         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1562         when UTF2000 is not defined.
1563         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1564         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1565
1566 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1567
1568         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1569
1570         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1571         (Qucs_gb): Deleted.
1572         (syms_of_mule_charset): Delete `ucs-gb'.
1573         (complex_vars_of_mule_charset): Likewise.
1574
1575 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1576
1577         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1578
1579         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1580         (Qucs_cns): Deleted.
1581         (syms_of_mule_charset): Delete `ucs-cns'.
1582         (complex_vars_of_mule_charset): Likewise.
1583
1584 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1585
1586         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1587
1588         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1589         (Qucs_jis): Deleted.
1590         (syms_of_mule_charset): Delete `ucs-jis'.
1591         (complex_vars_of_mule_charset): Likewise.
1592
1593 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1594
1595         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1596
1597         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1598         (Qucs_ks): Deleted.
1599         (syms_of_mule_charset): Delete `ucs-ks'.
1600         (complex_vars_of_mule_charset): Likewise.
1601
1602 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1603
1604         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1605         (Qideograph_daikanwa_2): Deleted.
1606         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1607         (complex_vars_of_mule_charset): Likewise.
1608
1609         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1610         (LEADING_BYTE_DAIKANWA_1): Deleted.
1611         (LEADING_BYTE_DAIKANWA_2): Deleted.
1612         (MIN_CHAR_DAIKANWA): Deleted.
1613         (MAX_CHAR_DAIKANWA): Deleted.
1614
1615 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1616
1617         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1618         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1619         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1620
1621         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1622         (Vcharset_ideograph_daikanwa): Deleted.
1623         (Qideograph_hanziku_{1..12}): Deleted.
1624         (Qideograph_daikanwa): Deleted.
1625         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1626         Vcharset_ideograph_daikanwa.
1627         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1628         `ideograph-hanziku-{1..12}'.
1629         (complex_vars_of_mule_charset): Likewise.
1630
1631 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1632
1633         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1634
1635         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1636         (Qideograph_gt_pj_{1..11}): Deleted.
1637         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1638         (complex_vars_of_mule_charset): Likewise.
1639
1640 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1643         (Vcharset_ideograph_gt): Deleted.
1644         (Qucs_big5): Deleted.
1645         (Qideograph_gt): Deleted.
1646         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1647         `ideograph-gt'.
1648         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1649         and `ideograph-gt'.
1650
1651         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1652         (LEADING_BYTE_GT): Deleted.
1653         (MIN_CHAR_GT): Deleted.
1654         (MAX_CHAR_GT): Deleted.
1655
1656 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1657
1658         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1659
1660 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1663         (save_uint16_byte_table): Likewise.
1664         (save_byte_table): Likewise; convert values by it.
1665         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1666         for `ideographic-structure'.
1667         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1668         as the filter for `ideographic-structure'.
1669
1670 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1671
1672         * chartab.c (put_char_composition): New function.
1673         (Fput_char_attribute): Use `put_char_composition'; use
1674         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1675
1676         * fns.c (simplify_char_spec): New function.
1677         (char_ref_simplify_spec): New function.
1678         (Fchar_refs_simplify_char_specs): New function.
1679         (syms_of_fns): Add new builtin function
1680         `char-refs-simplify-char-specs'.
1681
1682 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1683
1684         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1685         (Qideograph_cbeta): Deleted.
1686         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1687         (complex_vars_of_mule_charset): Likewise.
1688
1689         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1690         (MIN_CHAR_CBETA): Comment out.
1691         (MAX_CHAR_CBETA): Likewise.
1692
1693 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1694
1695         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1696         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1697         CHISE client feature.
1698
1699 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1700
1701         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1702
1703 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1704
1705         * mule-charset.c (charset_lookup_description_1): Use
1706         `NUM_LEADING_BYTES' in UTF-2000.
1707
1708 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1709
1710         * char-ucs.h (GC_CHARSETP): Deleted.
1711
1712 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1713
1714         * char-ucs.h (MAX_CHAR_GT): Updated.
1715
1716 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1717
1718         * text-coding.c: Sync with XEmacs 21.4.10.
1719
1720 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1721
1722         * mule-charset.c (Vcharset_china3_jef): Deleted.
1723         (Qchina3_jef): Deleted.
1724         (syms_of_mule_charset): Don't define `china3-jef'.
1725         (complex_vars_of_mule_charset): Likewise.
1726
1727         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1728         (MIN_CHAR_CHINA3_JEF): Comment out.
1729         (MAX_CHAR_CHINA3_JEF): Comment out.
1730
1731 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1732
1733         * mule-charset.c (Vcharset_ucs_gb): New variable.
1734         (Qucs_gb): New variable.
1735         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1736         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1737
1738         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1739
1740 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * mule-charset.c (charset_code_point): if a coded-charset has a
1743         final-byte, don't inherit the builtin range of the mother CCS.
1744
1745 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1746
1747         * mule-charset.c (charset_code_point): Fix problem about
1748         inheritance.
1749
1750 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1751
1752         * mule-charset.c (decode_builtin_char): Reorganized.
1753
1754 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1755
1756         * text-coding.c (char_encode_as_entity_reference): Modify for
1757         `charset_code_point'.
1758         (char_encode_shift_jis): Likewise.
1759         (char_encode_big5): Likewise.
1760         (char_encode_utf8): Likewise.
1761         (char_encode_iso2022): Likewise.
1762
1763         * mule-charset.c (charset_code_point): Add new argument
1764         `defined_only'.
1765         (Fencode_char): Add new optional argument `defined_only'.
1766
1767         * chartab.c (put_char_table): Modify for `charset_code_point'.
1768
1769         * char-ucs.h (charset_code_point): Add new argument
1770         `defined_only'.
1771         (encode_char_1): Modify for `charset_code_point'.
1772
1773 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1774
1775         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1776         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1777
1778 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1779
1780         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1781         (Qjis_x0208): Likewise.
1782         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1783         XCHARSET_FINAL(charset).
1784         (charset_code_point): Modify condition for final-byte based
1785         builtin-chars.
1786         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1787         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1788         in UTF-2000; specify `=jis-x0208' as the mother of
1789         `japanese-jisx0208-1978', `japanese-jisx0208' and
1790         `japanese-jisx0208-1990' in UTF-2000.
1791
1792 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1793
1794         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1795
1796 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1797
1798         * text-coding.c (decode_coding_utf16): Support UTF-16.
1799         (char_encode_utf16): Fixed.
1800
1801 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1802
1803         * text-coding.c (Qutf16): New variable in MULE.
1804         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1805         (Fcoding_system_type): Add `utf-16' in MULE.
1806         (struct detection_state): Add a structure for utf16 in MULE.
1807         (detect_coding_type): Setup st->utf16.mask in MULE.
1808         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1809         MULE.
1810         (reset_encoding_stream): Use `char_encode_utf16' and
1811         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1812         (detect_coding_utf16): New function [incomplete].
1813         (decode_coding_utf16): New function [support only UCS-2].
1814         (char_encode_utf16): New function.
1815         (char_finish_utf16): New function.
1816         (syms_of_file_coding): Add new symbol `utf-16'; setup
1817         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1818
1819         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1820         UTF-2000.
1821         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1822         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1823
1824 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1825
1826         * chartab.c (put_char_table): When a charset is specified as a
1827         range in UTF-2000, don't support builtin characters.
1828
1829 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1830
1831         * mule-charset.c (decode_defined_char): Don't refer external
1832         database if Qunbound or Qnil are found.
1833         (Fsave_charset_mapping_table): Don't define it if
1834         HAVE_CHISE_CLIENT is not defined.
1835         (Freset_charset_mapping_table): New function.
1836         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1837         found in external database.
1838         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1839         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1840         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1841
1842 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1843
1844         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1845         not.
1846
1847 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1848
1849         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1850         Q_lowercase, Q_uppercase in UTF-2000.
1851
1852         * chartab.c (get_char_table): Add special code for the standard
1853         case table to use character attribute `->downcase' and
1854         `->uppercase' for case operations in UTF-2000.
1855
1856         * casetab.c (Qflippedcase): New variable in UTF-2000.
1857         (Q_lowercase): Likewise.
1858         (Q_uppercase): Likewise.
1859         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1860         and `->uppercase' in UTF-2000.
1861         (complex_vars_of_casetab): Assign attribute name `downcase' to
1862         downcase and CANON table of Vstandard_case_table in UTF-2000;
1863         assign attribute name `flippedcase' to upcase and EQV table of
1864         Vstandard_case_table in UTF-2000.
1865
1866 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1867
1868         * text-coding.c (decode_add_er_char): Support isolated-chars.
1869         (char_encode_as_entity_reference): Likewise.
1870
1871 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1872
1873         * emacs.c (Vutf_2000_lisp_directory): New variable.
1874         (Vconfigure_utf_2000_lisp_directory): Likewise.
1875         (complex_vars_of_emacs): Add new variable
1876         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1877
1878 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1879
1880         * char-ucs.h (DECODE_CHAR): Delete special code for
1881         `chinese-big5-1' and `chinese-big5-2'.
1882
1883         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1884         (Qbig5_2): Likewise.
1885         (decode_defined_char): Support CONVERSION_BIG5_1 and
1886         CONVERSION_BIG5_2.
1887         (decode_builtin_char): Likewise.
1888         (charset_code_point): Likewise.
1889         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1890         'conversion in UTF-2000.
1891         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1892         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1893         `chinese-big5-2' as children of `chinese-big5'.
1894
1895         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1896         (CONVERSION_BIG5_2): New macro.
1897
1898 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1899
1900         * text-coding.c (char_encode_big5): Support entity-reference.
1901
1902 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1903
1904         * text-coding.c (char_encode_as_entity_reference): New function.
1905         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1906
1907 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1908
1909         * text-coding.c (decode_coding_big5): Support entity-reference
1910         decoding feature.
1911
1912 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1913
1914         * text-coding.c (allocate_coding_system): Initialize initial
1915         charsets for CODESYS_UTF8.
1916         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1917         charset-g2 for CODESYS_UTF8.
1918         (decode_coding_utf8): Use charset-g0.
1919         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1920         to force variants to map to UCS.
1921
1922 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1923
1924         * text-coding.c (Qutf_8_mcs): New variable.
1925         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1926         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1927         instead of `utf-8' in UTF-2000.
1928
1929 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1930
1931         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1932         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1933         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1934         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1935         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1936         CONVERSION_96x96x96x96 are introduced.
1937         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1938         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1939         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1940
1941         * char-ucs.h (CONVERSION_94): New macro.
1942         (CONVERSION_96): New macro.
1943         (CONVERSION_94x94): New macro.
1944         (CONVERSION_96x96): New macro.
1945         (CONVERSION_94x94x94): New macro.
1946         (CONVERSION_96x96x96): New macro.
1947         (CONVERSION_94x94x94x60): New macro.
1948         (CONVERSION_94x94x94x94): New macro.
1949         (CONVERSION_96x96x96x96): New macro.
1950
1951 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1952
1953         * chartab.c (Vcharacter_variant_table): Deleted.
1954         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1955         of `Vcharacter_variant_table'.
1956         (Fput_char_attribute): Likewise.
1957         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1958         (complex_vars_of_chartab): Likewise.
1959
1960 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1961
1962         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1963
1964         * fns.c (Qideographic_structure): New variable.
1965         (Qkeyword_char): New variable.
1966         (ids_format_unit): New function.
1967         (Fideographic_structure_to_ids): New function.
1968         (syms_of_fns): Add new symbols `ideographic-structure' and
1969         `:char'; add new builtin function `ideographic-structure-to-ids'.
1970
1971         * data.c (Fchar_ref_p): New function.
1972         (syms_of_data): Add new builtin function `char-ref-p'.
1973
1974         * chartab.h: Add an EXFUN for `Ffind_char'.
1975
1976 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1977
1978         * text-coding.c (Vcharacter_composition_table): Deleted.
1979         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1980         in every UTF-2000.
1981
1982         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1983         UTF-2000.
1984         (Vcharacter_composition_table): Deleted.
1985         (Fget_composite_char): Use the implementation for external-DB
1986         support in every UTF-2000.
1987         (Fput_char_attribute): Likewise.
1988         (char_attribute_system_db_file): Don't define if external-DB
1989         feature is not available.
1990         (Fsave_char_attribute_table): Likewise.
1991         (Fmount_char_attribute_table): Likewise.
1992         (Fclose_char_attribute_table): Likewise.
1993         (Freset_char_attribute_table): Likewise.
1994         (Fload_char_attribute_table): Likewise.
1995         (syms_of_chartab): Don't define `save-char-attribute-table',
1996         `mount-char-attribute-table', `reset-char-attribute-table',
1997         `close-char-attribute-table' and `load-char-attribute-table' if
1998         external-DB feature is not available.
1999         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
2000
2001 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2002
2003         * text-coding.c (Qcomposition): Add extern if external-DB feature
2004         is supported.
2005         (Vcharacter_composition_table): Don't add extern if external-DB
2006         feature is supported.
2007         (COMPOSE_ADD_CHAR): Modify for new data-representation of
2008         character composition rule if external-DB feature is supported.
2009
2010         * chartab.c (Vcharacter_composition_table): Don't define if
2011         external-DB feature is supported.
2012         (Qcomposition): New variable.
2013         (Fget_composite_char): New implementation for external-DB support.
2014         (Fput_char_attribute): Use `composition' property of each
2015         character instead of `Vcharacter_composition_table' to store
2016         character-composition rules if external-DB feature is supported.
2017         (syms_of_chartab): Add new symbol `composition'.
2018         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
2019         external-DB feature is supported.
2020
2021 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2022
2023         * chartab.c (Vchar_db_stingy_mode): New variable.
2024         (load_char_attribute_maybe): Close database if
2025         Vchar_db_stingy_mode is not NIL.
2026         (Fload_char_attribute_table_map_function): Use
2027         `get_char_id_table_0' instead of `get_char_id_table'.
2028         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
2029
2030         * chartab.h (get_char_id_table_0): New inline function.
2031         (get_char_id_table): Use `get_char_id_table_0'.
2032
2033 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2034
2035         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
2036         and `COMPOSE_ADD_CHAR'.
2037         (decode_coding_iso2022): Use `decode_flush_er_chars'.
2038
2039 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2040
2041         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
2042         instead of `DECODE_ADD_UCS_CHAR'.
2043         (COMPOSE_ADD_CHAR): Likewise.
2044
2045 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2046
2047         * text-coding.c (decode_flush_er_chars): New inline function.
2048         (decode_add_er_char): New function.
2049         (decode_coding_utf8): Use `decode_flush_er_chars' and
2050         `decode_add_er_char'.
2051
2052 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2053
2054         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
2055         done before `decode_output_utf8_partial_char'.
2056
2057         * mule-charset.c (complex_vars_of_mule_charset): Specify
2058         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
2059         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
2060
2061 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2062
2063         * mule-charset.c (decode_defined_char): New function; search
2064         mother.
2065         (decode_builtin_char): Don't search mother if
2066         XCHARSET_MAX_CODE(charset) == 0.
2067         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
2068         == 0 even if code >= XCHARSET_MAX_CODE(charset).
2069         (Fdecode_char): Use `decode_defined_char' instead of
2070         `DECODE_DEFINED_CHAR'.
2071         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
2072         mother of `Vcharset_ucs_jis'.
2073
2074         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
2075         instead of `DECODE_DEFINED_CHAR'.
2076
2077         * char-ucs.h (decode_defined_char): Renamed from
2078         `DECODE_DEFINED_CHAR'; changed to normal function.
2079         (DECODE_CHAR): Use `decode_defined_char' instead of
2080         `DECODE_DEFINED_CHAR'.
2081
2082         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2083
2084 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2085
2086         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2087
2088         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2089         variable.
2090         (Quse_entity_reference): New variable.
2091         (Qd): New variable.
2092         (Qx): New variable.
2093         (QX): New variable.
2094         (coding_system_description): Add description for
2095         `ccs_priority_list'.
2096         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2097         (allocate_coding_system): Initialize `ccs_priority_list' in
2098         UTF-2000.
2099         (Fmake_coding_system): Add description about
2100         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2101         (codesys).
2102         (Fcoding_system_property): Accept `disable-composition' and
2103         `use-entity-reference' in UTF-2000.
2104         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2105         in UTF-2000.
2106         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2107         (decode_coding_utf8): Decode entity-reference if
2108         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2109         (char_encode_utf8): Encode non-Unicode characters as
2110         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2111         (str->codesys).
2112         (syms_of_file_coding): Add new symbols `use-entity-reference',
2113         `d', `x', `X'.
2114         (vars_of_file_coding): Add new variable
2115         `coded-charset-entity-reference-alist'.
2116         (complex_vars_of_file_coding): Declare `disable-composition' and
2117         `use-entity-reference' to be coding-system-properties in UTF-2000.
2118
2119         * file-coding.h (struct Lisp_Coding_System): Add new member
2120         `use_entity_reference' and `ccs_priority_list'.
2121         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2122         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2123         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2124
2125 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2126
2127         * chartab.c (save_uint8_byte_table): Don't clear the table.
2128         (save_uint16_byte_table): Likewise.
2129         (save_byte_table): Likewise.
2130         (Fmount_char_attribute_table): New function.
2131         (syms_of_chartab): Add new builtin function
2132         `mount-char-attribute-table'.
2133
2134 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2135
2136         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2137         "w+" mode.
2138         (load_char_decoding_entry_maybe): Open database as read-only mode.
2139
2140         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2141         open database as "w+" mode.
2142         (load_char_attribute_maybe): Open database as read-only mode.
2143         (Fload_char_attribute_table): Likewise.
2144
2145 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2146
2147         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2148         (char_table_description): Delete member `db_file'.
2149         (Fmake_char_table): Don't refer `ct->db_file'.
2150         (Fcopy_char_table): Likewise.
2151         (Fsave_char_attribute_table): Likewise.
2152         (Fclose_char_attribute_table): Likewise.
2153         (Freset_char_attribute_table): Likewise.
2154         (load_char_attribute_maybe): Likewise.
2155         (Fload_char_attribute_table): Likewise.
2156
2157         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2158
2159 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2160
2161         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2162         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2163         `ct->db' is living.
2164         (load_char_attribute_maybe): Likewise.
2165         (Fload_char_attribute_table): Likewise.
2166
2167 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2168
2169         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2170         `ct->db_file' unconditionally.
2171
2172 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2173
2174         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2175         UTF-2000.
2176         (char_table_description): Add description for `db_file' and `db'
2177         in UTF-2000.
2178         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2179         UTF-2000.
2180         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2181         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2182         (Fclose_char_attribute_table): New function.
2183         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2184         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2185         and `cit->db'.
2186         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2187         (syms_of_chartab): Add new builtin function
2188         `Fclose_char_attribute_table'.
2189
2190 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2191
2192         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2193         `db' in UTF-2000.
2194         (load_char_attribute_maybe): Change interface.
2195         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2196
2197 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2198
2199         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2200
2201 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2202
2203         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2204         instead of `DECODE_CHAR' for mother; don't use special code for
2205         chinese-big5 to use code space of chinese-big5-1 and
2206         chinese-big5-2.
2207         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2208         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2209
2210         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2211         (MAX_CHAR_BIG5_CDP): Revival.
2212
2213 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2214
2215         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2216         the XLFD registry-encoding name of `chinese-big5'.
2217
2218 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2219
2220         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2221         (Qchinese_big5_cdp): Deleted.
2222         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2223         (complex_vars_of_mule_charset): Delete coded-charset
2224         `chinese-big5-cdp'.
2225
2226         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2227         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2228         `CHARSET_ID_OFFSET - n' for private CCS.
2229         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2230         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2231         of `MIN_LEADING_BYTE'.
2232         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2233         `(CHARSET_ID_OFFSET - 97)'.
2234         (MIN_CHAR_BIG5_CDP): Deleted.
2235         (MAX_CHAR_BIG5_CDP): Deleted.
2236
2237 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2238
2239         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2240
2241 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2242
2243         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2244         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2245         chartab.c].
2246
2247         * chartab.c (Vutf_2000_version): Moved to mule.c.
2248         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2249
2250 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2251
2252         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2253         when HAVE_CHISE_CLIENT is not defined.
2254
2255         * mule.c (vars_of_mule): Provide feature `chise' when
2256         HAVE_CHISE_CLIENT is defined.
2257
2258 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2259
2260         * config.h.in (UTF2000): Add comment.
2261         (HAVE_CHISE_CLIENT): New macro.
2262
2263 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2264
2265         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2266         CONSP.
2267         (Fput_char_attribute): Likewise.
2268         (char_attribute_system_db_file): Encode file-name of attribute.
2269         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2270         the initial value.
2271
2272 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2273
2274         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2275         (Fsave_charset_mapping_table): Use
2276         `char_attribute_system_db_file'.
2277         (load_char_decoding_entry_maybe): Likewise.
2278
2279         * chartab.h (Qsystem_char_id): New external variable.
2280         (char_attribute_system_db_file): New prototype.
2281
2282         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2283         (char_attribute_system_db_file): New function.
2284         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2285         (Freset_char_attribute_table): Likewise.
2286         (load_char_attribute_maybe): Likewise.
2287         (Fload_char_attribute_table): Likewise.
2288         (syms_of_chartab): Add new symbol `system-char-id'.
2289
2290 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2291
2292         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2293         `XCHARSET_GRAPHIC(ccs)'.
2294
2295 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2296
2297         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2298
2299 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2300
2301         * chartab.c (Q_ucs_variants): New variable.
2302         (syms_of_chartab): Add new symbol `->ucs-variants'.
2303         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2304         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2305         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2306
2307         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2308
2309         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2310         `HAVE_DATABASE' is defined.
2311         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2312         `HAVE_DATABASE' is defined.
2313
2314 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2315
2316         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2317         attribute-table.
2318         (Freset_char_attribute_table): New function.
2319         (syms_of_chartab): Add new builtin function
2320         `reset-char-attribute-table'.
2321
2322 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2323
2324         * chartab.c (load_char_attribute_maybe): Don't make directories.
2325
2326 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2327
2328         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2329
2330         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2331         for decoding-table.
2332
2333 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2334
2335         * mule-charset.c (Fsave_charset_mapping_table): Use
2336         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2337
2338         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2339         instead of `XCHARSET_CHARS'.
2340
2341 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2342
2343         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2344         (XCHARSET_BYTE_SIZE): Likewise.
2345
2346         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2347         mule-charset.c].
2348         (XCHARSET_BYTE_SIZE): Likewise.
2349
2350 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2351
2352         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2353         data-directory to store database.
2354         (Fsave_char_attribute_table): Likewise.
2355         (load_char_attribute_maybe): Likewise.
2356         (Fload_char_attribute_table): Likewise.
2357
2358 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2359
2360         * mule-charset.c (Fsave_charset_mapping_table): New function.
2361         (syms_of_mule_charset): Add new builtin function
2362         `save-charset-mapping-table'.
2363
2364 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2365
2366         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2367         (get_ccs_octet_table): New inline function.
2368         (put_ccs_octet_table): Likewise.
2369         (decoding_table_put_char): Use `get_ccs_octet_table' and
2370         `put_ccs_octet_table'.
2371         (decoding_table_remove_char): Use `decoding_table_put_char'.
2372         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2373
2374         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2375         into encoding_table.
2376         (make_charset): Use Qunbound instead Qnil as initial value of
2377         decoding_table.
2378
2379 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2380
2381         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2382         element is Qunloaded.
2383         (map_over_uint16_byte_table): Likewise.
2384         (map_over_byte_table): Likewise.
2385         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2386         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2387         database support, load encoding-table of the specified
2388         coded-charset if it is not loaded yet.
2389         (save_uint8_byte_table): New function of UTF-2000 with external
2390         database support.
2391         (save_uint16_byte_table): Likewise.
2392         (save_byte_table): Likewise.
2393         (Fput_char_attribute): Don't store value into external database
2394         even if the external database feature is supported in UTF-2000;
2395         set `attribute' as name of char-table if the external database
2396         feature is supported.
2397         (Fsave_char_attribute_table): New function in UTF-2000.
2398         (syms_of_chartab): Add new builtin function
2399         `save-char-attribute-table' in UTF-2000.
2400
2401 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2402
2403         * chartab.c (char_attribute_table_to_put): New variable in
2404         UTF-2000.
2405         (Qput_char_table_map_function): Likewise.
2406         (value_to_put): Likewise.
2407         (Fput_char_table_map_function): New function in UTF-2000.
2408         (put_char_table): Use `Fmap_char_attribute' for
2409         CHARTAB_RANGE_CHARSET in UTF-2000.
2410         (Fput_char_attribute): Store symbol instead of string in
2411         `XCHAR_TABLE_NAME (table)'.
2412         (load_char_attribute_maybe): Likewise.
2413         (syms_of_chartab): Add new symbol/function
2414         `put-char-table-map-function'.
2415
2416 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2417
2418         * database.h: Add new EXFUN for `Fmap_database'.
2419
2420         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2421         (syms_of_database): Likewise.
2422
2423         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2424         UTF-2000.
2425         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2426         (XCHAR_TABLE_UNLOADED): Likewise.
2427
2428         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2429         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2430         HAVE_DATABASE is defined.
2431         (char_attribute_table_to_load): New variable of UTF-2000 with
2432         external database support.
2433         (Qload_char_attribute_table_map_function): Likewise.
2434         (Fload_char_attribute_table_map_function): New function of
2435         UTF-2000 with external database support.
2436         (Fload_char_attribute_table): New function of UTF-2000.
2437         (Fmap_char_attribute): Call Fload_char_attribute_table if
2438         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2439         (syms_of_chartab): Add new symbol and function
2440         `load-char-attribute-table-map-function' in UTF-2000 with external
2441         database support; add new function `load-char-attribute-table' in
2442         UTF-2000.
2443
2444 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2445
2446         * chartab.h (load_char_attribute_maybe): New prototype for
2447         UTF-2000 with DATABASE support.
2448         (get_char_id_table): Use `load_char_attribute_maybe' if
2449         HAVE_DATABASE is defined.
2450
2451         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2452         with DATABASE support.
2453
2454 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2455
2456         * chartab.c (Fput_char_attribute): Use S-expression as key of
2457         external database.
2458
2459         * chartab.h (get_char_id_table): Use S-expression as key of
2460         external database.
2461
2462 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2463
2464         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2465         if an element is not loaded, load the corresponding attributes
2466         from an external database.
2467         (map_over_uint16_byte_table): Likewise.
2468         (map_over_byte_table): Likewise.
2469         (map_char_table): Modify for `map_over_uint8_byte_table',
2470         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2471         element is not loaded, load the corresponding attributes from an
2472         external database.
2473         (Fput_char_attribute): Change initial values to Qunloaded.
2474
2475         * chartab.h (get_char_id_table): If a character attribute is not
2476         loaded and the attribute value is not found in an external
2477         database, store Qunbound as the attribute value.
2478
2479 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2480
2481         * chartab.c (BT_UINT8_unloaded): New macro.
2482         (UINT8_VALUE_P): Accept Qunloaded.
2483         (UINT8_ENCODE): Likewise.
2484         (UINT8_DECODE): Likewise.
2485         (BT_UINT16_unloaded): New macro.
2486         (UINT16_VALUE_P): Accept Qunloaded.
2487         (UINT16_ENCODE): Likewise.
2488         (UINT16_DECODE): Likewise.
2489         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2490         BT_UINT16_unloaded.
2491         (mark_char_table): Mark `ct->name' in UTF-2000.
2492         (char_table_description): Add `name' in UTF-2000.
2493         (Fmake_char_table): Initialize `ct->name'.
2494         (Fcopy_char_table): Copy `ct->name'.
2495         (Fput_char_attribute): Store value into an external database if
2496         HAVE_DATABASE is defined.
2497
2498         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2499         UTF-2000.
2500         (CHAR_TABLE_NAME): New macro in UTF-2000.
2501         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2502         (get_char_id_table): Try to read an external database if Qunloaded
2503         is stored in a table.
2504
2505         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2506         Qunloaded.
2507
2508 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2509
2510         * database.h: Add EXFUN definitions for Fopen_database,
2511         Fput_database, Fget_database and Fclose_database.
2512
2513         * data.c (Qunloaded): New variable in UTF-2000.
2514
2515         * lisp.h (Qunloaded): New variable in UTF-2000.
2516
2517 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2518
2519         * mule-charset.c (put_char_ccs_code_point): Modify for
2520         `decoding_table_remove_char' and `decoding_table_put_char'.
2521         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2522
2523         * char-ucs.h (decoding_table_remove_char): Change arguments to
2524         hide decoding_table vector.
2525         (decoding_table_put_char): Likewise.
2526
2527 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2528
2529         * mule-charset.c (decoding_table_remove_char): Moved to
2530         char-ucs.h.
2531         (decoding_table_put_char): Likewise.
2532
2533         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2534         from mule-charset.c].
2535         (decoding_table_remove_char): New inline function [moved from
2536         mule-charset.c].
2537         (decoding_table_put_char): Likewise.
2538
2539 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2540
2541         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2542         extension.
2543
2544 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2545
2546         * mule-charset.c (decode_builtin_char): Support mother charsets.
2547
2548 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2549
2550         * mule-charset.c (Q94x94x60): New variable.
2551         (charset_code_point): Support conversion `94x94x60'.
2552         (Fmake_charset): Likewise.
2553         (syms_of_mule_charset): Add new symbol `94x94x60'.
2554
2555         * char-ucs.h (CONVERSION_94x94x60): New macro.
2556
2557 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2558
2559         * mule-charset.c (charset_code_point): Unify code about
2560         `code-offset'.
2561
2562 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2563
2564         * mule-charset.c (charset_code_point): Merge code about builtin
2565         characters into code about mother charsets; don't use
2566         `range_charset_code_point'.
2567         (range_charset_code_point): Deleted.
2568
2569 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2570
2571         * mule-charset.c (Qcode_offset): New variable.
2572         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2573         `max-code'; accept new property `code-offset'.
2574         (syms_of_mule_charset): Add new symbol `code-offset'.
2575
2576 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2577
2578         * mule-charset.c (range_charset_code_point): Fixed.
2579
2580 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2581
2582         * mule-charset.c (decode_builtin_char): Change semantics of
2583         code-offset of coded-charset.
2584         (charset_code_point): Likewise.
2585         (range_charset_code_point): Likewise.
2586         (complex_vars_of_mule_charset): Modify for the change.
2587
2588 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * mule-charset.c (Fencode_char): Reverse arguments.
2591
2592         * mule-charset.c (charset_code_point): Fixed.
2593
2594 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2595
2596         * mule-charset.c (Vcharset_mojikyo): Deleted.
2597         (Vcharset_mojikyo_2022_1): Deleted.
2598         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2599         (Qmin_code): New variable in UTF-2000.
2600         (Qmax_code): Likewise.
2601         (Qmother): Likewise.
2602         (Qconversion): Likewise.
2603         (Q94x60): Likewise.
2604         (Qmojikyo): Deleted.
2605         (Qmojikyo_2022_1): Deleted.
2606         (Qmojikyo_pj_{1..22}): Deleted.
2607         (mark_charset): Mark `cs->mother'.
2608         (charset_description): Add description for `mother'.
2609         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2610         new arguments `mother' and `conversion'; use
2611         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2612         (charset_code_point): Moved from char-ucs.h; support `mother'
2613         charset feature.
2614         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2615         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2616         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2617         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2618         allow 2 as the value of `graphic' in UTF-2000; add new properties
2619         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2620         require `final' in UTF-2000; modify for `make_charset'.
2621         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2622         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2623         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2624         (Fencode_char): New function.
2625         (syms_of_mule_charset): Add new builtin function `encode-char' in
2626         UTF-2000; add new symbols `min-code', `max-code', `mother',
2627         `conversion' and `94x60'; delete symbols `mojikyo',
2628         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2629         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2630         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2631         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2632
2633         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2634         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2635
2636         * char-ucs.h (Vcharset_mojikyo): Deleted.
2637         (Vcharset_mojikyo_2022_1): Deleted.
2638         (LEADING_BYTE_MOJIKYO): Deleted.
2639         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2640         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2641         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2642         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2643         add new member `mother'; add new member `conversion'.
2644         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2645         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2646         (CHARSET_MOTHER): New macro.
2647         (CHARSET_CONVERSION): New macro.
2648         (CONVERSION_IDENTICAL): New macro.
2649         (CONVERSION_94x60): New macro.
2650         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2651         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2652         (XCHARSET_MOTHER): New macro.
2653         (XCHARSET_CONVERSION): New macro.
2654         (MIN_CHAR_MOJIKYO): Deleted.
2655         (MAX_CHAR_MOJIKYO): Deleted.
2656         (DECODE_MOJIKYO_2022): Deleted.
2657         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2658         (charset_code_point): Changed to non-inline function.
2659         (encode_char_1): Use `charset_code_point'.
2660         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2661
2662 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2663
2664         * lread.c (read_compiled_function): Fix prototype.
2665         (read_vector): Likewise.
2666
2667 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2668
2669         * lrecord.h (struct lrecord_header): Delete `older'.
2670         (set_lheader_implementation): Delete code for `older'.
2671         (set_lheader_older_implementation): Deleted.
2672         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2673         (OLDER_RECORD_P): Deleted.
2674         (OLDER_RECORD_HEADER_P): Deleted.
2675         (alloc_older_lcrecord): Deleted.
2676         (alloc_older_lcrecord_type): Deleted.
2677
2678         * alloc.c (all_older_lcrecords): Deleted.
2679         (alloc_older_lcrecord): Deleted.
2680         (disksave_object_finalization_1): Delete code for older objects.
2681         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2682         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2683
2684 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2685
2686         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2687         instead of `make_older_vector'.
2688         (put_char_ccs_code_point): Likewise.
2689         (mark_charset): Mark `cs->decoding_table'.
2690         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2691
2692         * lisp.h (make_older_vector): Deleted.
2693         (make_vector_newer): Deleted.
2694
2695         * config.h.in (HAVE_GGC): Deleted.
2696
2697         * alloc.c (make_older_vector): Deleted.
2698         (make_vector_newer_1): Deleted.
2699         (make_vector_newer): Deleted.
2700
2701 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2702
2703         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2704         (Qideograph_daikanwa_2): New variable.
2705         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2706         (complex_vars_of_mule_charset): Add new coded-charset
2707         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2708         `LEADING_BYTE_DAIKANWA'.
2709
2710         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2711         (LEADING_BYTE_DAIKANWA_1): New macro.
2712         (LEADING_BYTE_DAIKANWA_2): New macro.
2713         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2714
2715 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2716
2717         * mule-charset.c (complex_vars_of_mule_charset): Change
2718         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2719         the second revised version.
2720
2721 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2722
2723         * mule-charset.c (Vcharset_ucs_smp): New variable.
2724         (Vcharset_ucs_sip): New variable.
2725         (Qucs_smp): New variable.
2726         (Qucs_sip): New variable.
2727         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2728         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2729         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2730         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2731         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2732         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2733
2734         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2735         (LEADING_BYTE_UCS_SIP): New macro.
2736         (MIN_CHAR_SMP): New macro.
2737         (MAX_CHAR_SMP): New macro.
2738         (MIN_CHAR_SIP): New macro.
2739         (MAX_CHAR_SIP): New macro.
2740
2741 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2742
2743         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2744         utf-2000.
2745
2746 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2747
2748         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2749         value; don't store value into `encoding_table' of `Lisp_Charset'.
2750         (mark_charset): `encoding_table' was deleted.
2751         (charset_description): Likewise.
2752         (make_charset): Likewise.
2753         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2754         `put_char_ccs_code_point'.
2755
2756         * chartab.h (Fput_char_attribute): New EXFUN.
2757
2758         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2759         is unified with normal symbol space.
2760         (Fget_char_attribute): Likewise.
2761         (Fput_char_attribute): Likewise; behavior of
2762         `put_char_ccs_code_point' is changed.
2763
2764         * char-ucs.h: Include "elhash.h".
2765         (Vchar_attribute_hash_table): New external variable.
2766         (struct Lisp_Charset): Delete `encoding_table'.
2767         (CHARSET_ENCODING_TABLE): New implementation; refer
2768         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2769         `Lisp_Charset'.
2770
2771 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2772
2773         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2774         (cs) == 0.
2775
2776 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2777
2778         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2779         `chinese-big5'.
2780
2781 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2782
2783         * chartab.c (uint8_byte_table_description): New constant.
2784         (uint8-byte-table): Use `uint8_byte_table_description'.
2785         (uint16_byte_table_description): New constant.
2786         (uint16-byte-table): Use `uint16_byte_table_description'.
2787
2788 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2789
2790         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2791         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2792
2793 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2794
2795         * mule-charset.c (Vcharset_ucs_ks): New variable.
2796         (Qucs_ks): New variable.
2797         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2798         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2799
2800         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2801
2802 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2803
2804         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2805         (Fdecode_char): Likewise.
2806
2807         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2808         chartab.h.
2809         (Fdefine_char): Modify for Fdecode_char.
2810         (Ffind_char): Likewise.
2811
2812         * mule-charset.c (Fdecode_char): Add new optional argument
2813         `defined-only'.
2814         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2815
2816 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2817
2818         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2819         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2820         (allocate_coding_system): Initialize initial-charsets of
2821         CODESYS_BIG5 in XEmacs UTF-2000.
2822         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2823         CODESYS_BIG5 in XEmacs UTF-2000.
2824         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2825         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2826
2827         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2828         variables.
2829         (Qideograph_hanziku_{1 .. 12}): Likewise.
2830         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2831         .. 12}'.
2832         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2833         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2834         `ideograph-hanziku-{1 .. 12}'.
2835
2836         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2837         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2838         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2839         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2840         (DECODE_DEFINED_CHAR): New inline function.
2841         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2842
2843 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2844
2845         * mule-charset.c (Vcharset_china3_jef): Renamed from
2846         `Vcharset_japanese_jef_china3'.
2847         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2848         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2849         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2850         (syms_of_mule_charset): Rename `china3-jef' from
2851         `japanese-jef-china3'.
2852         (complex_vars_of_mule_charset): Likewise; rename
2853         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2854
2855         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2856         `LEADING_BYTE_JEF_CHINA3'.
2857         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2858         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2859
2860 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2861
2862         * mule-charset.c (encode_builtin_char_1): Comment out special code
2863         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2864
2865         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2866         (MAX_CHAR_MOJIKYO_0): Comment out.
2867         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2868         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2869         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2870         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2871
2872 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2873
2874         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2875         (Qideograph_cbeta): New variable.
2876         (encode_builtin_char_1): Comment out special code for
2877         coded-charset `mojikyo' and `japanese-jef-china3'.
2878         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2879         (complex_vars_of_mule_charset): Add new coded-charset
2880         `ideograph-cbeta'.
2881
2882         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2883         (MIN_CHAR_CBETA): New macro.
2884         (MAX_CHAR_CBETA): New macro.
2885
2886 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2887
2888         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2889         (LEADING_BYTE_JEF_CHINA3): New macro.
2890         (MIN_CHAR_JEF_CHINA3): New macro.
2891         (MAX_CHAR_JEF_CHINA3): Likewise.
2892         (DECODE_CHAR): Fixed.
2893
2894 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2895
2896         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2897         (Qjapanese_jef_china3): New variable.
2898         (encode_builtin_char_1): Support `japanese-jef-china3'.
2899         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2900         (complex_vars_of_mule_charset): Add new coded-charset
2901         `japanese-jef-china3'.
2902
2903 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2904
2905         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2906         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2907         94^4, 96^3, 96^4, 128^n and 256^n set.
2908         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2909         (map_char_table): Likewise.
2910
2911 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2912
2913         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2914         UTF-2000.
2915
2916 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2917
2918         * chartab.h (get_char_id_table): New inline function.
2919
2920         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2921         function.
2922
2923 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2924
2925         * chartab.h (decode_char_table_range): New prototype in XEmacs
2926         UTF-2000.
2927         (put_char_id_table): New inline function in XEmacs UTF-2000.
2928
2929         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2930         function.
2931         (decode_char_table_range): Delete static declaration in XEmacs
2932         UTF-2000.
2933
2934 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2935
2936         * chartab.c (put_char_id_table): Use `put_char_table'.
2937
2938 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2939
2940         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2941         (map_over_uint16_byte_table): Likewise.
2942         (map_over_byte_table): Likewise.
2943         (map_char_table): Modify for `map_over_uint8_byte_table',
2944         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2945         UTF-2000.
2946
2947 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2948
2949         * chartab.c (struct map_char_table_for_charset_arg): New
2950         structure.
2951         (map_char_table_for_charset_fun): New function.
2952         (map_char_table): Use `map_char_table' for encoding_table of
2953         `range->charset'.
2954
2955 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2956
2957         * chartab.c (map_char_table): Check a character is found in
2958         range->charset instead of non default value is defined in
2959         char-table when range is CHARTAB_RANGE_ROW.
2960
2961 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2962
2963         * chartab.c (map_char_id_table): Deleted.
2964         (Fmap_char_attribute): Use `map_char_table' instead of
2965         `map_char_id_table'.
2966
2967 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2968
2969         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2970         UTF-2000.
2971         (update_syntax_table): Deleted in XEmacs UTF-2000.
2972
2973         * syntax.c (find_defun_start): Use `syntax_table' instead of
2974         `mirror_syntax_table' in XEmacs UTF-2000.
2975         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2976         UTF-2000.
2977         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2978         XEmacs UTF-2000.
2979         (Fmatching_paren): Likewise.
2980         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2981         in XEmacs UTF-2000.
2982         (find_start_of_comment): Likewise.
2983         (find_end_of_comment): Likewise.
2984         (Fforward_comment): Likewise.
2985         (scan_lists): Likewise.
2986         (char_quoted): Likewise.
2987         (Fbackward_prefix_chars): Likewise.
2988         (scan_sexps_forward): Likewise.
2989         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2990         (update_syntax_table): Likewise.
2991
2992         * search.c (skip_chars): Use `syntax_table' instead of
2993         `mirror_syntax_table' in XEmacs UTF-2000.
2994         (wordify): Likewise.
2995         (Freplace_match): Likewise.
2996
2997         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2998         `mirror_syntax_table' in XEmacs UTF-2000.
2999         (WORDCHAR_P_UNSAFE): Likewise.
3000         (re_match_2_internal): Likewise.
3001
3002         * font-lock.c (find_context): Use `buf->syntax_table' instead of
3003         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3004
3005         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
3006         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
3007
3008         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
3009         XEmacs UTF-2000.
3010
3011         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
3012         UTF-2000.
3013         (print_char_table): Print `default_value' in XEmacs UTF-2000.
3014         (char_table_description): Delete `mirror_table' in XEmacs
3015         UTF-2000.
3016         (fill_char_table): Don't call `update_syntax_table' in XEmacs
3017         UTF-2000.
3018         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
3019         (Fcopy_char_table): Likewise.
3020         (put_char_table): Don't call `update_syntax_table' in XEmacs
3021         UTF-2000.
3022
3023         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
3024         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3025         (casify_region_internal): Likewise.
3026
3027         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
3028
3029         * buffer.c (common_init_complex_vars_of_buffer): Don't use
3030         `mirror_syntax_table' in XEmacs UTF-2000.
3031
3032         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
3033         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3034         (Fexpand_abbrev): Likewise.
3035
3036 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3037
3038         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
3039
3040 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3041
3042         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
3043         (map_over_uint16_byte_table): Likewise.
3044         (map_over_byte_table): Likewise.
3045         (get_char_id_table): Refer `cit->default_value'.
3046         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3047         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
3048         of character-id ranges.
3049         (mark_char_table): Mark `ct->default_value'.
3050         (char_table_description): Add `default_value'.
3051         (fill_char_table): Use `default_value'.
3052         (decode_char_table_range): Decode `nil' as
3053         `CHARTAB_RANGE_DEFAULT'.
3054         (get_char_id_table): Refer `cit->default_value'.
3055         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3056         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
3057         temporary hack; check value of char-table is bound or not.
3058         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
3059
3060         * chartab.h (struct Lisp_Char_Table): Add new member
3061         `default_value' in XEmacs UTF-2000.
3062         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
3063         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
3064         UTF-2000.
3065
3066 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3067
3068         * chartab.h (Lisp_Char_ID_Table): Deleted.
3069
3070         * chartab.c (char_table_description): Fix typo.
3071         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
3072         `Lisp_Char_ID_Table'.
3073
3074 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3075
3076         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
3077         `CHAR_ID_TABLE_P'.
3078
3079         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
3080         `CHAR_ID_TABLE_P'.
3081
3082         * chartab.h (XCHAR_ID_TABLE): Deleted.
3083         (XSETCHAR_ID_TABLE): Deleted.
3084         (CHAR_ID_TABLE_P): Deleted.
3085
3086         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3087         `CHAR_ID_TABLE_P'.
3088         (Fget_composite_char): Likewise.
3089         (put_char_table): Likewise.
3090         (add_char_attribute_alist_mapper): Fixed.
3091         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3092         `CHAR_ID_TABLE_P'.
3093         (Fget_char_attribute): Likewise.
3094         (Fget_char_attribute): Likewise.
3095         (Fmap_char_attribute): Likewise.
3096
3097         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3098         `CHAR_ID_TABLE_P'.
3099         (encode_char_1): Likewise.
3100
3101 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3102
3103         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3104         `XCHAR_ID_TABLE'.
3105
3106         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3107         instead of `XCHAR_ID_TABLE'.
3108         (remove_char_ccs): Likewise.
3109
3110         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3111         `XCHAR_ID_TABLE'.
3112         (Fget_composite_char): Likewise.
3113         (Fchar_variants): Likewise.
3114         (put_char_table): Likewise.
3115         (add_char_attribute_alist_mapper): Likewise.
3116         (Fchar_attribute_alist): Likewise.
3117         (Fget_char_attribute): Likewise.
3118         (Fput_char_attribute): Likewise.
3119         (Fmap_char_attribute): Likewise.
3120         (Fmap_char_attribute): Likewise.
3121
3122         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3123         `XCHAR_ID_TABLE'.
3124         (encode_char_1): Likewise.
3125
3126 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3127
3128         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3129         `Lisp_Char_ID_Table'.
3130         (mark_char_id_table): Deleted.
3131         (print_char_id_table): Likewise.
3132         (char_id_table_equal): Likewise.
3133         (char_id_table_hash): Likewise.
3134         (char_id_table_description): Likewise.
3135         (char_id_table): Likewise.
3136         (make_char_id_table): Use `Fmake_char_table' and
3137         `fill_char_table'.
3138         (get_char_id_table): Use `Lisp_Char_Table' instead of
3139         `Lisp_Char_ID_Table'.
3140         (put_char_id_table): Likewise.
3141         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3142         `XCHAR_ID_TABLE'.
3143         (Fremove_char_attribute): Likewise.
3144         (syms_of_chartab): Don't define type `char-id-table'.
3145
3146         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3147         (char_id_table): Likewise.
3148         (GC_CHAR_ID_TABLE_P): Likewise.
3149         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3150         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3151         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3152         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3153         (get_char_id_table): Use `Lisp_Char_Table' instead of
3154         `Lisp_Char_ID_Table'.
3155         (put_char_id_table_0): Likewise.
3156         (put_char_id_table): Likewise.
3157
3158 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3159
3160         * chartab.h: Lisp_Byte_Table related codes are moved from
3161         chartab.h.
3162
3163         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3164
3165 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3166
3167         * chartab.h: Don't include "chartab.h".
3168         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3169         (Lisp_Char_ID_Table): Likewise.
3170         (char_id_table): Likewise.
3171         (XCHAR_ID_TABLE): Likewise.
3172         (XSETCHAR_ID_TABLE): Likewise.
3173         (CHAR_ID_TABLE_P): Likewise.
3174         (GC_CHAR_ID_TABLE_P): Likewise.
3175         (get_char_id_table): Likewise.
3176
3177         * char-ucs.h: Include "chartab.h".
3178         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3179         (Lisp_Char_ID_Table): Likewise.
3180         (char_id_table): Likewise.
3181         (XCHAR_ID_TABLE): Likewise.
3182         (XSETCHAR_ID_TABLE): Likewise.
3183         (CHAR_ID_TABLE_P): Likewise.
3184         (GC_CHAR_ID_TABLE_P): Likewise.
3185         (get_char_id_table): Likewise.
3186
3187 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3188
3189         * chartab.c (copy_uint8_byte_table): New function.
3190         (copy_uint16_byte_table): New function.
3191         (copy_byte_table): New function.
3192         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3193         characters to call.
3194         (map_over_uint16_byte_table): Likewise.
3195         (map_over_byte_table): Likewise.
3196         (get_byte_table): Move prototype to chartab.h.
3197         (put_byte_table): Likewise.
3198         (put_char_id_table_0): Moved to chartab.h.
3199         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3200         (char_table_entry_equal): Likewise.
3201         (char_table_entry_hash): Likewise.
3202         (char_table_entry_description): Likewise.
3203         (char_table_entry): Likewise.
3204         (make_char_table_entry): Likewise.
3205         (copy_char_table_entry): Likewise.
3206         (get_non_ascii_char_table_value): Likewise.
3207         (map_over_charset_ascii): Likewise.
3208         (map_over_charset_control_1): Likewise.
3209         (map_over_charset_row): Likewise.
3210         (map_over_other_charset): Likewise.
3211         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3212         (print_char_table): Likewise.
3213         (char_table_equal): Likewise.
3214         (char_table_hash): Likewise.
3215         (char_table_description): Likewise.
3216         (fill_char_table): Likewise.
3217         (Fcopy_char_table): Likewise.
3218         (get_char_table): Likewise.
3219         (Fget_range_char_table): Likewise.
3220         (put_char_table): Likewise.
3221         (map_char_table): Likewise.
3222         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3223         UTF-2000.
3224
3225 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3226
3227         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3228         `Vauto_fill_chars' in XEmacs UTF-2000.
3229
3230         * chartab.h (get_byte_table): New prototype [moved from
3231         chartab.c].
3232         (put_byte_table): Likewise [moved from chartab.c].
3233         (put_char_id_table_0): New inline function [moved from chartab.c].
3234         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3235         (Lisp_Char_Table_Entry): Likewise.
3236         (char_table_entry): Likewise.
3237         (XCHAR_TABLE_ENTRY): Likewise.
3238         (XSETCHAR_TABLE_ENTRY): Likewise.
3239         (CHAR_TABLE_ENTRYP): Likewise.
3240         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3241         (NUM_ASCII_CHARS): Likewise.
3242         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3243         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3244
3245 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3246
3247         * chartab.c (get_char_id_table): Change interface.
3248         (put_char_id_table_0): New function.
3249         (put_char_id_table): Change interface; new implementation.
3250         (Fget_composite_char): Modify for interface change of
3251         `get_char_id_table'.
3252         (Fchar_variants): Likewise.
3253         (add_char_attribute_alist_mapper): Likewise.
3254         (Fchar_attribute_alist): Likewise.
3255         (Fget_char_attribute): Likewise.
3256         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3257         as same as character as the first argument like `put-char-table';
3258         modify for interface change of `put_char_id_table'.
3259         (Fremove_char_attribute): Modify for interface change of
3260         `put_char_id_table'.
3261
3262 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3263
3264         * text-coding.c: Sync up with XEmacs 21.2.41.
3265         (COMPOSE_ADD_CHAR): Modify for interface change of
3266         `get_char_id_table'.
3267
3268         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3269         change of `put_char_id_table'.
3270         (remove_char_ccs): Likewise.
3271
3272         * chartab.h (put_char_id_table): Change interface.
3273
3274         * char-ucs.h (get_char_id_table): Change interface.
3275         (charset_code_point): Modify for interface change of
3276         `get_char_id_table'.
3277         (encode_char_1): Likewise.
3278
3279 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3280
3281         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3282         argument `ccs'.
3283         (map_over_uint16_byte_table): Likewise.
3284         (map_over_byte_table): Likewise.
3285         (map_char_id_table): Add new argument `range' like
3286         `map_char_table'.
3287         (Fmap_char_attribute): Add new argument `range' like
3288         `Fmap_char_table'.
3289
3290 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3291
3292         * chartab.c (map_over_uint8_byte_table): Change interface of
3293         mapping function to use struct chartab_range instead of Emchar.
3294         (map_over_uint16_byte_table): Likewise.
3295         (map_over_byte_table): Likewise.
3296         (map_char_id_table): Likewise.
3297         (struct slow_map_char_id_table_arg): Deleted.
3298         (slow_map_char_id_table_fun): Deleted.
3299         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3300         function `slow_map_char_table_fun' instead of struct
3301         `slow_map_char_id_table_arg' and function
3302         `slow_map_char_id_table_fun'.
3303
3304 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3305
3306         * mule-charset.c: Move char-it-table related codes to chartab.c.
3307         (Vutf_2000_version): Moved to chartab.c.
3308         (Fdefine_char): Likewise.
3309         (Ffind_char): Likewise.
3310         (syms_of_mule_charset): Move types `uint8-byte-table',
3311         `uint16-byte-table', `byte-table' and `char-id-table' to
3312         chartab.c; move functions `char_attribute_list,
3313         `find_char_attribute_table, `char_attribute_alist,
3314         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3315         `map_char_attribute, `define_char, `find_char, `char_variants and
3316         `get_composite_char to chartab.c; move symbols `=>ucs',
3317         `->decomposition', `compat', `isolated', `initial', `medial',
3318         `final', `vertical', `noBreak', `fraction', `super', `sub',
3319         `circle', `square', `wide', `narrow', `small' and `font' to
3320         chartab.c.
3321         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3322         setting codes for `Vcharacter_composition_table' and
3323         `Vcharacter_variant_table' to chartab.c.
3324         (complex_vars_of_mule_charset): Move setting code for
3325         `Vchar_attribute_hash_table' to chartab.c.
3326
3327         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3328         (make_char_id_table): New prototype.
3329         (put_char_id_table): Likewise.
3330         (Fget_char_attribute): Likewise.
3331
3332         * chartab.c: Move char-id-table related code from mule-charset.c.
3333         (Vutf_2000_version): Moved from mule-charset.c.
3334
3335         * char-ucs.h (Qucs): New external variable.
3336         (put_char_ccs_code_point): New prototype.
3337         (remove_char_ccs): Likewise.
3338
3339 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3340
3341         * mule-charset.c (Vcharset_ucs_jis): New variable.
3342         (Qucs_jis): Likewise.
3343         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3344         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3345
3346         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3347
3348 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * mule-charset.c (map_over_uint8_byte_table): New function.
3351         (map_over_uint16_byte_table): Likewise.
3352         (map_over_byte_table): Likewise.
3353         (map_char_id_table): Likewise.
3354         (slow_map_char_id_table_fun): Likewise.
3355         (Fmap_char_attribute): Likewise.
3356         (syms_of_mule_charset): Add new function `map-char-attribute'.
3357
3358 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3359
3360         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3361         (syms_of_mule_charset): Add new function `find-char'.
3362
3363 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3364
3365         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3366         XEmacs UTF-2000.
3367         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3368         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3369         XEmacs UTF-2000.
3370         (complex_vars_of_mule_charset): Add new coded-charset
3371         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3372         `ideograph-gt-pj-*'.
3373
3374         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3375
3376 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3377
3378         * mule-charset.c (encode_builtin_char_1): Purge codes about
3379         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3380         {MIN|MAX}_CHAR_HEBREW.
3381         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3382         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3383
3384         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3385         (MAX_CHAR_GREEK): Purged.
3386         (MIN_CHAR_CYRILLIC): Purged.
3387         (MAX_CHAR_CYRILLIC): Purged.
3388         (MIN_CHAR_HEBREW): Commented out.
3389         (MAX_CHAR_HEBREW): Likewise.
3390
3391 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3392
3393         * mule-charset.c (Qto_ucs): New variable.
3394         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3395         (Fdefine_char): Likewise.
3396         (syms_of_mule_charset): Add new symbol `=>ucs'.
3397
3398 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3399
3400         * mule-charset.c (Fdecode_char): Fixed.
3401
3402 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3403
3404         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3405         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3406         "tcvn5712-1".
3407
3408 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3409
3410         * mule-charset.c (Vcharset_ucs_big5): New variable.
3411         (Qucs_big5): Likewise.
3412         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3413         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3414
3415         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3416
3417 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3418
3419         * mule-charset.c (decode_builtin_char): Check Big5 code range
3420         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3421
3422 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3423
3424         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3425         (Qchinese_gb12345): Likewise.
3426         (Fdecode_builtin_char): Fixed.
3427         (syms_of_mule_charset): Add `chinese-gb12345'.
3428         (complex_vars_of_mule_charset): Add coded-charset
3429         `chinese-gb12345'.
3430
3431         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3432         (LEADING_BYTE_CHINESE_GB12345): New macro.
3433
3434 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3435
3436         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3437         and `latin-viscii-upper' for `latin-viscii'.
3438
3439 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3440
3441         * mule-charset.c (Fdecode_builtin_char): Comment out
3442         regularization code for ISO-IR GR representation.
3443
3444 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3445
3446         * mule-charset.c (decode_builtin_char): New function; renamed from
3447         `make_builtin_char'; return -1 instead of signal.
3448         (Fdecode_builtin_char): Use `decode_builtin_char'.
3449
3450         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3451         `make_builtin_char'.
3452         (DECODE_CHAR): Use `decode_builtin_char' instead of
3453         `make_builtin_char'; use mapping table of `chinese-big5' for
3454         `chinese-big5-{1,2}'.
3455
3456 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3457
3458         * text-coding.c (char_encode_big5): New function.
3459         (char_finish_big5): Likewise.
3460         (reset_encoding_stream): Use `char_encode_big5' and
3461         `char_finish_big5' for CODESYS_BIG5.
3462         (mule_encode): Don't use `encode_coding_big5'.
3463         (encode_coding_big5): Deleted.
3464
3465 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3466
3467         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3468         0x81- in XEmacs UTF-2000.
3469         (detect_coding_big5): Likewise.
3470
3471 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3472
3473         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3474         generate character-id if the CCS property does not have
3475         corresponding predefined character.
3476         (make_builtin_char): Return -1 if corresponding predefined
3477         character is not found.
3478         (Fdecode_char): Return nil if corresponding character is not
3479         found.
3480         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3481         don't map to builtin ucs space.
3482
3483 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3484
3485         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3486         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3487
3488 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3489
3490         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3491         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3492         (Qideograph_gt): Likewise.
3493         (Qideograph_gt_pj_{1..11}): Likewise.
3494         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3495         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3496         `ideograph-gt-pj-11'.
3497         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3498         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3499         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3500
3501         * char-ucs.h (LEADING_BYTE_GT): New macro.
3502         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3503         (MIN_CHAR_GT): Likewise.
3504         (MAX_CHAR_GT): Likewise.
3505
3506 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3507
3508         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3509         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3510
3511         * doprnt.c (unsigned_int_converters): Add `c'.
3512         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3513
3514         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3515         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3516         `MIN_CHAR_MOJIKYO'.
3517         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3518         (MAX_CHAR_MOJIKYO_0): New macro.
3519         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3520
3521 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3522
3523         * mule-charset.c (Fdefine_char): Delete cemented out code.
3524         (encode_builtin_char_1): Modify for new allocation of builtin
3525         Mojikyo characters.
3526
3527         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3528
3529 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3530
3531         * mule-charset.c (Vcharset_ucs_cns): New variable.
3532         (Qucs_cns): New variable.
3533         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3534         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3535
3536 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3537
3538         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3539
3540 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3541
3542         * search.c (search_buffer): Make `charset_base_code' as
3543         character-id >> 6 to eliminate the corresponding last byte in
3544         UTF-8 representation [I'm not sure it is right thing].
3545         (boyer_moore): Likewise.
3546
3547 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3548
3549         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3550         representation in MULE.
3551
3552 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3553
3554         * text-coding.c (Fmake_coding_system): Use
3555         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3556         `EXTERNAL_PROPERTY_LIST_LOOP'.
3557
3558 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3559
3560         * text-coding.c (decode_output_utf8_partial_char): New function.
3561         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3562
3563 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3564
3565         * text-coding.c (decode_coding_utf8): Output original byte
3566         sequence if it is broken; change order of conditions.
3567
3568         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3569         of conditions.
3570
3571         * mb-multibyte.h (BYTE_ASCII_P):
3572         Use bit ops for char-signedness safety.
3573         (BYTE_C0_P): Use bit ops for char-signedness safety.
3574         (BYTE_C1_P): Use bit ops for char-signedness safety.
3575
3576         * character.h: (XCHAR_OR_CHAR_INT):
3577         Always use inline function.
3578         Remove redundant type checking assert() - XINT will abort quite
3579         nicely.
3580
3581 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3582
3583         * text-coding.c: (Fencode_shift_jis_char):
3584         (Fencode_big5_char):
3585         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3586         Replace 0 with '\0' when working with bytes.
3587         Replace initial "(" with "\(" in docstrings.
3588
3589         (Fmake_coding_system):
3590         When type is ccl and value is vector, register it with a proper
3591         symbol.  And checks whether the given ccl program is valid.
3592         (mule_decode): When calling ccl_driver, if src indicates
3593         NULL pointer, set an empty string instead.
3594         (mule_encode): Likewise.
3595
3596         (detect_eol_type):
3597         (detect_coding_sjis):
3598         (decode_coding_sjis):
3599         (detect_coding_big5):
3600         (decode_coding_big5):
3601         (detect_coding_ucs4):
3602         (decode_coding_ucs4):
3603         (detect_coding_utf8):
3604         (decode_coding_utf8):
3605         (detect_coding_iso2022):
3606         (decode_coding_iso2022):
3607         (decode_coding_no_conversion):
3608         (mule_decode):
3609         Make all detecting and decoding functions take an Extbyte * arg.
3610         (text_encode_generic):
3611         (encode_coding_big5):
3612         (encode_coding_no_conversion):
3613         (mule_encode):
3614         Make all encoding functions take a Bufbyte * arg.
3615         Use size_t instead of unsigned int for memory sizes.
3616         Only cast to unsigned char whenever dereferencing Extbyte *.
3617
3618         (struct lrecord_description fcd_description_1): Use countof.
3619         (complex_vars_of_file_coding):
3620         Use countof instead of sizeof.
3621         Use CHECK_NATNUM instead of CHECK_INT.
3622
3623 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3624
3625         * mule-charset.c (Fget_char_attribute): Add new optional argument
3626         `default-value'.
3627         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3628         (remove_char_ccs): Likewise.
3629
3630 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3631
3632         * text-coding.c (char_encode_shift_jis): New implementation in
3633         UTF-2000.
3634         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3635         ...)'.
3636
3637         * mule-charset.c (Vcharset_chinese_big5): New variable in
3638         UTF-2000.
3639         (Qchinese_big5): New variable in UTF-2000.
3640         (BIG5_SAME_ROW): New macro in UTF-2000.
3641         (make_builtin_char): Use builtin characters of
3642         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3643         characters of `Vcharset_chinese_big5'.
3644         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3645         (complex_vars_of_mule_charset): Add new coded-charset
3646         `chinese-big5' in UTF-2000.
3647
3648         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3649         (Vcharset_chinese_big5): New external variable declaration.
3650         (Vcharset_japanese_jisx0208_1990): Likewise.
3651
3652 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3653
3654         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3655         function.
3656         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3657
3658 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3659
3660         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3661         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3662         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3663         `mojikyo-pj-*'.
3664
3665 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3666
3667         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3668
3669 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3670
3671         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3672         to 0.17.
3673
3674 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3675
3676         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3677         for `CHARSET_BY_ATTRIBUTES'.
3678         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3679         `CHARSET_BY_ATTRIBUTES'.
3680
3681         * text-coding.c (struct decoding_stream): Rename member `CH' to
3682         `CPOS'.
3683         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3684         (decode_coding_sjis): Likewise.
3685         (decode_coding_big5): Likewise.
3686         (decode_coding_ucs4): Likewise.
3687         (decode_coding_utf8): Likewise.
3688         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3689         `CHARSET_BY_ATTRIBUTES'.
3690         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3691         `str->counter'; decode 3, 4 bytes sets.
3692         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3693         sets.
3694         (decode_coding_no_conversion): Use `str->cpos' instead of
3695         `str->ch'.
3696
3697         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3698         (Qmojikyo_2022_1): New variable.
3699         (make_charset): Don't use `CHARSET_TYPE_*'.
3700         (range_charset_code_point): Support coded-charset
3701         `mojikyo-2022-1'.
3702         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3703         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3704         `CHARSET_BY_ATTRIBUTES'.
3705         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3706         `CHARSET_BY_ATTRIBUTES'.
3707         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3708         (complex_vars_of_mule_charset): Add new coded-charset
3709         `mojikyo-2022-1'.
3710
3711         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3712         interface; changed to inline function.
3713
3714         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3715         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3716         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3717         (CHARSET_TYPE_94): Deleted.
3718         (CHARSET_TYPE_94X94): Deleted.
3719         (CHARSET_TYPE_96): Deleted.
3720         (CHARSET_TYPE_96X96): Deleted.
3721         (CHARSET_TYPE_128): Deleted.
3722         (CHARSET_TYPE_128X128): Deleted.
3723         (CHARSET_TYPE_256): Deleted.
3724         (CHARSET_TYPE_256X256): Deleted.
3725         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3726         to inline function.
3727         (DECODE_MOJIKYO_2022): New inline function.
3728         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3729         `Vcharset_mojikyo_2022_1'.
3730
3731 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3732
3733         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3734         instead of `EQ'.
3735         (put_byte_table): Likewise.
3736         (char_id_table_equal): Use `get_byte_table' [new implementation].
3737
3738 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3739
3740         * mule-charset.c: Include <limits.h> in UTF-2000.
3741         (BT_UINT8_MIN): New macro in UTF-2000.
3742         (BT_UINT8_MAX): New macro in UTF-2000.
3743         (BT_UINT8_t): New macro in UTF-2000.
3744         (BT_UINT8_nil): New macro in UTF-2000.
3745         (BT_UINT8_unbound): New macro in UTF-2000.
3746         (INT_UINT8_P): New inline function in UTF-2000.
3747         (UINT8_VALUE_P): New inline function in UTF-2000.
3748         (UINT8_ENCODE): New inline function in UTF-2000.
3749         (UINT8_DECODE): New inline function in UTF-2000.
3750         (mark_uint8_byte_table): New function in UTF-2000.
3751         (print_uint8_byte_table): New function in UTF-2000.
3752         (uint8_byte_table_equal): New function in UTF-2000.
3753         (uint8_byte_table_hash): New function in UTF-2000.
3754         (make_uint8_byte_table): New function in UTF-2000.
3755         (uint8_byte_table_same_value_p): New function in UTF-2000.
3756         (BT_UINT16_MIN): New macro in UTF-2000.
3757         (BT_UINT16_MAX): New macro in UTF-2000.
3758         (BT_UINT16_t): New macro in UTF-2000.
3759         (BT_UINT16_nil): New macro in UTF-2000.
3760         (BT_UINT16_unbound): New macro in UTF-2000.
3761         (INT_UINT16_P): New inline function in UTF-2000.
3762         (UINT16_VALUE_P): New inline function in UTF-2000.
3763         (UINT16_ENCODE): New inline function in UTF-2000.
3764         (UINT16_DECODE): New inline function in UTF-2000.
3765         (UINT8_TO_UINT16): New inline function in UTF-2000.
3766         (mark_uint16_byte_table): New function in UTF-2000.
3767         (print_uint16_byte_table): New function in UTF-2000.
3768         (uint16_byte_table_equal): New function in UTF-2000.
3769         (uint16_byte_table_hash): New function in UTF-2000.
3770         (make_uint16_byte_table): New function in UTF-2000.
3771         (uint16_byte_table_same_value_p): New function in UTF-2000.
3772         (print_byte_table): New function in UTF-2000.
3773         (byte-table): Use `print_byte_table' as printer.
3774         (make_byte_table): Delete second argument `older'.
3775         (byte_table_same_value_p): New function in UTF-2000.
3776         (copy_byte_table): Deleted.
3777         (get_byte_table): New function in UTF-2000.
3778         (put_byte_table): New function in UTF-2000.
3779         (print_char_id_table): New function in UTF-2000.
3780         (char-id-table): Use `print_char_id_table' as printer.
3781         (make_char_id_table): Delete second argument `older'.
3782         (get_char_id_table): Use `get_byte_table [new implementation].
3783         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3784         implementation].
3785         (Ffind_char_attribute_table): New function in UTF-2000.
3786         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3787         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3788         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3789         (syms_of_mule_charset): Add new function
3790         `find-char-attribute-table' in UTF-2000.
3791
3792         * lrecord.h (enum lrecord_type): Add
3793         `lrecord_type_uint16_byte_table' and
3794         `lrecord_type_uint8_byte_table'.
3795
3796         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3797         (Lisp_Uint8_Byte_Table): New type.
3798         (XUINT8_BYTE_TABLE): New macro.
3799         (XSETUINT8_BYTE_TABLE): New macro.
3800         (UINT8_BYTE_TABLE_P): New macro.
3801         (GC_UINT8_BYTE_TABLE_P): New macro.
3802         (struct Lisp_Uint16_Byte_Table): New structure.
3803         (Lisp_Uint16_Byte_Table): New type.
3804         (XUINT16_BYTE_TABLE): New macro.
3805         (XSETUINT16_BYTE_TABLE): New macro.
3806         (UINT16_BYTE_TABLE_P): New macro.
3807         (GC_UINT16_BYTE_TABLE_P): New macro.
3808
3809 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3810
3811         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3812         (Vcharacter_ideographic_strokes_table): Deleted.
3813         (Vcharacter_total_strokes_table): Deleted.
3814         (Vcharacter_morohashi_daikanwa_table): Deleted.
3815         (Vcharacter_decomposition_table): Deleted.
3816         (Qname): Deleted because it is duplicated.
3817         (Qideographic_radical): Deleted.
3818         (Qideographic_strokes): Deleted.
3819         (Qtotal_strokes): Deleted.
3820         (Qmorohashi_daikanwa): Deleted.
3821         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3822         `ideographic-radical', `ideographic-strokes', `total-strokes',
3823         `morohashi-daikanwa' and `->decomposition'.
3824         (Fget_char_attribute): Likewise.
3825         (Fput_char_attribute): Likewise; use `make-vector' instead of
3826         `make_older_vector' for `->decomposition' value.
3827         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3828         `ideograph-daikanwa'.
3829         (syms_of_mule_charset): Delete builtin symbols `name',
3830         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3831         `morohashi-daikanwa'.
3832         (vars_of_mule_charset): Don't setup
3833         `Vcharacter_ideographic_radical_table',
3834         `Vcharacter_ideographic_strokes_table',
3835         `Vcharacter_total_strokes_table',
3836         `Vcharacter_morohashi_daikanwa_table' and
3837         `Vcharacter_decomposition_table'.
3838
3839 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3840
3841         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3842         `make_older_vector', `make_vector_newer_1' and
3843         `make_vector_newer'.
3844
3845         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3846         `make_older_vector' and `make_vector_newer'.
3847
3848         * config.h.in (HAVE_GGC): New macro.
3849
3850 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3851
3852         * mule-charset.c (struct char_attribute_list_closure): New
3853         structure in UTF-2000.
3854         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3855         (Fchar_attribute_list): Likewise.
3856         (Fset_charset_mapping_table): Use `make_vector_newer'.
3857         (Fdecode_builtin_char): New function in UTF-2000.
3858         (syms_of_mule_charset): Add new function `char-attribute-list' and
3859         `decode-builtin-char' in UTF-2000.
3860
3861         * lisp.h (make_vector_newer): New prototype.
3862
3863         * alloc.c (make_vector_newer_1): New function.
3864         (make_vector_newer): New function.
3865
3866 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3867
3868         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3869         50100)'.
3870
3871 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3872
3873         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3874         (Vcharacter_attribute_table): Deleted.
3875         (Vcharacter_name_table): Deleted.
3876         (put_char_attribute): Deleted.
3877         (remove_char_attribute): Deleted.
3878         (struct char_attribute_alist_closure): New structure.
3879         (add_char_attribute_alist_mapper): New function.
3880         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3881         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3882         (Fget_char_attribute): Likewise.
3883         (Fput_char_attribute): Likewise.
3884         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3885         of `remove_char_attribute'.
3886         (Fdefine_char): Return character.
3887         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3888         and `Vcharacter_name_table'.
3889         (complex_vars_of_mule_charset): Likewise
3890         `Vchar_attribute_hash_table'.
3891
3892 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3893
3894         * character.h (CHARC_CHARSET): New macro.
3895         (CHARC_CHARSET_ID): New macro.
3896         (CHARC_CODE_POINT): New macro.
3897         (CHARC_COLUMNS): New macro.
3898         (CHARC_TO_CHAR): New inline function.
3899         (CHARC_EQ): New inline function.
3900         (CHARC_ASCII_EQ): New inline function.
3901         (CHARC_IS_SPACE): New inline function.
3902         (ASCII_TO_CHARC): New inline function.
3903
3904         * char-ucs.h (encode_char_2): Deleted.
3905         (ENCODE_CHAR): Use `encode_char_1' again.
3906         (breakup_char_1): Likewise.
3907         (CHAR_TO_CHARC): New inline function.
3908
3909         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3910
3911 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3912
3913         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3914         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3915         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3916         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3917         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3918         `CHARC_IS_SPACE'.
3919         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3920
3921         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3922         `CHARC_CODE_POINT'.
3923         (x_output_display_block): Use `CHARC_CHARSET' and
3924         `CHARC_ASCII_EQ'.
3925
3926         * redisplay-tty.c (tty_output_display_block): Use
3927         `CHARC_ASCII_EQ'.
3928         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3929
3930         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3931
3932         * insdel.c (find_charsets_in_charc_string): Use
3933         `CHARC_CHARSET_ID'.
3934         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3935         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3936         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3937         (convert_charc_string_into_malloced_string): Likewise.
3938
3939 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3940
3941         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3942         instead of <Emchar_dynarr *> for buf; use
3943         `convert_bufbyte_string_into_charc_dynarr' instead of
3944         `convert_bufbyte_string_into_emchar_dynarr'; use
3945         `find_charsets_in_charc_string' instead of
3946         `find_charsets_in_emchar_string'.
3947
3948         * redisplay.h:
3949         - Include "character.h".
3950         (struct rune): New member `cglyph'; delete member `chr'.
3951
3952         * redisplay.c (redisplay_text_width_charc_string): New function;
3953         delete `redisplay_text_width_emchar_string'.
3954         (rtw_charc_dynarr): New variable; renamed from
3955         `rtw_emchar_dynarr'.
3956         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3957         `rtw_emchar_dynarr'; use
3958         `convert_bufbyte_string_into_charc_dynarr' instead of
3959         `convert_bufbyte_string_into_emchar_dynarr'; use
3960         `redisplay_text_width_charc_string' instead of
3961         `redisplay_text_width_emchar_string'.
3962         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3963         instead of `rtw_emchar_dynarr'; use
3964         `convert_bufbyte_string_into_charc_dynarr' instead of
3965         `convert_bufbyte_string_into_emchar_dynarr'.
3966         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3967         `redisplay_text_width_charc_string' instead of
3968         `redisplay_text_width_emchar_string'.
3969         (create_text_block): Modify for <struct rune> change.
3970         (generate_formatted_string_db): Likewise.
3971         (create_string_text_block): Likewise.
3972         (pixel_to_glyph_translation): Likewise.
3973
3974         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3975         instead of <const Emchar *>.
3976         (x_text_width): Likewise.
3977         (x_output_display_block): Use <Charc_dynarr *> instead
3978         <Emchar_dynarr *>; modify for <structure rune> change.
3979         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3980         *>.
3981
3982         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3983         <const Emchar *>; use `charc_string_displayed_columns' instead of
3984         `emchar_string_displayed_columns'.
3985         (tty_output_display_block): Use <Charc_dynarr *> instead of
3986         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3987         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3988         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3989         `tty_output_emchar_dynarr_dynarr'.
3990         (tty_output_charc_dynarr): New function; delete
3991         `tty_output_charc_dynarr'.
3992
3993         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3994         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3995         <Emchar_dynarr *> for buf; use
3996         `convert_bufbyte_string_into_charc_dynarr' instead of
3997         `convert_bufbyte_string_into_emchar_dynarr'.
3998
3999         * frame.c (title_string_charc_dynarr): New variable; renamed from
4000         `title_string_emchar_dynarr'.
4001         (generate_title_string): Use `title_string_charc_dynarr' instead
4002         of `title_string_emchar_dynarr'; use
4003         `convert_charc_string_into_malloced_string' instead of
4004         `convert_emchar_string_into_malloced_string'.
4005         (init_frame): Use `title_string_charc_dynarr' instead of
4006         `title_string_emchar_dynarr'.
4007
4008         * console.h:
4009         - Include "character.h".
4010         (struct console_methods): Use <const Charc *> instead of <const
4011         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
4012         <Emchar_dynarr *> in output_string_method.
4013
4014         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
4015         <Emchar_dynarr *>.
4016
4017         * console-stream.c (stream_text_width): Use <const Charc *>
4018         instead of <const Emchar *>.
4019
4020         * character.h (Charc_dynarr): New type.
4021
4022         * char-ucs.h (structure Charc): New structure; define new type
4023         `Charc'.
4024
4025         * char-lb.h (DECODE_CHAR): New inline function.
4026         (encode_char_1): New inline function.
4027         (ENCODE_CHAR): New macro.
4028         (structure Charc): New structure; define new type `Charc'.
4029
4030         * char-1byte.h (Vcharset_control_1): New macro.
4031         (Vcharset_latin_iso8859_1): New macro.
4032         (DECODE_CHAR): New inline function.
4033         (encode_char_1): New inline function.
4034         (ENCODE_CHAR): New macro.
4035         (structure Charc): New structure; define new type `Charc'.
4036
4037         * insdel.c (find_charsets_in_charc_string): New function; delete
4038         `find_charsets_in_emchar_string'.
4039         (charc_string_displayed_columns): New function; delete
4040         `emchar_string_displayed_columns'.
4041         (convert_bufbyte_string_into_charc_dynarr): New function; delete
4042         `convert_bufbyte_string_into_emchar_dynarr'.
4043         (convert_charc_string_into_bufbyte_dynarr): New function; delete
4044         `convert_charc_string_into_bufbyte_dynarr'.
4045         (convert_charc_string_into_malloced_string): New function; delete
4046         `convert_charc_string_into_malloced_string'.
4047
4048         * buffer.h (find_charsets_in_charc_string): New prototype; delete
4049         `find_charsets_in_emchar_string'.
4050         (charc_string_displayed_columns): New prototype; delete
4051         `emchar_string_displayed_columns'.
4052         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
4053         `convert_charc_string_into_bufbyte_dynarr'.
4054         (convert_charc_string_into_malloced_string): New prototype; delete
4055         `convert_charc_string_into_malloced_string'.
4056
4057 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4058
4059         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
4060
4061 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4062
4063         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
4064
4065         * char-ucs.h: Use <short> for <Charset_ID>.
4066
4067         * mule-charset.h, char-1byte.h: Use <unsigned char> for
4068         <Charset_ID>.
4069
4070 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4071
4072         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4073         to 0.16.
4074
4075 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4076
4077         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
4078         variable.
4079         (Qmorohashi_daikanwa): New variable.
4080         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
4081         for `morohashi-daikanwa' attribute.
4082         (Fget_char_attribute): Likewise.
4083         (Fput_char_attribute): Likewise.
4084         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4085         has the same value of `ideograph-daikanwa'.
4086         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4087         (vars_of_mule_charset): Setup
4088         `Vcharacter_morohashi_daikanwa_table'.
4089
4090 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4091
4092         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4093         attributes.
4094         (add_charset_to_list_mapper): Add `key' instead of
4095         `XCHARSET_NAME (value)' to return aliases.
4096
4097 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4098
4099         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4100         variable.
4101         (Vcharacter_ideographic_strokes_table): New variable.
4102         (Qideographic_radical): New variable.
4103         (Qideographic_strokes): New variable.
4104         (Fchar_attribute_alist): Use
4105         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4106         attribute; use `Vcharacter_ideographic_strokes_table' for
4107         `ideographic-strokes' attribute.
4108         (Fget_char_attribute): Likewise.
4109         (Fput_char_attribute): Likewise.
4110         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4111         `ideographic-strokes'.
4112         (vars_of_mule_charset): Setup
4113         `Vcharacter_ideographic_radical_table' and
4114         `Vcharacter_ideographic_strokes_table'.
4115
4116 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4117
4118         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4119         (Qtotal_strokes): New variable.
4120         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4121         `total-strokes' attribute.
4122         (Fget_char_attribute): Likewise.
4123         (Fput_char_attribute): Likewise.
4124         (syms_of_mule_charset): Add new symbol `total-strokes'.
4125         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4126
4127 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4128
4129         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4130         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4131         are found.
4132         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4133         `->decomposition' attribute.
4134         (Fput_char_attribute): Likewise.
4135         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4136
4137 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4138
4139         * mule-charset.c (decoding_table_check_elements): New function.
4140         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4141
4142 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4143
4144         * mule-charset.c (Fset_charset_mapping_table): Use
4145         `put_char_ccs_code_point'.
4146
4147 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4148
4149         * mule-charset.c (decoding_table_put_char): New inline function.
4150         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4151
4152 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4153
4154         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4155         (XCHARSET_BYTE_SIZE): New macro.
4156         (decoding_table_remove_char): New inline function.
4157         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4158         `decoding_table_remove_char'.
4159         (remove_char_ccs): Use `decoding_table_remove_char'.
4160         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4161
4162 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4163
4164         * mule-charset.c (Vcharacter_name_table): New variable.
4165         (Qname): New variable.
4166         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4167         attribute.
4168         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4169         `Vcharacter_name_table' for `name' attribute.
4170         (Fremove_char_attribute): Use function `remove_char_ccs'.
4171         (put_char_ccs_code_point): New function.
4172         (remove_char_ccs): New function.
4173         (syms_of_mule_charset): Add new symbol `name'.
4174         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4175
4176 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4177
4178         * mule-charset.c (make_byte_table): Add new argument `older'.
4179         (make_char_id_table): Likewise.
4180         (copy_char_id_table): Comment out because it is not used.
4181         (put_char_id_table): Modify for `make_byte_table'.
4182         (Fput_char_attribute): Make encoding_table as older object;
4183         inherit older bit of `Vcharacter_composition_table'.
4184         (mark_charset): Don't mark `cs->encoding_table'.
4185         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4186         normal object; make `Vcharacter_composition_table' as an older
4187         object; delete staticpro for `Vcharacter_composition_table'; make
4188         `Vcharacter_variant_table' as a normal object.
4189
4190         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4191         (mark_object): Don't check older object in UTF-2000.
4192
4193         * lrecord.h (struct lrecord_header): Add new member `older' in
4194         UTF-2000.
4195         (set_lheader_implementation): Setup `SLI_header->older' in
4196         UTF-2000.
4197         (set_lheader_older_implementation): New macro in UTF-2000.
4198         (OLDER_RECORD_P): New macro in UTF-2000.
4199         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4200         (alloc_older_lcrecord): New prototype in UTF-2000.
4201         (alloc_older_lcrecord_type): New macro in UTF-2000.
4202
4203 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4204
4205         * mule-charset.c (byte_table_description): Use
4206         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4207         (char_id_table_description): Delete bogus `, 1'.
4208         (Fget_char_attribute): Refer encoding_table of each coded-charset
4209         to get value of coded-charset attribute of a character.
4210         (Fput_char_attribute): Use `make_older_vector' instead of
4211         `make_vector'; use encoding_table of each coded-charset to store
4212         value of coded-charset attribute of a character.
4213         (Fremove_char_attribute): Use encoding_table of each coded-charset
4214         to store value of coded-charset attribute of a character.
4215         (mark_charset): Mark `cs->encoding_table'; don't mark
4216         `cs->decoding_table'.
4217         (charset_description): Add description of new member
4218         `encoding_table'.
4219         (make_charset): Initialize `encoding_table'.
4220
4221         * char-ucs.h (struct Lisp_Charset): Add new member
4222         `encoding_table'.
4223         (CHARSET_ENCODING_TABLE): New macro.
4224         (XCHARSET_ENCODING_TABLE): New macro.
4225         (charset_code_point): New implementation.
4226         (encode_char_1): Likewise.
4227
4228         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4229         (disksave_object_finalization_1): Call finalizers of
4230         `all_older_lcrecords' in UTF-2000.
4231         (make_older_vector): New function in UTF-2000.
4232         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4233         UTF-2000.
4234
4235         * lisp.h (make_older_vector): New prototype in UTF-2000.
4236
4237 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4238
4239         * lrecord.h (enum lrecord_type): Rename
4240         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4241
4242         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4243         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4244         `get_char_code_table'.
4245
4246         * mule-charset.c (mark_char_id_table): Renamed from
4247         `mark_char_code_table'.
4248         (char_id_table_equal): Renamed from `char_code_table_equal'.
4249         (char_id_table_hash): Renamed from `char_code_table_hash'.
4250         (make_char_id_table): Renamed from `make_char_code_table'.
4251         (copy_char_id_table): Renamed from `copy_char_code_table'.
4252         (get_char_id_table): Renamed from `get_char_code_table'.
4253         (put_char_id_table): Renamed from `put_char_code_table'.
4254         (to_char_id): Renamed from `to_char_code'.
4255
4256         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4257         `Lisp_Char_Code_Table'.
4258         (char_id_table): Renamed from `char_code_table'.
4259         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4260         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4261         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4262         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4263         (get_char_id_table): Renamed from `get_char_code_table'.
4264
4265 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4266
4267         * lrecord.h (enum lrecord_type): Rename
4268         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4269
4270         * mule-charset.c (mark_byte_table): Renamed from
4271         `mark_char_byte_table'.
4272         (byte_table_equal): Renamed from `char_byte_table_equal'.
4273         (byte_table_hash): Renamed from `byte_table_hash'.
4274         (make_byte_table): Renamed from `make_byte_table'.
4275         (copy_byte_table): Renamed from `copy_char_byte_table'.
4276
4277         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4278         `Lisp_Char_Byte_Table'.
4279         (byte_table): Renamed from `char_byte_table'.
4280         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4281         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4282         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4283         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4284
4285 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4286
4287         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4288         (dfc_convert_to_internal_format): Likewise.
4289         
4290         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4291         * text-coding.c (Fcoding_system_alias_p): New function.
4292         * text-coding.c (Fcoding_system_aliasee): New function.
4293         * text-coding.c (append_suffix_to_symbol): New function.
4294         * text-coding.c (dangling_coding_system_alias_p): New function.
4295         * text-coding.c (Ffind_coding_system):
4296         * text-coding.c (Fcopy_coding_system):
4297         * text-coding.c (encode_coding_no_conversion):
4298         * text-coding.c (syms_of_file_coding):
4299         * text-coding.c (vars_of_file_coding):
4300         Rewrite coding system alias code.
4301         Allow nested aliases, like symbolic links.
4302         Allow redefinition of coding system aliases.
4303         Prevent existence of dangling coding system aliases.
4304         Eliminate convert_to_external_format.
4305         Eliminate convert_to_internal_format.
4306         
4307         * text-coding.c: Change enum eol_type to eol_type_t.
4308
4309 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4310
4311         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4312         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4313
4314         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4315         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4316
4317 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4318
4319         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4320         `ideograph-daikanwa'.
4321
4322         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4323         (Vcharset_ucs_bmp): Likewise.
4324         (Vcharset_mojikyo): Add new extern variable definition.
4325         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4326         (Vcharset_latin_iso8859_3): Likewise.
4327         (Vcharset_latin_iso8859_4): Likewise.
4328         (Vcharset_latin_iso8859_9): Likewise.
4329         (Vcharset_latin_viscii_lower): Likewise.
4330         (Vcharset_latin_viscii_upper): Likewise.
4331         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4332         `mojikyo' code-point is used to decode.
4333         (encode_char_2): New function [to convert `mojikyo' code-point to
4334         Mojikyo font encoding].
4335         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4336         (breakup_char_1): Likewise.
4337         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4338
4339 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4340
4341         * text-coding.c (Fmake_coding_system): Add document about
4342         `disable-composition' property.
4343
4344 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4345
4346         * text-coding.c (Qdisable_composition): New variable; delete
4347         `Qcomposite'.
4348         (Fmake_coding_system): Add new property `disable-composite';
4349         delete property `composite'.
4350         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4351         instead of `!CODING_SYSTEM_COMPOSITE'.
4352         (syms_of_file_coding): Add new symbol `disable-composition';
4353         delete symbol `composite'.
4354
4355         * file-coding.h (struct Lisp_Coding_System): Add
4356         `disable_composition'; delete `enable_composition'.
4357         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4358         `CODING_SYSTEM_COMPOSITE'.
4359         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4360         `XCODING_SYSTEM_COMPOSITE'.
4361
4362 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4363
4364         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4365         to 0.15.
4366
4367 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4368
4369         * text-coding.c (Qcomposite): New variable.
4370         (Fmake_coding_system): Add new property `composite'.
4371         (struct decoding_stream): Add `combined_char_count',
4372         `combined_chars' and `combining_table' in UTF-2000.
4373         (COMPOSE_FLUSH_CHARS): New macro.
4374         (COMPOSE_ADD_CHAR): New macro.
4375         (reset_decoding_stream): Reset `str->combined_char_count' and
4376         `str->combining_table' in UTF-2000.
4377         (decode_coding_iso2022): Modify for character-decomposition.
4378         (syms_of_file_coding): Add new symbol `composite'.
4379
4380 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4381
4382         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4383         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4384         of `Vcharacter_composition_table' if `->decomposition' property
4385         has only 1 element.
4386         (Qlatin_tcvn5712): New variable.
4387         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4388         (complex_vars_of_mule_charset): Add new coded-charset
4389         `latin-tcvn5712'.
4390
4391         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4392
4393 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4394
4395         * file-coding.h (struct Lisp_Coding_System): Add
4396         `enable_composition'.
4397         (CODING_SYSTEM_COMPOSITE): New macro.
4398         (XCODING_SYSTEM_COMPOSITE): New macro.
4399
4400 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4401
4402         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4403
4404 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4405
4406         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4407         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4408
4409 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4410
4411         * mule-charset.c (Vcharset_mojikyo): New variable.
4412         (Fdefine_char): Don't use coded-charset which does not have
4413         non-builtin character range to allocate character-id.
4414         (Qmojikyo): New variable.
4415         (syms_of_mule_charset): Add new symbol `mojikyo'.
4416         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4417
4418         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4419         (LEADING_BYTE_MOJIKYO): New macro.
4420         (MIN_CHAR_MOJIKYO): New macro.
4421         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4422         (MAX_CHAR_MOJIKYO): New macro.
4423
4424 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4425
4426         * mule-charset.c (remove_char_attribute): Fixed.
4427
4428 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4429
4430         * mule-charset.c (remove_char_attribute): New function.
4431         (Fremove_char_attribute): New function.
4432         (encode_builtin_char_1): Comment out builtin-support for
4433         greek-iso8859-7 and cyrillic-iso8859-5.
4434         (Fdecode_char): Check `code' is an integer.
4435         (syms_of_mule_charset): Add `remove-char-attribute'.
4436         (MIN_CHAR_GREEK): Deleted.
4437         (MAX_CHAR_GREEK): Likewise.
4438         (MIN_CHAR_CYRILLIC): Likewise.
4439         (MAX_CHAR_CYRILLIC): Likewise.
4440         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4441         MAX_CHAR_GREEK for `greek-iso8859-7'.
4442
4443         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4444         (MAX_CHAR_GREEK): Likewise.
4445         (MIN_CHAR_CYRILLIC): Likewise.
4446         (MAX_CHAR_CYRILLIC): Likewise.
4447
4448 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4449
4450         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4451         format is used without `ucs' property.
4452         (Fdecode_char): Fix problem with GR representation.
4453         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4454         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4455
4456 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4457
4458         * mule-charset.c (make_builtin_char): New function.
4459         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4460         (Fset_charset_mapping_table): Modify for new representation of
4461         code-point.
4462         (Fdecode_char): New function.
4463         (syms_of_mule_charset): Add new builtin function `decode-char' in
4464         UTF-2000.
4465
4466         * char-ucs.h (make_builtin_char): New prototype.
4467         (DECODE_CHAR): New inline function.
4468         (MAKE_CHAR): Use `DECODE_CHAR'.
4469
4470 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4471
4472         * text-coding.c (parse_charset_conversion_specs): Use
4473         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4474         `XCHARSET_TYPE'.
4475         (iso2022_designate): Likewise.
4476
4477         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4478         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4479
4480         * mule-charset.c (Vcharset_ucs): New variable.
4481         (print_charset): Change design; use `CHARSET_CHARS' and
4482         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4483         (make_charset): Change signature to specify `chars' and
4484         `dimension' instead of `type'.
4485         (range_charset_code_point): Modify for 256^n-set.
4486         (encode_builtin_char_1): Encode as `ucs' in default.
4487         (Fmake_charset): Modify for `make_charset'.
4488         (Fmake_reverse_direction_charset): Likewise.
4489         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4490         UTF-2000.
4491         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4492         for `make_charset'.
4493
4494         * char-ucs.h (Vcharset_ucs): New variable.
4495         (LEADING_BYTE_UCS): New macro.
4496         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4497         and `chars' to `unsigned short' from `unsigned int'.
4498         (CHARSET_TYPE): Deleted.
4499         (XCHARSET_TYPE): Deleted.
4500
4501 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4502
4503         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4504
4505         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4506         (ENCODE_CHAR): New macro.
4507
4508 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4509
4510         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4511         to 0.14 (Kawachi-Katakami).
4512
4513 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4514
4515         * text-coding.c (char_encode_shift_jis): Modify for
4516         `charset_code_point'.
4517         (char_encode_iso2022): Likewise.
4518
4519         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4520         (integer) instead of list of <Lisp_Object>s (integers) as the
4521         format of code-point of a coded-charset.
4522         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4523         (encode_builtin_char_1): New function; delete
4524         `split_builtin_char'.
4525         (charset_code_point): Return <int> instead of <Lisp_Object>.
4526         (Fsplit_char): Don't use `SPLIT_CHAR'.
4527
4528         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4529         prototype for `split_builtin_char'.
4530         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4531         (charset_code_point): Likewise.
4532         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4533         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4534
4535 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4536
4537         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4538         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4539
4540 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4541
4542         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4543
4544         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4545         (MAX_CHAR_OBS_94x94): Deleted.
4546
4547 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4548
4549         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4550
4551         * char-ucs.h (MAX_CHAR_BMP): New macro.
4552
4553 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4554
4555         * text-coding.c: Sync with r21-2-24.
4556
4557 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4558
4559         * file-coding.c: Modify for UTF-2000.
4560
4561 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4562
4563         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4564         to 0.13 (Takaida).
4565
4566 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4567
4568         * mule-charset.c (split_builtin_char): Delete builtin support for
4569         `katakana-jisx0201'.
4570         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4571         BMP area in builtin representation.
4572
4573         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4574         `Vcharset_katakana_jisx0201'.
4575
4576 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4577
4578         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4579         (Qisolated): New variable.
4580         (Qinitial): New variable.
4581         (Qmedial): New variable.
4582         (Qfinal): New variable.
4583         (Qvertical): New variable.
4584         (Qsmall): New variable.
4585         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4586         `Qvertical' and `Qsmall'.
4587         (Qmojikyo_pj_[1 .. 21]): New variable.
4588         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4589         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4590         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4591         .. 21]'.
4592
4593 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4594
4595         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4596         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4597         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4598
4599 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4600
4601         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4602         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4603         BMP.
4604         (Qjapanese_jisx0208_1990): New variable.
4605         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4606         (complex_vars_of_mule_charset): Add new coded-charset
4607         `japanese-jisx0208-1990'.
4608
4609         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4610         (MIN_CHAR_JIS_X0208_1990): New macro.
4611         (MAX_CHAR_JIS_X0208_1990): New macro.
4612
4613 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4614
4615         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4616         coded-charset is not found.
4617
4618 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4619
4620         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4621         (Fdefine_char): Use `Fmake_char'.
4622
4623 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4624
4625         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4626         (Vcharset_hiragana_jisx0208): Deleted.
4627         (Vcharset_katakana_jisx0208): Deleted.
4628         (Qideograph_daikanwa): New variable.
4629         (Qhiragana_jisx0208): Deleted.
4630         (Qkatakana_jisx0208): Deleted.
4631         (split_builtin_char): Split `ideograph-daikanwa'.
4632         (Fsplit_char): New implementation for UTF-2000.
4633         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4634         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4635         (complex_vars_of_mule_charset): Add new coded-charset
4636         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4637         `katakana-jisx0208'.
4638
4639         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4640         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4641         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4642         (MIN_CHAR_DAIKANWA): New macro.
4643         (MAX_CHAR_DAIKANWA): New macro.
4644
4645 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4646
4647         * data.c (Fstring_to_number): Don't recognize floating point if
4648         base is not 10.
4649
4650 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4651
4652         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4653
4654 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4655
4656         * mule-charset.c (Qsquare): New variable.
4657         (to_char_code): Add `Qsquare'.
4658         (syms_of_mule_charset): Add new symbol `square'.
4659
4660 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4661
4662         * mule-charset.c (Qcircle): New variable.
4663         (to_char_code): Add `Qcircle'.
4664         (syms_of_mule_charset): Add new symbol `circle'.
4665
4666 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4667
4668         * mule-charset.c (Qfont): New variable.
4669         (to_char_code): Add `Qfont'.
4670         (syms_of_mule_charset): Add new symbol `font'.
4671
4672 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4673
4674         * mule-charset.c (Qsub): New variable.
4675         (to_char_code): Add `Qsub'.
4676         (syms_of_mule_charset): Add new symbol `sub'.
4677
4678 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4679
4680         * mule-charset.c (Fput_char_attribute): Convert each element of
4681         VALUE to GL position if ATTRIBUTE is a GR-set,
4682
4683 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4684
4685         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4686         coded-charset is a GR-set.
4687
4688 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4689
4690         * mule-charset.c (Fput_char_attribute): Check each element of
4691         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4692
4693 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4694
4695         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4696         UTF-2000.
4697         (Qethiopic_ucs): New variable in UTF-2000.
4698         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4699         (complex_vars_of_mule_charset): Add new coded-charset
4700         `ethiopic-ucs' in UTF-2000.
4701
4702         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4703         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4704         9)'.
4705         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4706         10)'.
4707         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4708
4709 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4710
4711         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4712         `ascii'.
4713
4714 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4715
4716         * mule-charset.c (Vcharacter_variant_table): New variable.
4717         (Q_ucs): New variable.
4718         (Fchar_variants): New function.
4719         (Fput_char_attribute): Register `->ucs' value to
4720         `Vcharacter_variant_table'.
4721         (syms_of_mule_charset): Add new function `char-variants' and new
4722         symbol `->ucs'.
4723         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4724
4725 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4726
4727         * mule-charset.c (get_char_code_table): Allow negative character
4728         code.
4729         (put_char_code_table): Likewise.
4730         (Vcharacter_composition_table): New variable.
4731         (Q_decomposition): New variable.
4732         (Qwide): New variable.
4733         (Qnarrow): New variable.
4734         (Qcompat): New variable.
4735         (QnoBreak): New variable.
4736         (Qsuper): New variable.
4737         (Qfraction): New variable.
4738         (to_char_code): New function.
4739         (Fget_composite_char): New function.
4740         (Fput_char_attribute): Register `->decomposition' value to
4741         `Vcharacter_composition_table'.
4742         (syms_of_mule_charset): Add new function `get-composite-char', new
4743         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4744         `super' and `fraction'.
4745         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4746
4747 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4748
4749         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4750         character; copy the return value.
4751
4752 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4753
4754         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4755
4756         * mule-charset.c (range_charset_code_point): Must use make_int.
4757         (split_builtin_char): New function.
4758
4759 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4760
4761         * mule-charset.c (char_byte_table): Change name from
4762         "char-code-table" to "char-byte-table".
4763         (mark_char_code_table): New function.
4764         (char_code_table_equal): New function.
4765         (char_code_table_hash): New function.
4766         (char_code_table_description): New constant.
4767         (char_code_table): New type.
4768         (make_char_code_table): New function.
4769         (copy_char_code_table): New function.
4770         (get_char_code_table): Modify for `char_code_table' type.
4771         (put_char_code_table): Likewise.
4772         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4773         (Kashiwara).
4774
4775         * char-ucs.h (char_code_table): New type.
4776         (XCHAR_CODE_TABLE): New macro.
4777         (XSETCHAR_CODE_TABLE): New macro.
4778         (CHAR_CODE_TABLE_P): New macro.
4779         (GC_CHAR_CODE_TABLE_P): New macro.
4780         (struct Lisp_Char_Code_Table): New structure.
4781
4782 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4783
4784         * mule-charset.c (Fmake_charset): Setup byte_offset for
4785         {94|96}^n-set.
4786
4787 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4788
4789         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4790         character.
4791
4792 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4793
4794         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4795         is found.
4796
4797 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4798
4799         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4800         charset, it is regarded as a charset.
4801         (put_char_attribute): New function in UTF-2000.
4802         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4803         charset, mapping-table of the charset is modified.
4804         (Fdefine_char): New function in UTF-2000.
4805         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4806         `Fput_char_attribute'.
4807         (syms_of_mule_charset): Add new function `define-char' and new
4808         symbol `ucs' in UTF-2000.
4809         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4810
4811 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4812
4813         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4814         non-UTF-2000 configuration.
4815
4816 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4817
4818         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4819         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4820
4821         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4822         deleted.
4823         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4824         (Fset_charset_mapping_table): Likewise.
4825
4826         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4827         (CHARSET_ENCODING_TABLE): Delete.
4828         (XCHARSET_ENCODING_TABLE): Delete.
4829         (charset_code_point): New interface.
4830
4831 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4832
4833         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4834         instead of `charset_get_byte1' and `charset_get_byte2'.
4835
4836         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4837         (charset_get_byte2): Deleted.
4838
4839 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4840
4841         * char-ucs.h (SPLIT_CHAR): New inline function.
4842         (breakup_char_1): Use `SPLIT_CHAR'.
4843
4844         * mule-charset.c (range_charset_code_point): New function.
4845         (charset_code_point): New function.
4846
4847         * char-ucs.h (range_charset_code_point): New interface.
4848         (breakup_char_1): Use `range_charset_code_point'.
4849
4850 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4851
4852         * mule-charset.c (Fmake_charset): Delete unused local variable
4853         `code_offset'.
4854
4855         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4856         (breakup_char_1): Find a charset and code-point in
4857         `Vcharacter_attribute_table'.
4858
4859 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4860
4861         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4862         to 0.10 (Yao).
4863
4864 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4865
4866         * mule-charset.c (Vcharacter_attribute_table): New variable.
4867         (Fchar_attribute_alist): New function.
4868         (Fget_char_attribute): New function.
4869         (Fput_char_attribute): New function.
4870         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4871         too.
4872         (syms_of_mule_charset): Add new function `char-attribute-alist',
4873         `get-char-attribute' and `put-char-attribute'.
4874         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4875
4876 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4877
4878         * mule-charset.c (Fmake_charset): Just use
4879         `get_unallocated_leading_byte'.
4880
4881         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4882         sets; don't use final-byte based number for private sets.
4883
4884 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4885
4886         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4887         integer.
4888
4889 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4890
4891         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4892         to 0.9.
4893
4894 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4895
4896         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4897         of `CHAR_LEADING_BYTE' in UTF-2000.
4898
4899         * insdel.c (find_charsets_in_bufbyte_string): Use
4900         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4901         (find_charsets_in_emchar_string): Likewise.
4902
4903         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4904         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4905
4906         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4907         (CHAR_CHARSET_ID): New macro.
4908
4909 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4910
4911         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4912         charset-id - MIN_LEADING_BYTE.
4913         (put_char_table): Likewise.
4914
4915 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4916
4917         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4918         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4919         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4920         (CHARSET_ID_OFFSET): New macro.
4921         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4922         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4923         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4924         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4925         4).
4926         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4927         5).
4928         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4929         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4930         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4931         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4932         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4933
4934 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4935
4936         * mule-charset.c (next_allocated_leading_byte): New variable in
4937         UTF-2000.
4938         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4939         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4940         (get_unallocated_leading_byte): Simply use
4941         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4942         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4943         UTF-2000.
4944
4945         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4946         (MAX_LEADING_BYTE_PRIVATE): New macro.
4947         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4948         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4949
4950 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4951
4952         * mule-charset.c (Fmake_charset): Allocate final-byte based
4953         charset-id for 94-set, 96-set and 94x94-set.
4954
4955 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4956
4957         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4958         ambiguous `else'.
4959         (Fmake_charset): Likewise.
4960         (complex_vars_of_mule_charset): Modify the font registry of
4961         `ucs-bmp' not to match `Ethiopic-Unicode'.
4962
4963 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4964
4965         * mule-charset.c (complex_vars_of_mule_charset): Add font
4966         registory of `ucs-bmp'.
4967
4968 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4969
4970         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4971         coded-charsets in `default-coded-charset-priority-list' when
4972         breaking up a character.
4973
4974         * mule-charset.c (Vcharset_latin_viscii): New variable.
4975         (Qlatin_viscii): New variable.
4976         (make_charset): Don't use `decoding_table'.
4977         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4978         byte_offset.
4979         (Fset_charset_mapping_table): New implementation.
4980         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4981         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4982         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4983         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4984         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4985         charset `latin_viscii'.
4986
4987         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4988         (CHARSET_TYPE_94X94): Change to 1 from 2.
4989         (CHARSET_TYPE_96): Change to 2 from 1.
4990         (CHARSET_TYPE_128): New macro.
4991         (CHARSET_TYPE_128X128): Change to 5 from 4.
4992         (CHARSET_TYPE_256): New macro.
4993         (CHARSET_TYPE_256X256): Change to 7 from 5.
4994         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4995
4996 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4997
4998         * text-coding.c (char_encode_shift_jis): Refer
4999         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
5000         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
5001
5002         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
5003         (char_byte_table_equal): New function in UTF-2000.
5004         (char_byte_table_hash): New function in UTF-2000.
5005         (char_byte_table_description): New constant in UTF-2000.
5006         (char_byte_table): New type in UTF-2000.
5007         (make_char_byte_table): New function in UTF-2000.
5008         (copy_char_byte_table): New function in UTF-2000.
5009         (make_char_code_table): New macro in UTF-2000.
5010         (get_char_code_table): New function in UTF-2000.
5011         (put_char_code_table): New function in UTF-2000.
5012         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
5013         (charset_description): Add setting in UTF-2000.
5014         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
5015         `CHARSET_TO_BYTE1_TABLE(cs)'.
5016         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
5017         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
5018         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
5019         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
5020         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
5021         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
5022         `CHARSET_TO_BYTE2_TABLE(cs)'.
5023
5024         * char-ucs.h (char_byte_table): New type.
5025         (XCHAR_BYTE_TABLE): New macro.
5026         (XSETCHAR_BYTE_TABLE): New macro.
5027         (CHAR_BYTE_TABLE_P): New macro.
5028         (GC_CHAR_BYTE_TABLE_P): New macro.
5029         (struct Lisp_Char_Byte_Table): New structure.
5030         (get_char_code_table): New interface.
5031         (Emchar_to_byte_table): Deleted.
5032         (get_byte_from_character_table): Deleted.
5033         (struct Lisp_Charset): Add `encoding_table'; delete
5034         `to_byte1_table' and `to_byte2_table'.
5035         (CHARSET_ENCODING_TABLE): New macro.
5036         (CHARSET_TO_BYTE1_TABLE): Deleted.
5037         (CHARSET_TO_BYTE2_TABLE): Deleted.
5038         (XCHARSET_ENCODING_TABLE): New macro.
5039         (XCHARSET_TO_BYTE1_TABLE): Deleted.
5040         (XCHARSET_TO_BYTE2_TABLE): Deleted.
5041
5042 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5043
5044         * mule-charset.c (syms_of_mule_charset): Delete charset alias
5045         `vietnamese-viscii-*'.
5046
5047 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5048
5049         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
5050         (Qvietnamese_viscii_upper): New variable.
5051         (Fdefine_charset_alias): New function.
5052         (syms_of_mule_charset): Add new function `define-charset-alias'.
5053         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
5054         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
5055         `latin-viscii-*'.
5056
5057 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
5058
5059         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
5060         (MAX_CHAR_OBS_94x94): New macro.
5061         (breakup_char_1): Support obsolete XEmacs-UCS private code space
5062         for 94x94 sets.
5063
5064         * mule-charset.c (put_byte_from_character_table): Change unit size
5065         from 128 to 256.
5066         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
5067         not defined.
5068         (Fmake_reverse_direction_charset): Modify dummy argument of
5069         `make_charset' for non-UTF-2000 environment.
5070
5071 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5072
5073         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
5074
5075         * mule-charset.c (destroy_byte_from_character_table): New macro.
5076         (latin_jisx0201_to_ucs): Deleted.
5077         (latin_iso8859_2_to_ucs): Deleted.
5078         (latin_iso8859_3_to_ucs): Deleted.
5079         (latin_iso8859_4_to_ucs): Deleted.
5080         (latin_iso8859_9_to_ucs): Deleted.
5081         (latin_viscii_lower_to_ucs): Deleted.
5082         (latin_viscii_upper_to_ucs): Deleted.
5083         (mark_charset): Mark `cs->decoding_table'.
5084         (Fcharset_mapping_table): Fix DOC-string.
5085         (Fset_charset_mapping_table): New function.
5086         (syms_of_mule_charset): Add nwe function
5087         `set-charset-mapping-table'.
5088         (complex_vars_of_mule_charset): Don't setup and use
5089         `latin_*_to_ucs'.
5090
5091 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5092
5093         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5094         charset.
5095
5096 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5097
5098         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5099         (Vcharset_katakana_jisx0208): New variable.
5100         (Qhiragana_jisx0208): New variable.
5101         (Qkatakana_jisx0208): New variable.
5102         (make_charset): Add new argument `byte_offset'.
5103         (charset_get_byte1): Modify for new coded-charset definition; use
5104         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5105         `XCHARSET_BYTE_OFFSET'.
5106         (Fmake_charset): Modify for `make_charset'.
5107         (Fmake_reverse_direction_charset): Likewise.
5108         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5109         `katakana-jisx0208'.
5110         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5111         `.'  in font registry of charset `katakana-jisx0201',
5112         `latin-jisx0201', `vietnamese-viscii-lower' and
5113         `vietnamese-viscii-upper'; modify DOC-string of charset
5114         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5115         registry of charset `japanese-jisx0208' not to use font for JIS
5116         X0208:1990; add new charset `hiragana-jisx0208' and
5117         `katakana-jisx0208'.
5118
5119         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5120         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5121         (struct Lisp_Charset): Add `byte_offset'.
5122         (CHARSET_BYTE_OFFSET): New macro.
5123         (XCHARSET_UCS_MIN): New macro.
5124         (XCHARSET_UCS_MAX): New macro.
5125         (XCHARSET_CODE_OFFSET): New macro.
5126         (XCHARSET_BYTE_OFFSET): New macro.
5127         (MIN_CHAR_HIRAGANA): New macro.
5128         (MAX_CHAR_HIRAGANA): New macro.
5129         (MIN_CHAR_KATAKANA): New macro.
5130         (MAX_CHAR_KATAKANA): New macro.
5131         (MAKE_CHAR): Modify for new coded-charset definition; use
5132         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5133         `XCHARSET_BYTE_OFFSET'.
5134
5135 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5136
5137         * mule-charset.c (CHAR96): Deleted.
5138         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5139         <Lisp_Object>.
5140         (latin_iso8859_2_to_ucs): Likewise.
5141         (latin_iso8859_3_to_ucs): Likewise.
5142         (latin_iso8859_4_to_ucs): Likewise.
5143         (latin_iso8859_9_to_ucs): Likewise.
5144         (latin_viscii_lower_to_ucs): Likewise.
5145         (latin_viscii_upper_to_ucs): Likewise.
5146         (latin_tcvn5712_to_ucs): Commented out.
5147         (make_charset): Change type of argument `decoding_table' from
5148         <Emchar*> to <Lisp_Object> [vector of characters].
5149         (Fmake_charset): Modify for `make_charset'.
5150         (Fmake_reverse_direction_charset): Likewise.
5151         (Fcharset_mapping_table): New function in UTF-2000.
5152         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5153         UTF-2000.
5154         (complex_vars_of_mule_charset): Modify for type change of
5155         `*_to_ucs'; modify for `make_charset'.
5156
5157         * char-ucs.h (struct Lisp_Charset): Change type of
5158         `decoding_table' from <Emchar*> to <Lisp_Object>.
5159         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5160
5161 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5162
5163         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5164         error with non-UTF-2000-Mule.
5165
5166 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5167
5168         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5169         in lisp again].
5170         (Vcharset_chinese_cns11643_4): Likewise.
5171         (Vcharset_chinese_cns11643_5): Likewise.
5172         (Vcharset_chinese_cns11643_6): Likewise.
5173         (Vcharset_chinese_cns11643_7): Likewise.
5174         (Qchinese_cns11643_3): Likewise.
5175         (Qchinese_cns11643_4): Likewise.
5176         (Qchinese_cns11643_5): Likewise.
5177         (Qchinese_cns11643_6): Likewise.
5178         (Qchinese_cns11643_7): Likewise.
5179         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5180         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5181         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5182         (complex_vars_of_mule_charset): Likewise.
5183
5184 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5185
5186         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5187         96-set.
5188         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5189         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5190
5191 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5192
5193         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5194         0xFF60.
5195         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5196         (breakup_char_1): Likewise.
5197
5198         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5199         one of them includes the specified character.
5200
5201 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5202
5203         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5204
5205 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5206
5207         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5208
5209 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5210
5211         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5212         definition for non-UTF-2000 Mule.
5213         (latin_iso8859_3_to_ucs): Likewise.
5214         (latin_iso8859_4_to_ucs): Likewise.
5215         (latin_iso8859_9_to_ucs): Likewise.
5216         (latin_jisx0201_to_ucs): Likewise.
5217         (MIN_CHAR_THAI): Likewise.
5218         (MAX_CHAR_THAI): Likewise.
5219         (MIN_CHAR_GREEK): Likewise.
5220         (MAX_CHAR_GREEK): Likewise.
5221         (MIN_CHAR_HEBREW): Likewise.
5222         (MAX_CHAR_HEBREW): Likewise.
5223         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5224         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5225         (MIN_CHAR_CYRILLIC): Likewise.
5226         (MAX_CHAR_CYRILLIC): Likewise.
5227
5228 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5229
5230         * char-ucs.h (breakup_char_1): Use
5231         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5232         thai-tis620 and katakana-jisx0201 area.
5233
5234 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5235
5236         * char-ucs.h (breakup_char_1): Use
5237         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5238         area.
5239
5240         * text-coding.c (reset_encoding_stream): Fixed.
5241         (char_encode_ucs4): Delete `& 255'.
5242
5243         * char-ucs.h (breakup_char_1): Use
5244         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5245
5246 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5247
5248         * file-coding.c (Fmake_coding_system): Don't set up
5249         `codesys->fixed.size'.
5250         (encode_coding_no_conversion): Don't refer
5251         `str->codesys->fixed.size'.
5252
5253 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5254
5255         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5256         (latin_a_char_to_byte1): Deleted.
5257         (latin_a_char_to_byte2): Deleted.
5258
5259 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5260
5261         * mule-charset.c (make_charset): Add new argument `ucs_min',
5262         `ucs_max' and `code_offset'.
5263         (charset_get_byte1): New implementation [delete specific charset
5264         depended implementations].
5265         (Fmake_charset): Modify for `make_charset'.
5266         (Fmake_reverse_direction_charset): Likewise.
5267         (complex_vars_of_mule_charset): Likewise.
5268
5269         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5270         `code_offset'.
5271         (CHARSET_UCS_MIN): New macro.
5272         (CHARSET_UCS_MAX): New macro.
5273         (CHARSET_CODE_OFFSET): New macro.
5274         (MAKE_CHAR): Delete charset depended definitions [except
5275         katakana-jisx0201].
5276
5277 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5278
5279         * char-ucs.h (breakup_char_1): Use
5280         `Vdefault_coded_charset_priority_list' for C0-Controls,
5281         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5282
5283 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5284
5285         * char-ucs.h (charset_get_byte1): New function.
5286         (XCHARSET_GET_BYTE1): Deleted.
5287         (charset_get_byte2): New function.
5288         (XCHARSET_GET_BYTE2): Deleted.
5289         (Vdefault_coded_charset_priority_list): New external variable.
5290         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5291         `Vdefault_preferred_coded_charset_list'.
5292
5293         * mule-charset.c (charset_get_byte1): New function.
5294         (charset_get_byte2): New function.
5295         (Vdefault_coded_charset_priority_list): New variable.
5296         (vars_of_mule_charset): Add new variable
5297         `default-coded-charset-priority-list'.
5298
5299 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5300
5301         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5302         (XCHARSET_GET_BYTE2): New inline function.
5303         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5304         `XCHARSET_GET_BYTE2'.
5305
5306 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5307
5308         * mule-charset.c (make_charset): Initialize
5309         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5310         NULL if table is not defined.
5311
5312 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5313
5314         * text-coding.c (char_encode_shift_jis): Use
5315         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5316         `ucs_to_latin_jisx0201'.
5317
5318         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5319         (ucs_to_latin_iso8859_2): Deleted.
5320         (ucs_to_latin_iso8859_3): Deleted.
5321         (ucs_to_latin_iso8859_4): Deleted.
5322         (ucs_to_latin_iso8859_9): Deleted.
5323         (ucs_to_latin_viscii_lower): Deleted.
5324         (ucs_to_latin_viscii_upper): Deleted.
5325         (ucs_to_latin_tcvn5712): Deleted.
5326         (make_charset): Add new argument `decoding_table'; set up
5327         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5328         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5329         `decoding_table' is defined in UTF-2000.
5330         (Fmake_charset): Modify for `make_charset'.
5331         (Fmake_reverse_direction_charset): Likewise.
5332         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5333         and `GENERATE_96_SET'.
5334
5335         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5336         (ucs_to_latin_jisx0201): Deleted.
5337         (latin_iso8859_2_to_ucs): Deleted.
5338         (ucs_to_latin_iso8859_2): Deleted.
5339         (latin_iso8859_3_to_ucs): Deleted.
5340         (ucs_to_latin_iso8859_3): Deleted.
5341         (latin_iso8859_4_to_ucs): Deleted.
5342         (ucs_to_latin_iso8859_4): Deleted.
5343         (latin_iso8859_9_to_ucs): Deleted.
5344         (ucs_to_latin_iso8859_9): Deleted.
5345         (latin_viscii_lower_to_ucs): Deleted.
5346         (ucs_to_latin_viscii_lower): Deleted.
5347         (latin_viscii_upper_to_ucs): Deleted.
5348         (ucs_to_latin_viscii_upper): Deleted.
5349         (struct Lisp_Charset): Renamed `encoding_table' to
5350         `to_byte1_table'; add `to_byte2_table'.
5351         (CHARSET_DECODING_TABLE): New macro.
5352         (CHARSET_TO_BYTE1_TABLE): New macro.
5353         (CHARSET_TO_BYTE2_TABLE): New macro.
5354         (XCHARSET_DECODING_TABLE): New macro.
5355         (XCHARSET_TO_BYTE1_TABLE): New macro.
5356         (XCHARSET_TO_BYTE2_TABLE): New macro.
5357         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5358         tables.
5359         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5360         don't use `ucs_to_*' tables.
5361
5362 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5363
5364         * text-coding.c (Fmake_coding_system): Don't set up
5365         `codesys->fixed.size'.
5366         (encode_coding_no_conversion): Use `if' instead of `switch'.
5367
5368         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5369
5370 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5371
5372         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5373         (Fmake_charset): Modify for `make_charset'.
5374         (Fmake_reverse_direction_charset): Likewise.
5375         (complex_vars_of_mule_charset): Likewise.
5376
5377 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5378
5379         * text-coding.c (char_encode_shift_jis): Use table
5380         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5381
5382 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5383
5384         * text-coding.c (text_encode_generic): Use `if' instead of
5385         `switch'.
5386         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5387         decode JIS-Latin.
5388
5389 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5390
5391         * text-coding.c (encode_coding_sjis): Deleted.
5392         (char_encode_shift_jis): New function.
5393         (char_finish_shift_jis): New function.
5394         (reset_encoding_stream): Set up `encode_char' and `finish' for
5395         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5396         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5397         (char_encode_utf8): Treat `eol_type'.
5398
5399 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5400
5401         * file-coding.c (decode_coding_iso2022): Use
5402         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5403
5404 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5405
5406         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5407         to 0.7 (Hirano).
5408
5409 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5410
5411         * char-lb.h (CHAR_COLUMNS): New macro.
5412
5413 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5414
5415         * text-coding.c (char_encode_ucs4): New function.
5416         (char_finish_ucs4): New function.
5417         (encode_coding_ucs4): Deleted.
5418         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5419         (text_encode_generic): Delete local variable `charset' and `half'.
5420         (ucs_to_mule_table): Deleted.
5421         (mule_to_ucs_table): Deleted.
5422         (Fset_ucs_char): Deleted.
5423         (ucs_to_char): Deleted.
5424         (Fucs_char): Deleted.
5425         (Fset_char_ucs): Deleted.
5426         (Fchar_ucs): Deleted.
5427         (decode_ucs4): Deleted.
5428         (mule_char_to_ucs4): Deleted.
5429         (encode_ucs4): Deleted.
5430         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5431         (decode_coding_utf8): Likewise.
5432         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5433         (char_encode_iso2022): Fixed.
5434         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5435         `Fset_char_ucs' and `Fchar_ucs'.
5436         (complex_vars_of_file_coding): Don't initialize
5437         `ucs_to_mule_table'.
5438
5439         * objects-tty.c (tty_initialize_font_instance): Don't use
5440         `XCHARSET_COLUMNS'.
5441
5442         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5443         UTF-2000.
5444
5445         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5446         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5447
5448         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5449         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5450         (emchar_string_displayed_columns): Likewise.
5451
5452         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5453         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5454         (string_column_at_point): Likewise.
5455         (Fmove_to_column): Likewise.
5456
5457         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5458         `encoding_table' and `decoding_table'.
5459         (CHARSET_REP_BYTES): Deleted.
5460         (XCHARSET_REP_BYTES): Deleted.
5461         (XCHARSET_COLUMNS): Deleted.
5462         (CHAR_COLUMNS): New macro.
5463         (lookup_composite_char): Deleted unconditionally.
5464         (composite_char_string): Likewise.
5465
5466 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5467
5468         * char-ucs.h (Emchar_to_byte_table): New type.
5469         (get_byte_from_character_table): New function interface.
5470         (Vcharset_latin_jisx0201): New variable.
5471         (latin_jisx0201_to_ucs): New variable.
5472         (ucs_to_latin_jisx0201): New variable.
5473         (Vcharset_latin_iso8859_2): New variable.
5474         (latin_iso8859_2_to_ucs): New variable.
5475         (ucs_to_latin_iso8859_2): New variable.
5476         (Vcharset_latin_iso8859_3): New variable.
5477         (latin_iso8859_3_to_ucs): New variable.
5478         (ucs_to_latin_iso8859_3): New variable.
5479         (Vcharset_latin_iso8859_4): New variable.
5480         (latin_iso8859_4_to_ucs): New variable.
5481         (ucs_to_latin_iso8859_4): New variable.
5482         (Vcharset_latin_iso8859_9): New variable.
5483         (latin_iso8859_9_to_ucs): New variable.
5484         (ucs_to_latin_iso8859_9): New variable.
5485         (Vcharset_latin_viscii_lower): New variable.
5486         (latin_viscii_lower_to_ucs): New variable.
5487         (ucs_to_latin_viscii_lower): New variable.
5488         (Vcharset_latin_viscii_upper): New variable.
5489         (latin_viscii_upper_to_ucs): New variable.
5490         (ucs_to_latin_viscii_upper): New variable.
5491         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5492         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5493         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5494         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5495         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5496         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5497         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5498         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5499         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5500         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5501
5502         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5503         (Vcharset_latin_viscii_upper): New variable.
5504         (make_byte_from_character_table): New function.
5505         (put_byte_from_character_table): New function.
5506         (get_byte_from_character_table): New function.
5507         (CHAR96): New macro.
5508         (ucs_to_latin_jisx0201): New variable.
5509         (latin_jisx0201_to_ucs): New variable.
5510         (ucs_to_latin_iso8859_2): New variable.
5511         (latin_iso8859_2_to_ucs): New variable.
5512         (ucs_to_latin_iso8859_3): New variable.
5513         (latin_iso8859_3_to_ucs): New variable.
5514         (ucs_to_latin_iso8859_4): New variable.
5515         (latin_iso8859_4_to_ucs): New variable.
5516         (ucs_to_latin_iso8859_9): New variable.
5517         (latin_iso8859_9_to_ucs): New variable.
5518         (ucs_to_latin_viscii_lower): New variable.
5519         (latin_viscii_lower_to_ucs): New variable.
5520         (ucs_to_latin_viscii_upper): New variable.
5521         (latin_viscii_upper_to_ucs): New variable.
5522         (ucs_to_latin_tcvn5712): New variable.
5523         (latin_tcvn5712_to_ucs): New variable.
5524         (Qlatin_viscii_lower): New variable.
5525         (Qlatin_viscii_upper): New variable.
5526         (syms_of_mule_charset): Set up new symbol
5527         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5528         (complex_vars_of_mule_charset): Set up new charset
5529         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5530         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5531         `ucs_to_<CHARSET>' tables.
5532
5533 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5534
5535         * text-coding.c: New file.
5536
5537 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5538
5539         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5540
5541         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5542         (MAKE_CHAR): Modify for `ucs-bmp'.
5543         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5544         non-MULE characters of BMP.
5545
5546 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5547
5548         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5549         to 0.6.
5550
5551 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5552
5553         * lstream.h:
5554         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5555         - Include character.h for `CHAR_ASCII_P'.
5556
5557         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5558
5559         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5560         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5561
5562         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5563         (BYTE_C0_P): Likewise.
5564         (BYTE_C1_P): Likewise.
5565         (Lstream_get_emchar_1): Likewise.
5566         (Lstream_fput_emchar): Likewise.
5567         (Lstream_funget_emchar): Likewise.
5568         (copy_internal_to_external): Likewise.
5569         (copy_external_to_internal): Likewise.
5570
5571         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5572         (BYTE_C0_P): Likewise.
5573         (BYTE_C1_P): Likewise.
5574         (Lstream_get_emchar_1): Likewise.
5575         (Lstream_fput_emchar): Likewise.
5576         (Lstream_funget_emchar): Likewise.
5577         (copy_internal_to_external): Likewise.
5578         (copy_external_to_internal): Likewise.
5579
5580         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5581         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5582
5583         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5584         (BYTE_ASCII_P): Moved to mb-1byte.h.
5585
5586 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5587
5588         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5589
5590         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5591         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5592         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5593         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5594         (VALIDATE_CHARPTR_FORWARD): Likewise.
5595         (simple_charptr_emchar): Moved to mb-multibyte.h.
5596         (simple_set_charptr_emchar): Likewise.
5597         (simple_charptr_copy_char): Likewise.
5598         (non_ascii_charptr_emchar): Likewise.
5599         (non_ascii_set_charptr_emchar): Likewise.
5600         (non_ascii_charptr_copy_char): Likewise.
5601         (charptr_emchar): Moved to mb-*byte.h.
5602         (set_charptr_emchar): Likewise.
5603         (charptr_copy_char): Likewise.
5604
5605         * mb-1byte.h, mb-multibyte.h: New files.
5606
5607 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5608
5609         * mb-utf-8.h (MULTIBYTE): New macro.
5610         (MAX_EMCHAR_LEN): Moved from buffer.h.
5611         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5612
5613         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5614
5615         * mb-lb.h, multibyte.h: New files.
5616
5617         * char-1byte.h (Charset_ID): Moved from buffer.h.
5618         (MIN_LEADING_BYTE): Likewise.
5619         (LEADING_BYTE_ASCII): Likewise.
5620         (NUM_LEADING_BYTES): Likewise.
5621         (CHARSETP): Likewise.
5622         (CHARSET_BY_LEADING_BYTE): Likewise.
5623         (XCHARSET_LEADING_BYTE): Likewise.
5624         (XCHARSET_GRAPHIC): Likewise.
5625         (XCHARSET_COLUMNS): Likewise.
5626         (XCHARSET_DIMENSION): Likewise.
5627         (CHAR_CHARSET): Likewise.
5628         (CHAR_LEADING_BYTE): Likewise.
5629         (BREAKUP_CHAR): Likewise.
5630         (Vcharset_ascii): Likewise.
5631
5632         * buffer.h: Include multibyte.h unconditionally.
5633         (VALID_CHARPTR_P): Moved to multibyte.h.
5634         (ASSERT_VALID_CHARPTR): Likewise.
5635         (REAL_INC_CHARPTR): Likewise.
5636         (REAL_INC_CHARBYTIND): Likewise.
5637         (REAL_DEC_CHARPTR): Likewise.
5638         (INC_CHARPTR): Likewise.
5639         (INC_CHARBYTIND): Likewise.
5640         (DEC_CHARPTR): Likewise.
5641         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5642         (VALIDATE_CHARPTR_FORWARD): Likewise.
5643         (charptr_n_addr): Likewise.
5644         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5645         (simple_charptr_emchar): Moved to multibyte.h.
5646         (simple_set_charptr_emchar): Likewise.
5647         (simple_charptr_copy_char): Likewise.
5648         (non_ascii_charptr_emchar): Likewise.
5649         (non_ascii_set_charptr_emchar): Likewise.
5650         (non_ascii_charptr_copy_char): Likewise.
5651         (charptr_emchar): Likewise.
5652         (set_charptr_emchar): Likewise.
5653         (charptr_copy_char): Likewise.
5654         (charptr_emchar_n): Likewise.
5655         (Charset_ID): Moved to char-1byte.h.
5656         (Vcharset_ascii): Likewise.
5657         (CHAR_CHARSET): Likewise.
5658         (CHAR_LEADING_BYTE): Likewise.
5659         (LEADING_BYTE_ASCII): Likewise.
5660         (NUM_LEADING_BYTES): Likewise.
5661         (MIN_LEADING_BYTE): Likewise.
5662         (CHARSETP): Likewise.
5663         (CHARSET_BY_LEADING_BYTE): Likewise.
5664         (XCHARSET_LEADING_BYTE): Likewise.
5665         (XCHARSET_GRAPHIC): Likewise.
5666         (XCHARSET_COLUMNS): Likewise.
5667         (XCHARSET_DIMENSION): Likewise.
5668         (BREAKUP_CHAR): Likewise.
5669
5670 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5671
5672         * character.h: Add document about interface for characters.
5673
5674         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5675         (MAKE_CHAR): Delete comment about
5676         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5677         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5678         (BREAKUP_CHAR): Modify name of arguments.
5679         (CHAR_CHARSET): Modify name of argument.
5680
5681         * buffer.h: Delete document about Emchar accessors.
5682
5683 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5684
5685         * character.h (CHAR_INTP): Moved from buffer.h
5686         (CHAR_OR_CHAR_INTP): Likewise.
5687         (XCHAR_OR_CHAR_INT): Likewise.
5688         (CHECK_CHAR_COERCE_INT): Likewise.
5689
5690         * buffer.h (CHAR_INTP): Moved to character.h
5691         (CHAR_OR_CHAR_INTP): Likewise.
5692         (XCHAR_OR_CHAR_INT): Likewise.
5693         (CHECK_CHAR_COERCE_INT): Likewise.
5694
5695 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5696
5697         * character.h:
5698         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5699         - Include char-1byte.h, char-lb.h or char-ucs.h.
5700
5701         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5702
5703         * buffer.h: Include character unconditionally.
5704         (valid_char_p): Moved to char-*.h.
5705         (non_ascii_valid_char_p): Moved to char-lb.h.
5706
5707         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5708
5709 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5710
5711         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5712         in UTF-2000 because it is not ported yet and not to use
5713         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5714         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5715         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5716
5717         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5718         (CHAR_ASCII_P): Moved from character.h.
5719
5720         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5721         (CHAR_ASCII_P): Likewise.
5722         (CHAR_FIELD1_MASK): Deleted.
5723         (CHAR_FIELD2_MASK): Deleted.
5724         (CHAR_FIELD3_MASK): Deleted.
5725         (MAX_CHAR_BASIC_LATIN): New macro.
5726         (CHAR_FIELD1): Deleted.
5727         (CHAR_FIELD2_INTERNAL): Deleted.
5728         (CHAR_FIELD3_INTERNAL): Deleted.
5729         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5730         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5731         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5732         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5733         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5734         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5735         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5736         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5737         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5738         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5739         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5740         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5741         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5742         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5743         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5744         (MIN_CHAR_COMPOSITION): Deleted.
5745         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5746         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5747
5748 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5749
5750         * buffer.h: Include mb-utf-8.h in UTF-2000.
5751
5752         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5753
5754         * mb-utf-8.h: New file.
5755
5756 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5757
5758         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5759         instead of `int'.
5760
5761         * mule-charset.h, buffer.h (Charset_ID): New type.
5762
5763 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5764
5765         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5766         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5767         instead of `MULE_CHAR_PRIVATE_OFFSET',
5768         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5769         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5770         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5771
5772         * character.h (Vcharset_japanese_jisx0212): New variable
5773         definition.
5774
5775 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5776
5777         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5778         (charset_by_attributes): Delete array about direction.
5779         (latin_a_char_to_charset): New variable in UTF-2000.
5780         (latin_a_char_to_byte1): New variable in UTF-2000.
5781         (latin_a_char_to_byte2): New variable in UTF-2000.
5782         (Qucs_bmp): New variable.
5783         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5784         `Bufbyte'.
5785         (next_allocated_2_byte_leading_byte): Likewise.
5786         (non_ascii_set_charptr_emchar): Likewise.
5787         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5788         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5789         `charset_by_attributes'.
5790         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5791         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5792         and `CHARSET_BY_LEADING_BYTE'.
5793         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5794         `utf-2000-version' to `vars_of_mule_charset'.
5795         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5796         define `leading-code-private-11' in UTF-2000; move setting of
5797         `utf-2000-version' from `syms_of_mule_charset'.
5798         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5799         UTF-2000.
5800
5801         * character.h (Charset_ID): New type.
5802         (LEADING_BYTE_UCS_BMP): New macro.
5803         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5804         (CHARSET_ID_OFFSET_94): New macro.
5805         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5806         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5807         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5808         final-byte.
5809         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5810         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5811         (CHARSET_ID_OFFSET_96): New macro.
5812         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5813         CHARSET_ID_OFFSET_96 and final-byte.
5814         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5815         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5816         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5817         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5818         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5819         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5820         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5821         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5822         (LEADING_BYTE_THAI_TIS620): Likewise.
5823         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5824         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5825         (CHARSET_ID_OFFSET_94x94): New macro.
5826         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5827         CHARSET_ID_OFFSET_94x94 and final-byte.
5828         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5829         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5830         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5831         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5832         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5833         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5834         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5835         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5836         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5837         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5838         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5839         (CHARSET_TYPE_128X128): New macro.
5840         (CHARSET_TYPE_256X256): New macro.
5841         (XCHARSET_PRIVATE_P): Delete unconditionally.
5842         (charset_by_attributes): Delete array about direction.
5843         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5844         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5845         (MIN_CHAR_94): New macro.
5846         (MAX_CHAR_94): New macro.
5847         (MIN_CHAR_96): New macro.
5848         (MAX_CHAR_96): New macro.
5849         (MIN_CHAR_94x94): New macro.
5850         (MAX_CHAR_94x94): New macro.
5851         (MIN_CHAR_96x96): New macro.
5852         (MAX_CHAR_96x96): New macro.
5853         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5854         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5855         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5856         - 32)'.
5857         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5858         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5859         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5860         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5861         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5862         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5863         `XCHARSET_LEADING_BYTE' to make code-point.
5864         (latin_a_char_to_charset): New variable.
5865         (latin_a_char_to_byte1): New variable.
5866         (latin_a_char_to_byte2): New variable.
5867         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5868         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5869         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5870
5871         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5872         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5873         (find_charsets_in_emchar_string): Likewise.
5874         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5875
5876         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5877         `int'.
5878         (decode_coding_iso2022): Likewise.
5879
5880         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5881         of `unsigned char'.
5882
5883         * redisplay.c (redisplay_text_width_emchar_string): Use
5884         `Charset_ID' instead of `unsigned char'.
5885         (redisplay_frame_text_width_string): Likewise.
5886
5887         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5888         `unsigned char'.
5889
5890         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5891         instead of `unsigned char'.
5892         (face_cachel_charset_font_metric_info): Likewise.
5893
5894         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5895         (get_non_ascii_char_table_value): Likewise.
5896         (get_char_table): Likewise.
5897         (put_char_table): Likewise.
5898         (map_over_other_charset): Likewise.
5899         (map_char_table): Likewise.
5900
5901         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5902         instead of `unsigned char'.
5903
5904 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5905
5906         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5907         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5908
5909         * mule-charset.c (leading_code_private_11): Don't define in
5910         UTF-2000.
5911
5912         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5913         in UTF-2000 because it is not ported yet and not to use
5914         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5915
5916 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5917
5918         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5919
5920 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5921
5922         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5923         in UTF-2000.
5924
5925         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5926         of unsigned char to store leading-byte.
5927
5928         * chartab.c (get_non_ascii_char_table_value): Don't use
5929         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5930
5931         * file-coding.c (encode_coding_big5): Delete bogus implementation
5932         in UTF2000.
5933
5934         * character.h (LEADING_BYTE_*): Delete definition for
5935         non-UTF-2000.
5936         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5937         (LEADING_BYTE_PREFIX_P): Deleted.
5938         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5939         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5940         (BUFBYTE_LEADING_BYTE_P): Deleted.
5941         (CHARSET_PRIVATE_P): Deleted unconditionally.
5942         (rep_bytes_by_first_byte): Deleted unconditionally.
5943         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5944         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5945         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5946         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5947         (CHAR_FIELD2): Deleted.
5948         (CHAR_FIELD3): Deleted.
5949         (MAKE_CHAR): Delete definition for non-UTF-2000.
5950         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5951         (breakup_char_1): New implementation.
5952         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5953         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5954
5955 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5956
5957         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5958         condition.
5959
5960 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5961
5962         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5963         (CHARSET_PRIVATE_P): Likewise.
5964         (XCHARSET_PRIVATE_P): Likewise.
5965         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5966
5967         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5968         UTF2000.
5969         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5970
5971 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5972
5973         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5974         (NUM_LEADING_BYTES): Changed from 128 to 256.
5975         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5976         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5977         UTF2000.
5978         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5979
5980         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5981         UTF2000.
5982         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5983         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5984         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5985         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5986         (Qchinese_cns11643_3): New variable in UTF2000.
5987         (Qchinese_cns11643_4): New variable in UTF2000.
5988         (Qchinese_cns11643_5): New variable in UTF2000.
5989         (Qchinese_cns11643_6): New variable in UTF2000.
5990         (Qchinese_cns11643_7): New variable in UTF2000.
5991         (syms_of_mule_charset): Define `chinese-cns11643-3',
5992         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5993         and `chinese-cns11643-7' in UTF2000.
5994         (vars_of_mule_charset): Initialize
5995         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5996         + 1 in UTF2000.
5997         (complex_vars_of_mule_charset): Setup charset
5998         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5999         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
6000
6001 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6002
6003         * mule-charset.c: Move setting for `leading-code-private-11' from
6004         `syms_of_mule_charset' to `vars_of_mule_charset'.
6005
6006 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6007
6008         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
6009         and `NUM_LEADING_BYTES' in assert.
6010
6011 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6012
6013         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
6014         instead of 128.
6015         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
6016         `NUM_LEADING_BYTES' instead of 128.
6017
6018 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
6019
6020         * mule-charset.h (charset_by_leading_byte): Use
6021         `NUM_LEADING_BYTES' instead of 128.
6022         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
6023
6024         * mule-charset.c (charset_by_leading_byte): Use
6025         `NUM_LEADING_BYTES' instead of 128.
6026         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
6027
6028         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
6029         128.
6030
6031 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
6032
6033         * mule-charset.c (syms_of_mule_charset): Update to
6034         0.4 (Shin-Imamiya).
6035
6036 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6037
6038         * file-coding.c (encode_coding_sjis): New implementation for
6039         UTF2000.  (decode_coding_sjis): Ditto.
6040
6041 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6042
6043         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
6044         Don't define in UTF2000.
6045
6046         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
6047         defined.
6048
6049         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6050         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
6051         MULE.
6052
6053 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6054
6055         * config.h.in (CHAR_IS_UCS4): New macro.
6056
6057         * mule-charset.c (rep_bytes_by_first_byte): Modify for
6058         conventional MULE representation.
6059         (syms_of_mule_charset): Update to 0.3 (Imamiya).
6060
6061         * mule-charset.h: Reverted to original.
6062
6063         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6064         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
6065         "mule-charset.h" if CHAR_IS_UCS4 is defined.
6066
6067         * character.h: New file.
6068
6069         * file-coding.c (Fmake_coding_system): Set 1 to
6070         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
6071         defined.
6072         (encode_coding_no_conversion): New implementation for UTF2000.
6073
6074         * file-coding.h (struct Lisp_Coding_System): Add new member
6075         `fixed.size'.
6076
6077 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
6078
6079         * file-coding.c (decode_coding_iso2022): Code-point arguments of
6080         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
6081         (encode_coding_iso2022): New implementation for UTF2000.
6082
6083 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6084
6085         * mule-canna.c (c2mu): New implementation for UTF2000.
6086         (m2c): Likewise.
6087
6088 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6089
6090         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6091
6092 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6093
6094         * file-coding.c (reset_encoding_stream): Set 0 to
6095         `str->iso2022.current_char_boundary' in UTF2000.
6096         (encode_utf8): Don't define in UTF2000.
6097         (encode_coding_utf8): New implementation for UTF-8 representation
6098         of UTF2000.
6099         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6100
6101 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6102
6103         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6104
6105         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6106         UTF2000.
6107         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6108
6109         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6110
6111         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6112         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6113         as UTF-8 in UTF2000.
6114         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6115         (non_ascii_valid_char_p): Don't define in UTF2000.
6116         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6117         (Lstream_get_emchar_1): Likewise.
6118         (utf-2000-version): New variable in UTF2000.
6119
6120         * lread.c (read_escape): Add new reader `u'.
6121
6122         * insdel.c (three_to_one_table): Don't define in UTF2000.
6123         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6124         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6125         UTF2000.
6126         (bytind_to_bufpos_func): Likewise.
6127         (buffer_mule_signal_inserted_region): Likewise.
6128         (vars_of_insdel): Don't initialize `three_to_one_table'.
6129         (init_buffer_text): Use `buf->text->mule_size' instead of
6130         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6131         UTF2000.
6132
6133         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6134         UTF-8 representation in UTF2000.
6135         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6136         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6137         (decode_coding_iso2022): Don't define local variable `lb' in
6138         UTF2000; don't use LEADING_BYTE in UTF2000; use
6139         `DECODE_ADD_UCS_CHAR' in UTF2000.
6140         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6141
6142         * config.h.in (UTF2000): New macro.
6143
6144         * buffer.h (struct buffer_text): Add new member `mule_size' and
6145         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6146         (valid_char_p): Return always 1 in UTF2000.
6147         (MAX_EMCHAR_LEN): 6 in UTF2000.
6148         (three_to_one_table): Don't define in UTF2000.
6149         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6150         UTF2000.
6151         (real_bytind_to_bufpos): Likewise.
6152
6153         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6154
6155 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6156
6157         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6158         representation change.
6159         (Vutf_2000_version): New variable.
6160         (leading_code_private_11): New variable.
6161         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6162         `leading-code-private-11'.
6163
6164         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6165         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6166         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6167         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6168         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6169         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6170         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6171         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6172         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6173         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6174         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6175         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6176         (MIN_CHAR_GREEK): New macro.
6177         (MAX_CHAR_GREEK): New macro.
6178         (MIN_CHAR_CYRILLIC): New macro.
6179         (MAX_CHAR_CYRILLIC): New macro.
6180         (MIN_CHAR_HEBREW): New macro.
6181         (MAX_CHAR_HEBREW): New macro.
6182         (MIN_CHAR_THAI): New macro.
6183         (MAX_CHAR_THAI): New macro.
6184         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6185         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6186         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6187         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6188         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6189         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6190         (CHAR_FIELD2): New inline function.
6191         (CHAR_FIELD3): New inline function.
6192         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6193         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6194         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6195         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6196         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6197         (MIN_CHAR_COMPOSITION): Likewise.
6198         (CHAR_LEADING_BYTE): Modified for character representation change.
6199         (MAKE_CHAR): Likewise.
6200
6201         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6202         (Vcharset_greek_iso8859_7): Likewise.
6203         (Vcharset_cyrillic_iso8859_5): Likewise.
6204         (Vcharset_hebrew_iso8859_8): Likewise.
6205         (Vcharset_thai_tis620): Likewise.
6206         (Vcharset_katakana_jisx0201): Likewise.
6207
6208 2008-12-28  Vin Shelton  <acs@xemacs.org>
6209
6210         * XEmacs 21.4.22 is released
6211
6212 2008-12-27  Vin Shelton  <acs@xemacs.org>
6213
6214         * syswindows.h: Don't define wide character interfaces for Cygwin
6215         1.7 and up.
6216
6217 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6218
6219         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6220
6221 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6222
6223         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6224         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6225
6226 2008-12-25  Vin Shelton  <acs@xemacs.org>
6227
6228         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6229         By Julian Bradfield in
6230         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6231
6232         * mule-ccl.c (ccl_driver): 
6233
6234 2007-10-07  Vin Shelton  <acs@xemacs.org>
6235
6236         * XEmacs 21.4.21 is released
6237
6238 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6239
6240         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6241
6242 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6243
6244         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6245         (png_instantiate): Initialize setjmp_buffer early, and avoid
6246         recursive entry to error handler.
6247
6248 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6249
6250         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6251         a typo fix.
6252
6253 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6254
6255         * event-Xt.c (x_reset_modifier_mapping):
6256         * event-gtk.c (gtk_reset_modifier_mapping):
6257         Zero out the device's modifier map once we've freed it, to prevent
6258         a double free on a re-entrant call. 
6259
6260 2007-05-17  Vin Shelton  <acs@xemacs.org>
6261
6262         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6263         64-bit linux.  Patch from Hans de Graaff.
6264
6265 2007-05-02  Vin Shelton  <acs@xemacs.org>
6266
6267         * dumper.c (pdump): Don't close pdump_fd (already closed by
6268         fclose() call.  Patch from Steve Higham.
6269         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6270         already closed.  Patch inspired by Steve Higham.
6271
6272 2007-05-01  Vin Shelton  <acs@xemacs.org>
6273
6274         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6275         (mswindows_fstat): Ditto.
6276         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6277
6278 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6279
6280         * postgresql.c: Update Steve Baur's email address by his request.
6281         * postgresql.h: Ditto.
6282
6283 2007-01-04  Vin Shelton  <acs@xemacs.org>
6284
6285         * fileio.c (check_writable): Check old-style readonly bit only for
6286         non-directories.
6287
6288 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6289
6290         * src/fileio.c (check_writable): 
6291         Cope with the fact that the read-only attribute trumps Windows NTFS
6292         ACLS.
6293
6294
6295 2006-12-09  Vin Shelton  <acs@xemacs.org>
6296
6297         * XEmacs 21.4.20 is released
6298
6299 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6300
6301         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6302         relocated the definitions to be used sooner in file.
6303         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6304         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6305         overflow.
6306
6307 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6308
6309         * sound.c (init_native_sound):
6310         Only X11 and GTK devices can possibly not be on the console of the
6311         associated machine. Fixes a crash when init_native_sound is called
6312         on a msprinter device. 
6313
6314 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6315
6316         * buffer.c (buffer-file-name): Document invariant.
6317         (buffer-file-truename): Sync wording to buffer-file-name.
6318         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6319         and discussion.
6320
6321 2006-11-19  Benson Margulies  <benson@dchbk.us>
6322
6323         * fileio.c: Add code to use full Win32 API to check for write
6324         access.  Win32 has the general design policy that you aren't
6325         supposed to ask this question, since security checks change
6326         depending on asynchronous processes.  Nonetheless, there is a way,
6327         by acting as if we are a server doing interpretive access
6328         control.
6329
6330 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6331
6332         * bytecode.c: Use xnew_array instead of alloca.
6333
6334 2006-07-04  Vin Shelton  <acs@xemacs.org>
6335
6336         * redisplay-msw.c: Fix tiny, but crucial typo.
6337
6338 2006-06-22  Jerry James  <james@xemacs.org>
6339
6340         * EmacsShell-sub.c (ChangeManaged):
6341         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6342         NULL.
6343         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6344         checking if it is NULL.  Also fix a memory leak.
6345         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6346         dereference it, not the other way around.
6347         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6348         overflow check.
6349         * dumper.c (pdump_register_struct): Ditto.
6350         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6351         to (short) warnpath overflow warnpath.
6352         * extents.c (detach_all_extents): Call extent_list_delete_all with
6353         a non-NULL parameter only.
6354         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6355         NULL width and height.
6356         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6357         xic before checking if they are NULL.
6358         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6359         allocated array.
6360         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6361         * nas.c (Err): Fix a memory leak.
6362         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6363         Don't create the buffer if there is nothing to do.
6364         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6365         * redisplay-output.c (redisplay_output_layout): Ditto.
6366         * redisplay-tty.c (tty_output_display_block): Ditto.
6367         * redisplay-x.c (x_output_display_block): Ditto.
6368         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6369         dereference instance->scrollbar_data if it is NULL.
6370         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6371         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6372         for sb->scrollbar_data.
6373         * sound.c (init_native_sound): Avoid a buffer overflow by
6374         allocating a buffer with the appropriate size.
6375
6376 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6377
6378         * EmacsShell-sub.c (RootGeometryManager):
6379         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6380         Based on a suggestion by Francois L'Archeveque.
6381
6382 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6383
6384         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6385         current values found in GNU Emacs.
6386
6387 2006-03-17  Vin Shelton  <acs@xemacs.org>
6388
6389         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6390         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6391
6392         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6393         'hex_initialized' because it conflicts with 'initialized' in
6394         lisp.h.
6395
6396 2006-01-28  Vin Shelton  <acs@xemacs.org>
6397
6398         * XEmacs 21.4.19 is released
6399
6400 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6401
6402         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6403
6404 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6405
6406         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6407         5000 to INT_MAX.
6408
6409 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6410
6411         * database.c: Suppress compiler warning under Cygwin.
6412         * database.c: Removed __FreeBSD__ check, should be handled by
6413         HAVE_U_xxx_T defines.
6414
6415 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6416
6417         * console.c (stuff_buffered_input): Compile body only if
6418         HAVE_TTY.
6419
6420 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6421
6422         * callproc.c: #include sysdir.h, so that any appropriate Mule
6423         magic happens with the chdir() call when calling a subprocess. 
6424
6425 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6426
6427         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6428         * mule-ccl.c: Check that a character set exists before using it
6429         to create a character. 
6430
6431 2005-12-06  Vin Shelton  <acs@xemacs.org>
6432
6433         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6434         to INT_MAX.
6435
6436 2005-12-03  Vin Shelton <acs@xemacs.org>
6437
6438         * XEmacs 21.4.18 is released
6439
6440 2005-11-27  Kean Johnston <kean@armory.com>
6441
6442         * redisplay-tty.c (set_tty_modes):
6443         (reset_tty_modes): disable auto-margins if the terminal supports
6444         them.
6445         (init_tty_for_redisplay): fix cursor shape.
6446
6447 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6448
6449         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6450         for control-1 characters properly, both when reading multibyte
6451         characters and writing them. 
6452
6453 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6454
6455         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6456         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6457         were seeing with incremental selection transfer failing. 
6458
6459 2005-11-26  Vin Shelton  <acs@xemacs.org>
6460
6461         * callproc.c (Fold_call_process_internal): Create the buffer if it
6462         does not already exist.  The original patch came from Ben Wing in
6463         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6464
6465 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6466
6467         * callproc.c: Process-related docstring improvements spurred by
6468         Norbert Koch.
6469
6470 2005-11-25  Vin Shelton  <acs@xemacs.org>
6471
6472         * depend: Regenerated.
6473
6474 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6475
6476         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6477         says it clashes with a global with the same name.
6478
6479 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6480
6481         * sysdll.c (dll_open): Under MacOS X return NULL under the
6482         filename is NULL.  Fixes problems finding local symbols under 10.4
6483         (Tiger)
6484
6485 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6486         
6487         * config.h.in: New HAVE_U_INT*_T defines.
6488         
6489         * database.c: Only use u_int*_t typedefs if not already
6490         defined.
6491
6492 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6493
6494         * src/process-unix.c (unix_open_network_stream): moved
6495           'portbuf' buffer out of an inner block as it is used in the
6496           entire function. With gcc4, the stack may get corrupted
6497           after leaving this block. This patches adjusts the size of
6498           the used buffer also; static '128' bytes are far too much
6499           currently and might not suffice for future architectures
6500           (e.g. for 512 bit ones ;)). Instead of, use only the really
6501           required space (max octets * ln(256)/ln(10) chars + space
6502           for '\0' and the sign)
6503
6504 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6505
6506         * callproc.c: Include sysdir.h, so any necessary Mule processing
6507         is done on the current directory name before starting a new
6508         process.
6509
6510 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6511
6512         * chartab.c (Fchar_table_p):
6513         (Fget_range_char_table):
6514         (Fput_char_table):
6515         (Fmap_char_table):
6516         Describe range representation and fix typo.
6517
6518 2005-02-12  Vin Shelton  <acs@xemacs.org>
6519
6520         * emacs.c (shut_down_emacs): Advise users to send email to the
6521         xemacs-beta list instead of crashes@xemacs.org.
6522
6523 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6524
6525         * process-unix.c (unix_send_process): Flush the last chunk, even
6526         when the pipe is blocked.
6527
6528 2005-02-06  Vin Shelton <acs@xemacs.org>
6529
6530         * XEmacs 21.4.17 is released
6531
6532 2005-01-31  Ben Wing  <ben@xemacs.org>
6533
6534         * emacs.c:
6535         Define assert_failed() always.
6536         * lisp.h:
6537         Always define ABORT().
6538
6539 2005-01-25  Ben Wing  <ben@xemacs.org>
6540
6541         * Makefile.in.in:
6542         * Makefile.in.in (%.o):
6543         Don't compile executable as Windows (-mwindows) under Cygwin.
6544         Semi-recent changes to Cygwin's executable-startup handling make
6545         it impossible to access the TTY this way.
6546
6547         Don't use special linker file under Cygwin (cygwin.sc) except
6548         when non-PDUMP (even in this case it is highly questionable); you
6549         get errors like
6550
6551       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6552    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6553
6554 2005-01-29  Ben Wing  <ben@xemacs.org>
6555
6556         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6557
6558         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6559
6560 2005-01-29  Ben Wing  <ben@xemacs.org>
6561
6562         * bytecode.c (optimize_compiled_function):
6563         * print.c (FROB):
6564         * print.c (long_to_string):
6565         Add casts to avoid warning.
6566         
6567         * glyphs-eimage.c:
6568         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6569         #### The better solution is to move the TIFF and JPEG code to
6570         different files.
6571         
6572         * glyphs-msw.c (mswindows_xbm_instantiate):
6573         Define __STDC__ to avoid problems with compface.h.
6574         
6575         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6576         * EmacsShell-sub.c:
6577         * EmacsShell-sub.c (ABORT):
6578         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6579         * EmacsShell-sub.c (RootGeometryManager):
6580         * EmacsShell.c:
6581         * EmacsShell.c (ABORT):
6582         * EmacsShell.c (EmacsShellUpdateSizeHints):
6583         * alloc.c (free_lcrecord):
6584         * alloca.c (i00afunc):
6585         * buffer.c (delete_from_buffer_alist):
6586         * buffer.c (MARKED_SLOT):
6587         * bytecode.c (execute_rare_opcode):
6588         * bytecode.c (optimize_byte_code):
6589         * bytecode.c (Ffetch_bytecode):
6590         * chartab.c (char_table_type_to_symbol):
6591         * chartab.c (Freset_char_table):
6592         * chartab.c (decode_char_table_range):
6593         * chartab.c (Fget_range_char_table):
6594         * chartab.c (check_valid_char_table_value):
6595         * chartab.c (map_char_table):
6596         * chartab.c (slow_map_char_table_fun):
6597         * chartab.c (chartab_instantiate):
6598         * cm.c (cmcheckmagic):
6599         * console-msw.c (DHEADER):
6600         * console.c (MARKED_SLOT):
6601         * data.c (finish_marking_weak_lists):
6602         * data.c (encode_weak_list_type):
6603         * debug.h (DASSERT):
6604         * device-gtk.c (gtk_init_device):
6605         * device-msw.c (mswindows_get_default_margin):
6606         * device-tty.c (tty_init_device):
6607         * device-x.c (get_device_from_display):
6608         * device-x.c (x_get_visual_depth):
6609         * doprnt.c (parse_doprnt_spec):
6610         * doprnt.c (get_doprnt_args):
6611         * dumper.c (pdump_get_indirect_count):
6612         * dumper.c (pdump_register_sub):
6613         * dumper.c (pdump_register_object):
6614         * dumper.c (pdump_register_struct):
6615         * dumper.c (pdump_dump_data):
6616         * dumper.c (pdump_reloc_one):
6617         * elhash.c (print_hash_table):
6618         * elhash.c (make_standard_lisp_hash_table):
6619         * elhash.c (hash_table_instantiate):
6620         * emacs.c:
6621         * emacs.c (Fforce_debugging_signal):
6622         * emacs.c (sort_args):
6623         * emacs.c (main):
6624         * emacs.c (assert_failed):
6625         * eval.c (throw_or_bomb_out):
6626         * eval.c (signal_1):
6627         * eval.c (Fsignal):
6628         * event-Xt.c:
6629         * event-Xt.c (emacs_Xt_mapping_action):
6630         * event-Xt.c (Xt_process_to_emacs_event):
6631         * event-msw.c:
6632         * event-stream.c (check_event_stream_ok):
6633         * event-stream.c (Fadd_timeout):
6634         * event-stream.c (Fadd_async_timeout):
6635         * event-stream.c (Fdiscard_input):
6636         * event-stream.c (execute_internal_event):
6637         * event-stream.c (Frecent_keys):
6638         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6639         * event-stream.c (lookup_command_event):
6640         * event-unixoid.c (poll_fds_for_input):
6641         * events.c:
6642         * events.c (mark_event):
6643         * events.c (event_equal):
6644         * events.c (event_hash):
6645         * events.c (Fmake_event):
6646         * events.c (Fdeallocate_event):
6647         * events.c (event_chain_find_previous):
6648         * events.c (event_to_character):
6649         * events.c (format_event_object):
6650         * events.c (Fevent_type):
6651         * events.c (event_pixel_translation):
6652         * events.c (Fevent_properties):
6653         * extents.c (extent_in_region_p):
6654         * extents.c (print_extent):
6655         * extents.c (process_extents_for_insertion_mapper):
6656         * extents.c (report_extent_modification_mapper):
6657         * extents.c (glyph_layout_to_symbol):
6658         * faces.c (face_validate):
6659         * file-coding.c (eol_type_to_symbol):
6660         * file-coding.c (subsidiary_coding_system):
6661         * file-coding.c (Fcoding_system_type):
6662         * file-coding.c (Fcoding_system_property):
6663         * file-coding.c (mule_decode):
6664         * file-coding.c (mule_encode):
6665         * file-coding.c (encode_coding_ucs4):
6666         * file-coding.c (encode_coding_utf8):
6667         * file-coding.c (parse_iso2022_esc):
6668         * file-coding.c (encode_coding_iso2022):
6669         * fileio.c:
6670         * fns.c (concat):
6671         * fns.c (Fsubseq):
6672         * fns.c (mapcar1):
6673         * fns.c (Fbase64_encode_region):
6674         * fns.c (Fbase64_encode_string):
6675         * fns.c (Fbase64_decode_region):
6676         * fns.c (Fbase64_decode_string):
6677         * font-lock.c (find_context):
6678         * font-lock.c (context_to_symbol):
6679         * frame-gtk.c (gtk_set_frame_pointer):
6680         * frame-gtk.c (gtk_update_frame_external_traits):
6681         * frame-x.c (x_wm_mark_shell_size_user_specified):
6682         * frame-x.c (x_wm_mark_shell_position_user_specified):
6683         * frame-x.c (x_wm_set_shell_iconic_p):
6684         * frame-x.c (x_wm_set_cell_size):
6685         * frame-x.c (x_wm_set_variable_size):
6686         * frame-x.c (x_wm_store_class_hints):
6687         * frame-x.c (x_wm_maybe_store_wm_command):
6688         * frame-x.c (x_initialize_frame_size):
6689         * frame-x.c (x_update_frame_external_traits):
6690         * frame.c:
6691         * frame.c (delete_frame_internal):
6692         * frame.c (mouse_pixel_position_1):
6693         * frame.c (change_frame_size_1):
6694         * free-hook.c (check_free):
6695         * free-hook.c (check_realloc):
6696         * free-hook.c (note_block_input):
6697         * free-hook.c (log_gcpro):
6698         * gccache-gtk.c (gc_cache_lookup):
6699         * glyphs-eimage.c (tiff_memory_write):
6700         * glyphs-gtk.c (gtk_finalize_image_instance):
6701         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6702         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6703         * glyphs-gtk.c (gtk_xpm_instantiate):
6704         * glyphs-gtk.c (gtk_unmap_subwindow):
6705         * glyphs-gtk.c (gtk_map_subwindow):
6706         * glyphs-gtk.c (gtk_button_redisplay):
6707         * glyphs-msw.c:
6708         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6709         * glyphs-x.c (init_image_instance_from_xbm_inline):
6710         * glyphs-x.c (extract_xpm_color_names):
6711         * glyphs-x.c (x_xpm_instantiate):
6712         * glyphs.c (get_image_instantiator_governing_domain):
6713         * glyphs.c (print_image_instance):
6714         * glyphs.c (image_instance_equal):
6715         * glyphs.c (image_instance_hash):
6716         * glyphs.c (encode_image_instance_type):
6717         * glyphs.c (make_image_instance_1):
6718         * glyphs.c (inherit_instantiate):
6719         * glyphs.c (image_instantiate):
6720         * glyphs.c (allocate_glyph):
6721         * glyphs.c (Fglyph_type):
6722         * glyphs.c (redisplay_subwindow):
6723         * glyphs.c (display_table_entry):
6724         * gtk-glue.c (xemacs_list_to_gtklist):
6725         * gtk-glue.c (xemacs_gtklist_to_list):
6726         * gtk-glue.c (xemacs_list_to_array):
6727         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6728         * gutter.c (gutter_was_visible):
6729         * gutter.c (get_gutter_coords):
6730         * input-method-xlib.c (get_XIM_input):
6731         * insdel.c (bufpos_to_bytind_func):
6732         * insdel.c (bytind_to_bufpos_func):
6733         * insdel.c (move_gap):
6734         * intl.c (x_get_composed_input):
6735         * keymap.c (keymap_lookup_directly):
6736         * keymap.c (keymap_delete_inverse_internal):
6737         * keymap.c (ensure_meta_prefix_char_keymapp):
6738         * keymap.c (accessible_keymaps_mapper_1):
6739         * keymap.c (where_is_recursive_mapper):
6740         * lisp.h:
6741         * lisp.h (ABORT):
6742         * lread.c (read_atom):
6743         * lstream.c (Lstream_delete):
6744         * lstream.c (make_lisp_buffer_stream_1):
6745         * macros.c (pop_kbd_macro_event):
6746         * malloc.c (malloc):
6747         * malloc.c (free):
6748         * marker.c (bi_marker_position):
6749         * marker.c (set_bi_marker_position):
6750         * menubar-gtk.c (menu_descriptor_to_widget_1):
6751         * menubar-msw.c (prune_menubar):
6752         * menubar-x.c (set_frame_menubar):
6753         * mule-charset.c (get_unallocated_leading_byte):
6754         * mule-charset.h (CHAR_LEADING_BYTE):
6755         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6756         * nt.c (init_environment):
6757         * nt.c (generate_inode_val):
6758         * ntproc.c (delete_child):
6759         * ntproc.c (_sys_read_ahead):
6760         * ntproc.c (create_child):
6761         * objects.c (color_instantiate):
6762         * objects.c (font_instantiate):
6763         * objects.c (face_boolean_instantiate):
6764         * print.c (printing_major_badness):
6765         * process-nt.c (nt_send_process):
6766         * process-unix.c (unix_send_process):
6767         * process.c (get_process):
6768         * ralloc.c (obtain):
6769         * ralloc.c (relinquish):
6770         * ralloc.c (relocate_blocs):
6771         * ralloc.c (resize_bloc):
6772         * ralloc.c (r_alloc_free):
6773         * ralloc.c (r_re_alloc):
6774         * ralloc.c (r_alloc_thaw):
6775         * ralloc.c (init_ralloc):
6776         * ralloc.c (Free_Addr_Block):
6777         * ralloc.c (r_alloc):
6778         * redisplay-gtk.c (gtk_output_display_block):
6779         * redisplay-msw.c (mswindows_output_display_block):
6780         * redisplay-output.c (get_next_display_block):
6781         * redisplay-output.c (get_cursor_size_and_location):
6782         * redisplay-output.c (redisplay_output_layout):
6783         * redisplay-output.c (redisplay_clear_region):
6784         * redisplay-tty.c (tty_output_display_block):
6785         * redisplay-x.c (x_output_display_block):
6786         * redisplay.c (add_propagation_runes):
6787         * redisplay.c (add_glyph_rune):
6788         * redisplay.c (create_text_block):
6789         * redisplay.c (add_margin_runes):
6790         * redisplay.c (create_left_glyph_block):
6791         * redisplay.c (create_right_glyph_block):
6792         * redisplay.c (create_string_text_block):
6793         * redisplay.c (regenerate_window):
6794         * redisplay.c (REGEN_INC_FIND_START_END):
6795         * redisplay.c (redisplay_frame):
6796         * redisplay.c (point_in_line_start_cache):
6797         * regex.c:
6798         * regex.c (ABORT):
6799         * regex.c (re_compile_fastmap):
6800         * regex.c (re_match_2_internal):
6801         * regex.c (regerror):
6802         * scrollbar-gtk.c (gtk_scrollbar_loop):
6803         * scrollbar-gtk.c (scrollbar_cb):
6804         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6805         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6806         * scrollbar-x.c (x_update_scrollbar_instance_status):
6807         * scrollbar-x.c (x_scrollbar_loop):
6808         * scrollbar-x.c (x_update_frame_scrollbars):
6809         * search.c (search_command):
6810         * search.c (Fmatch_data):
6811         * select-x.c (motif_clipboard_cb):
6812         * signal.c (interrupt_signal):
6813         * specifier.c (specifier_add_spec):
6814         * specifier.c (specifier_instance_from_inst_list):
6815         * specifier.c (specifier_instance):
6816         * specifier.h:
6817         * specifier.h (struct specifier_methods):
6818         * strftime.c (add_num_time_t):
6819         * sunplay.c (init_device):
6820         * symbols.c (Fsetplist):
6821         * symbols.c (do_symval_forwarding):
6822         * symbols.c (store_symval_forwarding):
6823         * symbols.c (Fset):
6824         * symbols.c (Fbuilt_in_variable_type):
6825         * symbols.c (decode_magic_handler_type):
6826         * symbols.c (handler_type_from_function_symbol):
6827         * syntax.c (update_syntax_cache):
6828         * sysdep.c (init_baud_rate):
6829         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6830         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6831         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6832         * toolbar.c (get_toolbar_coords):
6833         * ui-gtk.c (build_gtk_boxed):
6834         * ui-gtk.c (describe_gtk_arg):
6835         * ui-gtk.c (gtk_type_to_lisp):
6836         * ui-gtk.c (lisp_to_gtk_type):
6837         * ui-gtk.c (lisp_to_gtk_ret_type):
6838         * ui-gtk.c (lisp_to_flag):
6839         * unexnt.c (read_in_bss):
6840         * unexnt.c (map_in_heap):
6841         * window.c (real_window):
6842         * window.c (window_display_lines):
6843         * window.c (window_display_buffer):
6844         * window.c (set_window_display_buffer):
6845         * window.c (window_modeline_height):
6846         * window.c (unshow_buffer):
6847         * window.c (window_loop):
6848         * window.c (Fget_lru_window):
6849         * window.c (Fsplit_window):
6850         * window.c (Fset_window_configuration):
6851         * window.c (saved_window_index):
6852         * xgccache.c (gc_cache_lookup):
6853         abort() -> ABORT().  Eliminate preprocessor games with abort()
6854         since it creates huge problems in VC7, solvable only by including
6855         massive amounts of files in every compile (and not worth it).
6856
6857         * sysdep.c:
6858         * sysproc.h:
6859         Inclusion of process.h does not need to be before lisp.h any more.
6860         Move later and remove comment about abort().
6861
6862 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6863
6864         * regex.c (re_match_2_internal):
6865         Correctly initialize loop which clears uninitialized registers.
6866
6867 2005-01-28  Vin Shelton  <acs@xemacs.org>
6868
6869         * sheap.c (more_static_core): Applied Ben's version of the long
6870         string patch.
6871
6872 2005-01-24  Vin Shelton  <acs@xemacs.org>
6873
6874         * sheap.c (more_static_core): Reformatted printf string so
6875         gcc-3.3.3 will compile this on Cygwin.
6876
6877 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6878
6879         * console.c (function_key_map): Reference `key-binding'.
6880
6881         * keymap.c (Vkey_translation_map): Improve docstring.
6882
6883 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6884
6885         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6886         * window.c (window_loop): [fix] Take into account
6887         `allow-deletion-of-last-visible-frame' variable.
6888         * window.c (replace-buffer-in-windows): Ditto.
6889
6890 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6891
6892         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6893
6894 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6895
6896         * event-gtk.c: Recognise AltGr as a valid modifier.
6897
6898 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6899
6900         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6901
6902 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6903
6904         Fix backreference bug caught by test suite.
6905
6906         * regex.c (regex_compile):
6907         Make backref duplicate internal register.
6908
6909 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6910
6911         Documentation, code clarification, and warning suppression.
6912         
6913         * regex.c (regex_compile):
6914         Improve comments.
6915         (re_match_2_internal):
6916         Improve comments and avoid redundant braces.  [Most of the big hunk
6917         at l. 4710 is indentation; use diff -w to see the real changes.]
6918         (alt_match_null_string_p):
6919         (common_op_match_null_string_p):
6920         Avoid shadowing global on Mac OS X 10.4, at least.
6921
6922 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6923
6924         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6925         introduced with shy groups fix).  [Already applied, probably
6926         with the second "fix shy groups" patch of 2004-10-07.] 
6927
6928 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6929
6930         From Andrey Slusar <anrays@gmail.com>:
6931
6932         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6933
6934 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6935
6936         * Makefile (RECURSIVE_MAKE): Removed.
6937         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6938         handling parallel builds.
6939
6940 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6941
6942         * Makefile.in.in: Enable support for parallel builds.
6943
6944 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6945
6946         From Andrey Slusar <anrays@gmail.com>:
6947
6948         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6949         FreeBSD version is >= 199701 _and_ < 600006.
6950
6951 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6952
6953         * scrollbar.c (compute_scrollbar_instance_usage):
6954         Only call device method compute_scrollbar_instance_usage() if it
6955         is defined.
6956
6957 2004-12-05  Vin Shelton <acs@xemacs.org>
6958
6959         * XEmacs 21.4.16 is released
6960
6961 2004-12-04  Vin Shelton  <acs@xemacs.org>
6962
6963         * depend: Regenerated.
6964
6965 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6966
6967         * regex.c (re_match_2_internal): Map internal to external
6968         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6969         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6970
6971 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6972
6973         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6974         to fix a crash.  Also, check the buffer is live and it
6975         really exists in buffer_list.  If the buffer is not in the list,
6976         prepend it.
6977
6978 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6979
6980         Fix shy groups by implementing recording of all groups for
6981         repetition and backtracking.  Backport from 21.5.
6982         
6983         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6984         external_to_internal_register, external_to_internal_register_size,
6985         and update comments for re_nsub.
6986
6987         * regex.c (re_opcode_t): Update comments.
6988         (print_compiled_pattern): Ouput external_to_internal_register,
6989         external_to_internal_register_size, and re_ngroups for debugging.
6990         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6991         (regex_compile): Update header comment.
6992         Ensure that all groups are recorded so that repeat matches and
6993         backtracking work correctly.  Comment related warning for groups >
6994         255.
6995         (re_search_2): Construct map of API indexes (which count only
6996         nonshy groups) to internal register numbers, and keep it updated.
6997
6998 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6999
7000         * frame-gtk.c (gtk_make_frame_visible):
7001         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
7002         show/hide.  This is what X uses and is prevents previously hidden
7003         widgets from suddenly reappearing.
7004         * gtk-xemacs.c (gtk_xemacs_paint):
7005         * gtk-xemacs.c (gtk_xemacs_draw):
7006         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
7007         drawable.
7008         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
7009         size and location changes so that they can be seen before the next
7010         idle event.  Without this rapid changes to scrollbar properties
7011         are not seen.
7012
7013 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
7014
7015         * console-gtk.h:
7016         * console-gtk.h (struct gtk_frame):
7017         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
7018           Add hash tables track tab_control callback data.
7019           Added #defines for GTK object data names.
7020           Declaration of gtk_widget_to_frame().
7021         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
7022         * frame-gtk.c (gtk_widget_to_frame): New.
7023         * frame-gtk.c (gtk_create_widgets):
7024         * frame-gtk.c (allocate_gtk_frame_struct):
7025         * frame-gtk.c (gtk_mark_frame):
7026         Manage frame callbakc hash tables.
7027         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
7028         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
7029         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
7030         of widget size.
7031         * glyphs-gtk.c (gtk_widget_query_geometry): New
7032         * glyphs-gtk.c (gtk_register_gui_item): New
7033         * glyphs-gtk.c (gtk_add_tab_item): New
7034         * glyphs-gtk.c (gtk_tab_control_callback): New
7035         * glyphs-gtk.c (gtk_tab_control_instantiate): New
7036         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
7037         Use correct list when loading item.
7038         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
7039         Register new methods.
7040         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
7041         default size, for widgets.
7042         * gui-x.c:  Improved comment.
7043         * menubar-gtk.c (__generic_button_callback): Use
7044         gtk_widget_to_frame instead of __get_channel.
7045         * scrollbar-gtk.c:
7046         * ui-gtk.c: Use symbolic names for GTK object data.
7047
7048 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
7049
7050         * s/usg5-4.h (NSIG): Define only inside emacs binary.
7051
7052 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
7053
7054         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
7055
7056 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
7057
7058         * malloc.c (morecore): siz is a long because in some architectures
7059         (eg ia-64) an int cannot hold the address range.  Additional patch
7060         from the SuSe distribution.
7061
7062 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
7063
7064         * emacs.c:
7065         * malloc.c: lim_data is a long because in some architectures
7066         (eg ia-64) an int cannot hold the address range.
7067         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
7068         instead of ulimit() because ulimit() always returns -1.
7069
7070 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
7071
7072         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
7073
7074 2004-06-11  David Kastrup  <dak@gnu.org>
7075
7076         * search.c (match_limit): Don't flag an error if match-data
7077         exceeding the allocated search_regs.num_regs gets requested, just
7078         return Qnil.
7079
7080 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7081
7082         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7083         replace symbolic color entries with the real colors specified in
7084         xpm-color-symbols, before passing the XPM to gtk.
7085         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7086         instead of a GTK specific field, so that it is used in by generic
7087         code.
7088
7089 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7090
7091        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7092         coredump from deref of NULL ptr (ExtData)
7093
7094 2004-04-19  Jerry James  <james@xemacs.org>
7095
7096         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7097         VALBITS to compute the location of the sign bit.
7098         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7099         of VALBITS with EMACS_INT_MAX.
7100         * events.c (Fevent_timestamp): Ditto.
7101         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7102         compute the halfway point to timestamp wraparound.
7103         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7104         EMACS_INT_MIN instead of using VALBITS.
7105         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7106         incorrect number with VALBITS.
7107         * fns.c (Frandom): Correct number of integer bits in docstring.
7108         Use INT_VALBITS instead of VALBITS to compute the denominator.
7109         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7110         build random numbers.
7111
7112 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7113         * event-gtk.c:
7114         * event-gtk.c (gtk_event_to_emacs_event):
7115         * menubar-gtk.c:
7116         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7117         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7118         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7119         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7120         * menubar-gtk.c (__activate_menu):
7121         * menubar-gtk.c (convert_underscores):
7122         * menubar-gtk.c (remove_underscores):
7123         * menubar-gtk.c (menu_convert):
7124         * menubar-gtk.c (menu_descriptor_to_widget_1):
7125         * menubar-gtk.c (menu_descriptor_to_widget):
7126         * menubar-gtk.c (menu_can_reuse_widget):
7127         * menubar-gtk.c (menu_create_menubar):
7128         * menubar-gtk.c (gtk_popup_menu):
7129         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7130         Added support for Gtk menu bar and menu item mnemonics.
7131
7132 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7133
7134         * sysdll.c: (dll_function): Added support for finding symbols in
7135         Darwin shared libraries as well in Darwin bundles.
7136         * sysdll.c (image_for_address): New
7137         * sysdll.c (my_find_image): New
7138         * sysdll.c (search_linked_libs): New
7139
7140 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7141
7142         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7143         return to GTK requires a different API to marshalling data to use
7144         as GTK parameters.
7145         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7146
7147 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7148
7149         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7150
7151 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7152
7153         * glyphs.c (process_image_string_instantiator):
7154         (Fset_console_type_image_conversion_list):
7155         Stop GCC from warning about shadowing of `exp'.
7156
7157         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7158
7159 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7160
7161         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7162
7163 2004-02-03  Vin Shelton  <acs@xemacs.org>
7164
7165         * glyphs.c (image_instance_layout): Remove pointless assertion.
7166         * regex.c (regex_grow_registers): Return type is void.
7167
7168 2004-02-02  Vin Shelton <acs@xemacs.org>
7169
7170         * XEmacs 21.4.15 is released
7171
7172 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7173
7174         * device-x.c (x_error_handler): Don't call stderr_out
7175
7176 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7177
7178         * buffer.c (other-buffer): Clarify documentation of order of
7179         arguments for FSF Emacs.
7180
7181 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7182
7183         * window.c (Fdelete_window): Dirty the mirror structure _before_
7184         marking the window deleted.
7185
7186 2003-09-15  Jerry James  <james@xemacs.org>
7187
7188         * event-msw.c (debug_mswin_messages): Conditionally compile
7189         messages missing from the Cygwin headers.
7190
7191 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7192
7193         * data.c (eq_with_ebola_notice): Fix typo in comment.
7194         (Ftrue_list_p): Improve docstring.
7195
7196 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7197
7198         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7199
7200 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7201
7202         * search.c (trivial_regexp_p): Regexps containing "\{" are
7203         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7204         Stefan Monnier for suggesting a diagnosis.
7205
7206 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7207
7208         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7209
7210 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7211
7212         * search.c (Fsearch_forward):
7213         (Fsearch_backward):
7214         Document negative count.
7215
7216 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7217
7218         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7219
7220 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7221
7222         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7223
7224 2003-09-15  Vin Shelton  <acs@xemacs.org>
7225
7226         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7227         21.5.
7228
7229 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7230
7231         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7232         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7233         (re_match_2_internal): Use TRANSLATE instead of
7234         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7235         non-ASCII char case conversion.
7236
7237 2003-09-08  Mike Sperber  <mike@xemacs.org>
7238
7239         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7240         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7241
7242 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7243
7244        * .gdbinit (pobj): fix printing of symbol name.
7245
7246 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7247
7248         * frame-x.c (x_layout_widgets): When resizing is about to cause
7249         frame size slip, mark it for redisplay.
7250
7251 2003-08-18  Jerry James  <james@xemacs.org>
7252
7253         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7254
7255 2003-09-03  Vin Shelton <acs@xemacs.org>
7256
7257         * XEmacs 21.4.14 is released
7258
7259 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7260
7261         * config.h.in (REGEX_MALLOC): Make it configure'able.
7262
7263 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7264
7265         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7266         linking.
7267         * sysdll.c (dll_init):
7268         * sysdll.c (dll_open):
7269         * sysdll.c (dll_close):
7270         * sysdll.c (dll_function):
7271         * sysdll.c (dll_variable):
7272         * sysdll.c (dll_error):
7273         Add support for loading bundles using Darwin/MacOSX
7274         native API.
7275
7276 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7277
7278         * process.c (start-process-internal): Document coding systems.
7279
7280 2003-07-30  Jerry James  <james@xemacs.org>
7281
7282         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7283
7284 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7285
7286         * event-msw.c (mswindows_enqueue_mouse_button_event):
7287         * event-msw.c (mswindows_wnd_proc):
7288           enqueue button event when scrollwheel event isn't handled by 
7289           mswindows_handle_mousewheel_event, such as when the scrollbars
7290           are not showing.
7291
7292 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7293
7294         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7295
7296 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7297
7298         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7299
7300 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7301
7302         * regex.c (re_match_2_internal): Fix matching degenerate word
7303         boundaries.
7304
7305 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7306
7307         * XEmacs 21.4.13 is released
7308
7309 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7310
7311         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7312         * lisp.h (<inttypes.h>):
7313         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7314         the definition.
7315
7316 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7317
7318         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7319         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7320         Result: "temacs can only be run in -batch mode."
7321         Fix: Check xemacs executable candidate for directory-ness.
7322
7323 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7324
7325         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7326           they conflict with <sys/types.h>.
7327
7328 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7329
7330         * database.c: Berkeley DB wants __STDC__ to be defined.
7331
7332 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7333
7334         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7335
7336 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7337
7338         * process-unix.c (unix_send_process): Fix C++ compile error.
7339
7340 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7341
7342         * Added .dylib as an acceptable shared library file extension
7343         * to support MacOSX.
7344
7345 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7346
7347         * EmacsFrameP.h (EmacsFramePart):
7348         Kludge to allow compiling with Motif1, but linking with Motif2.
7349
7350 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7351
7352         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7353
7354
7355 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7356
7357         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7358
7359 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7360
7361         * sysdll.c: Included lisp.h to define needed alloca_array.
7362
7363 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7364
7365         Make XEmacs redisplay 10 times faster.
7366         If, that is, you're using a slow X connection and MoveOpaque.
7367         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7368         Use compress_motion = TRUE.
7369         * EmacsFrame.c (emacsFrameClassRec): 
7370         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7371         * EmacsManager.c (emacsManagerClassRec):
7372         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7373
7374 2003-01-30  Vin Shelton  <acs@xemacs.org>
7375
7376         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7377
7378 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7379
7380         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7381         Patch by Martin Buchholz.
7382
7383 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7384
7385         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7386         Thanks to icc for warning and Martin Buchholz for reporting.
7387
7388 2003-01-29  Vin Shelton <acs@xemacs.org>
7389
7390         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7391
7392         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7393         remember to multiply by the element size.
7394
7395 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7396
7397         * XEmacs 21.4.12 "Portable Code" is released.
7398
7399 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7400
7401         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7402         * s/cygwin.sc: new linker file.
7403
7404 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7405
7406         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7407
7408         * redisplay-x.c (x_output_string): Use X11-specified types.
7409         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7410         * emacs.c (__free_hook): Use typeof with Intel compiler.
7411         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7412
7413 2003-01-08  Andy Piper  <andy@xemacs.org>
7414
7415         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7416         reserve size during unexec().
7417
7418 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7419
7420         * process-unix.c (unix_create_process): Don't let outchannel block.
7421
7422 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7423
7424         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7425         Needed for IsBadReadPtr().
7426
7427 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7428
7429         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7430
7431 2002-12-14  Ben Wing  <ben@xemacs.org>
7432
7433         * callint.c: Declaration error.
7434         * dumper.c (pdump):
7435         * dumper.c (pdump_load): Warning fix.
7436         * process.c: GCPRO error.
7437         * glyphs.c (unmap_subwindow):
7438         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7439         * event-stream.c (maybe_kbd_translate): Wrong argument to
7440         character_to_event().
7441
7442         * alloc.c (garbage_collect_1):
7443         * emacs.c:
7444         * emacs.c (debug_can_access_memory):
7445         * emacs.c (fatal_error_signal):
7446         * emacs.c (mswindows_handle_hardware_exceptions):
7447         * emacs.c (main_1):
7448         * emacs.c (main):
7449         * emacs.c (assert_failed):
7450         * emacs.c (syms_of_emacs):
7451         * lisp.h:
7452         * print.c:
7453         * print.c (std_handle_out_va):
7454         * print.c (write_string_to_stdio_stream):
7455         * print.c (write_fmt_string):
7456         * print.c (printing_badness):
7457         * print.c (printing_major_badness):
7458         * print.c (print_internal):
7459         * print.c (debug_print_no_newline):
7460         * print.c (debug_backtrace):
7461         Be more defensive in handling bad values when printing.  Add code
7462         from trunk involving inhibit_non_essential_printing_operations.
7463         When going down or in debug_print(), don't do external conversion
7464         and such and try really, really hard when printing to avoid core
7465         dumping.  Add force-debugging-signal, debug_break().
7466
7467 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7468
7469         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7470         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7471
7472 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7473
7474         * database.c: Fix open_database. Berkeley DB API has changed in
7475         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7476
7477 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7478
7479         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7480
7481 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7482
7483         * event-Xt.c (Xt_timeout):
7484         (Xt_timeout_callback):
7485         (emacs_Xt_add_timeout):
7486         (emacs_Xt_remove_timeout):
7487         (Xt_timeout_to_emacs_event):
7488         Turn completed_timeouts from a stack into a queue.  Fixes
7489         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7490
7491 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7492
7493         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7494         * emacs.c (main): Assert that mmap'd allocation is disabled.
7495
7496 2002-10-14  Andy Piper  <andy@xemacs.org>
7497
7498         * glyphs-widget.c (layout_query_geometry): add in fiddle
7499         factor. Include border text in width layout calculation.
7500         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7501
7502 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7503
7504         * XEmacs 21.4.10 "Military Intelligence" is released.
7505
7506 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7507
7508         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7509         using the NAS private array SoundFileInfo that no longer exists in
7510         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7511         and earlier.  This is broken for some versions between 1.5a and
7512         1.5f.
7513
7514 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7515
7516         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7517
7518         * emacs.c (shut_down_emacs): Improve crash message.
7519
7520 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7521
7522         * file-coding.c (determine_real_coding_system): Check for coding
7523         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7524         shebangs and Python PEP 263.
7525
7526 2002-10-08  Andy Piper  <andy@xemacs.org>
7527
7528         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7529         if static sizes haven't been set.
7530
7531 2002-08-30  Mike Alexander  <mta@arbortext.com>
7532
7533         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7534         to close a socket.
7535
7536 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7537
7538         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7539
7540 2002-09-20  Mike Sperber <mike@xemacs.org>
7541
7542         (This partially gets back my patch from 2002-07-20 without the
7543         bug.)
7544         * callproc.c (child_setup): Remove Ben's comment noting confusion
7545         over the file descriptors >= 3: close_process_descs() doesn't
7546         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7547         * process-unix.c (unix_create_process): Call
7548         begin_dont_check_for_quit to inhibit unwanted interaction (and
7549         thus breaking of X event synchronicity) in the child.
7550
7551 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7552
7553         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7554         widget.
7555
7556 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7557
7558         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7559         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7560         the xemacs process did not exit, but looped infinitely here.  This
7561         fixes that problem.
7562
7563 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7564
7565         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7566         (find_context): Improve comments.
7567
7568         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7569         (re_match_2): An XCHAR_TABLE operation was missing.
7570
7571         Many of the following changes were inspired by Andy Piper's (now
7572         obsolete) patch to make syntax-table text property lookup optional.
7573
7574         [Documentation]
7575
7576         * syntax.h (top level): Document semantics of syntax flags.
7577         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7578         * syntax.c, syntax.h (top level): Document syntax cache better in
7579         comments.
7580
7581         [Instrument syntax caching (temporary change)]
7582
7583         * syntax.h (enum syntax_cache_statistics_functions, struct
7584         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7585         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7586         * syntax.c (scan_words, Fforward_comment, scan_lists,
7587         Fbackward_prefix_characters):
7588         * font-lock.c (find_context):
7589         Use them to instrument syntax caching. 
7590         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7591         syntax_cache_statistics_function_names): New type and variables.
7592         * syntax.c (update_syntax_cache): Update and report statistics.
7593
7594         [Major syntax cache optimizations]
7595
7596         syntax.c (lookup_syntax_properties): Default off.
7597
7598         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7599         * syntax.c (update_syntax_cache):
7600         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7601
7602         [Minor syntax cache optimizations and code clarifications]
7603
7604         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7605         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7606         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7607         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7608         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7609         (Code clarification.)
7610
7611         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7612         scan_lists): Compute code from syncode, use Boolean macros instead
7613         of redundant masking operations.  (Code clarification; any decent
7614         compiler can do this optimization.)
7615
7616         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7617         for clarity.
7618
7619         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7620         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7621         use F*_single_property_change instead of F*_extent_change.
7622         Currently F*_single_property_change is _much_ less efficient.
7623
7624         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7625         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7626         syntax_cache.object properly, don't leave Qt or Qnil.
7627         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7628         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7629         tests for Qt or Qnil.
7630
7631 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7632
7633         * redisplay.c (point_in_line_start_cache): 
7634         * extents.c (print_extent_1):
7635         Fix warnings.
7636
7637         * extents.c (Fset_extent_property): Document `syntax-table' property.
7638
7639         * extents.h (Fnext_single_property_change): EXFUN it.
7640
7641 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7642
7643         * search.c (clear_unused_search_regs): New static function.
7644         (search_buffer): 
7645         (simple_search): 
7646         (boyer_moore):
7647         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7648         Minor clarifications in comments.
7649
7650         * regex.c (re_match_2_internal): Ensure no stale submatches.
7651
7652 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7653
7654         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7655
7656 2002-08-29  Jerry James  <james@xemacs.org>
7657
7658         * lisp.h: structrures -> structures.
7659
7660 2002-06-03  Andy Piper  <andy@xemacs.org>
7661
7662         * frame.c (frame_conversion_internal): add conversion appropriate
7663         for setting frame dimensions in pixels.
7664
7665         * console.h (struct console_methods): add device-specific widget
7666         layout functions.
7667
7668         * emacs.c (main_1): initialize glyph vars.
7669
7670         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7671         (handle_focus_event_2): new function. Allow focus to
7672         be set to a particular window and widget.
7673         (enqueue_focus_event): new function. Create a
7674         synthetic focus event.
7675         (emacs_Xt_handle_magic_event): call
7676         handle_focus_event_2.
7677
7678         * frame.c (Fset_frame_pixel_height): new function. Allow
7679         pixel-based sizing. Does the right thing on character-oriented
7680         displays.
7681         (Fset_frame_pixel_width): ditto.
7682         (Fset_frame_pixel_size): ditto.
7683         (syms_of_frame): declare.
7684
7685         * general-slots.h: add :vertically-justify and
7686         :horizontally-justify.
7687
7688         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7689         (mswindows_widget_border_width): new function.
7690         (mswindows_combo_box_instantiate): set border widths.
7691         (console_type_create_glyphs_mswindows): declare.
7692
7693         * glyphs-widget.c:
7694         (check_valid_justification): allow vertical and horizontal
7695         justification.
7696         (widget_border_width): new function. Call device methods.
7697         (widget_instance_border_width): ditto.
7698         (logical_unit_height): new function. Determine the height of a
7699         logical-unit. Logical units are intended to provide grid-like
7700         layout for subcontrols in a layout. If the layout is
7701         :vertically-justify top then subcontrols will be positioned on
7702         logical-unit boundaries, thus allowing adjacent subcontrols to
7703         line up.
7704         (widget_logical_unit_height): ditto for widgets.
7705         (redisplay_widget): misc cleanup.
7706         (widget_spacing): new function. Call device specific
7707         methods. Intended to be the default gap between adjacent widgets.
7708         (widget_query_geometry): use new spacing functions to determine
7709         appropriate geometry.
7710         (initialize_widget_image_instance): initialize horizontal and
7711         vertical justification.
7712         (widget_instantiate): use logica-units where appropriate for
7713         sizing large widgets.
7714         (button_query_geometry): use widget_instance_border_width.
7715         (tree_view_query_geometry): ditto.
7716         (tab_control_query_geometry): ditto.
7717         (edit_field_query_geometry): new function.
7718         (layout_update): pick up :justify, :horizontally-justify and
7719         :vertically-justify none of which worked previously. :justify is
7720         used as a fallback for both horizontal and vertical justification.
7721         (layout_query_geometry): use logical units to size appropriately.
7722         (layout_layout): ditto.
7723         (Fwidget_logical_to_character_width): new function. Allow users to
7724         convert from logical units to characters so that frame sizes can
7725         be set appropriately.
7726         (Fwidget_logical_to_character_height): ditto.
7727         (syms_of_glyphs_widget): declare.
7728         (image_instantiator_edit_fields): add edit_field_query_geometry.
7729         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7730         :horizontally-justify.
7731         (specifier_vars_of_glyphs_widget): new function. Declare
7732         Vwidget_border_width which is not yet used.
7733
7734         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7735         (x_widget_border_width): new function.
7736         (x_widget_instantiate): create a sensible name for widgets.
7737         (console_type_create_glyphs_x): declare x_widget_border_width.
7738
7739         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7740         (struct Lisp_Image_Instance): add :vertically-justify and
7741         :horizontally-justify.
7742         (LAYOUT_JUSTIFY_TOP): new.
7743         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7744         (ROUND_UP): new macro. Round argument up to next integral
7745         interval.
7746
7747         * redisplay-output.c (redisplay_output_layout): misc formatting.
7748
7749         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7750
7751 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7752
7753         * XEmacs 21.4.9 "Informed Management" is released.
7754
7755 2002-08-19  Andy Piper  <andy@xemacs.org>
7756
7757         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7758         win32 format.
7759
7760         * realpath.c (xrealpath): normalize drive spec also so that dir
7761         sep chars are not mixed on cygwin.
7762
7763 2002-08-06  Jerry James  <james@xemacs.org>
7764
7765         * window.c (Fsplit_window): Count only half of the divider width
7766         against the left window when splitting horizontally. 
7767
7768 2002-06-24  Andy Piper  <andy@xemacs.org>
7769
7770         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7771         toolbar was cleared.
7772
7773         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7774         function. Split out from mswindows_output_frame_toolbars.
7775         (mswindows_output_frame_toolbars): move clear pieces to
7776         mswindows_output_frame_toolbars.
7777
7778         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7779         out from gtk_output_frame_toolbars.
7780         (gtk_output_frame_toolbars): move clear pieces to
7781         gtk_clear_frame_toolbars.
7782
7783         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7784         the frame is cleared. How this ever worked before is a mystery.
7785         (x_output_frame_toolbars): Only output toolbars.
7786         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7787
7788         * gutter.c (update_gutter_geometry):
7789         Mark frame layout changed.
7790         (update_frame_gutter_geometry, update_frame_gutters):
7791         Respect frame_layout_changed.
7792
7793         * console.h (struct console_methods): add
7794         clear_frame_toolbars_method.
7795
7796         * redisplay.c (redisplay_frame): call
7797         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7798
7799         * toolbar.h: declare update_frame_toolbars_geometry.
7800
7801         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7802         out from update_frame_toolbars.  Call clear_frame_toolbars.
7803         (update_frame_toolbars): only output, do not change geometry.
7804
7805         * redisplay.c: add frame_layout_changed.
7806
7807         * redisplay.h: add frame_layout_changed.
7808         (CLASS_RESET_CHANGED_FLAGS): set it.
7809         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7810         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7811         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7812
7813         * device.h (struct device): add frame_layout_changed.
7814         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7815
7816         * frame.h (struct frame): add frame_layout_changed.
7817         (MARK_FRAME_LAYOUT_CHANGED): new.
7818
7819 2002-06-30  Mike Alexander  <mta@arbortext.com>
7820
7821         * event-msw.c (mswindows_need_event): Don't wait for a new message
7822         if the queue is not empty.  Suggested by Paul Moore.
7823
7824 2002-06-12  Andy Piper  <andy@xemacs.org>
7825
7826         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7827         for printing on accurately.
7828
7829 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7830
7831         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7832         WM_ACTIVATE message. Make sure that the frame is visible if the
7833         window is visible. This seemss to fix the problem where XEmacs
7834         appears to freeze after switching desktops with certain virtual
7835         window managers.
7836         (debug_output_mswin_message): Added code to output message
7837         parameters for WM_WINDOWPOSCHANGED, 
7838         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7839
7840 2002-05-25  Andy Piper  <andy@xemacs.org>
7841
7842         * select-x.c (vars_of_select_x): Fix docstring of
7843         x-selection-strict-motif-ownership
7844
7845 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7846
7847         * keymap.c (get_keymap):
7848         Add comment about do_autoload GCPROs own args.
7849
7850 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7851
7852         * bytecode.c (execute_optimized_program): check_opcode ifdef
7853         ERROR_CHECK_BYTE_CODE.
7854
7855 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7856
7857         Thanks to Ben Wing and Michael Sperber.
7858
7859         * eval.c (Fcommand_execute):
7860         (Feval):
7861         (Ffuncall):
7862         (Fmacroexpand_internal):
7863         (function_argcount):
7864         callint.c (Fcall_interactively):
7865         Add comment about do_autoload GCPROs own args.
7866
7867         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7868
7869         * eval.c (Ffuncall): Extra braces to placate GCC.
7870
7871 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7872
7873         * backtrace.h (grow_specpdl):
7874         (SPECPDL_RESERVE):
7875         * EmacsFrame.c (EmacsFrameSetValues):
7876         * eval.c (grow_specpdl):
7877         * ExternalShell.c (hack_event_masks_1):
7878         * glyphs-x.c (convert_EImage_to_XImage): 
7879         (x_finalize_image_instance):
7880         * ralloc.c (page_size):
7881         (r_alloc_sbrk):
7882         * xgccache.c (gc_cache_hash):
7883         Fix unsigned comparison warnings.
7884
7885 2002-07-29  Jerry James  <james@xemacs.org>
7886
7887         * lread.c (locate_file): Any nonnegative return value indicates
7888         success if MODE is nonnegative.
7889
7890 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7891
7892         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7893         argument. 
7894
7895 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7896
7897         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7898
7899         * dumper.c (pdump_get_indirect_count):
7900         (pdump_scan_by_alignment):
7901         (pdump_dump_root_struct_ptrs):
7902         (pdump_dump_rtables):
7903         (pdump_dump_root_objects):
7904         (pdump):
7905         * nas.c (WaveOpenDataForReading):
7906         * fns.c (print_bit_vector):
7907         * font-lock.c (SINGLE_SYNTAX_STYLE):
7908         * glyphs.c (check_for_ignored_expose):
7909         (find_matching_subwindow):
7910         * glyphs-eimage.c:
7911         * imgproc.c (get_histogram):
7912         * redisplay.c (point_in_line_start_cache):
7913         * redisplay-output.c (redisplay_unmap_subwindows):
7914         * symbols.c (defsymbol_massage_name_1):
7915         (defkeyword_massage_name):
7916         (deferror_massage_name_and_message):
7917         * redisplay-x.c (x_output_string): 
7918         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7919         * frame.h (struct frame):
7920         * filelock.c (current_lock_owner):
7921         * doprnt.c (emacs_doprnt_1):
7922         * lisp.h (struct Lisp_Bit_Vector):
7923         (DO_REALLOC):
7924         Fix warnings.
7925
7926 2002-02-13  Ben Wing  <ben@xemacs.org>
7927
7928         * event-stream.c (reset_key_echo):
7929         * event-stream.c (reset_this_command_keys):
7930         * event-stream.c (execute_command_event):
7931         If console is dead as a result of C-x 5 0, then post-command stuff
7932         needs to be careful and do only non-console-specific stuff.
7933
7934 2002-07-01  Mike Sperber <mike@xemacs.org>
7935
7936         * process-unix.c (unix_send_process): Mark coding_outstream as
7937         non-open upon SIGPIPE.
7938
7939         * event-stream.c (Fnext_event): Reorder switch cases to something
7940         that makes sense.
7941
7942 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7943
7944         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7945         Don't bogusly reinitialize ascii_character property.
7946
7947 2002-07-08  Mike Sperber <mike@xemacs.org>
7948
7949         * process.c (Fstart_process_internal): Do error checking before we
7950         fork off the child, so the child can't muck with the state of the
7951         parent.
7952
7953 2002-07-08  Mike Sperber <mike@xemacs.org>
7954
7955         * ralloc.c (init_ralloc): Allocate properly for pdump.
7956
7957 2002-06-12  Andy Piper  <andy@xemacs.org>
7958
7959         * glyphs.c (query_string_geometry): check the string.
7960
7961         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7962         widget names.
7963
7964 2002-06-17  Jerry James  <james@xemacs.org>
7965
7966         * sysdll.c: Remove RTLD_GLOBAL initialization.
7967         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7968
7969 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7970
7971         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7972
7973 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7974
7975         * sysdep.c (sys_rename): Make sys_rename work for the case where
7976         Windows rename sets errno to EACCES if target file exists.
7977
7978 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7979
7980         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7981         Fix detection of metric units to work on Win95
7982
7983 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7984
7985         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7986
7987 2002-04-25  Andy Piper  <andy@xemacs.org>
7988
7989         * redisplay.c (create_text_block): Remove extra comment trailer.
7990
7991 2002-04-24  Andy Piper  <andy@xemacs.org>
7992
7993         * redisplay.c (create_text_block): Don't actually add propagation
7994         data if the line ends after we have added a glyph.
7995
7996 2002-04-22  Andy Piper  <andy@xemacs.org>
7997
7998         * extents.c (extent_fragment_update): check for glyphs we have
7999         previously displayed.
8000         * extents.c (print_extent_1): warning removal.
8001         * extents.h: change prototype.
8002         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
8003         widths correctly for wide glyphs.
8004         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
8005         * redisplay.c (prop_type): add PROP_GLYPH.
8006         * redisplay.c (struct prop_block): add glyph type
8007         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
8008         to the propagation data.
8009         * redisplay.c (create_text_block): if there is a glyph in the
8010         propagation data use it to salt extent_fragment_update.
8011         * redisplay.c (create_string_text_block): ditto.
8012
8013 2002-04-13  Nix  <nix@esperi.demon.co.uk>
8014
8015         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
8016         * redisplay-output.c (compare_runes): Compare them.
8017         * redisplay.c: Update copyright date.
8018         * redisplay.c (pos_data): Add need_baseline_computation field.
8019         * redisplay.c (add_glyph_rune): Update ascent, descent, and
8020         need_baseline_computation; zero yoffset. Set max_pixmap_height
8021         for all pixmaps, not just automatically positioned ones.
8022         * redisplay.c (calculate_yoffset): New, compute yoffset values.
8023         * redisplay.c (calculate_baseline): New, compute textual baseline.
8024         * redisplay.c (add_glyph_rune): Call them.
8025         * redisplay.c (create_text_block): Likewise.
8026         * redisplay.c (create_overlay_glyph_block): Likewise.
8027         * redisplay.c (add_margin_runes): Likewise.
8028         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
8029
8030         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
8031         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
8032         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
8033         * redisplay-msw.c (mswindows_output_string): Likewise.
8034         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
8035         * redisplay-gtk.c (gtk_output_display_block): Likewise.
8036         * redisplay-x.c (x_output_display_block): Likewise.
8037
8038 2002-03-28  Ben Wing  <ben@xemacs.org>
8039
8040         * redisplay.c: Fixed bug in redisplay
8041         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
8042         and down of the lines, since they're bigger than the line
8043         size. (It was seen most obviously when there's a horizontal scroll
8044         bar, e.g. do C-h a glyph or something like that.) The problem was
8045         that the glyph-contrib-p setting on glyphs was ignored even if it
8046         was set properly, which it wasn't until now.
8047
8048 2002-04-24  Andy Piper  <andy@xemacs.org>
8049
8050         * lisp.h (Dynarr_end): Fix definition.
8051
8052 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
8053
8054         * redisplay.c (mark_redisplay): Remove call to
8055         update_frame_window_mirror.
8056
8057 2001-11-15  Andy Piper  <andy@xemacs.org>
8058
8059         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
8060         cygwin (again).
8061
8062 2002-02-13  Andy Piper  <andy@xemacs.org>
8063
8064         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
8065         we did in fact enqueue the XM_MAPFRAME event.
8066
8067 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
8068
8069         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
8070         to fix problem switching between virtual desktops under virtuawin
8071         virtual window manager.
8072
8073 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
8074
8075         * event-msw.c: Typo fix.
8076         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
8077         magic XM_MAPFRAME event has been sent.
8078
8079 2001-11-23  Andy Piper  <andy@xemacs.org>
8080
8081         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
8082
8083 2001-11-21  Andy Piper  <andy@xemacs.org>
8084
8085         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8086         mouse events outside the frame.
8087
8088 2002-03-20  Andy Piper  <andy@xemacs.org>
8089
8090         * menubar-msw.c (mswindows_popup_menu): warning removal.
8091         * dialog-msw.c (dialog_popped_down): ditto.
8092
8093 2001-12-11  Andy Piper  <andy@xemacs.org>
8094
8095         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8096         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8097         popup_up_p.
8098         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8099         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8100         * menubar-msw.c (mswindows_popup_menu): ditto.
8101
8102 2001-10-29  Andy Piper  <andy@xemacs.org>
8103
8104         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8105         cancels.
8106
8107 2002-01-03  Andy Piper  <andy@xemacs.org>
8108
8109         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8110         letters.
8111         (xrealpath): ditto.
8112
8113 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8114
8115         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8116         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8117         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8118         Detect and handle case where machine is set up for metric units
8119
8120 2002-04-02  Andy Piper  <andy@xemacs.org>
8121
8122         * dired-msw.c (mswindows_get_files): 
8123         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8124         completely handled by XEmacs. Suggested by Thomas Vogler
8125         <mail@thomas-vogler.de>.
8126
8127 2001-11-14  Andy Piper  <andy@xemacs.org>
8128
8129         * nt.c (REG_ROOT): change registry key to XEmacs.
8130
8131 2002-04-27  Andy Piper  <andy@xemacs.org>
8132
8133         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8134
8135 2002-04-26  Andy Piper  <andy@xemacs.org>
8136
8137         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8138         behavior.
8139
8140 2002-03-14  Mike Alexander  <mta@arbortext.com>
8141
8142         * event-msw.c (mswindows_unwait_process): New, remove process from
8143         wait list
8144         * process-nt.c (nt_finalize_process_data): Call
8145         mswindows_unwait_process
8146         * console-msw.h: Declare mswindows_unwait_process
8147
8148 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8149
8150         * editfns.c (Fdecode_time):
8151         (Fformat_time_string):
8152         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8153         (make_time): Warning elimination (change arg name).
8154
8155 2001-11-24  Andy Piper  <andy@xemacs.org>
8156
8157         * window.c (Fsplit_window): Doc return type.
8158
8159 2002-04-01  Andy Piper  <andy@xemacs.org>
8160
8161         * emacs.c (Fkill_emacs): Only output message box in interactive
8162         mode.
8163
8164 2002-04-26  Andy Piper  <andy@xemacs.org>
8165  
8166         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8167         cygwin.
8168
8169 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8170
8171         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8172         bit platform.
8173
8174 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8175
8176         * XEmacs 21.4.8 "Honest Recruiter" is released.
8177
8178 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8179
8180         Supersedes 2002-04-17 patch.
8181
8182         * process.h (PROCESS_LIVE_P): Use the process status as
8183         evidence of health, not the state of the input stream.
8184         (PROCESS_READABLE_P): Say if the process is readable
8185         from. (It may be dead nonetheless.)
8186         (CHECK_READABLE_PROCESS): Test for that condition.
8187
8188         * process.c (create_process): Use PROCESS_READABLE_P.
8189         (read_process_output, set_process_filter): Likewise.
8190
8191         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8192         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8193
8194         This code is #if 0'd, this is not the time to add new functions:
8195
8196         * process.c (Fprocess_readable_p): Report readability status.
8197         * process.c (Qprocess_readable_p): New, associated symbol...
8198         * process.c (syms_of_process): ... initialize it.
8199
8200 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8201
8202         * XEmacs 21.4.7 "Economic Science" is released.
8203
8204 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8205
8206         * process.h (PROCESS_LIVE_P): Use the process status as
8207         evidence of health, not the state of the input stream.
8208
8209 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8210
8211         * sysdep.c (sys_siglist): change "signum" to "signal"
8212
8213 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8214
8215         * s/darwin.h: New file.
8216         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8217         
8218 2002-04-23  Andreas Jaeger  <aj@suse.de>
8219
8220         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8221         which use lib64 for 64-bit libs.
8222         (START_FILES): Likewise.
8223
8224 2002-02-11  Mike Sperber  <mike@xemacs.org>
8225
8226         * device-x.c: 
8227         (x_IO_error_handler):
8228         (x_init_device): Temporarily keep device in static variable
8229         `device_being_initialized' so we can recover gracefully from
8230         internal XOpenDevice failure.  (XOpenDevice is documented to
8231         return NULL on failure, but sometimes calls the IO error handler
8232         instead.)
8233
8234 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8235
8236         * dired.c (Ffile_name_all_completions): Change documentation --
8237         remove reference to completion-ignored-extensions.
8238         * dired.c (vars_of_dired): Change documentation for
8239         completion-ignored-extensions -- remove reference to
8240         file-name-all-completions.
8241
8242 2002-03-06  Jerry James  <james@xemacs.org>
8243
8244         * emodules.c (emodules_load): Fix multiple loading of same module.
8245
8246 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8247         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8248         RTLD_LAZY to avoid incorrect symbol binding when using nested
8249         shared libraries on Solaris.
8250
8251 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8252
8253         * fileio.c (Ffind_file_name_handler): Improve docstring.
8254
8255 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8256
8257         * fns.c (Fmapconcat): Improve docstring.
8258
8259 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8260
8261         * device-gtk.c: Add prototype for
8262         emacs_gtk_selection_clear_event_handle.
8263         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8264         selection.  Setup signal handler for "selection_clear_event"
8265         (emacs_gtk_selection_clear_event_handle).
8266
8267         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8268         other applications owning the clipboard (based on
8269         x_handle_selection_clear).
8270
8271 2001-12-23  William M. Perry  <wmperry@gnu.org>
8272
8273         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8274         
8275 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8276
8277         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8278
8279 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8280
8281         * XEmacs 21.4.6 "Common Lisp" is released.
8282
8283 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8284
8285         * search.c (Freplace_match): Add missing sub-expression functionality.
8286
8287         * buffer.c (decode_buffer): Add a check for pointer type to
8288         decode_buffer, before gcc's CSE optimization reorders a
8289         dereference in front of the allow_string test.
8290
8291 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8292
8293         * window.c (window_loop): Fix bug that sometimes prevented
8294         window_loop() from iterating across multiple devices.  Also, at
8295         Ben's request, changed infloop-detecting code to abort() instead
8296         of silently terminating window_loop().
8297
8298 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8299
8300         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8301         * editfns.c (make_time): New function.
8302         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8303         * lisp.h (make_time): Prototype and comment it.
8304         * dired.c (wasteful_word_to_lisp): Deprecate.
8305         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8306
8307 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8308
8309         * fileio.c (auto_save_1): Use current coding system, not
8310         escape-quoted.
8311
8312 2001-11-13  Ben Wing  <ben@xemacs.org>
8313
8314         * window.c:
8315         * window.c (window_truncation_on):
8316         * window.c (syms_of_window):
8317         truncate-partial-width-windows should respect the buffer being
8318         displayed, like other redisplay vars.
8319
8320 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8321
8322         * event-stream.c (Fread_key_sequence): save current buffer.
8323
8324 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8325
8326         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8327
8328 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8329
8330         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8331
8332 2001-10-26  Mike Alexander  <mta@arbortext.com>
8333
8334         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8335
8336 2001-10-25  Andy Piper  <andy@xemacs.org>
8337
8338         * ChangeLog:
8339         * dialog-msw.c (handle_directory_proc): new function.
8340          (handle_directory_dialog_box): new fucntion.
8341          (handle_file_dialog_box): use new directory dialog support.
8342          (mswindows_make_dialog_box_internal): ditto.
8343         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8344         handling.
8345         (mswindows_find_frame): make global.
8346         * fileio.c (Fexpand_file_name): build fix.
8347         * general-slots.h: add Qdirectory.
8348         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8349         handling.
8350         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8351         cygwin not leaving win32 paths unchanged.
8352         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8353         cygwin runtime to do path conversion.
8354         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8355         (syms_of_win32): add new function.
8356         * window.c (window_loop): build fix.
8357
8358 2001-10-15  Andy Piper  <andy@xemacs.org>
8359
8360         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8361
8362 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8363
8364         * XEmacs 21.4.5 "Civil Service" is released.
8365
8366 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8367
8368         * glyphs-x.c: Force buffer-tab highlight update when moving the
8369         buffer, avoiding an ugly black border, used for keyboard focus
8370         indication, on a widget that can never have keyboard focus, the
8371         buffer tab.
8372
8373 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8374
8375         * process-unix.c (unix_open_multicast_group): Remove too much
8376         conversion between host and network byte order.
8377
8378 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8379
8380         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8381         before replacing them.
8382
8383         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8384         operation.
8385
8386         * src/window.c (undedicate_windows): Use it.
8387         * src/window.h: Add prototype.
8388
8389 2001-09-17  Ben Wing  <ben@xemacs.org>
8390
8391         * fileio.c (normalize_filename):
8392         * fileio.c (Fexpand_file_name):
8393         Fix various C++ compile errors in Andy's recent code.
8394         
8395         * callint.c (Fcall_interactively):
8396         * editfns.c (Ftemp_directory):
8397         * editfns.c (Fuser_full_name):
8398         * emacs.c (argmatch):
8399         * lread.c (locate_file_map_suffixes):
8400         * redisplay-x.c (x_ring_bell):
8401         Fix sign-compare warnings.
8402         
8403 2001-09-08  Andy Piper  <andy@xemacs.org>
8404
8405         * fileio.c (normalize_filename): copied from nt.c
8406         * (Ffile_name_directory): enable win32 paths under cygwin.
8407         * (Ffile_name_nondirectory): ditto.
8408         * (directory_file_name): ditto.
8409         * (Fexpand_file_name): ditto.
8410         * (Ffile_truename): ditto.
8411         * (Fsubstitute_in_file_name): ditto.
8412         * (Ffile_name_absolute_p): ditto.
8413         * (Ffile_readable_p): ditto.
8414
8415 2001-09-08  Andy Piper  <andy@xemacs.org>
8416
8417         * device-msw.c (mswindows_finish_init_device): remove dde
8418         initialization.
8419         * device-msw.c (mswindows_init_dde): factor out from
8420         mswindows_finish_init_device()
8421         * device-msw.c (init_mswindows_very_early): new function
8422         initialize but don't enable dde.
8423         * emacs.c (main_1): call init_mswindows_very_early.
8424         * event-msw.c:
8425         * event-msw.c (mswindows_dde_callback): only execute when we are
8426         ready.
8427         * symsinit.h: declare init_mswindows_very_early.
8428
8429 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8430
8431         [sjt: This has been in 21.5 for months with no complaints.]
8432
8433         * console.h (struct console_methods): Added flags member.
8434         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8435         (CONMETH_IMPL_FLAG):
8436         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8437         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8438
8439         * device.c (window_system_pixelated_geometry): Use the above macros.
8440
8441         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8442         implememntation flag.
8443         * device.h (DEVICE_DISPLAY_P): Use it.
8444
8445         * frame.c (delete_frame_internal): Use the above macro.
8446
8447         * redisplay.c (redisplay_device): Use it.
8448         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8449         (redisplay_frame): Ditto.
8450
8451         * device-msw.c (mswindows_device_implementation_flags): Removed.
8452         (msprinter_device_implementation_flags): Removed.
8453         (console_type_create_device_mswindows): Removed references to
8454         implementation_flags methods, set implementation flags here.
8455         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8456
8457         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8458         (console_type_create_device_gtk): Removed method declaration.
8459         Added commented out statement which semantically matches the
8460         commented out statement in the above removed method.
8461
8462 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8463
8464         The attached patch fixes a few warnings. 
8465
8466         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8467         * src/frame-gtk.c: guard against GNOME calls in GTK only
8468         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8469         * src/select-gtk.c: prototype lisp_to_time
8470
8471 2001-06-08  Ben Wing  <ben@xemacs.org>
8472
8473         ------ gc-in-window-procedure fixes ------
8474         
8475         * alloc.c:
8476         * alloc.c (struct post_gc_action):
8477         * alloc.c (register_post_gc_action):
8478         * alloc.c (run_post_gc_actions):
8479         * alloc.c (garbage_collect_1):
8480         Create "post-gc actions", to avoid those dreaded "GC during window
8481         procedure" problems.
8482
8483         * event-msw.c:
8484         Abort, clean and simple, when GC in window procedure.  We want
8485         to flush these puppies out.
8486
8487         * glyphs-msw.c:
8488         * glyphs-msw.c (finalize_destroy_window):
8489         * glyphs-msw.c (mswindows_finalize_image_instance):
8490         Use a post-gc action when destroying subwindows.
8491
8492         * lisp.h:
8493         Declare register_post_gc_action().
8494
8495         * scrollbar-msw.c:
8496         * scrollbar-msw.c (unshow_that_mofo):
8497         Use a post-gc action when unshowing scrollbar windows, if in gc.
8498
8499         * redisplay.c (mark_redisplay):
8500         Add comment about the utter evilness of what's going down here.
8501
8502         ------ cygwin setitimer fixes ------
8503         
8504         * Makefile.in.in (sheap_objs):
8505         * Makefile.in.in (profile_objs):
8506         * Makefile.in.in (objs):
8507         Compile profile.c only when HAVE_SETITIMER.
8508         
8509         * nt.c (mswindows_sigset):
8510         * nt.c (mswindows_sighold):
8511         * nt.c (mswindows_sigrelse):
8512         * nt.c (mswindows_sigpause):
8513         * nt.c (mswindows_raise):
8514         * nt.c (close_file_data):
8515         Style fixes.
8516         
8517         * nt.c:
8518         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8519         
8520         * profile.c:
8521         * profile.c (Fstart_profiling):
8522         * profile.c (Fstop_profiling):
8523         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8524         instead of just plain setitimer().
8525         
8526         * signal.c:
8527         * signal.c (set_one_shot_timer):
8528         * signal.c (alarm):
8529         Define qxe_setitimer() as an encapsulation around setitimer() --
8530         call setitimer() directly unless Cygwin or MS Win, in which case
8531         we use our simulated version in win32.c.
8532         
8533         * systime.h:
8534         * systime.h (struct itimerval):
8535         * systime.h (ITIMER_REAL):
8536         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8537         comment about "qxe" and the policy regarding encapsulation.
8538
8539         * win32.c:
8540         * win32.c (setitimer_helper_proc):
8541         * win32.c (setitimer_helper_period):
8542         * win32.c (setitimer_helper):
8543         * win32.c (mswindows_setitimer):
8544         Move setitimer() emulation here, so Cygwin can use it.
8545         Rename a couple of functions and variables to be longer and more
8546         descriptive.  In setitimer_helper_proc(), send the signal
8547         using either mswindows_raise() or (on Cygwin) kill().  If for
8548         some reason we are still getting lockups, we'll change the kill()
8549         to directly invoke the signal handlers.
8550
8551         ------ windows shell fixes ------
8552         
8553         * callproc.c:
8554         * ntproc.c:
8555         Comments about how these two files must die.
8556
8557         * callproc.c (init_callproc):
8558         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8559         not just COMSPEC. (more correct and closer to FSF.) Don't
8560         force a value for SHELL into the environment. (Comments added
8561         to explain why not.)
8562         
8563         * nt.c (init_user_info):
8564         Don't shove a fabricated SHELL into the environment.  See above.
8565
8566 2001-06-01  Ben Wing  <ben@xemacs.org>
8567
8568         * Makefile.in.in (ldflags):
8569         eliminate that pesky "defaulting to 00401000" warning.
8570         * nt.h:
8571         eliminate warnings.
8572
8573 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8574
8575         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8576         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8577
8578 2001-04-24  Jerry James <james@xemacs.org>
8579
8580         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8581         correct order.
8582
8583 2001-06-01  Ben Wing  <ben@xemacs.org>
8584
8585         * event-msw.c (debug_mswin_messages):
8586         conditionalize the messages that were causing compile errors.
8587         (if only macros could generate #ifdef statements ...)
8588
8589 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8590
8591         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8592
8593 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8594
8595         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8596
8597 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8598
8599         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8600         * process-unix.c (unix_canonicalize_host_name):
8601         sysdep.c (init_system_name):
8602         Use it to conditionally support IPv6 canonicalization.
8603
8604 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8605
8606         * event-msw.c:
8607         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8608
8609 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8610
8611         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8612         attempt is made to scroll when no scroll bar is available.
8613
8614 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8615
8616         * input-method-motif.c (XIM_delete_frame): New callback.
8617         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8618         got deleted from 21.4.3.)
8619
8620 2001-06-01  Ben Wing  <ben@xemacs.org>
8621
8622         * nt.c (mswindows_utime):
8623         * nt.c (close_file_data):
8624         fix off-by-one-indirection error.
8625
8626 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8627
8628         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8629         because set_file_times() now takes Lisp_Object path, instead of
8630         char*.
8631         * nt.c: Include buffer.h.
8632         * nt.c (convert_from_time_t): New.
8633         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8634         not set mtime correctly.
8635         * nt.h: Declare mswindows_utime().
8636         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8637         path, instead of char*.
8638         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8639
8640 2001-05-30  Ben Wing  <ben@xemacs.org>
8641
8642         For 21.4:
8643
8644         (Stephen, just take all event-msw.c patches.  This includes
8645         the "iconify" fix below.)
8646
8647         * event-msw.c:
8648         * event-msw.c (mswindows_dequeue_dispatch_event):
8649         * event-msw.c (assert):
8650         * event-msw.c (emacs_mswindows_quit_p):
8651         * event-msw.c (debug_mswin_messages):
8652         * event-msw.c (debug_output_mswin_message):
8653         * event-msw.c (vars_of_event_mswindows):
8654         Fix yet more problems with C-g handling.
8655         Implement debug-mswindows-events.
8656         
8657 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8658
8659         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8660         
8661 2001-05-23  Ben Wing  <ben@xemacs.org>
8662
8663         * event-msw.c (winsock_writer):
8664         * event-msw.c (winsock_closer):
8665         prior kludgy code was clobbering the buffer, thinking it was
8666         "unused" space to store an unneeded return value; instead, use
8667         the variable we've already got staring us in the face.
8668
8669 2001-05-17  Andy Piper  <andy@xemacs.org>
8670
8671         * sysfile.h: don't assume that file attributes are boolean
8672
8673 2001-05-23  Ben Wing  <ben@xemacs.org>
8674
8675         * device-msw.c (msprinter_init_device):
8676         signal an error rather than crash with an unavailable network
8677         printer (from Mike Alexander).
8678         
8679         * event-msw.c:
8680         * event-msw.c (struct winsock_stream):
8681         * event-msw.c (winsock_writer):
8682         * event-msw.c (winsock_closer):
8683         * event-msw.c (make_winsock_stream_1):
8684         cleanup headers.  fix (hopefully) an error with data corruption
8685         when sending to a network connection.
8686
8687         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8688         to handle the ~user prefix by (a) always assuming we're referencing
8689         ourselves and not even verifying the user -- hence any file with
8690         a tilde as its first char is invalid! (b) if there wasn't a slash
8691         following the filename, the pointer was set *past* the end of
8692         file and we started reading from uninitialized memory.  Now we
8693         simply treat these as files, always.
8694
8695         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8696         
8697 2001-05-19  Ben Wing  <ben@xemacs.org>
8698
8699         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8700
8701         * process-nt.c:
8702         * process-nt.c (vars_of_process_nt):
8703         remove unused mswindows-quote-process-args.  rec for 21.4.
8704         
8705 2001-05-12  Ben Wing  <ben@xemacs.org>
8706
8707         * event-msw.c (mswindows_dde_callback):
8708         * event-msw.c (mswindows_wnd_proc):
8709         eliminate cygwin warnings.
8710
8711 2001-05-06  Ben Wing  <ben@xemacs.org>
8712
8713         * console-msw.h:
8714         * device-msw.c:
8715         * device-msw.c (print_dialog_worker):
8716         * device-msw.c (mswindows_handle_print_dialog_box):
8717         * device-msw.c (syms_of_device_mswindows):
8718         * dialog-msw.c (mswindows_make_dialog_box_internal):
8719         * general-slots.h:
8720         implement printing the selection when it's selected.
8721
8722 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8723
8724         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8725
8726 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8727
8728         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8729         EMACS_INT is signed.
8730
8731 2001-04-15  Michael Lausch  <mla@1012surf.net>
8732
8733         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8734         gtk_widget_request_size() to give scrollbar >0 width for
8735         GTK >1.2.8.
8736
8737 2001-05-30  William M. Perry  <wmperry@gnu.org>
8738
8739         * event-gtk.c: Check for buttons as modifier keys.
8740
8741 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8742
8743         * s\mingw32.h:
8744         Properly find MinGW's <process.h> inside Cygwin's restructured
8745         include directories.  Don't try to include <cygwin/version.h>
8746         since we are dropping support for MinGW in versions of Cygwin
8747         earlier than b21.
8748         * nt.c:
8749         Drop support for MinGW in versions of Cygwin before b21.
8750         * sysdep.c:
8751         Properly find MinGW's <process.h> inside Cygwin's restructured
8752         include directories.
8753         * syswindows.h:
8754         Drop support for MinGW in versions of Cygwin before b21.
8755         * unexcw.c:
8756         Even though a.out.h is no longer detected by configure, allow
8757         MinGW to use it until we figure out how to do the job with Win32.
8758
8759 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8760
8761         * syntax.c (find_start_of_comment):
8762         Fix `unbalanced parentheses' bug when dealing with mixed comment
8763         styles in c++/java/etc. mode
8764
8765 2001-05-29  Mike Alexander  <mta@arbortext.com>
8766
8767         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8768         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8769
8770 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8771
8772         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8773
8774 2001-03-31  Mike Sperber <mike@xemacs.org>
8775
8776         * search.c (Freplace_match): Support FSF-style specification of
8777         match subexpression when applied to a buffer.
8778
8779 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8780
8781         * event-stream.c (is_scrollbar_event): add missing semicolon
8782
8783 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8784
8785         * Makefile.in.in: Use TAR macro instead of hardcoding
8786           tar.  Allows use of GNU tar instead of system tar
8787
8788 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8789
8790         * event-stream.c (is_scrollbar_event): add missing semicolon
8791
8792 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8793
8794         * XEmacs 21.4.3 "Academic Rigor" is released.
8795
8796 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8797
8798         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8799
8800 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8801
8802         * buffer.c (Vcase_fold_search): Remove obsolete
8803           comment about non ASCII case-fold-search.  This
8804           bug has been fixed by case-table changes.
8805
8806 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8807
8808         * event-msw.c: Restore include of events-mod.h.
8809
8810 2001-04-22   zhaoway  <zw@debian.org>
8811
8812         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8813         !HAVE_SCROLLBARS.
8814
8815 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8816
8817         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8818
8819 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8820
8821         * mule-charset.c (Fmake_charset): Add missing else.
8822
8823 2001-04-23  Ben Wing  <ben@xemacs.org>
8824
8825         * event-msw.c (FAKE_MOD_QUIT):
8826         * event-msw.c (mswindows_dequeue_dispatch_event):
8827         * event-msw.c (mswindows_wnd_proc):
8828         * event-msw.c (emacs_mswindows_quit_p):
8829         Get critical quit working.
8830
8831 2001-05-05  Ben Wing  <ben@xemacs.org>
8832
8833         * console-msw.h:
8834         * device-msw.c:
8835         * device-msw.c (mswindows_get_default_margin):
8836         * frame-msw.c (mswindows_size_frame_internal):
8837         * frame-msw.c (msprinter_init_frame_1):
8838         * frame-msw.c (vars_of_frame_mswindows):
8839         Change top/bottom margin defaults to 0.5 inches.
8840
8841 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8842
8843         Fix link error with gcc 3.0 on Linux.
8844         * terminfo.c (UP): Remove.
8845         * terminfo.c (BC): Remove.
8846         * terminfo.c (PC): Remove.
8847         They weren't used, and in any case, these symbols should be
8848         defined in the *library*.
8849
8850 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8851
8852         * s/aix4.h: Fix crash with xlc -O3.
8853         Improve comment explaining how -O3 works.
8854
8855 2001-04-15  Ben Wing  <ben@xemacs.org>
8856
8857         * event-stream.c:
8858         * event-stream.c (Fnext_event):
8859         * event-stream.c (is_scrollbar_event):
8860         * event-stream.c (execute_command_event):
8861         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8862         crash' problem.  His fix introduces other problems.  We filter
8863         out scrollbar events specifically, making them somewhat invisible
8864         to command-building, and not appearing in `this-command-keys'.
8865         More work is still needed (see comments in event-stream.c), but
8866         this fixes all the major problems.
8867
8868 2001-04-20  Ben Wing  <ben@xemacs.org>
8869
8870         * .cvsignore: Added stuff for Windows.
8871
8872 2001-04-28  Ben Wing  <ben@xemacs.org>
8873
8874         * buffer.c (Ferase_buffer):
8875         * editfns.c (buffer_insert1):
8876         * editfns.c (Finsert_before_markers):
8877         * editfns.c (Finsert_string):
8878         * editfns.c (Finsert_char):
8879         * editfns.c (Fdelete_region):
8880         * editfns.c (Fwiden):
8881         * editfns.c (Fnarrow_to_region):
8882         remove bogus lines setting zmacs_region_stays to 0.
8883         
8884 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8885
8886         * process-unix.c (unix_open_network_stream): If connect() fails
8887         invalidate file descriptor after closing it.
8888
8889 2001-03-08  Mike Alexander  <mta@arbortext.com>
8890
8891         * event-msw.c (mswindows_need_event_in_modal_loop):
8892         Don't dispatch a message if we didn't get one.
8893         (mswindows_need_event):
8894         Terminate the correct process when one exits instead of the first
8895         one on Vprocess_list and look for process termination when in
8896         mswindows_protect_modal_loop.
8897
8898 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8899
8900         * XEmacs 21.4.1 "Copyleft" is released.
8901
8902 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8903
8904         * input-method-motif.c (XIM_delete_frame): New callback.
8905         (XIM_init_frame): Register it.
8906
8907 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8908
8909         * XEmacs 21.4.0 "Solid Vapor" is released.
8910
8911 2001-04-15  Ben Wing  <ben@xemacs.org>
8912
8913         * cmdloop.c (call_command_loop):
8914         Fix braino in bit-rotting code.
8915         
8916 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8917
8918         * extents.c (Fset_extent_endpoints): Force creation of extent info
8919         in buffer_or_string.
8920
8921         * extents.c (process_extents_for_insertion_mapper): Correctly
8922         check for open-open zero-length extents.
8923
8924 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8925
8926         * lisp.h: New typedefs Memory_count, Element_count.
8927         * regex.c:
8928         * regex.h:
8929         Sign-compare warning elimination: several unsigned -> signed.
8930         Based on work by Ben Wing <ben@xemacs.org>.
8931
8932 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8933
8934         * XEmacs 21.2.47 "Zephir" is released.
8935
8936 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8937
8938         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8939
8940 2001-04-03  Mike Sperber <mike@xemacs.org>
8941
8942         * search.c: Revert previous patch due because of release.
8943
8944 2001-03-30  Ben Wing  <ben@xemacs.org>
8945
8946         * s\cygwin32.h:
8947         Add missing killpg prototype.
8948
8949         * elhash.c:
8950         Add a comment about fixing problems when a new entry is added
8951         while mapping.
8952
8953         * frame-msw.c (mswindows_init_frame_1):
8954         Fix compile warnings.
8955
8956         * menubar.c (vars_of_menubar):
8957         Provide `menu-accelerator-support' to indicate that we properly
8958         support %_ in menu specifications, so that package code can
8959         conditionalize on this (and remove %_ from menu specifications
8960         on older versions).
8961
8962         * event-msw.c:
8963         * scrollbar-msw.c:
8964         * scrollbar-msw.c (can_scroll):
8965         * scrollbar-msw.h:
8966         Fix handling of mouse wheel under Windows to follow standards --
8967         now scrolls window under pointer, not selected window.
8968
8969 2001-03-31  Mike Sperber <mike@xemacs.org>
8970
8971         * search.c (Freplace_match): Support FSF-style specification of
8972         match subexpression when applied to a buffer.
8973
8974 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8975
8976         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8977         function to modify KEYMAP, so map over a copy of the hash table.
8978
8979 2001-03-21  Martin Buchholz <martin@xemacs.org>
8980
8981         * XEmacs 21.2.46 "Urania" is released.
8982
8983 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8984
8985         * realpath.c (xrealpath): Make file-truename work with symlinks to
8986         /cygdrive paths on cygwin. Always lowercase drive-letters on
8987         native windows.
8988         (cygwin_readlink): Don't try to find canonical filename unless
8989         file exists.
8990
8991 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8992
8993         * ChangeLog: Log GTK merge.
8994
8995         * dumper.c:
8996         * select-x.c:
8997         * specifier.c:
8998         * symeval.h:
8999         Revert gratuitous whitespace changes from GTK merge.
9000
9001         * emacs.c: Document end of complex #ifdef @ l. 1495.
9002
9003
9004 2001-03-12  Andy Piper  <andy@xemacs.org>
9005
9006         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
9007         have to do likewise.
9008
9009 2001-03-12  Andy Piper  <andy@xemacs.org>
9010
9011         * sysdep.c: we only support mingw now.
9012
9013 2001-03-09  Andy Piper  <andy@xemacs.org>
9014
9015         * unexcw.c (copy_executable_and_dump_data_section): making approx
9016         overrun a warning only.
9017
9018 2001-03-10  William M. Perry  <wmperry@aventail.com>
9019
9020         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
9021         satisfy Stephen's identical-after-cpp plea.
9022
9023 2001-03-02  Ben Wing  <ben@xemacs.org>
9024
9025         * cmds.c:
9026         * cmds.c (Fforward_char):
9027         * syntax.c:
9028         * window.c:
9029
9030         Augment documentation of the most common motion commands to make
9031         note of the shifted-motion support.
9032         
9033 2001-03-02  Ben Wing  <ben@xemacs.org>
9034
9035         * nt.c (mswindows_fstat):
9036         * nt.c (mswindows_stat):
9037         * search.c (boyer_moore):
9038         Fix compile warnings under Windows.
9039         
9040         * sysdep.c (sys_readdir):
9041         Fix buggy filename-conversion code under Mule.
9042
9043 2001-03-09  William M. Perry  <wmperry@aventail.com>
9044
9045         * Makefile.in.in:
9046         * config.h.in:
9047         * console.c:
9048         * console.h:
9049         * device.c:
9050         * device.h:
9051         * dragdrop.c:
9052         * emacs.c:
9053         * event-stream.c:
9054         * events.c:
9055         * events.h:
9056         * faces.c:
9057         * frame.h:
9058         * general-slots.h:
9059         * glyphs.c:
9060         * gutter.c:
9061         * inline.c:
9062         * lisp.h:
9063         * lrecord.h:
9064         * make-src-depend:
9065         * redisplay-output.c:
9066         * redisplay.c:
9067         * symsinit.h:
9068         * sysfile.h:
9069         * toolbar.c:
9070         * window.c:
9071         The Great GTK Merge.
9072
9073         * ChangeLog.GTK:
9074         * console-gtk.c:
9075         * console-gtk.h:
9076         * device-gtk.c:
9077         * emacs-marshals.c:
9078         * emacs-widget-accessors.c:
9079         * event-gtk.c:
9080         * frame-gtk.c:
9081         * gccache-gtk.c:
9082         * gccache-gtk.h:
9083         * glade.c:
9084         * glyphs-gtk.c:
9085         * glyphs-gtk.h:
9086         * gtk-glue.c:
9087         * gtk-xemacs.c:
9088         * gtk-xemacs.h:
9089         * gui-gtk.c:
9090         * gui-gtk.h:
9091         * menubar-gtk.c:
9092         * native-gtk-toolbar.c:
9093         * objects-gtk.c:
9094         * objects-gtk.h:
9095         * redisplay-gtk.c:
9096         * scrollbar-gtk.c:
9097         * scrollbar-gtk.h:
9098         * select-gtk.c:
9099         * toolbar-gtk.c:
9100         * ui-byhand.c:
9101         * ui-gtk.c:
9102         * ui-gtk.h:
9103         The Great GTK Merge: new files.
9104
9105 2001-02-26  Ben Wing  <ben@xemacs.org>
9106
9107         Reapplied Lstream change.
9108
9109 2001-02-26  Ben Wing  <ben@xemacs.org>
9110
9111         Undid the last change, since it is more controversial than I
9112         thought.  It should be back in at some point soon.
9113         
9114 2001-02-25  Ben Wing  <ben@xemacs.org>
9115
9116         * buffer.c:
9117         * callproc.c (Fold_call_process_internal):
9118         * event-msw.c (ntpipe_slurp_reader):
9119         * event-msw.c (ntpipe_shove_writer):
9120         * event-msw.c (winsock_reader):
9121         * event-msw.c (winsock_writer):
9122         * file-coding.c:
9123         * file-coding.c (detect_eol_type):
9124         * file-coding.c (detect_coding_type):
9125         * file-coding.c (determine_real_coding_system):
9126         * file-coding.c (Fdetect_coding_region):
9127         * file-coding.c (decoding_reader):
9128         * file-coding.c (decoding_writer):
9129         * file-coding.c (mule_decode):
9130         * file-coding.c (Fdecode_coding_region):
9131         * file-coding.c (encoding_reader):
9132         * file-coding.c (encoding_writer):
9133         * file-coding.c (mule_encode):
9134         * file-coding.c (Fencode_coding_region):
9135         * file-coding.c (detect_coding_sjis):
9136         * file-coding.c (decode_coding_sjis):
9137         * file-coding.c (encode_coding_sjis):
9138         * file-coding.c (detect_coding_big5):
9139         * file-coding.c (decode_coding_big5):
9140         * file-coding.c (encode_coding_big5):
9141         * file-coding.c (detect_coding_ucs4):
9142         * file-coding.c (decode_coding_ucs4):
9143         * file-coding.c (encode_coding_ucs4):
9144         * file-coding.c (detect_coding_utf8):
9145         * file-coding.c (decode_coding_utf8):
9146         * file-coding.c (encode_coding_utf8):
9147         * file-coding.c (detect_coding_iso2022):
9148         * file-coding.c (decode_coding_iso2022):
9149         * file-coding.c (encode_coding_iso2022):
9150         * file-coding.c (decode_coding_no_conversion):
9151         * file-coding.c (encode_coding_no_conversion):
9152         * glyphs-x.c (write_lisp_string_to_temp_file):
9153         * gpmevent.c (tty_get_foreign_selection):
9154         * lisp.h:
9155         * lstream.c:
9156         * lstream.c (Lstream_flush_out):
9157         * lstream.c (Lstream_adding):
9158         * lstream.c (Lstream_write_1):
9159         * lstream.c (Lstream_write):
9160         * lstream.c (Lstream_raw_read):
9161         * lstream.c (Lstream_read_more):
9162         * lstream.c (Lstream_read):
9163         * lstream.c (Lstream_unread):
9164         * lstream.c (Lstream_fputc):
9165         * lstream.c (stdio_reader):
9166         * lstream.c (stdio_writer):
9167         * lstream.c (filedesc_reader):
9168         * lstream.c (filedesc_writer):
9169         * lstream.c (lisp_string_reader):
9170         * lstream.c (struct fixed_buffer_stream):
9171         * lstream.c (make_fixed_buffer_input_stream):
9172         * lstream.c (make_fixed_buffer_output_stream):
9173         * lstream.c (fixed_buffer_reader):
9174         * lstream.c (fixed_buffer_writer):
9175         * lstream.c (struct resizing_buffer_stream):
9176         * lstream.c (resizing_buffer_writer):
9177         * lstream.c (dynarr_writer):
9178         * lstream.c (lisp_buffer_reader):
9179         * lstream.c (lisp_buffer_writer):
9180         * lstream.h:
9181         * lstream.h (lstream_implementation):
9182         * lstream.h (struct lstream):
9183         * md5.c (Fmd5):
9184         * process-nt.c (nt_send_process):
9185         * process-unix.c (unix_send_process):
9186         
9187         Correct Lstream lossage due to mixing of signed and unsigned
9188         quantities.  All Lstream uses of size_t and ssize_t are now a
9189         single signed data type Lstream_data_count.  This fixes problems
9190         under Windows with sending large quantities of data to a process,
9191         and may well fix other subtle bugs.
9192
9193 2001-02-23  Martin Buchholz <martin@xemacs.org>
9194
9195         * XEmacs 21.2.45 "Thelxepeia" is released.
9196
9197 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9198
9199         * lisp-union.h (XSETINT): 
9200         (XSETCHAR):
9201         (XSETOBJ): 
9202         Reverse previous change of 2001-02-06.
9203
9204 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9205
9206         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9207         buffers.
9208         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9209         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9210         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9211         * regex.c (POS_AS_IN_BUFFER): removed
9212         * regex.c (re_search_2):
9213         * regex.c (re_match_2):
9214         Don't use an offset of 1 when calculating buffer positions, since
9215         `BI_BUF_BEGV' does it already.
9216
9217 2001-02-18  Wim Dumon  <wim@easics.be>
9218
9219         * insdel.c (prepare_to_modify_buffer): Also check for
9220         supersession when clash-detection is enabled. 
9221
9222 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9223
9224         * regex.c (re_match_2_internal):
9225         Convert temp characters from 'const unsigned char' to 're_char'.
9226         Fix crashing bug with extended characters under mule.
9227         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9228         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9229         font-lock, pdump, and new syntax-table code.
9230         * syntax.c (find_start_of_comment):
9231         (find_end_of_comment):
9232         (forward-comment):
9233         Fix crashing bugs involving moving beyond end of buffer.
9234         * syntax.c (find_start_of_comment):
9235         Fixed logic to allow proper detection of cases where the same
9236         character is used to end both a two-char comment start and a
9237         two-char comment end sequence. Fixes `(forward-comment -1)'.
9238         * syntax.c (find_start_of_comment):
9239         Return position just past last comment-end character for all cases
9240         (previously was only done for two-char comment-end sequences).
9241         * syntax.c (forward-comment):
9242         Take value returned from `find_end_of_comment', rather than
9243         incrementing it.
9244         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9245         Properly deal with BUFFERP (syntax_cache.object)
9246
9247 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9248
9249         * alloc.c (Fgarbage_collect): 
9250         * alloc.c (make_bit_vector_from_byte_vector):
9251         -Wsign-compare-correctness.
9252
9253 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9254
9255         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9256         (XSETCHAR): Likewise.
9257         (XSETOBJ): Likewise.
9258
9259 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9260
9261         * mule-canna.c (canna-func-delete_previous): 
9262         Rename to canna-func-delete-previous.
9263
9264 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9265
9266         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9267
9268 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9269
9270         * font-lock.c (find_context): Fix C++ compile errors introduced by
9271         recent patch
9272
9273 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9274
9275         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9276         pragma, but earlier ones barf on the same pragma.
9277
9278 2001-02-06  Mike Sperber <mike@xemacs.org>
9279
9280         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9281         `configure-mule-lisp-directory'.
9282
9283 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9284
9285         Make sure dump-id.c is compiled in the same way as other .c's.
9286         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9287         * dump-id.h: Remove.
9288         * emacs.c: Move dump-id.h into dumper.h.
9289         * dumper.h: Move dump-id.h into dumper.h.
9290         * Makefile.in.in:
9291         Use standard .c.o rule for building dump-id.o.
9292         Remove preprocessor flags from link command.
9293         Add dump-id.o to ${otherobjs} if PDUMP.
9294
9295 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9296
9297         Port FSF 20.7 syntax table improvements.
9298         * syntax.c.
9299         * syntax.h.
9300
9301         Fixups for new syntax table stuff.
9302         * dired.c: Include syntax.c.
9303         (Fdirectory_files): Initialize regex_match_object and
9304         regex_emacs_buffer.
9305         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9306         and Fget_char_property.
9307
9308         Use ported FSF 20.7 syntax table improvements.
9309         * font-lock.c.
9310         * regex.c.
9311         * search.c.
9312         
9313 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9314
9315         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9316         Unixware's enum boolean from sys/types.h.
9317
9318 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9319
9320         Fix support for building with latest Purify.
9321         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9322         (PURIFY_FLAGS): Likewise.
9323
9324 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9325
9326         * fileio.c (lisp_string_set_file_times): New.
9327         * fileio.c (Fcopy_file): Use it.
9328         Fixes bug:
9329         (copy-file filename non-ascii-filename t t)
9330         ==> No such file or directory, non-ascii-filename
9331
9332 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9333
9334         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9335         USHRT_MAX seems clearer than ~0 anyways.
9336
9337 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9338
9339         dumper improvements.  Inspired by Olivier.
9340         * dumper.c (pdump_max_align): New.
9341         * dumper.c (pdump_add_entry): Use pdump_max_align.
9342         * dumper.c (pdump_get_entry_list): Likewise.
9343         * dumper.c (pdump_scan_by_alignment): Likewise.
9344         Don't iterate through unnecessary alignments.
9345         * dumper.c (pdump_file_get): No need to align result of malloc().
9346         * dumper.c (pdump_mallocadr): Remove.  
9347         The result of malloc() is guaranteed to be maximally aligned.
9348         * dumper.c: s/elmt/elt/g;
9349         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9350         * dumper.c (pdump_alert_undump_object): Likewise.
9351         * dumper.c (pdump_align_table): 
9352         Don't support alignments > 64.
9353         Store ALIGNOF's, not shift counts, in table.
9354
9355 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9356
9357         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9358         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9359         * systime.h: Use HAVE_UTIME.
9360         * sysdep.c (struct utimbuf): Remove.
9361         * sysdep.c (set_file_times): Prefer utime() to utimes().
9362         * config.h.in (HAVE_UTIME): New.
9363         * config.h.in (HAVE_UTIME_H): Remove.
9364         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9365
9366 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9367
9368         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9369
9370 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9371
9372         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9373
9374 2001-02-08  Martin Buchholz <martin@xemacs.org>
9375
9376         * XEmacs 21.2.44 "Thalia" is released.
9377
9378 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9379
9380         Fixes crashes in kill-emacs on some systems.
9381         * process-unix.c (unix_kill_child_process):
9382         It's OK for kill() to fail with ESRCH.
9383
9384 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9385
9386         Contortions to make .gdbinit tricks work on most systems.
9387         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9388         * alloc.c (dbg_valmask): Make non-const.
9389         * alloc.c (dbg_typemask): Make non-const.
9390         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9391         * alloc.c (dbg_valbits): Make non-const.
9392         * alloc.c (dbg_gctypebits): Make non-const.
9393         * .gdbinit (decode_object): Make it work with AIX cc.
9394
9395 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9396
9397         * elhash.c (make_general_lisp_hash_table):
9398         Use simpler and more efficient calloc to clear entries.
9399
9400 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9401
9402         * window.c (window_scroll): Work around an AIX C compiler bug.
9403         Fixes 'scroll-up' does nothing problem with xlC.
9404
9405 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9406
9407         * .gdbinit: Remove obsolete comment.
9408
9409 2001-01-31  Mike Alexander  <mta@arbortext.com>
9410
9411         * select.c (Fown_selection_internal): Set owned_p for device
9412         method correctly.
9413
9414 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9415
9416         Port to g++ 2.97.
9417         "not" cannot be used as a macro name as it is an operator in C++
9418         * config.h.in: Stop #defining `not'.
9419         * chartab.c (check_category_char): not ==> not_p
9420         * chartab.h: Likewise.
9421         * regex.c (re_match_2_internal): Likewise.
9422
9423 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9424
9425         * lisp-disunion.h: Fix up comments.
9426
9427 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9428
9429         * keymap.c (define_key_check_and_coerce_keysym):
9430         (syms_of_keymap):
9431         Support mouse-6 and mouse-7 bindings in the obvious way.
9432
9433 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9434
9435         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9436
9437 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9438
9439         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9440         Previous patch missed DEFVAR_INT_MAGIC.
9441         Make sure future DEFVAR_foo use correct types.
9442         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9443         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9444         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9445         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9446         * (DEFVAR_INT): Likewise.
9447         * redisplay.c (vertical_clip): Should be of type Fixnum.
9448         * redisplay.c (horizontal_clip): Likewise.
9449         * lisp.h (dump_add_opaque_int): New.
9450         (dump_add_opaque_fixnum): New.
9451
9452 2001-01-29  Andy Piper  <andy@xemacs.org>
9453
9454         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9455         since they can be eval'ed
9456
9457 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9458
9459         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9460         Oops, XEmacs redefines `class'.  Use `typename' instead.
9461
9462 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9463
9464         * dumper.c: Fix C++ compile errors.
9465
9466 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9467
9468         * tparam.c: Use correct prototypes.
9469
9470 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9471
9472         * sysproc.h: #include util.h for NetBSD's openpty.
9473
9474 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9475
9476         More 64-bit correctness.
9477         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9478         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9479         Fix up comments.
9480         This finally finishes the 64-bit SGI port.
9481         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9482         * symbols.c: Fix up comments and type casts.
9483         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9484         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9485         * symeval.h (Fixnum): New type.
9486         * symeval.h (symbol_value_type): Fix up comment.
9487
9488         * commands.h:
9489         * nt.c:
9490         * emacs.c:
9491         * data.c:
9492         * redisplay.c:
9493         * abbrev.c:
9494         * dired-msw.c:
9495         * event-Xt.c:
9496         * eldap.c:
9497         * window.c:
9498         * sound.c:
9499         * event-stream.c:
9500         * eval.c:
9501         * buffer.c:
9502         * mule-canna.c: A million DEFVAR_INTs here...
9503         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9504         * extents.c:
9505         * cmdloop.c:
9506         * lisp.h:
9507         * select-x.c:
9508         * console-x.h:
9509         * event-msw.c:
9510         * mule-wnnfns.c:
9511         * hpplay.c:
9512         * ralloc.c:
9513         * alloc.c:
9514         * keymap.c:
9515         * profile.c:
9516         s/int/Fixnum/g in DEFVAR_INT declarations.
9517
9518 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9519
9520         Port pdump to SGI alignment-sensitive environment.
9521         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9522         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9523         properly aligned.
9524         Define and use aligned reading and writing macros.
9525         Use buffered stdio instead of posix i/o for faster dumping.
9526         Eliminate kludgy 256 byte space for header.
9527         Read and write from dump file using structs for alignment safety.
9528         * dumper.c (pdump_align_stream): New.
9529         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9530         * dumper.c (PDUMP_READ_ALIGNED): New.
9531         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9532         * dumper.c (pdump_static_Lisp_Object): New struct.
9533         * dumper.c (pdump_static_pointer): New struct.
9534         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9535         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9536         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9537         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9538
9539         * dumper.c (pdump_backtrace):
9540         * dumper.c (pdump_get_indirect_count):
9541         * dumper.c (pdump_register_object):
9542         * dumper.c (pdump_register_struct):
9543         * dumper.c (pdump_reloc_one):
9544         * dumper.c (pdump_scan_by_alignment):
9545         * dumper.c (pdump_dump_from_root_struct_ptrs):
9546         * dumper.c (pdump_dump_opaques):
9547         * dumper.c (pdump_dump_rtables):
9548         * dumper.c (pdump_dump_from_root_objects):
9549         * dumper.c (pdump):
9550         * dumper.c (pdump_load_finish):
9551         Use aligned reading and writing.
9552
9553         * dumper.c (pdump_free): Make static.
9554         * dumper.c (pdump_hFile): Likewise.
9555         * dumper.c (pdump_hMap): Likewise.
9556
9557 2001-01-26  Martin Buchholz <martin@xemacs.org>
9558
9559         * XEmacs 21.2.43 "Terspichore" is released.
9560
9561 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9562
9563         Type fiddling for window_config.saved_windows_count
9564         * window.c (struct window_config): 
9565         Make saved_windows_count member unsigned.
9566         * window.c (sizeof_window_config_for_n_windows): 
9567         Make parameter unsigned.
9568         * window.c (mark_window_config):
9569         * window.c (window_config_equal):
9570         * window.c (free_window_configuration):
9571         * window.c (Fset_window_configuration):
9572         * window.c (count_windows):
9573         * window.c (Fcurrent_window_configuration):
9574         * window.c (reinit_vars_of_window):
9575         Update all callers and users.
9576
9577 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9578
9579         Alignment correctness for flexible arrays.
9580         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9581         Make alignment-correct. Add interesting comments.
9582         * alloc.c (size_vector):
9583         * alloc.c (make_vector_internal):
9584         * alloc.c (make_bit_vector_internal):
9585         * alloc.c (sweep_bit_vectors_1):
9586         * fns.c (size_bit_vector):
9587         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9588         * window.c (sizeof_window_config_for_n_windows): 
9589         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9590
9591 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9592
9593         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9594
9595 2001-01-23  Andy Piper  <andy@xemacs.org>
9596
9597         * select.c (Fown_selection_internal): pass owned_p
9598
9599         * select-msw.c (mswindows_own_selection): New Signature.
9600
9601         * console.h (struct console_methods): add owned_p to
9602         _own_selection.
9603
9604         * select-x.c (x_own_selection): pass owned_p
9605         (hack_motif_clipboard_selection): use owned_p
9606         (vars_of_select_x): new variable -
9607         x_selection_strict_motif_ownership.
9608
9609 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9610
9611         * specifier.h (specifier_data_offset): Remove pointless parens.
9612         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9613
9614 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9615
9616         Make Lisp_Object sizeof methods be alignment-correct.
9617         pdump must restore objects to the same alignment as the C compiler
9618         assumes.  It really matters on SGIs.
9619         * lstream.c (aligned_sizeof_lstream): New.
9620         (sizeof_lstream): Use aligned_sizeof_lstream.
9621         (Lstream_new): Likewise.
9622         * opaque.c (aligned_sizeof_opaque): New.
9623         (sizeof_opaque): Use aligned_sizeof_opaque.
9624         (make_opaque): Likewise.
9625         * specifier.c (aligned_sizeof_specifier): New.
9626         (sizeof_specifier): Use aligned_sizeof_specifier.
9627         (make_specifier_internal): Likewise.
9628
9629 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9630
9631         * lstream.h (struct lstream): Use max_align_t for trailing data.
9632         * specifier.h (struct Lisp_Specifier): Likewise.
9633
9634 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9635
9636         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9637         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9638         (CCL_SUSPEND): Likewise.
9639         (CCL_INVALID_CMD): Likewise.
9640         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9641         (ccl_driver): Likewise.
9642         (CCL_WRITE_CHAR): Macro hygiene.
9643         (CCL_WRITE_STRING): Macro hygiene.
9644
9645 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9646
9647         Port "portable" dumper to SunOS 4 and HP-UX.
9648         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9649         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9650         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9651
9652 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9653
9654         * lisp.h (ALIGNOF): A better definition for C++.
9655
9656 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9657
9658         Macro hygiene.
9659         Fix printf warnings: int format, long int arg.
9660         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9661         (PUSH_FAILURE_POINT): Use correct printf formats.
9662         (POP_FAILURE_POINT): Use correct printf formats.  
9663         Use do {...} while (0)
9664
9665 2001-01-20  Martin Buchholz <martin@xemacs.org>
9666
9667         * XEmacs 21.2.42 "Poseidon" is released.
9668
9669 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9670
9671         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9672
9673 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9674
9675         De-kludgify FIXED_TYPE free list frobbing.
9676         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9677         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9678         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9679         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9680         * alloc.c (LRECORD_FREE_P): New.
9681         * alloc.c (MARK_LRECORD_AS_FREE): New.
9682         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9683         * alloc.c (STRUCT_FREE_P): Deleted.
9684         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9685         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9686         * alloc.c (STRING_CHARS_FREE_P): New.
9687         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9688         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9689         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9690         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9691         * alloc.c (resize_string): Use new definitions.
9692         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9693         * alloc.c (verify_string_chars_integrity): Use new definitions.
9694         * alloc.c (compact_string_chars): Use new definitions.
9695         * alloc.c: Update monster comments.
9696         * lrecord.h (lrecord_type): Add some new lrecord types for
9697         alloc.c's use.
9698
9699 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9700
9701         Improve alignment hackery.
9702         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9703         (max_align_t): Moved from opaque.h - general purpose.
9704         (ALIGN_PTR): Use size_t, not long.
9705         * opaque.h (max_align_t): Move to lisp.h.
9706
9707 2001-01-18  Norbert Koch  <nk@LF.net>
9708
9709         * gui.h: Fix and add prototypes to fix build problems.
9710
9711 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9712
9713         temacs is going away, so `dump-temacs' is now a bad name.
9714         * .dbxrc (dump-temacs): Rename to `dmp'.
9715         * .gdbinit (dump-temacs): Rename to `dmp'.
9716
9717 2001-01-17  Andy Piper  <andy@xemacs.org>
9718
9719         * glyphs.c (print_image_instance): comment to make martin happy.
9720
9721         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9722         change.
9723
9724         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9725         activation.
9726         (mswindows_tab_control_redisplay): warning suppression.
9727
9728         * glyphs-widget.c (widget_update): re-write to cope with updated
9729         items.
9730         (widget_instantiate): use new gui_item functions.
9731         (tab_control_update): deleted.
9732         (progress_gauge_update): deleted.
9733         (image_instantiator_progress_guage): take out update reference.
9734         (image_instantiator_tree_view): ditto.
9735         (image_instantiator_tab_control): ditto.
9736
9737         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9738         Right the new way.
9739         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9740         return whether anything was changed.
9741         (update_gui_item_keywords): as it sounds.
9742
9743         * gui.h: declare widget_gui_parse_item_keywords.
9744
9745         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9746         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9747
9748 2001-01-17  Martin Buchholz <martin@xemacs.org>
9749
9750         * XEmacs 21.2.41 "Polyhymnia" is released.
9751
9752 2001-01-16  Didier Verna  <didier@xemacs.org>
9753
9754         * glyphs.c (image_instantiate): don't use fallbacks when
9755         instantiating a face's background pixmap by inheritance.
9756
9757 2001-01-14  Mike Sperber <mike@xemacs.org>
9758
9759         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9760         Conditionalize accordingly.
9761
9762 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9763
9764         * dumper.c (pdump_file_get): Fix a compiler warning.
9765
9766 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9767
9768         Make Purify happy when pdumping.
9769         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9770         iniitalizing all bits of new lisp object memory.
9771         * symbols.c (Fmake_local_variable): Likewise.
9772         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9773         * symbols.c (Fdefvaralias): Likewise.
9774         * mule-charset.c (vars_of_mule_charset): Likewise.
9775
9776 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9777         Add the `-nd' flag when running pre-dump operations under the debugger.
9778         * .dbxrc (run-temacs): Add `-nd'.
9779         * .dbxrc (update-elc): Likewise.
9780         * .dbxrc (dump-temacs): Likewise.
9781         * .gdbinit (run-temacs): Likewise.
9782         * .gdbinit (check-temacs): Likewise.
9783         * .gdbinit (update-elc): Likewise.
9784         * .gdbinit (dump-temacs): Likewise.
9785
9786 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9787
9788         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9789         export OBJECT_MODE=64
9790         configure --pdump --use-union-type=no
9791         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9792         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9793
9794         * miscplay.c (sndcnv8U_2mono):
9795         Avoid two uses of `++' in the same expression.
9796         Suppresses a GCC warning.
9797
9798 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9799
9800         Make sure future compilers don't miscompile alloc.c.
9801         * alloc.c:
9802         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9803         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9804
9805 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9806
9807         * dumper.c: A little post-pdump-rename comment fixup.
9808
9809 2001-01-09  Jerry James  <james@eecs.ku.edu>
9810
9811         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9812
9813 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9814
9815         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9816         script:
9817         #!/bin/sh
9818         replace_symbol () {
9819           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9820         }
9821
9822         replace_symbol pdump_wire_lists pdump_weak_object_chains
9823         replace_symbol pdump_wire_list dump_add_weak_object_chain
9824
9825         replace_symbol pdump_wires pdump_root_objects
9826         replace_symbol pdump_wire dump_add_root_object
9827
9828         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9829         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9830
9831         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9832         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9833         replace_symbol dumpstructinfo pdump_root_struct_ptr
9834         replace_symbol dumpstruct dump_add_root_struct_ptr
9835
9836         replace_symbol dumpopaque dump_add_opaque
9837         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9838         replace_symbol dumpopaqueinfos pdump_opaques
9839         replace_symbol dumpopaqueinfo pdump_opaque
9840
9841         replace_symbol nb_structdump nb_root_struct_ptrs
9842         replace_symbol nb_opaquedump nb_opaques
9843
9844         replace_symbol align_table pdump_align_table
9845         replace_symbol dump_header pdump_header
9846
9847         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9848         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9849
9850
9851 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9852
9853         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9854         optimizing bytecount_to_charcount().
9855
9856 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9857
9858         * config.h.in:
9859         (HAVE_DLFCN_H): Removed.
9860         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9861
9862 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9863
9864         Portable dumper maintainability improvements.
9865         * alloc.c (staticpro):
9866         * alloc.c (staticpro_nodump):
9867         * alloc.c (garbage_collect_1):
9868         * alloc.c (reinit_alloc_once_early):
9869         * alloc.c (init_alloc_once_early):
9870         * alloc.c: Move dumper functions to alloc.c.
9871         * dumper.c (pdump_backtrace):
9872         * dumper.c (pdump_dump_structs):
9873         * dumper.c (pdump_dump_opaques):
9874         * dumper.c (pdump_dump_rtables):
9875         * dumper.c (pdump_dump_wired):
9876         * dumper.c (pdump):
9877         * dumper.c (pdump_load_check):
9878         * dumper.c (pdump_load_finish):
9879         * dumper.c (pdump_file_unmap):
9880         * dumper.c (pdump_file_get):
9881         * dumper.c (pdump_resource_free):
9882         * dumper.c (pdump_resource_get):
9883         * dumper.c (pdump_file_free):
9884         * dumper.c (pdump_file_try):
9885         * dumper.c (pdump_load):
9886         Remove fixed size limits on staticpro(), staticpro_nodump(),
9887         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9888         Remove custom code for dumping lrecord_implementations_table - use
9889         dumpopaque instead.
9890         Remove (most of the) custom code for dumping staticpros - dump it
9891         like any other dynarr.
9892
9893         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9894         * dumper.c: Moved functions from alloc.c.
9895         * alloc.c (dumpstruct): Moved to dumper.c.
9896         * alloc.c (dumpopaque): Likewise.
9897         * alloc.c (pdump_wire): Likewise.
9898         * alloc.c (pdump_wire_list): Likewise.
9899
9900         * lisp.h (Dynarr_sizeof): New.
9901         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9902         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9903         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9904
9905         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9906         * lisp.h (dumpopaque): ditto.
9907         * lisp.h (pdump_wire): ditto.
9908         * lisp.h (pdump_wire_list): ditto.
9909
9910 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9911
9912         * make-src-depend (PrintPatternDeps):
9913         Use `sort' to make output independent of perl version.
9914
9915 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9916
9917         Port to Netbsd 1.5.
9918         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9919         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9920
9921 2001-01-03  Didier Verna  <didier@xemacs.org>
9922
9923         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9924         that `focus_frame' is alive before thinking of calling
9925         `redisplay_redraw_cursor' on it.
9926
9927 2001-01-08  Martin Buchholz <martin@xemacs.org>
9928
9929         * XEmacs 21.2.40 is released.
9930
9931 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9932
9933         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9934
9935 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9936
9937         * alloc.c (dbg_valmask): Make const.
9938         * alloc.c (dbg_typemask): Make const.
9939         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9940         * alloc.c (dbg_valbits): Make const.
9941         * alloc.c (dbg_gctypebits): Make const.
9942
9943 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9944
9945         * redisplay-x.c (x_bevel_area):
9946         redisplay.h (struct rune):
9947         Typo fixes in comments.
9948
9949 2001-01-05  Andy Piper  <andy@xemacs.org>
9950
9951         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9952         adjustment.
9953
9954         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9955
9956 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9957
9958         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9959
9960         * mule-ccl.c (stack_idx_of_map_multiple):
9961         Non const global data must not be initialized!
9962         Found by MIYASHITA Hisashi.
9963
9964 2001-01-02  Andy Piper  <andy@xemacs.org>
9965
9966         * frame.c (change_frame_size): make sure frame size is always
9967         marked as changed.
9968
9969         * glyphs.c (image_instance_layout): minor code reuse.
9970
9971         * window.c (Fcurrent_window_configuration): revert previous
9972         change.
9973
9974 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9975
9976         * glyphs.h:
9977         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9978
9979 2000-12-31  Andy Piper  <andy@xemacs.org>
9980
9981         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9982         when widget gets unmapped.
9983
9984         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9985         function. Make sure widgets losing focus don't just drop it.
9986         (handle_focus_event_1): record the widget with focus.
9987
9988 2000-12-31  Andy Piper  <andy@xemacs.org>
9989
9990         * window.c (allocate_window): use
9991         make_image_instance_cache_hash_table.
9992         (make_dummy_parent): ditto.
9993         (Fset_window_configuration): ditto.
9994
9995         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9996
9997         * glyphs.c (process_image_string_instantiator): use
9998         INSTANTIATOR_TYPE.
9999         (get_image_instantiator_governing_domain): ditto.
10000         (normalize_image_instantiator): ditto.
10001         (instantiate_image_instantiator): ditto.
10002         (make_image_instance_1): ditto.
10003         (image_instantiate): ditto. Key on glyph *and* instantiator type.
10004         (instantiator_eq_equal): new function for use with instance hash
10005         tables.
10006         (instantiator_eq_hash): ditto.
10007         (make_image_instance_cache_hash_table): create a suitable hash
10008         table for storing image instances.
10009
10010         * elhash.h (hash_table_weakness): new internal weakness type
10011         HASH_TABLE_KEY_CAR_VALUE_WEAK.
10012         declare new functions.
10013
10014         * elhash.c (finish_marking_weak_hash_tables): introduce yet
10015         another weakness type for glyphs.
10016         (make_standard_lisp_hash_table): new function split out from
10017         make_general_lisp_hash_table.
10018         (make_lisp_hash_table): call make_standard_lisp_hash_table.
10019         (hash_table_instantiate): ditto.
10020         (Fmake_hash_table): ditto.
10021
10022 2000-12-31  Martin Buchholz <martin@xemacs.org>
10023
10024         * XEmacs 21.2.39 is released.
10025
10026 2000-12-29  Andy Piper  <andy@xemacs.org>
10027
10028         * menubar.c (menubar_visible_p_changed): signal the frame changed.
10029
10030         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
10031         the frame has changed so that we pick up geometry changes such as
10032         menubar visibility.
10033
10034 2000-12-28  Andy Piper  <andy@xemacs.org>
10035
10036         * lastfile.c (my_ebss): make a char array so we can pad the
10037         bss. Fixes cygwin unexec.
10038
10039         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
10040
10041 2000-12-26  Andy Piper  <andy@xemacs.org>
10042
10043         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
10044         comments and try and be more precise about a non-/SIGIO world.
10045         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
10046         SIGIO.
10047
10048         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
10049         we don't normalize to zero width or height.
10050
10051 2000-12-24  Andy Piper  <andy@xemacs.org>
10052
10053         * Makefile.in.in (ldflags): add -mwindows when appropriate.
10054
10055 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
10056
10057         * s/sco5.h: SCO 5 has pty support.
10058
10059 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
10060
10061         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
10062         input-method-xlib.c contains whole contents of input-method-xfs.c,
10063         so we can use input-method-xlib.c's code for USE_XFONTSET
10064         using #ifdefs.
10065         * input-method-xfs.c: removed.
10066
10067 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
10068
10069         * file-coding.h (enum coding_category_type): reorder enumerators to
10070         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
10071         (now one greater than largest real coding_category_type enumerator).
10072         * file-coding.c (coding_category_symbol, coding_category_by_priority,
10073         coding_category_system, fcd_descriptihon_1, decode_coding_category,
10074         Fcoding_category_list, Fset_coding_priority_list,
10075         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
10076         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
10077
10078 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10079
10080         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
10081         * redisplay-output.c (redisplay_output_window): Clear top of window
10082         when face is changed.
10083         * redisplay-x.c (x_redraw_exposed_window): Call
10084         redisplay_clear_top_of_window.
10085         * redisplay.h: Publish redisplay_clear_top_of_window.
10086
10087 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10088
10089         * buffer.c (Fkill_buffer): Map over all devices.
10090         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10091         (list_windows): New function.
10092         (list_all_windows): Ditto.
10093         (Freplace_buffer_in_windows): Use them.
10094
10095 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10096
10097         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10098         (Fopen_database): Use `db_create' instead of `db_open'.
10099         (syms_of_database): Initialize Qqueue.
10100
10101 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10102
10103         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10104         buffer_local_face_property.
10105         * buffer.h (struct buffer): New member buffer_local_face_property.
10106         * window.c (Fset_window_buffer):  Mark window's face as changed
10107         when buffer has buffer local face.
10108         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10109         * objects.c (color_after_change): Set buffer_local_face_property
10110         when locale of face specifier is buffer.
10111         * objects.c (font_after_change): Ditto.
10112         * objects.c (face_boolean_after_change): Ditto.
10113         * glyphs.c (image_after_change): Ditto.
10114
10115 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10116
10117         * nt.c (mswindows_fstat): Report file permissions, volume serial
10118         number, etc. Code adapted from FSF Emacs 20.7.
10119
10120 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10121
10122         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10123         of stat when we don't have symbolic links, to make sure
10124         mswindows_stat is called on mswindows.
10125
10126 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10127
10128         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10129
10130 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10131
10132         * doprnt.c (emacs_doprnt_1): More printing fixes.
10133         Make printing of numbers compatible with libc and FSF Emacs.
10134         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10135         Use the system printf to do most of the hard work of formatting,
10136         instead of doprnt_1().
10137         Calculate memory to allocate for format string.
10138         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10139         (doprnt_1): Cleaner code and documentation.
10140
10141 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10142
10143         * Makefile.in.in: Use the loop variable to install headers.
10144
10145 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10146
10147         * window.c (Fsplit_window): Don't invalidate face cache.
10148
10149 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10150
10151         * minibuf.c (Fall_completions): Undo the previous change
10152         which removed checking elements start with space.
10153
10154 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10155
10156         * mule-canna.c: Didier suppression.
10157
10158 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10159
10160         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10161         (warning suppression).  Add English comment translations.
10162
10163 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10164
10165         * unexelfsgi.c (unexec): Better test for mmap failure.
10166
10167 2000-12-05  Martin Buchholz <martin@xemacs.org>
10168
10169         * XEmacs 21.2.38 is released.
10170
10171 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10172
10173         * redisplay.c (bar-cursor): Make a user variable.
10174
10175         * symsinit.h: Add init_postgresql_from_environment.
10176
10177 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10178
10179         * regex.c: Convert to clean C.
10180
10181 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10182
10183         * realpath.c:
10184         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10185         initialization.
10186         (sys_readlink): renamed to system_readlink to avoid conflict with
10187         the other sys_readlink.
10188
10189 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10190
10191         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10192
10193 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10194
10195         * postgresql.c (init_postgresql_from_environment): new function.
10196         (vars_of_postgresql): Move code initializing Lisp variables out and
10197         into init_postgresql_from_environment.
10198         emacs.c (main_1): Call init_postgresql_from_environment if and only
10199         if running a dumped XEmacs.
10200
10201 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10202
10203         * buffer.c: Make find-file-compare-truenames default to true on
10204         windows.
10205
10206         * realpath.c (win32_abs_start):
10207         (cygwin_readlink):
10208         (win32_readlink): New functions.
10209         (xrealpath): Return really real filenames on windows.
10210
10211         * fileio.c (Ffile_truename): Make file-truename work on windows.
10212
10213 2000-11-29  Didier Verna  <didier@xemacs.org>
10214
10215         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10216         * faces.c (update_face_cachel_data): use it.
10217         * faces.c (add_face_cachel): use it. Complete background pixmap
10218         frobbing in face cache if `update_face_cachel_data' has not done so.
10219
10220 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10221
10222         * search.c (string_match_1): Don't set last_thing_searched
10223         when search failed.
10224
10225 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10226
10227         * buffer.c: Include casetab.h
10228         (common_init_complex_vars_of_buffer): Use new case-table object.
10229         * buffer.h: Include casetab.h
10230         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10231         (DOWNCASE_TABLE_OF): Ditto.
10232         * bufslots.h: Remove char-tables and add case-table.
10233         * casetab.c: Include casetab.h
10234         (CASE_TABLE_P): Removed.
10235         (mark_case_table): New function.
10236         (allocate_case_table): New function.
10237         (Fcase_table_p): Use new case-table.
10238         (case_table_char): New function.
10239         (Fget_case_table): Ditto.
10240         (Fput_case_table): Ditto.
10241         (Fput_case_table_pair): Ditto.
10242         (Fcopy_case_table): Ditto.
10243         (Fcurrent_case_table): Return case-table.
10244         (Fstandard_case_table): Return case-table.
10245         (Fset_case_table): Fix doc-string.
10246         (set_case_table): Use case-table
10247         (syms_of_casetab): DEFSUBR new functions.
10248         (complex_vars_of_casetab): Set up standard case-table.
10249         * casetab.h: New file.
10250         * editfns.c: Include casetab.h
10251         (Fcompare_buffer_substrings): Use case-table.
10252         * inline.c: Include casetab.h
10253         * lisp.h: Remove bogus extern.
10254         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10255         * search.c: Include casetab.h
10256         (TRANSLATE_ASCII): Removed.
10257         (TRANSLATE): Unconditionally translate character.
10258         (looking_at_1): Use case-table.
10259         (string_match_1): Ditto.
10260         (fast_string_match): Ditto.
10261         (search_command): Ditto.
10262         (search_buffer): Separate boyer_moore.  Check whether
10263         boyer_moore is possible.
10264         (simple_search): New function.
10265         (boyer_moore): Separated from search_buffer. Translate char.
10266
10267 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10268
10269         * regex.c (RE_TR_ASCII): Removed.
10270         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10271         (PATFETCH): Call PATFETCH_RAW.
10272         (PATFETCH_RAW): Fetch Emchar.
10273         (PATUNFETCH): Decrement charptr.
10274         (GET_BUFFER_SPACE): Rename b to buf_end.
10275         (BUF_PUSH): Ditto.
10276         (BUF_PUSH_2): Ditto.
10277         (BUF_PUSH_3): Ditto.
10278         (EXTEND_BUFFER): Ditto.
10279         (SET_LIST_BIT): Ditto.
10280         (regex_compile): Ditto.  Translate non ASCII char.
10281         (compile_range): Ditto.
10282         (re_search_2): Ditto.
10283         (re_match_2_internal): Compare Emchar.
10284         (bcmp_translate): Ditto.
10285
10286 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10287
10288         * lisp.h (basic char/int typedefs):  comment improvement.
10289
10290 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10291
10292         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10293         unstomp inhibit_site_lisp.  Improve comments.
10294
10295 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10296
10297         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10298
10299 2000-11-28  Andy Piper  <andy@xemacs.org>
10300
10301         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10302         clipped display for windows in the gutter also.
10303         (redisplay_display_boxes_in_window_p): change semantics of return
10304         codes to be more intuitive.
10305
10306         * gutter.h: declare display_boxes_in_gutter_p.
10307
10308         * gutter.c (display_boxes_in_gutter_p): new function for
10309         redisplay.
10310
10311 2000-11-22  Andy Piper  <andy@xemacs.org>
10312
10313         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10314         autodetect domain.
10315
10316 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10317
10318         * callproc.c (Fold_call_process_internal):
10319         * gpm.c (Freceive_gpm_event):
10320         (tty_get_foreign_selection): Might be just warning supression.
10321         * fileio.c (Fwrite_region_internal):
10322         (Fset_visited_file_modtime):
10323         * keymap.c (event_matches_key_specifier_p):
10324         Initialize GCPROed variable.
10325
10326         * menubar-x.c (command_builder_find_menu_accelerator):
10327         Initialize before use.
10328
10329 2000-11-23  Andy Piper  <andy@xemacs.org>
10330
10331         * unexcw.c (unexec): make the resulting executable executable.
10332
10333 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10334
10335         * doc.c (get_doc_string):
10336         Use size_t, not int, for result of XSTRING_LENGTH.
10337
10338         * cmds.c (Fdelete_char):
10339         * cmds.c (Fpoint_at_eol):
10340         * cmds.c (Fself_insert_command):
10341         Use EMACS_INT, not int, for result of XINT.
10342         Someday, someone will want to insert more than 2**31 identical characters.
10343
10344         * cmds.c (Fdelete_char):
10345         * cmds.c (Fdelete_backward_char):
10346         * syntax.c (Fforward_word):
10347         * syntax.c (Fforward_comment):
10348         Make COUNT argument optional, for consistency with forward-char et al.
10349
10350 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10351
10352         * lisp.h:
10353         * print.c (long_to_string):
10354         Return a useful value: the pointer at end of data written.
10355
10356         * doprnt.c:
10357         Use `static const char * const' for constant strings.
10358         (union printf_arg): Delete `i', `ui' members.
10359         (get_doprnt_args):
10360         (emacs_doprnt_1):
10361         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10362         Do all printf-ing via the `l' specifier.
10363         Use EMACS_INT instead of int.
10364         Optimize.
10365
10366 2000-11-20  Didier Verna  <didier@xemacs.org>
10367
10368         * faces.c (update_face_cachel_data): don't frob the background
10369         pixmap when the window is being created. The face is needed but
10370         does not exist yet.
10371
10372 2000-11-20  Andy Piper  <andy@xemacs.org>
10373
10374         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10375         messing with a debug environment.
10376
10377 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10378
10379         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10380
10381 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10382
10383         * casetab.c (Fcase_table_p): Fix compile error and crash.
10384
10385 2000-11-18  Philip Aston  <philipa@mail.com>
10386
10387         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10388
10389 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10390
10391         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10392         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10393
10394 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10395
10396         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10397         * unexelf.c: Use HAVE_ELF_H.
10398         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10399         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10400         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10401         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10402         for testing.
10403         So this is an unexelfsgi.c from a different line of development.
10404
10405 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10406
10407         * regex.c (RE_TR_ASCII): New function.
10408         (RE_TRANSLATE): Call it.
10409
10410 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10411
10412         * buffer.h (TRT_TABLE_OF): Remove assert.
10413         (IN_TRT_TABLE_DOMAIN): Removed.
10414
10415 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10416
10417         * free-hook.c (log_gcpro):
10418         (show_gcprohist): Add support for GCPRO5.
10419
10420 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10421
10422         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10423
10424 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10425
10426         * symeval.h: Declare flush_all_buffer_local_cache.
10427
10428         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10429         (flush_buffer_local_cache): Added.
10430         (flush_all_buffer_local_cache): Added.
10431
10432         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10433
10434         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10435         (pdump_dump_data): Ditto.
10436         (pdump_reloc_one): Ditto.
10437         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10438         before dumping.
10439
10440
10441 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10442
10443         * buffer.c: Remove if 0'ed entry.
10444         * buffer.h: Rewrite TRT to use char-table.
10445         * bufslots.h: Remove mirror tables.
10446         * casetab.c: Remove mirror tables.
10447         (CASE_TABLE_P): New macro.
10448         (Fcase_table_p): Element of a case table is string or char-table.
10449         (make_mirror_trt_table): Removed.
10450         (set_case_table): Setup char-table from strings for backward
10451         compatibility.
10452         * dired.c (Fdirectory_files):
10453         * dired-msw.c: (mswindows_get_files):
10454         * lisp.h: Change prototype of re_pattern_buffer.
10455         * regex.c: (RE_TRANSLATE): New macro.
10456         (TRANSLATE_P): Ditto.
10457         Change translate to type RE_TRANSLATE_TYPE.
10458         * regex.h: Define RE_TRANSLATE_TYPE
10459         * search.c (TRANSLATE): New macro.
10460         (TRANSLATE_ASCII): New macro.
10461         Translate table is changed to Lisp_Object.
10462         (signal_failure): Inhibit return.
10463
10464 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10465
10466         * device-msw.c:
10467         * eldap.c:
10468         * event-Xt.c:
10469         * event-stream.c:
10470         * print.c:
10471         Do UNGCPRO before return.
10472
10473 2000-11-14  Martin Buchholz <martin@xemacs.org>
10474
10475         * XEmacs 21.2.37 is released.
10476
10477 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10478
10479         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10480         Add comments about discarded return value.
10481
10482 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10483
10484         * callint.c:
10485         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10486
10487 2000-10-27  Andy Piper  <andy@xemacs.org>
10488
10489         * gutter.c (Fset_default_gutter_position): default left and right
10490         gutters to visible.
10491         (calculate_gutter_size): calculate resonable heuristic for left
10492         and right gutter sizes.
10493         (specifier_vars_of_gutter): change left and right gutter sizes to
10494         autodetect.
10495         (calculate_gutter_size_from_display_lines): new function.
10496         (output_gutter): check for resizing on left and right gutters.
10497         (clear_gutter): don't special case top and left gutters.
10498         (specifier_vars_of_gutter): use new signature for
10499         set_specifier_caching.
10500
10501         * glyphs-x.c (x_redisplay_widget): spelling fix.
10502         * glyphs.c (specifier_vars_of_glyphs):
10503         * menubar.c (specifier_vars_of_menubar):
10504         * redisplay.c (specifier_vars_of_redisplay):
10505         * toolbar.c (specifier_vars_of_toolbar):
10506         * window.c (specifier_vars_of_window):
10507         * scrollbar.c (specifier_vars_of_scrollbar):
10508         (complex_vars_of_scrollbar): use new signature for
10509         set_specifier_caching.
10510
10511         * specifier.c (set_specifier_caching): include recompute flag.
10512         (recompute_one_cached_specifier_in_window): always recompute if
10513         flag set.
10514         (recompute_one_cached_specifier_in_frame): ditto.
10515
10516         * specifier.h (struct specifier_caching): add recompute flag.
10517
10518 2000-10-24  Andy Piper  <andy@xemacs.org>
10519
10520         * unexcw.c (copy_executable_and_dump_data_section): add new
10521         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10522         5.0 happy.
10523
10524 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10525
10526         * console-x.h (x_device): New member modifier_release_time.
10527         * event-Xt.c (x_handle_sticky_modifiers):
10528         Bound interval modifier keys are sticky.
10529         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10530         * events.h: extern it.
10531
10532 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10533
10534         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10535
10536 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10537
10538         * event-stream.c (execute_command_event): Preserve current_events
10539         and the like when event is misc-user-event.
10540         Inhibit quit during the call to maybe_echo_keys.
10541
10542 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10543
10544         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10545         symlink when buffer is killed.
10546         (inhibit_clash_detection): New variable.
10547
10548 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10549
10550         * console.c (Fset_input_method): Trigger redisplay on tty.
10551
10552 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10553
10554         * process.c (Fprocess_status): Revert to previous behavior:
10555         (process-status "nosuchprocess") ==> nil
10556
10557 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10558
10559         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10560         Work around another GCC 2.95.2 optimizer bug.
10561
10562 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10563
10564         * process.c (Fget_process): Use LIST_LOOP_2.
10565         (kill_buffer_processes): Use LIST_LOOP_2.
10566
10567         * minibuf.c (Fall_completions):
10568         Delete old non-functional code for FSF fourth argument.
10569
10570         * frame.c (frame_matches_frame_spec):
10571         Renamed from `frame_matches_frametype'.  Update all callers.
10572         (device_matches_device_spec):
10573         Renamed from 'device_matches_console_spec'.  Update all callers.
10574
10575         * doc.c (Fsubstitute_command_keys):
10576         Remove buffer overflow crash.  Small code cleanups.
10577
10578         * casetab.c (check_case_table): Simpler code.
10579
10580         * window.c (Freplace_buffer_in_windows):
10581         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10582         (and similar implementation) as Fdelete_windows_on.
10583         Update all callers.
10584
10585         * alloc.c (Fmake_list):
10586         * alloc.c (make_vector):
10587         * alloc.c (Fmake_vector):
10588         * alloc.c (make_bit_vector):
10589         * alloc.c (Fmake_bit_vector):
10590         * alloc.c (Fbit_vector):
10591         * alloc.c (Fmake_string):
10592         * alloc.c (Fpurecopy):
10593         * alloc.c (Fmemory_limit):
10594         * buffer.c:
10595         * buffer.c (Fget_buffer):
10596         * buffer.c (Fkill_buffer):
10597         * buffer.c (complex_vars_of_buffer):
10598         * bytecode.c (Fcompiled_function_stack_depth):
10599         * callint.c (Fprefix_numeric_value):
10600         * event-stream.c:
10601         * event-stream.c (Fread_key_sequence):
10602         * casetab.c:
10603         * casetab.c (Fcase_table_p):
10604         * casetab.c (check_case_table):
10605         * casetab.c (Fset_case_table):
10606         * casetab.c (Fset_standard_case_table):
10607         * chartab.c:
10608         * chartab.c (Fchar_table_type):
10609         * chartab.c (Freset_char_table):
10610         * chartab.c (Fget_char_table):
10611         * chartab.c (Fget_range_char_table):
10612         * chartab.c (Fput_char_table):
10613         * chartab.c (Fmap_char_table):
10614         * chartab.c (Fcategory_table_p):
10615         * chartab.c (Fcheck_category_at):
10616         * chartab.c (Fchar_in_category_p):
10617         * chartab.c (Fcategory_table):
10618         * chartab.c (Fcopy_category_table):
10619         * chartab.c (Fset_category_table):
10620         * chartab.c (Fcategory_designator_p):
10621         * chartab.c (Fcategory_table_value_p):
10622         * cmds.c (Fdelete_char):
10623         * cmds.c (Fdelete_backward_char):
10624         * cmds.c (Fself_insert_command):
10625         * cmds.c (Fself_insert_internal):
10626         * console.c (Fvalid_console_type_p):
10627         * console.c (Fcdfw_console):
10628         * console.c (Fconsole_type):
10629         * console.c (Fconsole_name):
10630         * console.c (Fconsole_device_list):
10631         * console.c (Fconsole_on_window_system_p):
10632         * data.c:
10633         * data.c (Feq):
10634         * data.c (Fold_eq):
10635         * data.c (Fsubr_interactive):
10636         * data.c (Fchar_to_int):
10637         * data.c (Fint_to_char):
10638         * data.c (Fsetcar):
10639         * data.c (Fsetcdr):
10640         * data.c (Fnumber_to_string):
10641         * data.c (Fstring_to_number):
10642         * data.c (Frem):
10643         * database.c (mark_database):
10644         * database.c (finalize_database):
10645         * database.c (Fdatabase_live_p):
10646         * database.c (Fdatabasep):
10647         * device-x.c (Fx_get_resource):
10648         * device.c (Fdfw_device):
10649         * dired.c:
10650         * dired.c (Ffile_name_completion):
10651         * dired.c (Ffile_name_all_completions):
10652         * dired.c (Fuser_name_completion):
10653         * dired.c (Fuser_name_completion_1):
10654         * dired.c (Fuser_name_all_completions):
10655         * doc.c (Fdocumentation):
10656         * doc.c (Fdocumentation_property):
10657         * doc.c (Fsubstitute_command_keys):
10658         * editfns.c:
10659         * editfns.c (Fchar_to_string):
10660         * editfns.c (Fstring_to_char):
10661         * editfns.c (Ftemp_directory):
10662         * editfns.c (Finsert_char):
10663         * editfns.c (Fbuffer_substring_no_properties):
10664         * editfns.c (Fnarrow_to_region):
10665         * editfns.c (Fchar_equal):
10666         * editfns.c (Fchar_Equal):
10667         * editfns.c (Ftranspose_regions):
10668         * emacs.c (Fdump_emacs):
10669         * eval.c (Fthrow):
10670         * eval.c (Fcommand_execute):
10671         * eval.c (Fautoload):
10672         * eval.c (Fbacktrace):
10673         * eval.c (Fbacktrace_frame):
10674         * events.c:
10675         * events.c (Fcopy_event):
10676         * events.c (Fcharacter_to_event):
10677         * events.c (Fevent_button):
10678         * events.c (Fevent_process):
10679         * extents.c:
10680         * extents.c (Fnext_extent_change):
10681         * extents.c (Fextent_property):
10682         * faces.c (Ffacep):
10683         * faces.c (Fmake_face):
10684         * file-coding.c:
10685         * file-coding.c (Fencode_shift_jis_char):
10686         * file-coding.c (Fencode_big5_char):
10687         * fileio.c (Ffile_name_directory):
10688         * fileio.c (Ffile_name_nondirectory):
10689         * fileio.c (Ffile_name_as_directory):
10690         * fileio.c (Fdirectory_file_name):
10691         * fileio.c (Ffile_truename):
10692         * fileio.c (Fsubstitute_in_file_name):
10693         * fileio.c (Ffile_modes):
10694         * fileio.c (Fset_file_modes):
10695         * fileio.c (Fset_default_file_modes):
10696         * fileio.c (Fverify_visited_file_modtime):
10697         * floatfns.c (Facos):
10698         * floatfns.c (Fasin):
10699         * floatfns.c (Fatan):
10700         * floatfns.c (Fcos):
10701         * floatfns.c (Fsin):
10702         * floatfns.c (Ftan):
10703         * floatfns.c (Fbessel_j0):
10704         * floatfns.c (Fbessel_j1):
10705         * floatfns.c (Fbessel_jn):
10706         * floatfns.c (Fbessel_y0):
10707         * floatfns.c (Fbessel_y1):
10708         * floatfns.c (Fbessel_yn):
10709         * floatfns.c (Ferf):
10710         * floatfns.c (Ferfc):
10711         * floatfns.c (Flog_gamma):
10712         * floatfns.c (Fexp):
10713         * floatfns.c (Fexpt):
10714         * floatfns.c (Flog):
10715         * floatfns.c (Flog10):
10716         * floatfns.c (Fsqrt):
10717         * floatfns.c (Fcube_root):
10718         * floatfns.c (Facosh):
10719         * floatfns.c (Fasinh):
10720         * floatfns.c (Fatanh):
10721         * floatfns.c (Fcosh):
10722         * floatfns.c (Fsinh):
10723         * floatfns.c (Ftanh):
10724         * floatfns.c (Fabs):
10725         * floatfns.c (Ffloat):
10726         * floatfns.c (Flogb):
10727         * floatfns.c (Fceiling):
10728         * floatfns.c (Ffloor):
10729         * floatfns.c (Fround):
10730         * floatfns.c (Ftruncate):
10731         * floatfns.c (Ffceiling):
10732         * floatfns.c (Fffloor):
10733         * floatfns.c (Ffround):
10734         * floatfns.c (Fftruncate):
10735         * fns.c (Fstring_equal):
10736         * fns.c (Fstring_lessp):
10737         * fns.c (concat2):
10738         * fns.c (concat3):
10739         * fns.c (vconcat2):
10740         * fns.c (vconcat3):
10741         * fns.c (Fsubstring):
10742         * fns.c (Fassoc):
10743         * fns.c (Fold_assoc):
10744         * fns.c (assoc_no_quit):
10745         * fns.c (Fassq):
10746         * fns.c (Fold_assq):
10747         * fns.c (assq_no_quit):
10748         * fns.c (Frassoc):
10749         * fns.c (Fold_rassoc):
10750         * fns.c (Frassq):
10751         * fns.c (Fold_rassq):
10752         * fns.c (rassq_no_quit):
10753         * fns.c (Fremassoc):
10754         * fns.c (remassoc_no_quit):
10755         * fns.c (Fremassq):
10756         * fns.c (remassq_no_quit):
10757         * fns.c (Fremrassoc):
10758         * fns.c (Fremrassq):
10759         * fns.c (remrassq_no_quit):
10760         * fns.c (Fsort):
10761         * fns.c (Fplist_get):
10762         * fns.c (Fplist_put):
10763         * fns.c (Fplist_remprop):
10764         * fns.c (Fplist_member):
10765         * fns.c (Flax_plist_get):
10766         * fns.c (Flax_plist_put):
10767         * fns.c (Flax_plist_remprop):
10768         * fns.c (Flax_plist_member):
10769         * fns.c (Fequal):
10770         * fns.c (Fold_equal):
10771         * fns.c (Frequire):
10772         * fns.c (Fbase64_encode_region):
10773         * fns.c (Fbase64_encode_string):
10774         * fns.c (Fbase64_decode_region):
10775         * frame.c:
10776         * frame.c (frame_matches_frame_spec):
10777         * frame.c (device_matches_device_spec):
10778         * frame.c (next_frame):
10779         * frame.c (previous_frame):
10780         * frame.c (Fnext_frame):
10781         * frame.c (Fprevious_frame):
10782         * frame.c (Fframe_property):
10783         * frame.c (Fset_frame_height):
10784         * frame.c (Fset_frame_size):
10785         * frame.h:
10786         * glyphs.c:
10787         * glyphs.c (if):
10788         * glyphs.c (decode_error_behavior_flag):
10789         * glyphs.c (Fmake_image_instance):
10790         * indent.c (Findent_to):
10791         * intl.c (Fignore_defer_gettext):
10792         * keymap.c (Fkeymapp):
10793         * keymap.c (Flookup_key):
10794         * lread.c:
10795         * lread.c (Fload_internal):
10796         * lread.c (Feval_buffer):
10797         * lread.c (Feval_region):
10798         * macros.c (Fexecute_kbd_macro):
10799         * marker.c (set_marker_internal):
10800         * marker.c (Fset_marker):
10801         * marker.c (set_marker_restricted):
10802         * marker.c (Fcopy_marker):
10803         * marker.c (noseeum_copy_marker):
10804         * menubar.c:
10805         * menubar.c (Fpopup_menu):
10806         * minibuf.c:
10807         * mule-charset.c (Fcharset_name):
10808         * mule-charset.c (Fchar_charset):
10809         * mule-charset.c (Fchar_octet):
10810         * mule-charset.c (Fsplit_char):
10811         * mule-wnnfns.c (Fwnn_open):
10812         * mule-wnnfns.c (Fwnn_dict_comment):
10813         * mule-wnnfns.c (Fwnn_quit_henkan):
10814         * mule-wnnfns.c (Fwnn_word_toroku):
10815         * mule-wnnfns.c (Fwnn_word_sakujo):
10816         * mule-wnnfns.c (Fwnn_word_use):
10817         * mule-wnnfns.c (Fwnn_hindo_set):
10818         * objects.c:
10819         * objects.c (Fmake_color_instance):
10820         * objects.c (Fmake_font_instance):
10821         * print.c (Fwrite_char):
10822         * process.c:
10823         * process.c (mark_process):
10824         * process.c (print_process):
10825         * process.c (get_process_from_usid):
10826         * process.c (Fprocessp):
10827         * process.c (Fprocess_live_p):
10828         * process.c (Fget_process):
10829         * process.c (Fget_buffer_process):
10830         * process.c (get_process):
10831         * process.c (Fprocess_id):
10832         * process.c (Fprocess_name):
10833         * process.c (Fprocess_command):
10834         * process.c (init_process_io_handles):
10835         * process.c (start_process_unwind):
10836         * process.c (Fstart_process_internal):
10837         * process.c (Fopen_multicast_group_internal):
10838         * process.c (Fset_process_window_size):
10839         * process.c (read_process_output):
10840         * process.c (send_process):
10841         * process.c (Fprocess_tty_name):
10842         * process.c (Fset_process_buffer):
10843         * process.c (Fprocess_buffer):
10844         * process.c (Fprocess_mark):
10845         * process.c (set_process_filter):
10846         * process.c (Fset_process_filter):
10847         * process.c (Fprocess_filter):
10848         * process.c (Fprocess_send_region):
10849         * process.c (Fprocess_send_string):
10850         * process.c (exec_sentinel):
10851         * process.c (Fset_process_sentinel):
10852         * process.c (Fprocess_sentinel):
10853         * process.c (status_notify):
10854         * process.c (Fprocess_status):
10855         * process.c (Fprocess_exit_status):
10856         * process.c (process_send_signal):
10857         * process.c (Fprocess_send_eof):
10858         * process.c (deactivate_process):
10859         * process.c (remove_process):
10860         * process.c (Fdelete_process):
10861         * process.c (kill_buffer_processes):
10862         * process.c (Fprocess_kill_without_query):
10863         * process.c (Fprocess_kill_without_query_p):
10864         * rangetab.c:
10865         * rangetab.c (Fget_range_table):
10866         * rangetab.c (Fput_range_table):
10867         * rangetab.c (Fremove_range_table):
10868         * rangetab.c (Fclear_range_table):
10869         * search.c:
10870         * search.c (Fskip_chars_forward):
10871         * search.c (Fskip_chars_backward):
10872         * search.c (Fskip_syntax_forward):
10873         * search.c (Fskip_syntax_backward):
10874         * search.c (search_command):
10875         * search.c (Freplace_match):
10876         * search.c (Fregexp_quote):
10877         * select.c (Fown_selection_internal):
10878         * select.c (Fselection_owner_p):
10879         * select.c (Fselection_exists_p):
10880         * select.c (Fget_selection_internal):
10881         * specifier.c:
10882         * symbols.c:
10883         * symbols.c (Fintern):
10884         * symbols.c (Fintern_soft):
10885         * symbols.c (Funintern):
10886         * symbols.c (Fapropos_internal):
10887         * symbols.c (Fset_default):
10888         * syntax.c:
10889         * syntax.c (Fsyntax_table_p):
10890         * syntax.c (Fcopy_syntax_table):
10891         * syntax.c (Fset_syntax_table):
10892         * syntax.c (Fchar_syntax):
10893         * syntax.c (syntax_match):
10894         * syntax.c (Fmatching_paren):
10895         * syntax.c (Fforward_word):
10896         * syntax.c (scan_lists):
10897         * syntax.c (Fscan_lists):
10898         * syntax.c (Fscan_sexps):
10899         * syntax.c (Fparse_partial_sexp):
10900         * toolbar.c (Fcheck_toolbar_button_syntax):
10901         * tooltalk.doc:
10902         * window.c:
10903         * window.c (Fwindowp):
10904         * window.c (Fwindow_live_p):
10905         * window.c (Fwindow_point):
10906         * window.c (Fdelete_window):
10907         * window.c (Fnext_window):
10908         * window.c (Fprevious_window):
10909         * window.c (Fother_window):
10910         * window.c (window_loop):
10911         * window.c (Fget_lru_window):
10912         * window.c (Fsplit_window):
10913         * window.c (Fenlarge_window):
10914         * window.c (Fenlarge_window_pixels):
10915         * window.c (Fshrink_window):
10916         * window.c (Fshrink_window_pixels):
10917         * window.c (change_window_height):
10918         * window.c (Fwindow_configuration_p):
10919         * window.c (Fcurrent_window_configuration):
10920         * window.h:
10921         * casefiddle.c (casify_object):
10922         * casefiddle.c (Fupcase):
10923         * casefiddle.c (Fdowncase):
10924         * casefiddle.c (Fcapitalize):
10925         * casefiddle.c (Fupcase_initials):
10926         * casefiddle.c (casify_region_internal):
10927         * casefiddle.c (casify_region):
10928         * casefiddle.c (Fupcase_region):
10929         * casefiddle.c (Fdowncase_region):
10930         * casefiddle.c (Fcapitalize_region):
10931         * casefiddle.c (Fupcase_initials_region):
10932         * casefiddle.c (Fupcase_word):
10933         * casefiddle.c (Fdowncase_word):
10934         * casefiddle.c (Fcapitalize_word):
10935         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10936         Replace 0 with '\0' when working with bytes.
10937         Replace initial "(" with "\(" in docstrings.
10938
10939 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10940
10941         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10942
10943         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10944
10945 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10946
10947         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10948
10949 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10950
10951         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10952         correctly.
10953
10954 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10955
10956         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10957         (inhibit_auto_save_session): New variable.
10958         (vars_of_fileio): Declare and initialize them.
10959         * fileio.c (Fdo_auto_save): Don't create session file if
10960         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10961
10962 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10963
10964         * sgiplay.c (play_internal): C++ compilability.
10965         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10966         * callproc.c (Fold_call_process_internal):
10967         Remove unused vars `env', `first'.
10968         * scrollbar.c (update_scrollbar_instance):
10969         #### unused var `current_window'.
10970         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10971         etc. within #ifdef NOT_YET.
10972         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10973         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10974         * specifier.c (specifier_instance):
10975         #### unused var `tag'.
10976         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10977
10978 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10979
10980         * fns.c (Fbutlast):
10981         * fns.c (list_sort):
10982         * fns.c (Ffillarray):
10983         * fns.c (bytecode_nconc2):
10984         * fns.c (Fnconc):
10985         * fns.c (mapcar1):
10986         * fns.c (Fmapconcat):
10987         Be pedantically 64-bit correct.  For the time when someone will
10988         want to have a list with length > 2**32.
10989
10990         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10991         Work around MIPSpro compiler bug.
10992
10993         * process-unix.c (unix_kill_child_process): Add snarky comment.
10994         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10995
10996         * config.h.in: Oops, _getpt ==> _getpty
10997
10998 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10999
11000         * config.h.in:
11001         * regex.c:
11002         Use void*, not char*, as return type of alloca().
11003
11004         * alloc.c (free_marker): Side effect inside assert expression!
11005
11006 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
11007
11008         * mule-charset.c (Fset_charset_ccl_program): To check
11009         if the given ccl program is valid, use setup_ccl_program()
11010         instead of CHECK_VECTOR().
11011         (Fmake_charset): Likewise.
11012
11013 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
11014
11015         * faces.c (get_extent_fragment_face_cache_index):
11016         Fix cachel.merged_faces memory leak.
11017
11018 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
11019
11020         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
11021         Reset MSB of octets obtained by DECODE_SJIS
11022         because of the incompatibility with Emacs.
11023         (ccl_driver)<CCL_ENCODE_SJIS>:
11024         Set MSB of octets before passing them to
11025         ENCODE_SJIS because of the incompatibility
11026         with Emacs.
11027
11028 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
11029
11030         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
11031         (DECLARE_LRECORD): Undo the last change.
11032         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
11033
11034 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
11035
11036         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
11037         the implementation to lrecord_implementations_table.
11038
11039 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
11040
11041         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
11042         initial value of `lrecord_type_##c_name' and
11043         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
11044         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
11045         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
11046         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
11047         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
11048
11049 2000-10-17  Martin Buchholz  <martin@xemacs.org>
11050
11051         * miscplay.c (sndcnv8S_2mono):
11052         (sndcnv2monounsigned):
11053         (sndcnvULaw_2linear):
11054         (sndcnv16swap):
11055         Remove implementation-defined behavior.
11056
11057 2000-10-12  Martin Buchholz  <martin@xemacs.org>
11058
11059         * input-method-xlib.c: Warning suppression.
11060
11061 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
11062
11063         * mule-ccl.c: Sync up with Emacs 21.0.90.
11064         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
11065         Do nothing.
11066         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
11067         Likewise.
11068         (ccl_driver[WriteMultibyteChar2]): Bug fix.
11069         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
11070         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
11071         leading char belongs to official 2-dimensional charset.
11072         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
11073         write the given character as is.  Otherwise,
11074         if it is a multibyte char, convert it by
11075         non_ascii_set_charptr_emchar, then write it.
11076         (CCL_WRITE_STRING): Likewise.
11077         (ccl_get_compiled_code): New function.
11078         (setup_ccl_program): When ccl_prog is invalid,
11079         return -1.
11080         (Fregister_code_conversion_map): New function.
11081         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
11082
11083         * mule-ccl.h: Sync up with Emacs 21.0.90.
11084         (Fregister_ccl_program): export it.
11085
11086         * redisplay-msw.c (separate_textual_runs):
11087         If ccl program is not valid, don't do ccl conversion.
11088
11089         * redisplay-x.c (separate_textual_runs): Ditto.
11090
11091         * file-coding.c (Fmake_coding_system):
11092         When type is ccl and value is vector, register it
11093         with a proper symbol.  And checks whether the
11094         given ccl program is valid.
11095         (mule_decode): When calling ccl_driver, if src indicates
11096         NULL pointer, set an empty string instead.
11097         (mule_encode): Likewise.
11098
11099 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11100
11101         The following large batch of changes gets us back to a state of
11102         C++ compilability.  Extbyte is now a char, which means that
11103         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11104
11105         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11106
11107         * sound.c (Fplay_sound): Type correctness.
11108
11109         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11110         (x_get_window_property): Type correctness.
11111         (receive_incremental_selection): unsigned char ==> Extbyte
11112         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11113         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11114         (Fx_store_cutbuffer_internal): Type correctness.
11115
11116         * process-unix.c (try_to_initialize_subtty): Type correctness.
11117
11118         * objects-x.c (x_print_color_instance): Type correctness.
11119         (x_print_font_instance): Type correctness.
11120         (x_list_fonts): SExtbyte ==> Extbyte.
11121         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11122         (x_find_charset_font): SExtbyte ==> Extbyte.
11123         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11124         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11125         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11126         Use bufbyte_strcmp.
11127
11128         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11129         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11130         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11131         (BYTE_C0_P): Use bit ops for char-signedness safety.
11132         (BYTE_C1_P): Use bit ops for char-signedness safety.
11133         (CHARSET_BY_LEADING_BYTE):
11134         (CHARSET_BY_ATTRIBUTES):
11135         Always use inline function.
11136         Use type_checking_assert.
11137         Hide chlook.
11138
11139         * mule-charset.c (non_ascii_charptr_copy_char):
11140         Modify to work with both ASCII and non-ASCII characters.
11141         Improve docs and variable names.
11142         Replace over-clever fall-through switch with a simple loop.
11143         (Lstream_get_emchar_1):
11144         Replace over-clever fall-through switch with a simple loop.
11145
11146         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11147         Warning suppression.
11148
11149         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11150         the return value of Lstream_getc, which could be EOF as well.
11151
11152         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11153
11154         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11155         APIs can be used on Extbytes without casts.  Risky!
11156         (SExtbyte): Remove.
11157         (UExtbyte): Remove.
11158
11159         * input-method-xlib.c (XIM_init_device):
11160         Use Xlib.h instead of IntrinsicP.h.
11161         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11162         which will break in X11R7.
11163         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11164         to call XRegisterIMInstantiateCallback with correct types.
11165
11166         * gui-x.c (button_item_to_widget_value): Type correctness.
11167
11168         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11169
11170         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11171         (xbm_instantiate_1): Type correctness.
11172         (BUILD_GLYPH_INST):  Type correctness.
11173
11174         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11175
11176         * file-coding.c:
11177         (decode_coding_sjis):
11178         (decode_coding_big5):
11179         (decode_coding_ucs4):
11180         (decode_coding_utf8):
11181         (decode_coding_iso2022):
11182         (decode_coding_no_conversion):
11183         Make all decoding functions take an Extbyte * arg.
11184         (encode_coding_sjis):
11185         (encode_coding_big5):
11186         (encode_coding_ucs4):
11187         (encode_coding_utf8):
11188         (encode_coding_iso2022):
11189         (encode_coding_no_conversion):
11190         Make all encoding functions take a Bufbyte * arg.
11191         Use size_t instead of unsigned int for memory sizes.
11192         Only cast to unsigned char whenever dereferencing Extbyte *.
11193
11194         * doc.c (unparesseuxify_doc_string): Type correctness.
11195
11196         * console-x.c (split_up_display_spec):
11197         Rewrite without using details of internal string representation.
11198         (x_semi_canonicalize_device_connection): Type correctness.
11199
11200         * config.h.in:
11201         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11202         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11203         (HAVE_XFREE386): Removed.
11204
11205         * buffer.h (DEC_CHARPTR): `const' correctness.
11206         (bufbyte_strcmp): New.
11207         (bufbyte_memcmp): New.
11208
11209         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11210
11211         * buffer.h (XCHAR_OR_CHAR_INT):
11212         Always use inline function.
11213         Remove redundant type checking assert() - XINT will abort quite nicely.
11214
11215 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11216
11217         * search.c (Freplace_match): Set newtext to an empty string.
11218
11219 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11220
11221         * s/decosf1-3.h: Remove #include of stropts.h
11222         * s/ptx.h: Remove #include of stropts.h
11223         * s/usg5-4.h: Remove #include of stropts.h
11224         * sysproc.h:
11225         * config.h.in:
11226         Use stropts.h, not sys/stropts.h.
11227         Use strtio.h, not sys/strtio.h.
11228
11229 2000-10-04  Martin Buchholz <martin@xemacs.org>
11230
11231         * XEmacs 21.2.36 is released.
11232
11233 2000-09-21  Andy Piper  <andy@xemacs.org>
11234
11235         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11236         changes still involve copying the widget tree.
11237         (update_widget_face): make sure a change is register in the widget
11238         tree. Call update_tab_widget_face appropriately.
11239         (update_tab_widget_face): ditto.
11240         (x_tab_control_redisplay): make sure non-structural changes still
11241         involve copying the widget tree.
11242
11243 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11244
11245         * lread.c (locate_file): Check the path element is non-nil.
11246
11247 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11248
11249         * lisp.h: Warning suppression for SCO compilers.
11250
11251         * redisplay-tty.c (reset_tty_modes): Fix crash.
11252         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11253
11254 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11255
11256         Big signal/process handling overhaul.  Bugs fixed:
11257         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11258         M-x comint-kill-subjob should work for both values nil and t of
11259         process-connection-type. It was broken on most platforms.
11260         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11261         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11262         * process-unix.c: Signal/Process handling overhaul.
11263         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11264         (allocate_pty): Use all available modern methods of allocating
11265         ptys, falling back to old style BSD allocation as a last resort.
11266         Use allegedly more secure Unix98 pty allocation by default.
11267         (allocate_pty_the_old_fashioned_way): New. the last resort.
11268         (unix_create_process): Push ptem, ldterm, ttcompat where
11269         available.  Autoconfiscate.
11270         (try_to_initialize_subtty): New.
11271         (unix_kill_child_process): Proper signal handling for ptys on most
11272         platforms, using special knowledge of AIX, BSD, etc...
11273         (unix_create_process): Always disconnect_controlling_terminal() for
11274         subprocesses, whether using ptys or not.
11275         * process.h: Remove old getpt-dependent PTY code.
11276         * process.c (Fprocess_send_signal): New, obvious generic function.
11277         (decode_signal): New.
11278         (Finterrupt_process):
11279         (Fkill_process):
11280         (Fquit_process):
11281         (Fstop_process):
11282         (Fcontinue_process):
11283         (Fsignal_process): Use decode_signal.
11284         (process_send_signal):
11285         Many docstring corrections.
11286         Allow any signal to be sent to a process object.
11287         * config.h.in: Add symbols for big signal/process overhaul.
11288         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11289         * sysproc.h: Include process-related headers, where available:
11290         sys/stropts.h sys/strtio.h pty.h libutil.h
11291         * s/irix4-0.h:
11292         * s/irix5-0.h:
11293         * s/cygwin32.h:
11294         * s/gnu.h:
11295         * s/linux.h:
11296         * s/hpux.h:
11297         * s/aix3-1.h:
11298         Remove old S&M pty stuff.
11299         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11300         * systty.h: Simplify cpp hackery, improve comments.
11301         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11302
11303         * editfns.c (Fformat_time_string):
11304         Be a little more paranoid with the return value of ctime.
11305
11306         * fileio.c (check_executable):
11307         (check_writable):
11308         Use symbolic constants X_OK, W_OK.
11309
11310         * console-x.c (split_up_display_spec): Fix a warning.
11311
11312 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11313
11314         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11315         * ntproc.c (sys_spawnve): make_string ==> build_string
11316         Small clarity improvements.
11317
11318 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11319
11320         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11321
11322         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11323
11324         * config.h.in (HAVE_STRCASECMP): Remove.
11325
11326 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11327
11328         * redisplay-output.c (redisplay_output_pixmap):
11329         Cleaner and possibly more 64-bit correct code.
11330
11331 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11332
11333         * dumper.c (pdump_load_finish): move restoration of
11334         `noninteractive1' to emacs.c (main_1).
11335         * emacs.c (main_1): protect LISP-visible command-line flags
11336         from pdump_load().
11337
11338 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11339
11340         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11341         DUMP_TARGET instead of literal program names.
11342
11343 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11344
11345         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11346
11347 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11348
11349         * *: Spelling mega-patch
11350
11351 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11352
11353         * fns.c (bad_bad_turtle):
11354         Delete "Eek!" comment, since we fixed the bug to which it refers.
11355
11356 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11357
11358         * alloca.c: Replace REGISTER with register.
11359
11360 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11361
11362         * file-coding.c (ucs_to_char): Use countof.
11363
11364 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11365
11366         * file-coding.c: (ucs_to_char):
11367         (complex_vars_of_file_coding):
11368         Use countof instead of sizeof.
11369         Use CHECK_NATNUM instead of CHECK_INT.
11370
11371         * sysdep.c (strcasecmp): Remove.
11372         * device-x.c (ascii_strcasecmp): New.
11373         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11374         Avoid using non-standard non-portable strcasecmp.
11375
11376 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11377
11378         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11379         * font-lock.c: remove reference to emacsfns.h.
11380         * search.c: small doc improvement.
11381         * event-Xt.c: correct file names in comments.
11382         * console-x.h Correct file names in comments.
11383         * frame.c: Correct file names in comments.
11384         * event-stream.c: remove Energize from comments.
11385
11386 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11387
11388         * symeval.h (DEFERROR_STANDARD):
11389         (DEFERROR):
11390         (DEFSYMBOL):
11391         (DEFSYMBOL_NO_DUMP):
11392         (DEFSYMBOL_MULTIWORD_PREDICATE):
11393         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11394         (DEFKEYWORD):
11395         The construct &##name is not sensible C.
11396         Fixes compilation errors with Unixware native compiler.
11397
11398 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11399
11400         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11401         (next_frame_internal): Removed.  We now just have next_frame.
11402         (next_frame):
11403         Write a simpler and cleaner one-pass algorithm.
11404         Remove called_from_delete_device arg and #ifdefed-out code.
11405         (previous_frame):
11406         Renamed from prev_frame.  Update callers.
11407         Cleaned up to have an analogous implementation to next_frame.
11408         (other_visible_frames_internal): Remove the
11409         called_from_delete_device bogus arg, and hence, remove this
11410         function.  Just use other_visible_frames().
11411
11412         * window.c (Fnext_window):
11413         Prettify docstring.
11414         Since next_frame() is guaranteed to return a frame, remove check
11415         for nil inserted in previous patch.
11416         (Fprevious_window):
11417         Prettify docstring.
11418         Make code look more like Fnext_window.
11419         (window_loop):
11420         Respect the `console' arg when iterating through windows.
11421         Fixes bug: (get-buffer-window buffer t device) not respecting
11422         the `device' arg.
11423         This function needs more work, as others have pointed out.
11424
11425         * frame.h: Rename prev_frame to previous_frame.
11426         device_matches_console_spec no longer takes a `frame' arg.
11427
11428         * s/gnu.h:
11429         * s/linux.h:
11430         * s/hpux.h:
11431         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11432         From "Golubev I. N." <gin@mo.msk.ru>.
11433
11434         * make-src-depend: Fix typo.
11435
11436 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11437
11438         * window.c (Fnext_window):
11439         next_frame() might return nil, not a frame.
11440         Fixes this crash:
11441         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11442
11443         * frame.c (next_frame_internal):
11444         We've passed a frame if we've passed its device.
11445         Fixes this crash:
11446         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11447 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11448
11449 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11450
11451         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11452         Allow option to suppress accelerators in menu/dialog items.
11453         (populate_or_checksum_helper): Pass dialog title through above.
11454
11455 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11456
11457         * event-msw.c (mswindows_key_to_emacs_keysym):
11458         Add "pause" key, fix "menu" key.
11459
11460 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11461
11462         * eval.c (reinit_vars_of_eval):
11463         Increase max_lisp_eval_depth to 1000,
11464         required for thai-xtis.el to byte-compile under some circumstances.
11465
11466 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11467
11468         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11469         From Kenichi Handa.
11470
11471 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11472
11473         * make-src-depend: Make the generated Makefiles smaller.
11474
11475         * s/hpux.h (SETUP_SLAVE_PTY):
11476         Provide a %d in the format string for the errno argument.
11477
11478         * editfns.c (Ftemp_directory):
11479         Warning fix.
11480         Avoid buffer overrun on very long file name.
11481
11482         * input-method-xlib.c (XIM_init_device):
11483         6th parameter of XRegisterIMInstantiateCallback has different
11484         pointer types on different OSes, so simply cast to (void *).
11485
11486         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11487
11488         * sysdll.c (dll_open):
11489         shl_load will hang hard if passed a NULL filename.
11490         Simply return NULL for compatibility with dlopen.
11491         * sysdll.c: Conform to XEmacs coding standards.
11492
11493         * sysdep.c (get_pty_max_bytes):
11494         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11495
11496 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11497
11498         * tooltalk.c: Add #include <syssignal.h>
11499
11500 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11501
11502         * s/hpux.h: Don't use undefined function sigunblock().
11503
11504 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11505
11506         * config.h.in: Add HAVE_BALLOON_HELP.
11507         * emacs.c: Use HAVE_BALLOON_HELP.
11508         * Makefile.in.in (x_objs):
11509         Make Balloon Help conditional on finding shape.h.
11510
11511 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11512
11513         * syntax.c (regex_emacs_buffer_p): New variable.
11514         * syntax.h (regex_emacs_buffer_p): extern.
11515         * search.c (looking_at_1):
11516         (string_match_1):
11517         (fast_string_match):
11518         (search_buffer): Set regex_emacs_buffer_p.
11519         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11520         when before_dot, at_dot, after_dot.
11521
11522 2000-08-23  Andy Piper  <andy@xemacs.org>
11523
11524         * gui-x.c (popup_selection_callback): Only set action_occurred
11525         when we really have an image instance.
11526         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11527
11528 2000-08-23  Andy Piper  <andy@xemacs.org>
11529
11530         * gui-msw.c (mswindows_handle_gui_wm_command): set
11531         action_occurred.
11532         * gui-x.c (popup_selection_callback): ditto.
11533
11534         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11535         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11536         (struct Lisp_Image_Instance): add action_occurred flag.
11537
11538         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11539         (image_instance_changed): ditto.
11540         (reset_frame_subwindow_instance_cache): only unmap windows - do
11541         not remove them from the cache also.
11542
11543         * glyphs-widget.c (tab_control_update): better debug.
11544         (progress_gauge_update): ditto.
11545         (layout_update): ditto.
11546         (layout_instantiate): ditto.
11547         (tab_control_order_only_changed): cope with null pending items.
11548
11549         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11550         debug. Force selection of an item when an action occurred. Cope
11551         with null pending_items.
11552         (mswindows_progress_gauge_redisplay): better debug.
11553         * glyphs-x.c (x_tab_control_redisplay): ditto.
11554
11555         * redisplay.c (redisplay_frame): reset the frame cache if the
11556         frame is garbaged.
11557
11558         * window.c (Fset_window_configuration): potentially re-enable
11559         frame cache reset.
11560         (window_unmap_subwindows): need to finalize instances here since
11561         it is only used in mark_window_as_deleted.
11562
11563 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11564
11565         * nas.c (SndOpenDataForReading):
11566         nas.c (WaveOpenDataForReading):
11567         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11568         Somehow escaped from the 2000-08-14 patch.
11569
11570 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11571
11572         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11573         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11574
11575 2000-08-21  Andy Piper  <andy@xemacs.org>
11576
11577         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11578         window if it is not already displayed.
11579
11580         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11581         it is not already displayed.
11582
11583         * window.c (Fset_window_configuration): don't reset the frame
11584         cache.
11585
11586         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11587         instances from the frame cache if we are actually finalizing them.
11588         (reset_frame_subwindow_instance_cache): reset frame cache only
11589         after unmapping everything.
11590         (map_subwindow): set displayed flag after mapping.
11591
11592 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11593
11594         * data.c (indirect_function):
11595         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11596
11597         * eval.c (function_argcount):
11598         Use original function when signaling errors.
11599
11600 2000-08-18  Andy Piper  <andy@xemacs.org>
11601
11602         * frame.c (delete_frame_internal): use new
11603         free_frame_subwindow_instances name.
11604
11605         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11606         (add_tab_item): make return type correct.
11607         (mswindows_tab_control_instantiate): assert index of tab.
11608         (mswindows_tab_control_redisplay): Re-code to use
11609         gui_item_equal_sans_selected and gui_item_list_find_selected.
11610
11611         * glyphs-widget.c (tab_control_update): Correct comment.
11612
11613         * window.c (window_unmap_subwindows): use new
11614         unmap_subwindow_instance_cache_mapper.
11615         (window_unmap_subwindows_cache_mapper): deleted.
11616         (Fset_window_configuration): comparisons should now be with
11617         EQ. Preserve the subwindow instance cache across configuration
11618         changes.
11619         (allocate_window): ditto.
11620         (make_dummy_parent): ditto.
11621
11622         * glyphs.c (free_frame_subwindow_instances): rename from
11623         free_frame_subwindow_instance_cache. finalize all instances rather
11624         than just those in the display cache.
11625         (finalize_all_subwindow_instances): walk windows unmapping and
11626         finalizing subwindows.
11627         (unmap_subwindow_instance_cache_mapper): moved from
11628         window.c. Allow finalization as well as unmapping.
11629
11630         * gui.c (gui_item_list_find_selected): new function.
11631
11632         * gui.h (gui_item_list_find_selected): declare.
11633
11634         * glyphs-x.c (x_tab_control_redisplay): pick tab
11635         explicitly. Re-code to use gui_item_equal_sans_selected and
11636         gui_item_list_find_selected.
11637
11638         * glyphs-x.h: add lwlib-utils.h
11639
11640         * buffer.c (Frecord_buffer): undo previous change.
11641
11642 2000-08-09  Vin Shelton  <acs@xemacs.org>
11643
11644         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11645         possible.  Create temporary files more securely.  The patch was
11646         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11647         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11648         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11649         for details.
11650
11651 2000-08-07  Ben Wing  <ben@xemacs.org>
11652
11653         * getloadavg.c: remove duplicate (and windows-breaking)
11654         includes of fcntl.h and sys/file.h.
11655
11656         * nt.c: remove duplicate getloadavg() definition.
11657
11658         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11659         encodings.
11660
11661 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11662
11663         * eval.c (function_argcount): If function needs to be autoloaded
11664         actually use the loaded definition.
11665         GCPRO function.
11666
11667 2000-08-05  Ben Wing  <ben@xemacs.org>
11668
11669         * getloadavg.c: add prototype for getloadavg().  remove
11670         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11671         of the code).  remove duplicate header includes.
11672
11673         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11674
11675         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11676         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11677         useful load average.
11678
11679         * alloc.c (reinit_alloc_once_early): removed references to
11680         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11681         the lisp vars are the only things referencing the malloc_sbrk_*
11682         vars, and they were already if 0'd out.  these vars only exist
11683         in the older malloc.c, which is basically unused, and they're
11684         only for informational purposes.
11685
11686         * m\*.h: removed useless VIRT_ADDR_VARIES.
11687
11688         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11689
11690 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11691
11692         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11693         color if the image is a mono pixmap.
11694
11695 2000-07-30  Ben Wing  <ben@xemacs.org>
11696
11697         * Makefile.in.in (release):
11698         Remove stray @.
11699
11700         * buffer.c (directory_is_current_directory):
11701         * dired-msw.c (mswindows_get_files):
11702         * dired.c:
11703         * dired.c (Fdirectory_files):
11704         * dired.c (file_name_completion_stat):
11705         * dired.c (Ffile_attributes):
11706         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11707         preprocessor tricks, to avoid problems on some machines
11708         (e.g. SCO).
11709
11710         * callproc.c (egetenv): GC docs.
11711
11712         * console-msw.h:
11713         * console-msw.h (struct mswindows_dialog_id):
11714         * lrecord.h (lrecord_type):
11715         New object for use with MSW dialogs.
11716
11717         * console.h (struct console_methods):
11718         New enable/disable frame methods, for proper modal dialogs.
11719
11720         * device-msw.c (msprinter_default_printer): Fix to follow
11721         proper Mule conventions.
11722
11723         * device-msw.c:
11724         * device-msw.c (signal_open_printer_error):
11725         * device-msw.c (msprinter_init_device):
11726         * device-msw.c (ensure_not_printing):
11727         * device-msw.c (plist_get_margin):
11728         * device-msw.c (Fmsprinter_select_settings):
11729         * device-msw.c (finalize_devmode):
11730         * device-msw.c (Fmsprinter_settings_despecialize):
11731         * device-msw.c (signal_enum_priner_error):
11732         * extents.c (decode_extent):
11733         * extents.c (decode_map_extents_flags):
11734         * extents.c (decode_extent_at_flag):
11735         * extents.c (Fextent_at):
11736         * extents.c (Fextents_at):
11737         * extents.c (symbol_to_glyph_layout):
11738         [[[[2]]]] Use structured errors.
11739
11740         * dialog-msw.c:
11741         * dialog-msw.c (mswindows_is_dialog_msg):
11742         * dialog-msw.c (mark_mswindows_dialog_id):
11743         * dialog-msw.c (dialog_proc):
11744         * dialog-msw.c (handle_question_dialog_box):
11745         * dialog-msw.c (syms_of_dialog_mswindows):
11746         Define new object to clean up marking; use it as a dialog identifier.
11747         Call new delete-dialog-box-hook.
11748
11749         * dialog-x.c (dbox_selection_callback):
11750         * dialog-x.c (dbox_descriptor_to_widget_value):
11751         * dialog-x.c (x_make_dialog_box_internal):
11752         Call new delete-dialog-box-hook.
11753         Return an id.
11754
11755         * dialog.c:
11756         * dialog.c (syms_of_dialog):
11757         * dialog.c (vars_of_dialog):
11758         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11759
11760         * eval.c:
11761         * eval.c (signal_call_debugger):
11762         when noninteractive, output stack traces on the console instead
11763         of in a (never-seen) buffer.
11764
11765         * eval.c (signal_type_error):
11766         * eval.c (invalid_argument_2):
11767         * lisp.h:
11768         new funs for use w/structured errors.
11769
11770         * event-Xt.c:
11771         * event-Xt.c (x_to_emacs_keysym):
11772         * event-Xt.c (describe_event):
11773         * event-Xt.c (emacs_Xt_event_handler):
11774         * event-Xt.c (vars_of_event_Xt):
11775         * event-msw.c:
11776         * event-msw.c (mswindows_wnd_proc):
11777         * event-msw.c (vars_of_event_mswindows):
11778         rename {x,mswindows}-debug-events to debug-{}-events for
11779         consistency with other debug-foo variables.
11780
11781         * event-stream.c:
11782         document next-event more clearly.
11783
11784         * fileio.c (Ffile_name_directory):
11785         * fileio.c (Ffile_name_nondirectory):
11786         * fileio.c (Funhandled_file_name_directory):
11787         * fileio.c (file_name_as_directory):
11788         * fileio.c (Ffile_name_as_directory):
11789         * fileio.c (directory_file_name):
11790         * fileio.c (Fdirectory_file_name):
11791         * fileio.c (Fmake_temp_name):
11792         * fileio.c (Ffile_truename):
11793         * fileio.c (Fsubstitute_in_file_name):
11794         * fileio.c (expand_and_dir_to_file):
11795         * fileio.c (barf_or_query_if_file_exists):
11796         * fileio.c (check_executable):
11797         * fileio.c (Ffile_exists_p):
11798         * fileio.c (Ffile_writable_p):
11799         * fileio.c (Ffile_directory_p):
11800         * fileio.c (Ffile_regular_p):
11801         * fileio.c (Ffile_modes):
11802         * fileio.c (Ffile_newer_than_file_p):
11803         * fileio.c (Fverify_visited_file_modtime):
11804         * fileio.c (Fset_visited_file_modtime):
11805         * fileio.c (auto_save_1):
11806         (1). (2).
11807         fix up gcpro's.
11808
11809         * frame-msw.c:
11810         * frame-msw.c (mswindows_init_frame_1):
11811         * frame-msw.c (mswindows_enable_frame):
11812         * frame-msw.c (error_frame_unsizable):
11813         * frame-msw.c (msprinter_init_frame_1):
11814         * frame-msw.c (msprinter_init_frame_3):
11815         * frame-msw.c (console_type_create_frame_mswindows):
11816         (2).
11817         implement new enable/disable frame methods.
11818
11819         * frame-x.c:
11820         * frame-x.c (x_enable_frame):
11821         * frame-x.c (console_type_create_frame_x):
11822         implement new enable/disable frame methods.
11823
11824         * frame.c:
11825         * frame.c (Fdisable_frame):
11826         * frame.c (syms_of_frame):
11827         * frame.h (struct frame):
11828         implement new enable/disable frame methods/functions.
11829
11830         * general-slots.h:
11831         add initial-focus.
11832
11833         * glyphs-msw.c (mswindows_widget_instantiate):
11834         comment that initial-focus should be implemented.
11835
11836         * glyphs-widget.c:
11837         * glyphs-widget.c (check_valid_instantiator):
11838         * glyphs-widget.c (check_valid_orientation):
11839         * glyphs-widget.c (check_valid_tab_orientation):
11840         * glyphs-widget.c (check_valid_justification):
11841         * glyphs-widget.c (check_valid_border):
11842         * glyphs-widget.c (check_valid_callback):
11843         * glyphs-widget.c (check_valid_int_or_function):
11844         * glyphs-widget.c (check_valid_string_or_vector):
11845         * glyphs-widget.c (check_valid_item_list_1):
11846         * glyphs-widget.c (widget_validate):
11847         * glyphs-widget.c (combo_box_validate):
11848         * glyphs-widget.c (widget_instantiate):
11849         * glyphs-widget.c (syms_of_glyphs_widget):
11850         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11851         * glyphs-widget.c (image_instantiator_combo_box):
11852         * glyphs-widget.c (image_instantiator_scrollbar):
11853         * glyphs-widget.c (image_instantiator_tab_control):
11854         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11855         (2).
11856         support (unimplemented) keyword initial-focus.
11857         reindent long macros.
11858
11859         * glyphs-x.c (x_redisplay_widget):
11860         * glyphs-x.c (x_button_instantiate):
11861         * glyphs-x.c (x_button_redisplay):
11862         * glyphs-x.c (x_progress_gauge_instantiate):
11863         * glyphs-x.c (x_edit_field_instantiate):
11864         * glyphs-x.c (x_combo_box_instantiate):
11865         * glyphs-x.c (x_tab_control_instantiate):
11866         * glyphs-x.c (x_label_instantiate):
11867         * gui-x.c:
11868         * gui-x.c (button_item_to_widget_value):
11869         * gui-x.c (gui_items_to_widget_values_1):
11870         * gui-x.c (gui_item_children_to_widget_values):
11871         * gui-x.c (gui_items_to_widget_values):
11872         * gui-x.h:
11873         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11874         add new flag to gui-parsing routines to indicate whether
11875         accelerator specs should be supported.
11876
11877         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11878
11879         * glyphs.h (struct Lisp_Image_Instance):
11880         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11881         add initial-focus flag.
11882
11883         * gui.c:
11884         * gui.c (syms_of_gui):
11885         * gui.c (vars_of_gui):
11886         clean up menu-no-selection-hook.
11887
11888         * gui.h:
11889         support delete-dialog-box-hook.
11890
11891         * lread.c (Fload_internal):
11892         * lread.c (locate_file_in_directory_mapper):
11893         (1).
11894
11895         * lrecord.h:
11896         * lrecord.h (struct toolbar_button):
11897         * lrecord.h (syms_of_toolbar):
11898         document how to create a new object.
11899
11900         * menubar-msw.c (mswindows_char_is_accelerator):
11901         may be called on frames w/o menus.
11902
11903         * menubar.c (vars_of_menubar):
11904         clean up :filter docs.
11905
11906         * nt.c (readdir):
11907         * ntproc.c:
11908         (1).
11909
11910         * process-nt.c:
11911         * process-nt.c (validate_signal_number):
11912         * process-nt.c (signal_cannot_launch):
11913         * process-nt.c (nt_create_process):
11914         * process-nt.c (nt_send_process):
11915         * process-nt.c (nt_kill_child_process):
11916         * process-nt.c (nt_open_network_stream):
11917         * process-nt.c (syms_of_process_nt):
11918         (2).
11919         delete quote-handling.  call new lisp code that does it better.
11920
11921         * process-unix.c (connect_to_file_descriptor):
11922         * process-unix.c (allocate_pty):
11923         * process-unix.c (unix_send_process):
11924         * process-unix.c (unix_kill_child_process):
11925         * process-unix.c (unix_open_network_stream):
11926         * process-unix.c (unix_open_multicast_group):
11927         (1). (2).
11928
11929         * process.c:
11930         * process.c (Fstart_process_internal):
11931         (2).  need to canonicalize process path even if absolute.
11932
11933         * select-msw.c (symbol_to_ms_cf):
11934         * select-msw.c (ms_cf_to_symbol):
11935         * select-msw.c (cf_is_autofreed):
11936         * select-msw.c (mswindows_destroy_selection):
11937         * select.c:
11938         * select.c (syms_of_select):
11939         * select.h:
11940         support dibv5, fix bugs. (from Mike Alexander)
11941
11942         * select.c (Fget_selection_internal):
11943         * select.c (select_convert_out):
11944
11945         * sysdep.c:
11946         * sysdep.c (xemacs_stat):
11947         renamed.
11948
11949         * sysdep.c (mkdir):
11950         * sysdep.c (rmdir):
11951         but keep original stat() here because we provide encapsulation
11952         around these funs.
11953
11954         * sysfile.h:
11955         * sysfile.h (fstat):
11956         remove stat garbage.
11957
11958         * syswindows.h:
11959         fix X/MSW conflict.
11960         don't include tchar.h.  it's inappropriate because it makes
11961         compile-time distinctions when we want runtime distinctions.
11962         (we provide our own tchar replacements)
11963
11964         * toolbar.c:
11965         use default object printer for toolbar-button.
11966
11967         * unexcw.c:
11968         make sure we don't encapsulate.
11969
11970         * window.c (vars_of_window):
11971         emphasize that temp-buffer-show-hook is obsolete.
11972
11973 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11974
11975         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11976         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11977
11978         * events.c (Fevent_timestamp_lessp):
11979         Not 64-bit clean.  Use EMACS_INT, not int.
11980
11981 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11982
11983         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11984         unsigned int and changed the last enum to
11985         lrecord_type_last_built_in_type.
11986         (lrecord_implementations_table): changed prototype to know how
11987         long the array is supposed to be.
11988         (lrecord_type_count): new unsigned int to keep track of the
11989         current number of lisp lrecord types.
11990         (DEFINE_EXTERNAL_LRECORD):
11991         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11992         dynamic-modules to declare new lisp types. They are the same
11993         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11994         int for each new type, and increment lrecord_type_count by 1.
11995
11996         * alloc.c (lrecord_implementations_table): Changed to reference
11997         lrecord_type_last_built_in_type for the size of the array.
11998         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11999
12000 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12001
12002         * glyphs.h (check_valid_item_list): Renamed from
12003         check_valid_item_list_1.
12004
12005 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
12006
12007         * select.c (Qselect_coerce): New.
12008         * select.c (Vselection_coercion_alist): New.
12009         * select.c (syms_of_select): Declare.
12010         * select.c (get-selection-internal): Use it.
12011         Use the new select-coerce functionality.
12012
12013         * select.c (select_coerce): New.
12014         * select.h (select_coerce): Declare.
12015         New function to coerce one type of data into another.
12016
12017 2000-08-03  Martin Buchholz  <martin@xemacs.org>
12018
12019         * callproc.c (Fcall_process_internal):
12020         (Fcall_process_internal):
12021         * process-unix.c (unix_create_process):
12022         Save and restore the value of errno, so that error messages are accurate.
12023
12024 2000-08-01  Martin Buchholz  <martin@xemacs.org>
12025
12026         * elhash.c (print_hash_table):
12027         Fix printing of hash tables to also use `key-and-value' instead of `t'.
12028         Prettify docstrings and indentation.
12029
12030 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
12031
12032         * window.c (Fwindow_pixel_edges): Subtract frame border and
12033         gutter size.
12034
12035 2000-07-31  Andy Piper  <andy@xemacs.org>
12036
12037         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
12038         will acknowledge the change.
12039
12040         * glyphs.h: declare tab_control_order_only_changed.
12041
12042         * glyphs-x.c (x_tab_control_redisplay): use
12043         tab_control_order_only_changed.
12044
12045         * glyphs-widget.c (tab_control_order_only_changed): new function.
12046
12047         * glyphs-msw.c (mswindows_tab_control_redisplay): use
12048         tab_control_order_only_changed.
12049
12050         * gui.c (gui_item_equal_sans_selected): new function.
12051         (gui_item_equal): use it.
12052
12053         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
12054         :properties in favor of :items..
12055
12056         * glyphs-widget.c (check_valid_item_list): rename from
12057         check_valid_item_list_1.
12058         (check_valid_item_list_1): renamed.
12059         (combo_box_validate): deprecate :properties in favor of :items.
12060         (widget_instantiate): ditto.
12061         (tab_control_update): ditto.
12062         (image_instantiator_combo_box): ditto.
12063         (image_instantiator_tree_view): ditto.
12064         (image_instantiator_tab_control): ditto.
12065         (layout_post_instantiate): remove dead code.
12066
12067         * print.c (debug_print_no_newline): only write to debugger if in
12068         WIN32_NATIVE.
12069
12070         * elhash.c (Fmake_hash_table): update doc string.
12071
12072         * event-msw.c (mswindows_wnd_proc): don't allow processing of
12073         messages whilst in GC. This at least stops XEmacs crashing but has
12074         the potential for wierd behaviour.
12075
12076 2000-07-31  Martin Buchholz  <martin@xemacs.org>
12077
12078         * config.h.in:
12079         Make existence of s&m files optional.
12080
12081         * s/bsd386.h: Remove HAVE_GETLOADAVG.
12082         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12083         * s/gnu.h: Remove HAVE_GETLOADAVG.
12084         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12085         * s/sol2.h: Remove HAVE_GETLOADAVG.
12086         * lisp.h: Remove getloadavg() declaration.
12087         * fns.c:
12088         Include <sys/loadavg.h> if available.
12089         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12090         * config.h.in:  Group together getloadavg()-related macros.
12091         Use only configure-time tests to detect getloadavg().
12092
12093 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12094
12095         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12096
12097 2000-07-25  Andy Piper  <andy@xemacs.org>
12098
12099         * syswindows.h: add tchar.h for native builds.
12100
12101         * frame.c (syms_of_frame): remove set-glyph-image.
12102
12103         * general-slots.h: add Qset_glyph_image.
12104
12105         * glyphs-widget.c (layout_update): add domain arg to
12106         set-glyph-image.
12107         (syms_of_glyphs_widget): remove set-glyph-image.
12108
12109 2000-07-23  Ben Wing  <ben@xemacs.org>
12110
12111         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12112         Vpopup_frame_list.
12113
12114 2000-07-22  Andy Piper  <andy@xemacs.org>
12115
12116         * symsinit.h: add syms_of_win32().
12117
12118         * gui-msw.c (syms_of_gui_mswindows): remove
12119         Fmswindows_shell_execute.
12120         (Fmswindows_shell_execute): moved to win32.c.
12121
12122         * emacs.c (main_1): add syms_of_win32 ().
12123
12124         * win32.c (init_potentially_nonexistent_functions): rewrite in
12125         compiler-friendly terms.
12126         (Fmswindows_shell_execute): move here from gui-msw.c.
12127         (syms_of_win32): new.
12128
12129         * device-msw.c (Fmswindows_printer_list): clean up args to
12130         EnumPrinters.
12131         Don't include tchar under cygwin or mingw.
12132         (msprinter_default_printer): make cygwin-friendly.
12133
12134 2000-07-21  Andy Piper  <andy@xemacs.org>
12135
12136         * glyphs-widget.c (image_instantiator_tree_view): use tab
12137         control's update function.
12138         (layout_property): new function. Retrieve items.
12139
12140         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12141         function. Re-populate the tree view from the pending items.
12142
12143         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12144         is designated the parent if the domain is an image instance. This
12145         is needed so that dirtiness can be cascade up the hierarchy and
12146         thus for layout children to be redisplayed correctly.
12147         (allocate_image_instance): rename glyph -> parent.
12148
12149         * redisplay.h: change redisplay_output_layout signature.
12150
12151         * redisplay-msw.c (mswindows_output_display_block): use domain
12152         arg.
12153
12154         * redisplay-x.c (x_output_display_block): use domain arg.
12155
12156 2000-07-10  Andy Piper  <andy@xemacs.org>
12157
12158         * window.c (Fset_window_configuration): add comment.
12159
12160         * redisplay-output.c (compare_runes):
12161         (redisplay_output_subwindow): redisplay rather than update subwindow.
12162         (redisplay_output_layout): ditto.
12163
12164         * redisplay-msw.c (mswindows_frame_output_end):
12165         (mswindows_frame_output_end): make defer window pos optional.
12166
12167         * lisp.h: add Flast.
12168
12169         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12170         normalize method. Change update method to be for changed
12171         instantiators. Add redisplay method. Change signature of layout
12172         method.
12173         (struct Lisp_Image_Instance): add instantiator.
12174         (IMAGE_INSTANCE_INSTANTIATOR): new.
12175         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12176         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12177         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12178
12179         * glyphs.c:
12180         (find_instantiator_differences): new function.
12181         (Fset_instantiator_property): new convenience function.
12182         (check_image_instance_structure): strictly check for vector
12183         instantiators.
12184         (normalize_image_instantiator): make non-static.
12185         (instantiate_image_instantiator): pass on dest_mask and use new
12186         signatures for image_instance_layout and friends.
12187         (mark_image_instance): mark the instantiator. Mark the subwindow
12188         face not the widget face.
12189         (image_instance_equal): add instantiator.
12190         (image_instance_hash): ditto.
12191         (allocate_image_instance): ditto.
12192         (Fset_image_instance_property): removed.
12193         (Fimage_instance_file_name): ditto.
12194         (Fcolorize_image_instance): ditto.
12195         (image_instance_layout): add offsets to be set.
12196         (update_image_instance): new function. update an image instance
12197         from its changed instantiator.
12198         (inherit_normalize): add dest_mask.
12199         (xbm_normalize): ditto.
12200         (xface_normalize): ditto.
12201         (xpm_normalize): ditto.
12202         (text_update): set_property -> update.
12203         (image_instantiate): use the glyph identity as a hash key, not the
12204         instantiator.
12205         (glyph_width): use new image_instance_layout signature.
12206         (glyph_ascent): ditto.
12207         (glyph_descent): ditto.
12208         (glyph_height): ditto.
12209         (glyph_query_geometry): ressurrect.
12210         (glyph_layout): ditto.
12211         (redisplay_subwindow): update -> redisplay.
12212         (syms_of_glyphs): add Fset_instantiator_property.
12213         (image_instantiator_format_create): set_property -> update.
12214
12215         * glyphs-x.c:
12216         (autodetect_normalize): add dest_maks to signature.
12217         (x_redisplay_subwindow): update -> redisplay.
12218         (x_redisplay_widget): ditto.
12219         (x_button_redisplay): ditto.
12220         (x_progress_gauge_redisplay): ditto.
12221         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12222         stacking order.
12223         (console_type_create_glyphs_x): update -> redisplay.
12224         (image_instantiator_format_create_glyphs_x): ditto.
12225
12226         * glyphs-widget.c:
12227         (check_valid_instantiator): disallow glyphs in the instantiator,
12228         they must now be vectors.
12229         (check_valid_instantiator_list): ditto.
12230         (glyph_instantiator_to_glyph): use internal symbol rather than
12231         intern.
12232         (widget_update): renamed from widget_set_property. Call cascaded
12233         update methods.
12234         (redisplay_widget): renamed from update_widget.
12235         (widget_layout): image_instance_layout now takes position as well
12236         as size.
12237         (widget_normalize): ditto.
12238         (widget_instantiate): ditto.
12239         (tab_control_query_geometry) ditto.:
12240         (tab_control_update): renamed from tab_control_set_property.
12241         (progress_gauge_update): set_property -> update.
12242         (layout_normalize): rewrite so that child instantiators are
12243         normalized also.
12244         (layout_update): new function. Create glyphs from the normalized
12245         children and cope with any other layout keywords. We do not
12246         instantiate children here that will be take care of by
12247         redisplay_output_layout.
12248         (layout_instantiate): call layout_update and not much else.
12249         (layout_post_instantiate): not sure whether this is needed
12250         anymore.
12251         (layout_query_geometry): query glyph geometry rather than
12252         image_instance geometry.
12253         (layout_layout): set offsets from pass in parameters. Use glyph
12254         geometry and layout functions rather than image instance ones.
12255         (native_layout_layout): ditto.
12256         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12257         (image_instantiator_widget): set_property -> update.
12258         (image_instantiator_buttons): ditto.
12259         (image_instantiator_progress_guage): ditto.
12260         (image_instantiator_tab_control): ditto.
12261         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12262         (image_instantiator_layout): add update method.
12263
12264         * glyphs-msw.c (bmp_normalize):
12265         (mswindows_resource_normalize): add dest_mask so that it can be
12266         proprogated by layout_normalize.
12267         (begin_defer_window_pos): make optional because it may not be the
12268         right thing to do and it introduces differences with X.
12269         (mswindows_unmap_subwindow): ditto.
12270         (mswindows_map_subwindow): ditto.
12271         (mswindows_redisplay_subwindow): renamed from
12272         mswindows_update_subwindow.
12273         (mswindows_redisplay_widget): ditto.
12274         (mswindows_button_redisplay): renamed from
12275         mswindows_button_update. Update is now what the instantiation
12276         function does for a changed instantiator.
12277         (mswindows_progress_gauge_instantiate): set the progress value
12278         here if appropriate.
12279         (mswindows_tab_control_redisplay): cope with re-ordering of the
12280         members of the tab widget by simply selecting the new top
12281         widget. This makes things appear ok if you click on a tab.
12282         (mswindows_combo_box_instantiate): image_instance_layout now takes
12283         position as well as size.
12284         (mswindows_progress_gauge_redisplay): renamed from
12285         mswindows_progress_gauge_update.
12286         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12287         (image_instantiator_format_create_glyphs_mswindows): ditto.
12288
12289         * glyphs-eimage.c (jpeg_normalize):
12290         (gif_normalize):
12291         (png_normalize):
12292         (tiff_normalize): add dest_mask so that it can be proprogated by
12293         layout_normalize.
12294
12295         * elhash.c:
12296         (print_hash_table):
12297         (hash_table_weakness_validate):
12298         (decode_hash_table_weakness):
12299         (Fhash_table_weakness):
12300         (Fhash_table_type):
12301         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12302
12303         * console.h (struct console_methods): move update_* to
12304         redisplay_*.
12305
12306 2000-07-20  Ben Wing  <ben@xemacs.org>
12307
12308         * *.[ch] (XSETOBJ): remove unused middle argument.
12309         lisp-disunion.h: correct wrap_object() to one argument.
12310
12311 2000-07-15  Ben Wing  <ben@xemacs.org>
12312
12313         * s/cygwin32.h:
12314         * s/cygwin32.h (CYGWIN_CONV_PATH):
12315         Add missing logb prototype for v1.1.
12316         Use post-b20 names and alias to pre-b20 names when pre-b20.
12317
12318         * s/windowsnt.h: [5].
12319
12320 2000-07-15  Ben Wing  <ben@xemacs.org>
12321
12322         * Makefile.in.in (x_objs):
12323         * Makefile.in.in (sheap_objs):
12324         * Makefile.in.in (objs):
12325         added win32.o, cosmetic cleanups.
12326
12327         * alloc.c (Fmake_byte_code):
12328         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12329         etc. macros which declare their own args now.
12330
12331         * alloc.c (syms_of_alloc):
12332         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12333
12334         * buffer.c:
12335         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12336
12337         * buffer.c (Fget_file_buffer):
12338         Fixed GCPRO problem.
12339
12340         * buffer.c (get_truename_buffer):
12341         Fixed comment about GC checking.
12342
12343         * buffer.c (syms_of_buffer):
12344         Undeclared those dedicated frame funs.
12345         [2].
12346
12347         * buffer.h:
12348         Define convenience macros for internal/external conversions.
12349         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12350         and Qenvironment_variable_encoding for cleaner code.
12351
12352         * bufslots.h:
12353         Remove dedicated-frame; in lisp.
12354
12355         * bytecode.c (funcall_compiled_function):
12356         [1].
12357
12358         * bytecode.c (syms_of_bytecode):
12359         [2].
12360
12361         * console-msw.c:
12362         * console-msw.c (mswindows_show_console): Rewrote.
12363
12364         * console-msw.c (Fmswindows_debugging_output): New.
12365         Sends to OutputDebugString (special MSWin debugger interface).
12366
12367         * console-msw.c (Fmswindows_message_box):
12368         Fixed stupid bugs so it works when called from kill-emacs.
12369
12370         * console-msw.c (syms_of_console_mswindows):
12371         Declare Fmswindows_debugging_output.
12372
12373         * console-msw.h:
12374         New MSWin prototypes.
12375
12376         * console-msw.h (struct mswindows_frame):
12377         New entry last-click-mods for improved button-modifier support.
12378
12379         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12380         New struct entry `popup' with corresponding accessor.
12381
12382         * console-x.c:
12383         * console-x.c (split_up_display_spec):
12384         * console-x.c (get_display_arg_connection):
12385         * console-x.c (x_semi_canonicalize_console_connection):
12386         * console-x.c (x_canonicalize_device_connection):
12387         [[[6]]]: Change char to more specific type.
12388         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12389
12390         * console-x.c (x_semi_canonicalize_console_connection):
12391         * console-x.c (x_canonicalize_device_connection):
12392         [[[9]]]: Fix up error signalling to use new structured error system.
12393
12394         * console-x.h:
12395         [[[4]]]: Define codesys aliases:
12396         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12397         Qx_color_name_encoding, Qx_display_name_encoding.
12398
12399         * console.h (struct console_methods):
12400         New method make_dialog_box_internal supersedes older
12401         popup_dialog_box method.
12402
12403         * data.c:
12404         Define many new errors, part of new structured errors.
12405
12406         * data.c (init_errors_once_early):
12407         * data.c (syms_of_data):
12408         [2].
12409
12410         * device-msw.c (mswindows_init_device):
12411         [[[5]]]: Cleanup to support NT 3.51.
12412
12413         * device-msw.c (decode_devmode): Cleanup.
12414
12415         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12416         * device-msw.c (mswindows_handle_print_dialog_box):
12417         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12418         * device-msw.c (syms_of_device_mswindows):
12419         Delete the dialog box primitives recently introduced by Kirill and
12420         instead interface to general dialog box interface.
12421
12422         * device-x.c:
12423         * device-x.c (compute_x_app_name):
12424         * device-x.c (x_init_device):
12425         * device-x.c (Fx_valid_keysym_name_p):
12426         * device-x.c (Fx_set_font_path):
12427         [6].
12428         [7].
12429
12430         * device.h (wrap_device): New.
12431         First of its kind; meant to replace XSETDEVICE.
12432
12433         * dialog-msw.c: Many file-dialog symbols.
12434
12435         * dialog-msw.c (mswindows_register_popup_frame): New.
12436         * dialog-msw.c (mswindows_is_dialog_msg): New.
12437         For supporting kbd traversal in dialog boxes.
12438
12439         * dialog-msw.c (dialog_proc):
12440         Support hitting ESC in dialogs.
12441
12442         * dialog-msw.c (struct):
12443         Common dialog box errors.
12444
12445         * dialog-msw.c (handle_file_dialog_box): New.
12446         Add file dialog code.
12447
12448         * dialog-msw.c (handle_question_dialog_box):
12449         Redo existing code to support new question dialog syntax.
12450
12451         * dialog-msw.c (console_type_create_dialog_mswindows):
12452         We support new dialog console method.
12453
12454         * dialog-msw.c (syms_of_dialog_mswindows):
12455         * dialog-msw.c (vars_of_dialog_mswindows):
12456         New file dialog symbols, vars.
12457
12458         * dialog-x.c:
12459         * dialog-x.c (maybe_run_dbox_text_callback):
12460         * dialog-x.c (dbox_descriptor_to_widget_value):
12461         * dialog-x.c (x_make_dialog_box_internal):
12462         * dialog-x.c (console_type_create_dialog_x):
12463         Mule-ize entire file.
12464         Redo to support question dialog syntax.
12465         [6].
12466
12467         * dialog.c:
12468         * dialog.c (Fmake_dialog_box_internal):
12469         * dialog.c (syms_of_dialog):
12470         Kill old popup-dialog-box, replace with new primitive.
12471         Just call device method or signal error.
12472
12473         * eldap.c (Fldap_open):
12474         * eldap.c (Fldap_search_basic):
12475         * eldap.c (Fldap_add):
12476         * eldap.c (Fldap_modify):
12477         [1].
12478         [7].
12479
12480         * emacs.c:
12481         * emacs.c (make_arg_list_1):
12482         * emacs.c (make_arg_list):
12483         Mule-ize call to dll_init().
12484         [6].
12485         [8].
12486
12487         * emacs.c (make_argc_argv):
12488         * emacs.c (free_argc_argv):
12489         * emacs.c (init_cmdargs):
12490         * emacs.c (main_1):
12491         * emacs.c (Fkill_emacs):
12492         * emacs.c (Fdump_emacs):
12493         Update comments about what can be used in syms_* etc.
12494         Call init_win32() when necessary.
12495         Fix up MS Win dialog box in kill-buffer to actually work right.
12496         [7].
12497
12498         * eval.c:
12499         * eval.c (For):
12500         * eval.c (Fand):
12501         * eval.c (Fprogn):
12502         * eval.c (Fprog1):
12503         * eval.c (Fprog2):
12504         * eval.c (FletX):
12505         * eval.c (Flet):
12506         * eval.c (condition_case_3):
12507         * eval.c (Feval):
12508         * eval.c (function_argcount):
12509         * eval.c (funcall_lambda):
12510         [1].
12511
12512         * eval.c (type_error): New.
12513         * eval.c (maybe_type_error): New.
12514         * eval.c (continuable_type_error): New.
12515         * eval.c (maybe_continuable_type_error): New.
12516         * eval.c (type_error_with_frob): New.
12517         * eval.c (maybe_type_error_with_frob): New.
12518         * eval.c (continuable_type_error_with_frob): New.
12519         * eval.c (maybe_continuable_type_error_with_frob): New.
12520         New functions for use with structured errors.
12521
12522         * event-Xt.c:
12523         * event-Xt.c (x_event_to_emacs_event):
12524         Buttons are now modifiers too.
12525
12526         * event-Xt.c (emacs_Xt_current_event_timestamp):
12527         Implement new event method.
12528         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12529
12530         * event-msw.c:
12531         * event-msw.c (ntpipe_shove_writer): [5].
12532         * event-msw.c (mswindows_enqueue_mouse_button_event):
12533         * event-msw.c (mswindows_drain_windows_queue):
12534         * event-msw.c (mswindows_wnd_proc): [7].
12535         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12536         * event-msw.c (mswindows_modifier_state):
12537         Throughout: support new button modifiers.
12538
12539         * event-msw.c (emacs_mswindows_current_event_timestamp):
12540         Implement new event method.
12541         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12542
12543         * event-stream.c:
12544         * event-stream.c (event_stream_current_event_timestamp): New.
12545         * event-stream.c (maybe_kbd_translate): New functionality.
12546         * event-stream.c (vars_of_event_stream):
12547         Document new kbd-translate-table functionality.
12548
12549         * event-stream.c (Fcurrent_event_timestamp): New.
12550         New primitive for use in fabricated events.
12551         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12552
12553         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12554
12555         * events.c:
12556         * events.c (Fmake_event):
12557         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12558         [1].
12559         [9].
12560
12561         * events.c (format_event_object): fix gcc warnings.
12562
12563         * events.c (Fevent_timestamp): Document new primitives.
12564
12565         * events.c (TIMESTAMP_HALFSPACE): New.
12566
12567         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12568         comparing timestamps correctly (half-space algorithm).
12569
12570         * events.c (Fevent_modifier_bits): Doc fix.
12571
12572         * events.c (Fevent_modifiers): Major doc addition.
12573         * events.c (event_x_y_pixel_internal): Typo fix.
12574         * events.c (syms_of_events): Declare new primitives.
12575
12576         * events.h:
12577         Update long comment for button modifiers, timestamps.
12578
12579         * events.h (struct event_stream):
12580         New current_event_timestamp method.
12581
12582         * extents.c:
12583         * extents.c (extent_in_region_p):
12584         * extents.c (decode_extent):
12585         * extents.c (Fset_extent_parent):
12586         * extents.c (decode_map_extents_flags):
12587         Fix gcc warnings.
12588         [9].
12589
12590         * extents.c (struct extent_at_arg):
12591         * extents.c (decode_extent_at_flag):
12592         * extents.c (extent_at_mapper):
12593         * extents.c (extent_at_bytind):
12594         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12595         * extents.c (Fextents_at): New primitive. [9].
12596         * extents.c (symbol_to_glyph_layout): [9].
12597         Support new primitive `extents-at'.
12598
12599
12600         * extents.c (get_text_property_bytind):
12601         extent_at_bytind has another arg.
12602         [9].
12603
12604         * extents.c (syms_of_extents): New primitive.
12605
12606         * file-coding.c (Fmake_coding_system): [1].
12607         * file-coding.c (subsidiary_coding_system): fix gcc warning
12608         * file-coding.c (syms_of_file_coding): [2].
12609
12610         * fileio.c (Fexpand_file_name):
12611         * fileio.c (Fsysnetunam):
12612         * fileio.c (Ffile_exists_p):
12613         * fileio.c (Ffile_executable_p):
12614         * fileio.c (Fverify_visited_file_modtime):
12615         Clean up GCPROing.
12616
12617         * fileio.c (syms_of_fileio): [2].
12618
12619         * filelock.c (lock_file_1):
12620         * filelock.c (current_lock_owner):
12621         * filelock.c (lock_if_free):
12622         * filelock.c (lock_file):
12623         * filelock.c (unlock_file):
12624         Clean up GCPROing.
12625
12626         * fns.c (concat): Fix gcc warning.
12627
12628         * fns.c (Fmember):
12629         * fns.c (Fold_member):
12630         * fns.c (Fmemq):
12631         * fns.c (Fold_memq):
12632         * fns.c (memq_no_quit):
12633         * fns.c (Fassoc):
12634         * fns.c (Fold_assoc):
12635         * fns.c (Fassq):
12636         * fns.c (Fold_assq):
12637         * fns.c (assq_no_quit):
12638         * fns.c (Frassoc):
12639         * fns.c (Fold_rassoc):
12640         * fns.c (Frassq):
12641         * fns.c (Fold_rassq):
12642         * fns.c (rassq_no_quit):
12643         * fns.c (Fdelete):
12644         * fns.c (Fold_delete):
12645         * fns.c (Fdelq):
12646         * fns.c (Fold_delq):
12647         * fns.c (delq_no_quit):
12648         * fns.c (Fremassoc):
12649         * fns.c (Fremassq):
12650         * fns.c (remassq_no_quit):
12651         * fns.c (Fremrassoc):
12652         * fns.c (Fremrassq):
12653         * fns.c (remrassq_no_quit):
12654         * fns.c (Freverse):
12655         * fns.c (mapcar1):
12656         [1].
12657
12658         * frame-msw.c (mswindows_init_frame_1):
12659         * frame-msw.c (mswindows_delete_frame):
12660         Register popups with dialog code so keyboard traversing works.
12661
12662         * frame-tty.c (tty_raise_frame_no_select): [1].
12663
12664         * frame-x.c:
12665         * frame-x.c (x_set_frame_text_value):
12666         * frame-x.c (x_set_frame_properties):
12667         * frame-x.c (x_create_widgets):
12668         [7].
12669
12670         * frame.c:
12671         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12672
12673         * frame.h (wrap_frame): New.
12674         Macro like wrap_device.
12675
12676         * general.c:
12677         * general.c (SYMBOL):
12678         * general.c (syms_of_general):
12679         Major reorg.  This is now just a wrapper and symbols themselves
12680         are listed in general-slots.h.
12681
12682         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12683         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12684
12685         * glyphs-msw.c (mswindows_native_layout_instantiate):
12686         Add DS_CONTROL so keyboard traversal will work.
12687
12688         * glyphs-widget.c:
12689         * glyphs-widget.c (syms_of_glyphs_widget):
12690         Move some symbols to general-slots.h.
12691
12692         * glyphs-x.c:
12693         * glyphs-x.c (xbm_instantiate_1):
12694         * glyphs-x.c (x_xbm_instantiate):
12695         * glyphs-x.c (x_xface_instantiate):
12696         * glyphs-x.c (autodetect_instantiate):
12697         * glyphs-x.c (cursor_font_instantiate):
12698         * glyphs-x.c (x_update_widget):
12699         * glyphs-x.c (x_widget_instantiate):
12700         * glyphs.c (bitmap_to_lisp_data):
12701         * glyphs.c (pixmap_to_lisp_data):
12702         [7].
12703
12704         * glyphs.c (syms_of_glyphs):
12705         [2].
12706
12707         * gui-x.c:
12708         * gui-x.c (print_widget_value):
12709         * gui-x.c (menu_separator_style_and_to_external):
12710         * gui-x.c (add_accel_and_to_external):
12711         * gui-x.c (button_item_to_widget_value):
12712         * gui-x.c (gui_items_to_widget_values_1):
12713         * gui-x.c (gui_items_to_widget_values):
12714         * gui-x.c (syms_of_gui_x):
12715         * gui-x.c (vars_of_gui_x):
12716         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12717         [9].
12718
12719         * gui-x.h:
12720         Muleize, prototype changes matching gui-x.c.
12721
12722         * gui.c:
12723         * gui.c (separator_string_p):
12724         * gui.c (gui_item_add_keyval_pair):
12725         * gui.c (make_gui_item_from_keywords_internal):
12726         * gui.c (signal_too_long_error):
12727         * gui.c (parse_gui_item_tree_item):
12728         * gui.c (syms_of_gui):
12729         * gui.c (vars_of_gui):
12730         * gui.h:
12731         menu-no-selection-hook moved here (used by MSWin).
12732         Move some symbols to general-slots.h.
12733         [6].
12734         [9].
12735
12736         * insdel.c (get_buffer_pos_char):
12737         * insdel.c (get_buffer_range_char):
12738         Add GC comments.
12739
12740         * keymap.c (keymap_lookup_directly):
12741         * keymap.c (keymap_store):
12742         * keymap.c (ensure_meta_prefix_char_keymapp):
12743         * keymap.c (describe_map):
12744         * keymap.h:
12745         Support new button modifiers.
12746
12747         * lisp-disunion.h (wrap_object):
12748         * lisp-disunion.h (XSETOBJ):
12749         Rename make_obj to wrap_object.
12750
12751         * lisp-union.h:
12752         * lisp-union.h (make_int):
12753         * lisp-union.h (make_char):
12754         Support wrap_object.
12755
12756         * lisp.h:
12757         * lisp.h (LIST_LOOP):
12758         * lisp.h (EXTERNAL_LIST_LOOP):
12759         * lisp.h (LIST_LOOP_2):
12760         * lisp.h (EXTERNAL_LIST_LOOP_1):
12761         * lisp.h (EXTERNAL_LIST_LOOP_2):
12762         * lisp.h (EXTERNAL_LIST_LOOP_3):
12763         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12764         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12765         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12766         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12767         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12768         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12769         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12770         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12771         * lisp.h (struct Lisp_Symbol):
12772         * lisp.h (maybe_continuable_error_with_frob):
12773         Fix up section comments.
12774         Add new types for char to indicate usage.
12775         Delete symbols auto-generated from general-slots.h.
12776         Add prototypes for structured error functions.
12777         Add long comments describing looping macros and change interface
12778         so that lvalues are automatically declared.
12779         Add NO_DECLARE macro in case callers want to declare lvalues
12780         themselves.
12781
12782         * lread.c (read_syntax_error):
12783         * lread.c (continuable_read_syntax_error):
12784         * lread.c (read_structure):
12785         * lread.c (sequence_reader):
12786         * lread.c (read_list_conser):
12787         * lread.c (read_compiled_function):
12788         Rename syntax_error and continuable_syntax_error to avoid clash
12789         with same-named structured error functions.
12790
12791         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12792         * menubar-msw.c (populate_menu_add_item):
12793         * menubar-msw.c (populate_or_checksum_helper):
12794         [5].
12795         [9].
12796
12797         * menubar-x.c:
12798         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12799         Mule-ize whole file.
12800
12801         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12802
12803         * mule-charset.c (Fmake_charset):
12804         * mule-wnnfns.c (Fwnn_set_param):
12805         [1].
12806
12807         * ntproc.c (create_child):
12808         * ntproc.c (Fwin32_set_current_locale):
12809         Add comments portending doom.
12810
12811         * objects-msw.c:
12812         * objects-msw.c (old_font_enum_callback_2):
12813         * objects-msw.c (font_enum_callback_1):
12814         * objects-msw.c (mswindows_enumerate_fonts):
12815         [5].
12816
12817         * objects-x.c:
12818         * objects-x.c (allocate_nearest_color):
12819         * objects-x.c (x_parse_nearest_color):
12820         * objects-x.c (x_initialize_color_instance):
12821         * objects-x.c (x_print_color_instance):
12822         * objects-x.c (x_finalize_color_instance):
12823         * objects-x.c (x_valid_color_name_p):
12824         * objects-x.c (x_initialize_font_instance):
12825         * objects-x.c (x_print_font_instance):
12826         * objects-x.c (valid_x_font_name_p):
12827         * objects-x.c (truename_via_FONT_prop):
12828         * objects-x.c (truename_via_random_props):
12829         * objects-x.c (truename_via_XListFonts):
12830         * objects-x.c (x_font_truename):
12831         * objects-x.c (x_font_instance_truename):
12832         * objects-x.c (x_font_instance_properties):
12833         * objects-x.c (x_list_fonts):
12834         * objects-x.c (x_find_charset_font):
12835         Mule-ize entire file.
12836         [7].
12837
12838         * objects-x.h:
12839         Mule-verify.
12840
12841         * print.c:
12842         * print.c (std_handle_out_external):
12843         * print.c (debug_print_no_newline):
12844         * print.c (syms_of_print):
12845         Output to all debugger kinds in debug-print.
12846         Fix console-output code under MSWin to actually work.
12847
12848         * process-nt.c (send_signal):
12849         * process-nt.c (nt_create_process):
12850         Use newer Unicode macros.
12851
12852         * process-unix.c (unix_create_process):
12853         * process-unix.c (unix_canonicalize_host_name):
12854         * process-unix.c (unix_open_network_stream):
12855         [7].
12856
12857         * scrollbar-x.c:
12858         Mule-verify.
12859
12860         * search.c (syms_of_search):
12861         [2].
12862
12863         * select-msw.c (mswindows_destroy_selection):
12864         Use LIST_LOOP_2.
12865
12866         * select-x.c (symbol_to_x_atom):
12867         [7].
12868
12869         * select.c (syms_of_select):
12870         [2].
12871
12872         * sound.c (Fplay_sound_file):
12873         [7].
12874
12875         * specifier.c:
12876         * specifier.c (decode_specifier_type):
12877         * specifier.c (Fvalid_specifier_locale_type_p):
12878         * specifier.c (check_valid_locale_or_locale_type):
12879         * specifier.c (decode_locale):
12880         * specifier.c (decode_locale_type):
12881         * specifier.c (decode_locale_list):
12882         * specifier.c (check_valid_domain):
12883         * specifier.c (decode_specifier_tag_set):
12884         * specifier.c (Fcanonicalize_tag_set):
12885         * specifier.c (Fdefine_specifier_tag):
12886         * specifier.c (Fspecifier_tag_predicate):
12887         * specifier.c (check_valid_inst_list):
12888         * specifier.c (check_valid_spec_list):
12889         * specifier.c (decode_how_to_add_specification):
12890         * specifier.c (check_modifiable_specifier):
12891         * specifier.c (specifier_add_spec):
12892         * specifier.c (boolean_validate):
12893         * specifier.c (display_table_validate):
12894         [9].
12895
12896         * specifier.c (syms_of_specifier):
12897         Move some symbols to general-slots.h.
12898         [2].
12899
12900         * symbols.c:
12901         * symbols.c (Fmapatoms):
12902         * symbols.c (Fapropos_internal):
12903         Add GCPROs.
12904
12905         * symbols.c (set_default_buffer_slot_variable):
12906         * symbols.c (set_default_console_slot_variable):
12907         [1].
12908
12909         * symbols.c (defsymbol_massage_name_1):
12910         * symbols.c (defkeyword_massage_name):
12911         * symbols.c (deferror_1):
12912         * symbols.c (deferror):
12913         * symbols.c (deferror_massage_name_and_message):
12914         * symeval.h:
12915         * symeval.h (DEFSYMBOL):
12916         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12917
12918         * symbols.c (syms_of_symbols):
12919         [2].
12920
12921         * symsinit.h:
12922         * symsinit.h (init_win32): New.
12923         Also new is syms_of_dialog_mswindows.
12924
12925         * syswindows.h:
12926         Add new Unicode macros, missing Cygwin wide-char functions,
12927         convenience conversion macros for Qmswindows_tstr, macros for
12928         encapsulating required MSWin <-> Cygwin filename conversions,
12929         prototype for dynamically-extracted (not in NT 3.51) functions.
12930
12931         * toolbar-x.c:
12932         Mule-verify.
12933
12934         * tooltalk.c (Fadd_tooltalk_message_arg):
12935         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12936         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12937         [7].
12938
12939         * tooltalk.c (syms_of_tooltalk):
12940         [2].
12941
12942         * unexnt.c:
12943         * unexnt.c (unexec):
12944         Fix up headers, declaration of unexec() to be more standard.
12945
12946 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12947
12948         * offix.h: Revert change to guard macros - they're used in offix.c!
12949
12950 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12951
12952         * lisp.h: Defsubred Fdelete.
12953
12954         * console-msw.h:  (msprinter_default_printer): Added.
12955
12956         * console-msw.c (msprinter_canonicalize_console_connection):
12957         (msprinter_canonicalize_device_connection): Added.
12958
12959         * device-msw.c (msprinter_default_printer):
12960         (Fmswingows_get_default_printer):
12961         (signal_enum_priner_error):
12962         (Fmswingows_printer_list): Added.
12963
12964 2000-07-19  Martin Buchholz <martin@xemacs.org>
12965
12966         * XEmacs 21.2.35 is released.
12967
12968 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12969
12970         * select-x.c (x_handle_selection_request):
12971         Text selected in xemacs and pasted into xterm failed to appear.
12972         Spelling fixes and cosmetic changes.
12973
12974 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12975
12976         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12977         XEmacs frame (fix for doubling chars in dialog boxes).
12978
12979 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12980
12981         * select.c (select_convert_in, select_convert_out):
12982         Don't call intern() every time.
12983
12984         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12985         * select.c (vars_of_select): Initialise them.
12986
12987 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12988
12989         * select.c (selection-coercible-types): New.
12990
12991         * select.c (own-selection-internal):
12992         * select.c (get-selection-internal):
12993         MULE bug fix - these should default to COMPOUND_TEXT and not
12994         STRING for MULE. I think.
12995
12996         * select.c (select_convert_out): Use selection-coercible-types
12997         to find types that we can attempt to perform coercions on.
12998
12999 2000-07-18  Martin Buchholz  <martin@xemacs.org>
13000
13001         * mule-wnnfns.c:
13002         * mule-canna.c:
13003         Add coding: cookie to identify encoding.
13004
13005         * mule-canna.c (CANNA_mode_keys): make static.
13006         Use proper prototypes, even for functions of no arguments.
13007         Remove external prototype for Fding().
13008
13009         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
13010
13011         * select.c (syms_of_select): Add missing DEFSUBR.
13012
13013 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
13014
13015         * select.c (get_selection_internal, own_selection_internal):
13016         Make the type default to STRING, rather than placing a nil type
13017         into Vselection_alist.
13018
13019 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
13020
13021         * gpmevent.c (tty_selection_exists_p):
13022         * gpmevent.c (tty_own_selection):
13023         Updated parameter lists.
13024
13025 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
13026
13027         * select.h (selection-alist): Removed declaration.
13028
13029         * select.h (get_local_selection):
13030         * select.c (get_local_selection):
13031         Made static.
13032
13033         * select.h (convert_selection): Removed declaration.
13034         * select.c (convert_selection): Removed.
13035         This function belongs in Lisp.
13036
13037         * select.h (select_convert_in): Declare.
13038         * select.h (select_convert_out): Declare.
13039         * select.c (select_convert_in): New.
13040         * select.c (select_convert_out): New.
13041         New conversion functions for other files to call.
13042
13043         * select.h (select_notify_buffer_kill): Declare.
13044         * select.c (select_notify_buffer_kill): New.
13045         New functions that get called from kill-buffer.
13046
13047         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
13048         X-specific lisp code.
13049
13050         * select.h: Declare some of the lisp-visible functions for
13051         external use.
13052
13053         * select.c (clean_local_selection_data): Removed. This was
13054         a disgusting function, and previously should have been in
13055         select-x.c in any case. The functionality is now provided
13056         in select-convert-from-integer (select.el).
13057
13058         * select.c (available-selection-types): Fixed stupidity where
13059         INTEGER and ATOM got added twice. Also add STRING when we see an
13060         extent.
13061
13062         * select.c (get-selection-internal): Removed symbol stripping. No
13063         longer causes conversion when data comes from the internal cache.
13064
13065         * select.c (syms_of_select): Added new functions.
13066
13067         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
13068         error checking - previously this called abort!
13069
13070         * select-x.c (x_own_selection): Changed comment.
13071
13072         * select-x.c (x_handle_selection_request): Use select_convert_out.
13073         Don't mess with selection-alist; it's an internal variable of select.c.
13074
13075         * select-x.c (x_get_foreign_selection): Use select_convert_in.
13076
13077         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
13078         rather than messing with selection-alist.
13079
13080         * select-msw.c (mswindows_get_foreign_selection):
13081         Use TO_INTERNAL_FORMAT rather than hacking.
13082
13083 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13084
13085         * process-unix.c (unix_open_multicast_group):
13086         (unix_open_multicast_group): Remove useless casts.
13087
13088 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13089
13090         * sound.c (Fplay_sound): Fix `unused variable' warning.
13091
13092         * emacs.c (main): Use correct type for _environ on SCO5.
13093
13094 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13095
13096         * console.h (own_selection_method):
13097         * console.h (selection_exists_p_method):
13098         * console.h (available_selection_types_method): New.
13099         * console.h (register_selection_data_type_method): New.
13100         * console.h (selection_data_type_name): New.
13101
13102         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13103         function & alist to track GlobalAlloc()'d handles that need
13104         releasing when the clipboard data gets replaced or emptied.
13105
13106         * event-msw.c (mswindows_wnd_proc): Call it.
13107
13108         * lisp.h, general.c (Qappend): New symbol representing a
13109         `how-to-add' mode.
13110
13111         * select.c (own-selection-internal):
13112         * select.c (selection-exists-p):
13113         * select.c (available-selection-types): New.
13114         * select.c (register-selection-data-type): New.
13115         * select.c (selection-data-type-name): New.  New functions to deal
13116         with device-specific selection data formats.
13117         * select.c (selection-converter-out-alist): Renamed.
13118         * select.c (selection-converter-in-alist): New.
13119         * select.c (selection-appender-alist): New.  Added new alists.
13120         * select.c (syms_of_select, vars_of_select): Added new symbols &
13121         variables.
13122         * select.c (get_local_selection): Split.
13123         * select.c: Removed spurious type checking - selections may now be
13124         of any type, not just strings.
13125         * select.c (own-selection-internal):
13126
13127         * select.h, select.c (convert_selection): New. Created
13128         convert_selection() function based on get_local_selection().
13129         * select.h, select.c (QCF_*): New symbols representing mswindows
13130         clipboard formats.
13131         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13132         symbols representing `how-to-add' modes.
13133
13134         * select-msw.c (x_sym_p): New.
13135         * select-msw.c (symbol_to_ms_cf): New.
13136         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13137         symbols & clipboard formats. Can also handle string names.
13138         * select-msw.c (mswindows_own_selection):
13139         * select-msw.c (mswindows_selection_exists_p):
13140         Added `data-type' parameter. Use it.
13141         * select-msw.c (mswindows_available_selection_types): New.
13142         * select-msw.c (mswindows_register_selection_data_type): New.
13143         * select-msw.c (mswindows_selection_data_type_name): New.
13144         * select-msw.c (mswindows_own_selection):
13145         * select-msw.c (mswindows_get_foreign_selection):
13146         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13147         * select-msw.c (console_create_select_mswindows): Added new methods.
13148         * select-msw.c (mswindows_destroy_selection): New.
13149         * select-msw.c (Vhandle_alist): New list.
13150         * select-msw.c (mswindows_own_selection):
13151
13152         * select-x.c (x_own_selection):
13153         * select-x.c (x_selection_exists_p):
13154         * select-x.c: Added some comments about maybe using new
13155         functionality.
13156         * select-x.c (x_own_selection):
13157
13158         * specifier.c: Remove definition of Qappend (now in general.c)
13159         * specifier.c (syms_of_specifier): Remove Qappend.
13160
13161 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13162
13163         * config.h.in: Add socklen_t.
13164
13165         * s/decosf4-0.h: No special compiler flags needed or desired.
13166         In particular, undefine _BSD for DEC OSF 4.0.
13167
13168 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13169
13170         * redisplay-msw.c (msprinter_frame_output_end): Added.
13171         (console_type_create_redisplay_mswindows): Referred the above.
13172
13173         * frame.c (setup_frame_without_minibuffer): Do not create a
13174         default minibuffer frame on a printer device.
13175
13176         * frame-msw.c (apply_dc_geometry): Added.
13177         (msprinter_start_page):
13178         (msprinter_init_frame_3):
13179         (msprinter_eject_page): Use it.
13180
13181         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13182         and removed residual duplex and orientation properties.
13183
13184 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13185
13186         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13187
13188         * unexalpha.c: Remove system prototypes from C sources!
13189
13190 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13191
13192         * eval.c: Remove references to M-x edit-options in DEFUNs for
13193         `defvar' and `defconst'.
13194
13195 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13196
13197         * config.h.in: Remove SMART_INCLUDE hackery.
13198
13199         PostgreSQL hacking:
13200         * config.h.in: Don't use SMART_INCLUDE.
13201
13202         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13203         * inline.c: Simply #include "postgresql.h"
13204         * postgresql.c:
13205         - Don't use SMART_INCLUDE
13206         - Use simply "const".
13207         - Use standard doc string conventions.
13208         - Use correct type for result of PQstatus.
13209
13210 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13211
13212         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13213
13214         C++ compilation changes.
13215         * config.h.in (EXTERN_C): Define.
13216         * config.h.in (not): This is also a C++ keyword.
13217         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13218         * cm.c: Use EXTERN_C.
13219         * redisplay-tty.c: Use EXTERN_C.
13220         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13221
13222 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13223
13224         * general.c: Remove duplicate definition for Qfunction.
13225
13226 2000-07-08  Ben Wing  <ben@xemacs.org>
13227
13228         * device-msw.c (msprinter_init_device):
13229         * device-msw.c (sync_printer_with_devmode):
13230         * device-msw.c (handle_devmode_changes):
13231         * device-msw.c (print_dialog_worker):
13232         * device-msw.c (Fmsprinter_apply_settings):
13233         * device-msw.c (hash_devmode):
13234         * device-msw.c (Fmsprinter_settings_despecialize):
13235         use Qmswindows_tstr, not Qctext.
13236
13237         * vm-limit.c (check_memory_limits):
13238         avoid infinite loop printing warning messages.
13239
13240 2000-07-05  Craig Lanning  <lanning@scra.org>
13241
13242         * Makefile.in.in: Add support for including the Windows resources
13243         when building with the cygwin and mingw targets.
13244
13245         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13246         not set or not correct.
13247         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13248         (init_initial_directory): Don't try to use $PWD on the
13249         WIN32_NATIVE target.
13250
13251         * s\cygwin32.h:
13252         [[Add -mwindows to eliminate console window.]] not required --ben
13253         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13254         (MAIL_USE_POP): removed; now handled by configure.
13255
13256         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13257         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13258         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13259         (MAIL_USE_POP): removed; now handled by configure.
13260         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13261         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13262         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13263         constant string.
13264         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13265         up from <winsock.h> via systime.h.
13266         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13267         (getpagesize): from Dan Holmsand, added.
13268         Added #endif which was left dangling by Ben's mega patch; added
13269         comment to help prevent this in the future.
13270
13271         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13272
13273 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13274
13275         * console-msw.h (struct mswindows_device): Removed unnecessary
13276         cached device geometry values.
13277         Added update_tick and an accessor macro.
13278         (Lisp_Devmode): Added lrecord declaration.
13279         (struct msprinter_device): Contain devmode as a Lisp object.
13280         Added mswindows_get_selected_frame_hwnd();
13281
13282         * console.h (struct console_methods): Indentation nitpicking.
13283
13284         * device-msw.c (mswindows_init_device): Do not initialize geometry
13285         cache. Initialize update tick.
13286         (mswindows_device_system_metrics): Ask the device for its geometry.
13287         (global_free_2_maybe):
13288         (devmode_to_hglobal):
13289         (handle_printer_changes):
13290         (ensure_not_printing):
13291         (print_dialog_worker):
13292         (Fmsprinter_print_setup_dialog):
13293         (Fmsprinter_print_dialog):
13294         (plist_get_margin):
13295         (plist_set_margin):
13296         (Fmsprinter_page_setup_dialog): Added functions.
13297         (sync_printer_with_devmode):
13298         (handle_devmode_changes):
13299         (Fmsprinter_get_settings):
13300         (Fmsprinter_select_settings):
13301         (Fmsprinter_apply_settings):
13302         (allocate_devmode):
13303         (Fmsprinter_settings_copy):
13304         (Fmsprinter_settings_despecialize):
13305         (print_devmode):
13306         (finalize_devmode):
13307         (equal_devmode):
13308         (hash_devmode): Added functions
13309         (syms_of_device_mswindows): Init devmode lrecord class.
13310
13311         * device.h: Added an exfun for find-device.
13312
13313         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13314         geometry; although, recreate the device compatible DC.
13315
13316         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13317         (msprinter_init_frame_3):
13318         (msprinter_frame_property):
13319         (msprinter_internal_frame_property_p):
13320         (msprinter_frame_properties):
13321         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13322         print job properties (will move to device settings).
13323
13324         * lisp.h: Added symbols.
13325
13326         * general.c (syms_of_general): Declared them.
13327
13328         * hash.c (string_hash): Added.
13329
13330         * lrecord.h (lrecord_type): Added devmode lrecord type.
13331
13332 2000-07-02  Mike Sperber <mike@xemacs.org>
13333
13334         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13335         FreeBSD 4.0.
13336
13337 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13338
13339         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13340         integer.
13341
13342 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13343
13344         * data.c (Fstring_to_number): Don't recognize floating point if
13345         base is not 10.
13346
13347 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13348
13349         * glyphs-widget.c (tab_control_query_geometry):
13350         (widget_query_geometry):
13351         (button_query_geometry):
13352         * glyphs.c (text_query_geometry):
13353         Enforce type correctness.
13354
13355 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13356
13357         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13358         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13359
13360 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13361
13362         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13363         conflicts with gcc's fixincluded version of FOO.h.
13364
13365         * glyphs.h (image_instance_geometry): Remove trailing `,'
13366
13367 2000-06-08  Mike Alexander  <mta@arbortext.com>
13368
13369         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13370         (shove_thread): Don't write the same output twice
13371         (make_ntpipe_output_stream): Increase priority of shove thread
13372         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13373         chance to run
13374         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13375         it.
13376
13377 2000-06-12  Ben Wing  <ben@xemacs.org>
13378
13379         * s\mingw32.h (sigset):
13380         * s\windowsnt.h (sigset):
13381         rename msw_ to mswindows_ for consistency with general convention.
13382
13383 2000-06-12  Ben Wing  <ben@xemacs.org>
13384
13385         * console-msw.c:
13386         * console-msw.c (mswindows_get_console_hwnd):
13387         * console-msw.c (mswindows_ensure_console_allocated):
13388         * console-msw.c (mswindows_hide_console):
13389         * console-msw.c (mswindows_show_console):
13390         * console-msw.c (mswindows_ensure_console_buffered):
13391         * console-msw.c (mswindows_output_console_string):
13392         * console-msw.c (mswindows_windows9x_p):
13393         * console-msw.h:
13394         * device-msw.c (mswindows_get_workspace_coords):
13395         * device-msw.c (mswindows_device_system_metrics):
13396         * dialog-msw.c (mswindows_popup_dialog_box):
13397         * event-msw.c (mswindows_wnd_proc):
13398         * frame-msw.c (mswindows_size_frame_internal):
13399         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13400         * menubar-msw.c (displayable_menu_item):
13401         * menubar-msw.c (mswindows_char_is_accelerator):
13402         * nt.c:
13403         * nt.c (mswindows_sigset):
13404         * nt.c (mswindows_sigrelse):
13405         * nt.c (mswindows_sigpause):
13406         * nt.c (mswindows_raise):
13407         * nt.c (timer_proc):
13408         * ntproc.c:
13409         * ntproc.c (find_child_console):
13410         * ntproc.c (sys_kill):
13411         * print.c:
13412         * print.c (std_handle_out_external):
13413         * process-nt.c (find_child_console):
13414         * process-nt.c (send_signal_the_95_way):
13415         * process-nt.c (ensure_console_window_exists):
13416         * process-nt.c (nt_create_process):
13417         * syssignal.h:
13418         rename msw_ to mswindows_ for consistency with general convention.
13419
13420         * emacs.c:
13421         * dumper.c:
13422         include nt.h, not syswindows.h.
13423
13424         * nt.c (mswindows_fstat):
13425         * nt.c (mswindows_stat):
13426         prefix mswindows_ instead of attempting to directly override the
13427         library functions.  fix declarations.
13428
13429         * nt.h:
13430         include syswindows.h.  move some sysdep.h stuff here.
13431
13432         * ntheap.h:
13433         include syswindows.h, not <windows.h>.
13434
13435         * ntplay.c:
13436         clean up headers.
13437
13438         * sysdep.c:
13439         clean up headers.
13440
13441         * sysdep.c (sys_fstat):
13442         * sysdep.c (sys_stat):
13443         call mswindows versions when appropriate.
13444
13445         * sysdep.h:
13446         move mswin decls to nt.h.
13447
13448         * syswindows.h:
13449         add long comment describing appropriate use of the various windows
13450         headers.
13451
13452 2000-06-11  Ben Wing  <ben@xemacs.org>
13453
13454         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13455
13456 2000-06-10  Ben Wing  <ben@xemacs.org>
13457
13458         * Makefile.in.in (release):
13459         Correction to make sure xemacs.exe always dumped when correct.
13460
13461         * alloca.c:
13462         * balloon_help.c:
13463         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13464
13465         * buffer.c (set_buffer_internal):
13466         [[[[2]]]]: Remove HAVE_FEP code.
13467
13468         * buffer.c (init_initial_directory):
13469         [3].
13470
13471         * bytecode.c:
13472         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13473         individual files.
13474
13475         * callproc.c:
13476         * callproc.c (call_process_cleanup):
13477         * callproc.c (Fold_call_process_internal):
13478         * callproc.c (child_setup):
13479         * callproc.c (getenv_internal):
13480         * callproc.c (init_callproc):
13481         * callproc.c (vars_of_callproc):
13482         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13483         __CYGWIN32__ -> CYGWIN.
13484         DOS_NT -> WIN32_NATIVE.
13485         Remove MSDOS support/references, converting to WIN32_NATIVE
13486           where correct.
13487         __MINGW32__ -> MINGW.
13488         Fix windows.h includes.
13489         Remove bogus HAVE_NTGUI.
13490
13491         * config.h.in:
13492         [2].
13493
13494         * console-msw.c:
13495         mswindows_message_outputted added for use in allowing startup
13496         errors on the console to be seen.
13497
13498         * console-msw.c (msw_ensure_console_allocated):
13499         * console-msw.c (msw_output_console_string):
13500         * console-msw.c (DHEADER):
13501         * console-msw.c (DOPAQUE_DATA):
13502         * console-msw.c (DEVENT):
13503         * console-msw.c (DCONS):
13504         * console-msw.c (DCONSCDR):
13505         * console-msw.c (DSTRING):
13506         * console-msw.c (DVECTOR):
13507         * console-msw.c (DSYMBOL):
13508         * console-msw.c (DSYMNAME):
13509         Fix warnings.
13510
13511         * console-stream.c (stream_init_console):
13512         Fix text/binary problems.
13513
13514         * device-msw.c:
13515         * device-msw.c (mswindows_finish_init_device):
13516         * device-msw.c (mswindows_delete_device):
13517         [1].
13518
13519         * device.c (handle_asynch_device_change):
13520         [3].
13521
13522         * dgif_lib.c:
13523         * dgif_lib.c (DGifOpenFileName):
13524         * dgif_lib.c (DGifOpenFileHandle):
13525         * dgif_lib.c (DGifGetLine):
13526         * dgif_lib.c (DGifGetPixel):
13527         Added config.h/lisp.h, fix up includes.
13528         [1].
13529
13530         * dired-msw.c:
13531         [4].
13532
13533         * dired.c:
13534         * dired.c (file_name_completion):
13535         * dired.c (Ffile_attributes):
13536         * dired.c (syms_of_dired):
13537         [1].
13538
13539         * dumper.c:
13540         * dumper.c (pdump_file_unmap):
13541         * dumper.c (pdump_load):
13542         [1].
13543
13544         * editfns.c:
13545         * editfns.c (Ftemp_directory):
13546         * editfns.c (user_login_name):
13547         * editfns.c (Fuser_real_login_name):
13548         * editfns.c (get_home_directory):
13549         [1].
13550
13551         * elhash.c (finish_marking_weak_hash_tables):
13552         [[[[5]]]]: Fix GCC warnings.
13553
13554         * emacs.c:
13555         * emacs.c (mswindows_handle_hardware_exceptions):
13556         * emacs.c (make_arg_list_1):
13557         * emacs.c (main_1):
13558         * emacs.c (Fkill_emacs):
13559         * emacs.c (Fdump_emacs):
13560         [1].
13561         Fix problems with nested crashes, add long comment.
13562
13563         * event-Xt.c (init_event_Xt_late):
13564         [1].
13565
13566         * event-msw.c:
13567         * event-msw.c (mswindows_dde_callback):
13568         * event-msw.c (mswindows_handle_sticky_modifiers):
13569         * event-msw.c (mswindows_wnd_proc):
13570         [1].
13571         [5].
13572
13573         * events.c (character_to_event):
13574         [1].
13575
13576         * fileio.c:
13577         * fileio.c (Ffile_name_directory):
13578         * fileio.c (Ffile_name_nondirectory):
13579         * fileio.c (directory_file_name):
13580         * fileio.c (Fexpand_file_name):
13581         * fileio.c (Fsubstitute_in_file_name):
13582         * fileio.c (Ffile_name_absolute_p):
13583         * fileio.c (check_executable):
13584         * fileio.c (Ffile_readable_p):
13585         * fileio.c (Ffile_accessible_directory_p):
13586         * fileio.c (Ffile_modes):
13587         * fileio.c (Funix_sync):
13588         * fileio.c (vars_of_fileio):
13589         [1]. [4].
13590
13591         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13592
13593         Expand getdefdir defn.
13594         Fix bogus rename() comment.
13595
13596         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13597         to use standard XEmacs include files, e.g. sysfile.h, rather
13598         than system-specific includes.
13599
13600         * fns.c:
13601         * fns.c (Fsubseq):
13602         [5]. [6].
13603
13604         * frame.c (vars_of_frame):
13605         [1].
13606
13607         * getloadavg.c:
13608         * getloadavg.c (getloadavg):
13609         [1]. [6].
13610         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13611         (We don't use it elsewhere in the code; just add a comment.)
13612
13613         * gif_io.c:
13614         [6].
13615         Add config.h.
13616
13617         * glyphs-msw.c:
13618         * glyphs-msw.c (mswindows_resource_instantiate):
13619         [1].
13620
13621         * glyphs-x.c (x_native_layout_instantiate):
13622         [5].
13623
13624         * gui-msw.c (Fmswindows_shell_execute):
13625         [1].
13626
13627         * insdel.c:
13628         [4].
13629
13630         * lisp.h:
13631         [4]. [5].
13632
13633         * lread.c (locate_file_in_directory_mapper):
13634         [1].
13635
13636         * lstream.c:
13637         [4].
13638
13639         * mem-limits.h:
13640         * mem-limits.h (get_lim_data):
13641         [1].
13642
13643         * menubar-msw.c:
13644         [4].
13645
13646         * ndir.h:
13647         [1].
13648
13649         * nt.c:
13650         * nt.c (getwd):
13651         * nt.c (closedir):
13652         * nt.c (rva_to_section):
13653         * nt.c (mswindows_executable_type):
13654         [1]. [6].
13655         Fix closedir() defn.
13656
13657         * nt.h:
13658         [[[[8]]]]: *_OK defs moved to sysfile.h.
13659
13660         * ntproc.c:
13661         [6]. [7].
13662
13663         * objects-x.c:
13664         [4].
13665
13666         * print.c:
13667         * print.c (std_handle_out_external):
13668         [1]. [4].
13669
13670         * process-nt.c:
13671         * process-nt.c (nt_create_process):
13672         [6].
13673         try to fix process quoting somewhat.
13674
13675         * process-unix.c (unix_create_process):
13676         [1].
13677
13678         * process.c:
13679         * process.c (vars_of_process):
13680         Add Vnull_device.
13681
13682         * process.h:
13683         [1].
13684
13685         * realpath.c:
13686         * realpath.c (xrealpath):
13687         [1].
13688
13689         * redisplay-tty.c (init_tty_for_redisplay):
13690         [3].
13691
13692         * redisplay.c:
13693         [4]. [6].
13694
13695         * scrollbar-msw.c:
13696         [4].
13697
13698         * sheap.c:
13699         * sheap.c (more_static_core):
13700         * sheap.c (report_sheap_usage):
13701         [5]. [6].
13702
13703         * signal.c:
13704         * signal.c (alarm_signal):
13705         [1]. [6].
13706
13707         * sound.c:
13708         [6].
13709
13710         * strftime.c:
13711         * strftime.c (zone_name):
13712         [1]. [5].
13713
13714         * symsinit.h (init_sunpro):
13715         [1].
13716
13717         * syscommctrl.h:
13718         commctrl.h not in Cygwin b20.1.
13719
13720         * sysdep.c:
13721         * sysdep.c (endif):
13722         * sysdep.c (sys_subshell):
13723         * sysdep.c (init_baud_rate):
13724         * sysdep.c (emacs_get_tty):
13725         * sysdep.c (emacs_set_tty):
13726         * sysdep.c (tty_init_sys_modes_on_device):
13727         * sysdep.c (init_system_name):
13728         * sysdep.c (sys_open):
13729         * sysdep.c (interruptible_open):
13730         * sysdep.c (sys_fopen):
13731         * sysdep.c (sys_mkdir):
13732         * sysdep.c (sys_rename):
13733         * sysdep.c (get_process_times_1):
13734         [1]. [6].
13735
13736         * sysdep.h:
13737         [1].
13738
13739         * sysdir.h:
13740         * sysdir.h (DIRENTRY_NONEMPTY):
13741         [1]. [6].
13742
13743         * sysdll.c (dll_init):
13744         * sysdll.h:
13745         [1].
13746
13747         * sysfile.h:
13748         [1]. [6]. [8].
13749         added text/binary defs.
13750
13751         * sysfloat.h:
13752         [1].
13753
13754         * sysproc.h:
13755         * sysproc.h (EDESTADDRREQ):
13756         * sysproc.h (poll_fds_for_input):
13757         [1]. [6].
13758
13759         * syspwd.h:
13760         [6].
13761
13762         * syssignal.h:
13763         [1].
13764
13765         * systime.h:
13766         [1]. [6].
13767
13768         * systty.h:
13769         [1].
13770
13771         * syswindows.h:
13772         [1].
13773         Always define WIN32_LEAN_AND_MEAN.
13774
13775         * unexcw.c (unexec):
13776         [5].
13777
13778         * unexec.c:
13779         * unexec.c (copy_text_and_data):
13780         * unexec.c (adjust_lnnoptrs):
13781         [1].
13782
13783         * unexnt.c:
13784         * unexnt.c (_start):
13785         [1].
13786
13787 2000-06-07  Ben Wing  <ben@xemacs.org>
13788
13789         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13790         was used only as a model.  We've long since extracted any useful
13791         logic or code out of this. (I just did an exhaustive search.)
13792
13793         * s\msdos.h: Removed.
13794
13795         * s\windows95.h: Removed.
13796
13797 2000-06-10  Ben Wing  <ben@xemacs.org>
13798
13799         * s\cygwin32.h:
13800         [1]. [5].
13801         Don't use extern with fun defs.
13802
13803         * s\mingw32.h:
13804         [1]. [7].
13805         Remove nt\inc include.
13806         Remove getdisk, getdefdir. (The former is unused, the latter
13807         expanded in fileio.h.)
13808
13809         * s\windowsnt.h:
13810         * s\windowsnt.h (WIN32_NATIVE):
13811         * s\windowsnt.h (HAVE_STRCASECMP):
13812         [1]. [7].
13813         Add long comment about preprocessor changes.
13814         Remove getdisk, getdefdir. (The former is unused, the latter
13815         expanded in fileio.h.)
13816
13817 2000-06-10  Ben Wing  <ben@xemacs.org>
13818
13819         * m\arm.h:
13820         * m\delta.h:
13821         * m\intel386.h:
13822         * m\sequent.h:
13823         * m\template.h:
13824         * m\windowsnt.h:
13825         [1].
13826         Remove bogus/unused NO_SOCK_SIGIO.
13827
13828 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13829
13830         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13831         not an Emchar.
13832
13833 2000-06-04  Mike Sperber <mike@xemacs.org>
13834
13835         * casetab.c (set_case_table): For `set-standard-case-table',
13836         actually deposit the new case tables where the rest of XEmacs can
13837         see them.
13838
13839 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13840
13841         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13842
13843 2000-06-05  Ben Wing  <ben@xemacs.org>
13844
13845         * callproc.c (child_setup): Don't do close_load_descs() under
13846         MS Windows.  Put in a comment explaining why.
13847
13848 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13849
13850         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13851         Toolkit shell" which breaks `kill-compilation' on Windows NT
13852         native, retaining STDERR handling improvements.
13853
13854 2000-06-01  Andreas Jaeger  <aj@suse.de>
13855
13856         * s/s390.h: Support for S390, based on a patch by Martin
13857         Schwidefsky <schwidefsky@de.ibm.com>.
13858
13859 2000-05-30  Andy Piper  <andy@xemacs.org>
13860
13861         * window.c (allocate_window):
13862         (make_dummy_parent):
13863         (Fset_window_configuration): use new hashtable type.
13864
13865         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13866         (struct image_instantiator_methods):
13867         (struct Lisp_Image_Instance): make instance geometry signed.
13868
13869         * glyphs.c (instantiate_image_instantiator):
13870         (image_instance_query_geometry):
13871         (image_instance_layout):
13872         (image_instance_layout):
13873         (query_string_geometry):
13874         (text_query_geometry):
13875         (image_instantiate):
13876         (image_instantiate):
13877         (cache_subwindow_instance_in_frame_maybe):
13878         (subwindow_query_geometry): make instance geometry signed.
13879
13880         * glyphs-widget.c (widget_query_geometry):
13881         (widget_layout):
13882         (button_query_geometry):
13883         (tree_view_query_geometry):
13884         (tab_control_query_geometry):
13885         (layout_query_geometry):
13886         (layout_layout):
13887         (native_layout_layout): make instance geometry signed.
13888
13889 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13890
13891         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13892         constant.
13893
13894         * general.c (syms_of_general): Add Qfull_assoc symbol.
13895
13896         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13897         correctly.
13898         (decode_weak_list_type): Decode full-assoc type.
13899         (encode_weak_list_type): Encode full-assoc type.
13900         (Fmake_weak_list): Update doc string.
13901
13902 2000-05-30  Andy Piper  <andy@xemacs.org>
13903
13904         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13905
13906         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13907         (decode_hash_table_weakness): ditto.
13908         (Fhash_table_weakness): ditto.
13909         (Fhash_table_type): ditto.
13910         (finish_marking_weak_hash_tables): ditto.
13911         (hash_table_weakness_validate): ditto.
13912         (syms_of_elhash): ditto.
13913
13914 2000-05-28  Martin Buchholz <martin@xemacs.org>
13915
13916         * XEmacs 21.2.34 is released.
13917
13918 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13919
13920         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13921         start cache.
13922         (updating_line_start_cache): Gone.
13923         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13924         generic code to force a minimum of 1 line laid out in the
13925         CMOTION_DISP case.
13926
13927 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13928
13929         * glyphs.c (instantiate_image_instantiator): Check for initialized
13930         height & width no longer special cases IMAGE_NOTHING.
13931         (nothing_instantiate): Set height and width of instance.
13932
13933 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13934
13935         * unexelf.c (unexec): Search for ".data" section.
13936         Initialize new_data2_offset from old_data_index.
13937         Remove redundant check for ElfW.
13938
13939 2000-05-23  Andy Piper  <andy@xemacs.org>
13940
13941         * glyphs.c (get_image_instantiator_governing_domain): allow more
13942         specific domains as the governing domain rather than expecting an
13943         exact match. This fixes problems with layouts.
13944
13945 2000-05-22  Andy Piper  <andy@xemacs.org>
13946
13947         * redisplay-output.c (compare_runes): check for non-images
13948
13949         * glyphs.c (set_glyph_dirty_p): ditto.
13950         (update_glyph_cachel_data): ditto.
13951
13952         * glyphs-widget.c (layout_post_instantiate): ditto.
13953         (layout_post_instantiate): ditto.
13954
13955         * event-msw.c (mswindows_wnd_proc): warning removal.
13956
13957 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13958
13959         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13960
13961         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13962
13963         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13964
13965         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13966         (mswindows_executable_type): mingw32 now has enough headers for
13967         this to work.
13968
13969 2000-05-20  Andy Piper  <andy@xemacs.org>
13970
13971         * console-msw.c (mswindows_output_last_error): ; -> ,
13972
13973 2000-05-12  Andy Piper  <andy@xemacs.org>
13974
13975         * console-msw.c (FROB): compare ints with ints.
13976
13977 2000-05-11  Andy Piper  <andy@xemacs.org>
13978
13979         * glyphs-x.c (x_finalize_image_instance): make minimal build
13980         happy.
13981
13982 2000-05-20  Ben Wing  <ben@xemacs.org>
13983
13984         * event-Xt.c:
13985         * event-Xt.c (vars_of_event_Xt):
13986         move modifier-keys-are-sticky to event-stream.c.
13987
13988         * event-msw.c:
13989         * event-msw.c (mswindows_enqueue_mouse_button_event):
13990         * event-msw.c (key_needs_default_processing_p):
13991         * event-msw.c (XEMSW_LCONTROL):
13992         * event-msw.c (mswindows_handle_sticky_modifiers):
13993         * event-msw.c (FROB):
13994         * event-msw.c (clear_sticky_modifiers):
13995         * event-msw.c (output_modifier_keyboard_state):
13996         * event-msw.c (output_alt_keyboard_state):
13997         * event-msw.c (mswindows_wnd_proc):
13998         * event-msw.c (mswindows_modifier_state):
13999         * event-msw.c (emacs_mswindows_handle_magic_event):
14000         implement sticky modifiers.
14001
14002         * event-stream.c:
14003         * event-stream.c (vars_of_event_stream):
14004         move modifier-keys-are-sticky here.
14005
14006         * lisp.h:
14007         add CHECK_FUNCTION.
14008
14009         * rangetab.c:
14010         implement map-range-table.
14011
14012
14013 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
14014
14015         * redisplay-tty.c (reset_tty_modes):
14016         (tty_redisplay_shutdown): Adjust argument type to
14017         tty_frame_output_end.
14018
14019 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14020
14021         * eval.c (Fbacktrace): Don't output a line with only right
14022         parenthesis.
14023
14024 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
14025
14026         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
14027         (Fpq_reset_poll): Ditto.
14028
14029 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
14030
14031         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
14032
14033 2000-05-16  Ben Wing  <ben@xemacs.org>
14034
14035         * buffer.c:
14036         * buffer.c (dfc_convert_to/from_internal_format):
14037         * buffer.c (reinit_vars_of_buffer):
14038         Fix conversion functions to allow reentrancy.
14039
14040         * console-msw.c:
14041         * console-msw.c (mswindows_output_last_error):
14042         New fun, generally useful -- output a human-readable
14043         version of GetLastError() on the console.
14044
14045         * console-msw.h:
14046         * console-msw.h (struct mswindows_frame):
14047         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
14048
14049         * console-stream.c (stream_output_begin):
14050         * console-stream.c (stream_output_end):
14051         * console-stream.c (stream_output_vertical_divider):
14052         * console-stream.c (stream_clear_region):
14053         * console-stream.c (stream_flash):
14054         * console-stream.c (console_type_create_stream):
14055         Delete blank stream methods, not needed.
14056
14057         * console.h (struct console_methods):
14058         Split begin/end methods into window and frame.
14059
14060         * event-msw.c:
14061         * event-msw.c (mswindows_handle_paint):
14062         * event-msw.c (output_alt_keyboard_state):
14063         * event-msw.c (mswindows_wnd_proc):
14064         * event-msw.c (vars_of_event_mswindows):
14065         Comment about problems with ignored-expose.
14066         Define mswindows-debug-events; not really implemented.
14067
14068         * frame-msw.c (mswindows_init_frame_1):
14069         random cleanups.
14070
14071         * glyphs-msw.c:
14072         * glyphs-msw.c (begin_defer_window_pos):
14073         * glyphs-msw.c (mswindows_unmap_subwindow):
14074         * glyphs-msw.c (mswindows_map_subwindow):
14075         * glyphs-msw.c (mswindows_resize_subwindow):
14076         Use DeferWindowPos to reduce flashing when mapping/unmapping.
14077
14078         * glyphs.c (make_image_instance_1):
14079         Fix crash.
14080
14081         * gutter.c (Fredisplay_gutter_area):
14082         Use new begin/end methods.
14083
14084         * lisp.h (Dynarr_new2):
14085         New creation fun.
14086
14087         * redisplay-msw.c:
14088         * redisplay-msw.c (mswindows_frame_output_begin):
14089         * redisplay-msw.c (mswindows_frame_output_end):
14090         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14091         New begin/end methods -- handle DeferWindowPos.
14092
14093         * redisplay-output.c (redisplay_move_cursor):
14094         * redisplay-output.c (redraw_cursor_in_window):
14095         * redisplay-output.c (redisplay_update_line):
14096         * redisplay-output.c (redisplay_output_window):
14097         New begin/end methods.
14098
14099         * redisplay-tty.c:
14100         * redisplay-tty.c (tty_frame_output_begin):
14101         * redisplay-tty.c (tty_frame_output_end):
14102         * redisplay-tty.c (console_type_create_redisplay_tty):
14103         New begin/end methods.
14104
14105         * redisplay-x.c:
14106         * redisplay-x.c (x_window_output_begin):
14107         * redisplay-x.c (x_window_output_end):
14108         * redisplay-x.c (console_type_create_redisplay_x):
14109         New begin/end methods.
14110
14111         * redisplay.c (redisplay_frame):
14112         * redisplay.c (Fredisplay_echo_area):
14113         New begin/end methods.
14114         use MAYBE_DEVMETH for clear_frame; it may not exist.
14115
14116         * window.h (WINDOW_XFRAME):
14117         WINDOW_XFOO macros -- get locale and decode struct pointer.
14118
14119
14120 2000-05-12  Ben Wing  <ben@xemacs.org>
14121
14122         * emacs.c:
14123         * emacs.c (ensure_no_quitting_from_now_on):
14124         * emacs.c (fatal_error_signal):
14125         * emacs.c (mswindows_handle_hardware_exceptions):
14126         * emacs.c (main):
14127         * emacs.c (Fkill_emacs):
14128         * emacs.c (shut_down_emacs):
14129         * emacs.c (assert_failed):
14130         various improvements in fatal error handling.
14131
14132         * eval.c:
14133         move preparing_for_armageddon to emacs.c.
14134
14135         * lisp.h:
14136         declare fatal_error_in_progress.
14137
14138         * print.c:
14139         * print.c (std_handle_out_external):
14140         * print.c (std_handle_out_va):
14141         * print.c (stderr_out):
14142         * print.c (stdout_out):
14143         use console under mswin when no standard output.
14144         don't do code conversion during fatal error.
14145
14146         * scrollbar.c (Fscrollbar_page_up):
14147         * scrollbar.c (Fscrollbar_page_down):
14148         fix missing else.  reindent.
14149
14150 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14151
14152         Emergency fix.
14153
14154         * glyphs.h (GLYPH_CACHEL_DESCENT):
14155         (GLYPH_CACHEL_DESCENT):
14156         (GLYPH_CACHEL_DESCENT):
14157         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14158         used in case these are inline functions.
14159         Use more absurd values to error check.
14160
14161         include window.h for error check functions.
14162
14163 2000-05-11  Ben Wing  <ben@xemacs.org>
14164
14165         * cmdloop.c (Freally_early_error_handler):
14166         Display message box under windows; otherwise, message will disappear
14167         before it can be viewed.
14168
14169         * console-msw.c:
14170         * console-msw.c (Fmswindows_message_box):
14171         * console-msw.c (FROB):
14172         * console-msw.c (syms_of_console_mswindows):
14173         Define new fun `mswindows-message-box'.
14174         #### I will merge this into `popup-dialog-box'; just give me
14175         a bit of time.
14176
14177         * general.c:
14178         * general.c (syms_of_general):
14179         Some new symbols used in `mswindows-message-box'.
14180
14181         * glyphs.c:
14182         * glyphs.c (Fset_image_instance_property):
14183         put warning in this fun.
14184
14185         * glyphs.h:
14186         * glyphs.h (GLYPH_CACHEL_WIDTH):
14187         * glyphs.h (GLYPH_CACHEL_ASCENT):
14188         * glyphs.h (GLYPH_CACHEL):
14189         * glyphs.h (GLYPH_CACHEL_GLYPH):
14190         define error-checking versions to try to catch a bug i've seen --
14191         redisplay gets in an infinite loop because the glyph width of the
14192         continuation glyph is 65535.
14193
14194         * lisp.h:
14195         Extern message-box stuff.
14196
14197         * window.c (allocate_window):
14198         * window.c (make_dummy_parent):
14199         * window.c (Fset_window_configuration):
14200         Use EQUAL not EQ for subwindow caches to make them work a bit
14201         better. (Something is still very broken.)
14202
14203
14204 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14205
14206         * glyphs.c (image_instantiate): Suppress gcc warnings.
14207         (Fmake_image_instance): Fix doc string.
14208         * specifier.c (Fmake_specifier): Ditto.
14209
14210 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14211
14212         * paths.h.in (PATH_LOCK): Removed.
14213         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14214         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14215
14216 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14217
14218         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14219         Document (featurep '(and xemacs 21.02)).
14220
14221 2000-05-09  Ben Wing  <ben@xemacs.org>
14222
14223         * buffer.c (complex_vars_of_buffer):
14224         update modeline-format doc.
14225
14226         * device.h:
14227         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14228
14229         * emacs.c:
14230         timeline of all released versions of Emacs, for use in creating
14231         authorship comments and in synching up.
14232
14233         * glyphs-widget.c (image_instantiator_buttons):
14234         * glyphs-widget.c (image_instantiator_edit_fields):
14235         * glyphs-widget.c (image_instantiator_combo_box):
14236         * glyphs-widget.c (image_instantiator_scrollbar):
14237         * glyphs-widget.c (image_instantiator_progress_guage):
14238         * glyphs-widget.c (image_instantiator_tree_view):
14239         * glyphs-widget.c (image_instantiator_tab_control):
14240         * glyphs-widget.c (image_instantiator_labels):
14241         * glyphs-widget.c (image_instantiator_layout):
14242         * glyphs-widget.c (image_instantiator_native_layout):
14243         rename decode_domain method to governing_domain.
14244
14245         * glyphs.c:
14246         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14247         * glyphs.c (add_entry_to_device_ii_format_list):
14248         make sure we don't put an entry more than once into the list.
14249         * glyphs.c (check_instance_cache_mapper):
14250         *************************************************************
14251         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14252         HAVE BEEN GETTING.
14253         *************************************************************
14254         * glyphs.c (get_image_instantiator_governing_domain):
14255         clean up, expand on new concept of governing domain.
14256         * glyphs.c (instantiate_image_instantiator):
14257         * glyphs.c (allocate_image_instance):
14258         use governing_domain instead of cache_domain in naming.
14259         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14260         * glyphs.c (make_image_instance_1):
14261         * glyphs.c (Fmake_image_instance):
14262         allow for any domain (not just device), and process the
14263         governing domain correctly.  very big doc fix.
14264         * glyphs.c (Fimage_instance_domain):
14265         new primitive, to retrieve the governing domain of an image instance.
14266         * glyphs.c (image_instantiate):
14267         use new governing_domain stuff.  this fixes a crash you could get
14268         by instantiating certain widget glyphs in frame locales. (should
14269         signal an error instead of crashing.)
14270         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14271         * glyphs.c (Fglyphp): clean up doc.
14272         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14273         * glyphs.c (syms_of_glyphs):
14274         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14275         * glyphs.c (image_instantiator_format_create): add some comments about
14276         bogus code.
14277         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14278         for current-display-table. (Apparently Hrjove implemented in 1998 a
14279         design I wrote up in 1996, but didn't update the doc string.)
14280
14281         * glyphs.h: clean up a doc string.
14282         * glyphs.h (governing_domain):
14283         * glyphs.h (struct image_instantiator_methods):
14284         changes for governing_domain stuff.
14285
14286         * gutter.c:
14287         * gutter.c (Fgutter_specifier_p):
14288         * gutter.c (Fgutter_size_specifier_p):
14289         * gutter.c (Fgutter_visible_specifier_p):
14290         * objects.c:
14291         * objects.c (Fcolor_specifier_p):
14292         * objects.c (Ffont_specifier_p):
14293         * objects.c (Fface_boolean_specifier_p):
14294         doc strings moved to make-*-specifier.
14295
14296         * redisplay.c (add_disp_table_entry_runes_1):
14297         * redisplay.c (generate_fstring_runes):
14298         * redisplay.c (screen):
14299         add random comments and doc strings.
14300
14301         * specifier.c:
14302         * specifier.c (Fmake_specifier):
14303         major overhaul of this doc string.
14304
14305         * specifier.c (Fvalid_specifier_domain_p):
14306         comment about the bogosity of image instances being domains.
14307         * specifier.c (decode_domain):
14308         now non-static, used in glyphs.c.
14309         * specifier.c (specifier_instance):
14310         comment about the bogosity of image instances being domains.
14311         * specifier.c (Fgeneric_specifier_p):
14312         move doc string to make-generic-specifier.
14313         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14314         rebackslashify.
14315
14316         * specifier.h:
14317         * specifier.h (DOMAIN_FRAME):
14318         * specifier.h (DOMAIN_LIVE_P):
14319         * specifier.h (DOMAIN_XDEVICE):
14320         rebackslashify.
14321         add comments about problems with these macros.
14322         prototype for decode_domain.
14323
14324         * toolbar.c:
14325         * toolbar.c (Ftoolbar_specifier_p):
14326         move doc string to `make-toolbar-specifier'.
14327
14328         * window.c (window_unmap_subwindows_cache_mapper):
14329         *************************************************************
14330         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14331         HAVE BEEN GETTING.
14332         *************************************************************
14333
14334 2000-05-09  Andy Piper  <andy@xemacs.org>
14335
14336         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14337
14338         * window.c (Fset_window_configuration): reset the frame subwindow
14339         cache and re-initialize the window subwindow caches.
14340
14341         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14342
14343 2000-05-09  Ben Wing  <ben@xemacs.org>
14344
14345         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14346         DWORD.
14347
14348 2000-04-26  Mike Woolley  <mike@bulsara.com>
14349
14350         * ntheap.c: Changed recreate_heap to limit the amount reserved
14351         for the heap to that which is actually available. Also now
14352         displays a message box (with some dignostics) in the event that
14353         it still can't start.
14354
14355 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14356
14357         * callproc.c (Fold_call_process_internal): GCPRO path
14358
14359 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14360
14361         Patch by Bill Perry.
14362
14363         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14364         back data instead of #ifdef.
14365         (Fscrollbar_page_down): ditto.
14366
14367 2000-05-07  Ben Wing  <ben@xemacs.org>
14368
14369         * buffer.h:
14370         Kludge for defining Qmswindows_tstr.
14371
14372         * nt.c:
14373         * nt.c (open_input_file):
14374         * nt.c (open_output_file):
14375         * nt.c (rva_to_section):
14376         * nt.c (mswindows_executable_type):
14377         Move all memory-mapped-file routines here (some were in unexnt.c,
14378         which is bad because they are used by process-nt.c, and unexnt
14379         won't be around when portable dumping).  Synched the above routines
14380         with FSF 20.6.
14381
14382         * nt.h:
14383         Removed ifdef'd out bogus code.
14384         Fixed some prototypes.
14385
14386         * nt.h (file_data):
14387         * nt.h (OFFSET_TO_RVA):
14388         * nt.h (RVA_TO_OFFSET):
14389         * nt.h (RVA_TO_PTR):
14390         Moved the memory-mapped-file structures, macros and prototypes
14391         here, to parallel nt.c.  ntheap.h should really be removed
14392         entirely, and it's a non-portable-dumper specific file.
14393
14394         * ntheap.h (round_to_next):
14395         Moved the memory-mapped-file structures, macros and prototypes
14396         to nt.h.
14397
14398         * ntproc.c (compare_env):
14399         Moved rva_to_section and mswindows_executable_type to nt.c.
14400         Moved compare_env to process-nt.c.
14401         ntproc.c will die, one day.
14402
14403         * ntproc.c (sys_spawnve):
14404         Account for win32_ -> mswindows_.
14405
14406         * process-nt.c:
14407         * process-nt.c (struct nt_process_data):
14408         * process-nt.c (ensure_console_window_exists):
14409         * process-nt.c (compare_env):
14410         * process-nt.c (nt_create_process):
14411         * process-nt.c (nt_kill_process_by_pid):
14412         * process-nt.c (syms_of_process_nt):
14413         * process-nt.c (vars_of_process_nt):
14414         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14415         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14416         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14417         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14418         Move compare_env here from ntproc.c.
14419
14420         * process.c (Fprocess_send_region):
14421         Takes an optional fourth argument, BUFFER, which should fix some
14422         problems with call-process.
14423
14424         * syscommctrl.h:
14425         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14426
14427         * syswindows.h:
14428         Move ICC_BAR_CLASSES to syscommctrl.h.
14429         Add preliminary macros for MSWindows/Mule.  More to come.
14430
14431         * unexnt.c:
14432         * unexnt.c (unexec):
14433         open_output_file moved to nt.c.
14434
14435
14436 2000-05-05  Andy Piper  <andy@xemacs.org>
14437
14438         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14439         instance from the frame cache also since GC may catch up too late
14440         to make frame deletion sane.
14441
14442 2000-05-04  Andy Piper  <andy@xemacs.org>
14443
14444         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14445         (x_finalize_image_instance): ungcpro on deletion.
14446
14447         * glyphs.c (image_instantiator_format_create): give pointers a
14448         query geometry method so that the geometry is at least set.
14449
14450         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14451         initialize layouts if using widgets.
14452
14453 2000-05-03  Andy Piper  <andy@xemacs.org>
14454
14455         * nt.c: remove bogus reference to sysmmsystem.h
14456
14457         * gui-x.c (popup_selection_callback): fix no selection abort.
14458
14459 2000-05-02  Andy Piper  <andy@xemacs.org>
14460
14461         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14462         (mswindows_widget_instantiate): ditto.
14463
14464         * glyphs-widget.c (initialize_widget_image_instance): initialize
14465         children correctly.
14466         (widget_instantiate): cope with children and items in the same
14467         instance.
14468
14469         * glyphs.c (mark_image_instance): cope with children as a first
14470         class member.
14471         (image_instance_equal): ditto.
14472         (image_instance_hash): ditto.
14473         (image_instance_changed): ditto.
14474
14475 2000-04-30  Andy Piper  <andy@xemacs.org>
14476
14477         * glyphs.c (subwindow_query_geometry): new function. Return some
14478         defaults.
14479         (subwindow_instantiate): don't assign dimensions if none have been
14480         given.
14481         (image_instantiator_format_create): add subwindow_query_geometry.
14482         (print_image_instance): cope with layouts as widgets.
14483
14484 2000-04-29  Andy Piper  <andy@xemacs.org>
14485
14486         * frame.c (delete_frame_internal): call
14487         free_frame_subwindow_instance_cache so that all subwindows are
14488         finalized before their parent.
14489         (mark_frame): remove subwindow_cachels.
14490         (Fmake_frame): remove subwindow_cachel manipulation.
14491         (allocate_frame_core): subwindow_instance_cache is a weak list.
14492         (delete_frame_internal): set subwindow_instance_cache to nil.
14493
14494         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14495         finalization safe.
14496         (mswindows_finalize_image_instance): use the device
14497         not the domain as the domain may have died already.
14498
14499         * glyphs-x.c (x_finalize_image_instance): ditto.
14500         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14501         HEIGHT.
14502
14503         * redisplay-output.c (redisplay_unmap_subwindows): update for
14504         subwindow instance cache as a weak list.
14505         (redisplay_unmap_subwindows_maybe): ditto.
14506         (redisplay_unmap_subwindows_except_us): ditto.
14507
14508         * glyphs.c (unmap_subwindow): error checking will check the domain
14509         so don't deal with it here. Don't use cachels anymore.
14510         (map_subwindow): ditto.
14511         (update_subwindow_cachel_data): remove old accessor names.
14512         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14513         (Fresize_subwindow): don't update cachel.
14514         (mark_subwindow_cachels):
14515         (update_subwindow_cachel_data):
14516         (add_subwindow_cachel):
14517         (get_subwindow_cachel_index):
14518         (update_subwindow_cachel):
14519         (reset_subwindow_cachels):
14520         (mark_subwindow_cachels_as_not_updated): deleted.
14521         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14522         subwindow instance to the frame cache.
14523         (find_matching_subwindow): update for subwindow instance cache as
14524         a weak list.
14525         (update_widget_instances): ditto.
14526         (image_instance_type_to_mask):inlined.
14527         (free_frame_subwindow_instance_cache): new function. finalize all
14528         subwindows that are instantiated.
14529
14530         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14531         of cachel information.
14532         (IMAGE_INSTANCE_DISPLAY_X):
14533         (IMAGE_INSTANCE_DISPLAY_Y):
14534         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14535         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14536         (XIMAGE_INSTANCE_DISPLAY_X):
14537         (XIMAGE_INSTANCE_DISPLAY_Y):
14538         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14539         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14540         remove subwindow_cachel structure and function references.
14541         (image_instance_type_to_mask): inline from glyphs.c
14542
14543         * redisplay.c (redisplay_frame): remove subwindow_cachel
14544         references.
14545
14546         * frame.h (struct frame): remove subwindow_cachels.
14547         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14548
14549         * frameslots.h: add subwindow_instance_cache.
14550
14551         * window.c (replace_window): check subwindow cache of replacement.
14552         (window_unmap_subwindows_cache_mapper):
14553         (window_unmap_subwindows): new functions. Unmap all subwindows
14554         cached on this window.
14555         (mark_window_as_deleted): unmap all subwindows.
14556
14557 2000-04-27  Andy Piper  <andy@xemacs.org>
14558
14559         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14560
14561         * glyphs-widget.c (widget_layout): return something.
14562         (layout_layout): return something. Fail if not initialized.
14563         (layout_query_geometry): ditto.
14564         (image_instantiator_native_layout): new function. Initialized the
14565         native layout type.
14566         (widget_instantiate): don't do layout stuff here.
14567
14568         * glyphs.c (instantiate_image_instantiator): reorded calling or
14569         instantiate and post_instantiate with layout in between.
14570         (image_instance_layout): be more selective about deciding whether
14571         the layout has been done or not.
14572
14573         * glyphs.h (struct image_instantiator_methods): return a value
14574         from layout_method.
14575
14576 2000-04-26  Andy Piper  <andy@xemacs.org>
14577
14578         * glyphs.c (allocate_image_instance): make initial width and
14579         height unspecified. Set initialized to 0.
14580
14581         * syscommctrl.h new file. Encapsulates commctrl.h.
14582
14583         * syswindows.h new file. Encapsulates windows.h.
14584
14585         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14586         * nt.c: ditto.
14587         * console-msw.h: ditto.
14588
14589         * redisplay-tty.c (tty_output_display_block): remove layout references.
14590
14591         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14592         window handle rather than just the frame.
14593
14594         * glyphs.c (mark_image_instance): remove layout references.
14595         (print_image_instance): ditto.
14596         (image_instance_equal): ditto.
14597         (image_instance_hash): ditto.
14598         (decode_image_instance_type): ditto.
14599         (encode_image_instance_type): ditto.
14600         (image_instantiate): ditto.
14601         (allocate_glyph): ditto.
14602         (Fimage_instance_height): ditto.
14603         (Fimage_instance_width): ditto.
14604         (update_subwindow): ditto.
14605
14606         * redisplay-x.c (x_output_display_block): recode for layouts as
14607         widgets.
14608
14609         * redisplay-output.c (redisplay_output_layout): recode for layouts
14610         as widgets.
14611         (compare_runes): remove layout references.
14612
14613         * redisplay-msw.c (mswindows_output_display_block): recode for
14614         layouts as widgets.
14615
14616         * glyphs-widget.c (image_instantiator_layout): remove
14617         layout_possible_dest_types.
14618         (layout_possible_dest_types): deleted.
14619
14620         * glyphs.h (image_instance_type): remove layout references.
14621         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14622         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14623         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14624
14625 2000-04-25  Andy Piper  <andy@xemacs.org>
14626
14627         * glyphs-widget.c (image_instantiator_buttons):
14628         (image_instantiator_edit_fields):
14629         (image_instantiator_combo_box):
14630         (image_instantiator_scrollbar):
14631         (image_instantiator_progress_guage):
14632         (image_instantiator_tree_view):
14633         (image_instantiator_tab_control):
14634         (image_instantiator_labels):
14635         (image_instantiator_layout): call default post_instantiate method.
14636         (widget_post_instantiate): new function. Simply lays out the
14637         widgets.
14638
14639         * glyphs.h (struct image_instantiator_methods): add
14640         post_instantiate method.
14641
14642         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14643         method calls.
14644
14645 2000-04-23  Andy Piper  <andy@xemacs.org>
14646
14647         * glyphs.h (struct image_instantiator_methods): add
14648         decode_domain_method.
14649         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14650         derived from the domain.
14651         (IMAGE_INSTANCE_FRAME): new accessor.
14652         (XIMAGE_INSTANCE_FRAME): ditto.
14653
14654         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14655         instead of _SUBWINDOW_FRAME.
14656         (finalize_image_instance): ditto.
14657         (Fimage_instance_foreground): ditto.
14658         (Fimage_instance_background): ditto.
14659         (image_instantiate): ditto.
14660         (update_subwindow_cachel): ditto.
14661         (update_subwindow): ditto.
14662         (unmap_subwindow): ditto.
14663         (map_subwindow): ditto
14664         (subwindow_instantiate): ditto.
14665         * glyphs-msw.c (mswindows_update_widget): ditto.
14666         (mswindows_progress_gauge_instantiate): ditto.
14667         (mswindows_tab_control_update): ditto.
14668         * glyphs-x.c (x_update_widget): ditto.
14669         (x_widget_instantiate): ditto.
14670         (x_tab_control_instantiate): ditto.
14671         (x_tab_control_update): ditto.
14672         * event-msw.c (mswindows_wnd_proc): ditto
14673
14674         * glyphs-widget.c (image_instantiator_layout): use
14675         subwindow_decode_domain.
14676         (image_instantiator_buttons): ditto.
14677         (image_instantiator_edit_fields): ditto.
14678         (image_instantiator_combo_box): ditto.
14679         (image_instantiator_scrollbar): ditto.
14680         (image_instantiator_progress_guage): ditto.
14681         (image_instantiator_tree_view): ditto.
14682         (image_instantiator_tab_control): ditto.
14683         (image_instantiator_labels): ditto.
14684         (image_instantiator_layout): ditto.
14685
14686         * glyphs.c: add instance error checking to many functions.
14687         (instantiate_image_instantiator): decode device from cache_domain.
14688         (image_instantiate): partially rewrite by using
14689         decode_image_instantiator_domain to determine what domain the
14690         instance needs to be cached in.
14691         (decode_image_instantiator_domain): new function. Determine what
14692         domain the image needs to be cached in.
14693         (check_window_subwindow_cache): new error checking function.
14694         (check_instance_cache_mapper): ditto.
14695         (check_image_instance_structure): ditto.
14696         (subwindow_decode_domain): new function. Encodes a window as a
14697         subwindow's cache domain.
14698         (image_instantiator_format_create): use it for text and
14699         subwindows.
14700
14701 2000-04-21  Andy Piper  <andy@xemacs.org>
14702
14703         * glyphs.c (image_instance_device): new function.
14704         (image_instance_frame): new function.
14705         (image_instance_window): new function.
14706         (image_instance_live_p): new function.
14707
14708         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14709         cache to nil.
14710
14711         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14712         (IMAGE_INSTANCE_DOMAIN): new accessor.
14713         (XIMAGE_INSTANCE_DOMAIN): ditto.
14714
14715         * glyphs-x.c (x_finalize_image_instance): device->domain.
14716
14717         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14718         (mswindows_finalize_image_instance): ditto.
14719
14720         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14721         (gif_instantiate): ditto.
14722         (png_instantiate): ditto.
14723         (tiff_instantiate): ditto.
14724
14725         * glyphs.c (instantiate_image_instantiator): use domain rather
14726         than device.
14727         (mark_image_instance): device -> domain.
14728         (print_image_instance): ditto.
14729         (finalize_image_instance): ditto.
14730         (image_instance_equal): ditto.
14731         (allocate_image_instance): ditto.
14732         (Fcolorize_image_instance): ditto.
14733         (query_string_geometry): ditto.
14734         (image_instantiate): ditto
14735         (query_string_font): ditto.
14736         (image_instantiate): ditto.
14737         (update_subwindow): ditto.
14738         (unmap_subwindow): ditto.
14739         (map_subwindow): ditto.
14740         (subwindow_instantiate): ditto.
14741
14742         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14743         (DOMAIN_FRAME): ditto.
14744         (DOMAIN_WINDOW): ditto.
14745         (DOMAIN_LIVE_P): ditto.
14746         (XDOMAIN_DEVICE): ditto.
14747         (XDOMAIN_FRAME): ditto.
14748         (XDOMAIN_WINDOW): ditto.
14749
14750         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14751         a valid specifier domain.
14752
14753 2000-04-19  Andy Piper  <andy@xemacs.org>
14754
14755         * glyphs-widget.c (syms_of_glyphs_widget): remove
14756         widget-callback-current-channel.
14757         (vars_of_glyphs_widget): ditto.
14758         * glyphs.h: ditto
14759
14760         * gui.c (get_gui_callback): revert to previous behaviour.
14761
14762 2000-04-18  Andy Piper  <andy@xemacs.org>
14763
14764         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14765         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14766         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14767
14768         * glyphs.c (image_instance_equal): add margin_width.
14769         (image_instance_hash): ditto.
14770
14771         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14772         (layout_query_geometry): ditto.
14773         (layout_layout): ditto.
14774         (syms_of_glyphs_widget): add margin-width.
14775         (image_instantiator_layout): allow margin-width.
14776
14777         * glyphs.c (update_widget_instances): make a normal function.
14778         (syms_of_glyphs): remove Qupdate_widget_instances.
14779         * glyphs.h: ditto.
14780
14781         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14782         so that we don't corrupt ideas about the last event or
14783         command. Remove widget-callback-current-channel fiddling.
14784         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14785
14786 2000-05-01  Martin Buchholz <martin@xemacs.org>
14787
14788         * XEmacs 21.2.33 is released.
14789
14790 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14791
14792         * make-src-depend: Allow dots in header file name.
14793
14794 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14795
14796         * mule-charset.h (struct charset_lookup): Add
14797         next_allocated_1_byte_leading_byte and
14798         next_allocated_2_byte_leading_byte.
14799         * mule-charset.c: Move above two variables so that those values
14800         will be dumped.
14801
14802 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14803
14804         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14805         when string length is zero.
14806         (find_charsets_in_emchar_string): Ditto.
14807
14808 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14809
14810         * lisp.h: extern Qdialog and Qmenubar.
14811
14812         * gui-x.c: added events.h.
14813                 also fixed typo which made the file uncompilable.
14814
14815         * general.c: Added Qmenubar and Qdialog
14816
14817 2000-04-28  Ben Wing  <ben@xemacs.org>
14818
14819         * frame-msw.c (mswindows_init_frame_1):
14820         * frame-msw.c (mswindows_mark_frame):
14821         * event-msw.c (mswindows_enqueue_dispatch_event):
14822         * console-msw.h:
14823         * console-msw.h (struct mswindows_frame):
14824         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14825         there are now three hash tables for callbacks.
14826         mswindows_enqueue_dispatch_event is no longer static.
14827
14828         * dialog-x.c (maybe_run_dbox_text_callback):
14829         * dialog-x.c (dbox_descriptor_to_widget_value):
14830         switch to new cons3 form for callbacks.
14831
14832         * glyphs-msw.c (mswindows_register_gui_item):
14833         * glyphs-msw.c (mswindows_widget_instantiate):
14834         * glyphs-msw.c (add_tree_item):
14835         * glyphs-msw.c (add_tab_item):
14836         new image instance parameter, so it can be passed to callback-ex.
14837         respect :callback-ex as well as :callback.
14838
14839         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14840         add :callback-ex.
14841
14842         * glyphs.c (print_image_instance):
14843         prettify, e.g. now prints widget type.
14844
14845         * gui-x.h:
14846         certain funs have new image instance parameter.
14847
14848         * gui.c:
14849         * gui.c (get_gui_callback):
14850         * gui.c (gui_item_add_keyval_pair):
14851         * gui.c (gui_item_init):
14852         * gui.c (gui_add_item_keywords_to_plist):
14853         * gui.c (mark_gui_item):
14854         * gui.c (gui_item_hash):
14855         * gui.c (gui_item_equal):
14856         * gui.c (copy_gui_item):
14857         * gui.c (syms_of_gui):
14858         recognize callback-ex in a number of places.
14859         also, fix the annoying "can't get out of yes-no dialog" bug.
14860
14861         * gui.h:
14862         * gui.h (struct Lisp_Gui_Item):
14863         recognize callback-ex in a number of places.
14864
14865         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14866         new parameter in button_item_to_widget_value.
14867
14868         * glyphs-x.c (x_update_widget):
14869         * glyphs-x.c (x_button_instantiate):
14870         * glyphs-x.c (x_button_update):
14871         * glyphs-x.c (x_progress_gauge_instantiate):
14872         * glyphs-x.c (x_edit_field_instantiate):
14873         * glyphs-x.c (x_combo_box_instantiate):
14874         * glyphs-x.c (x_tab_control_instantiate):
14875         * glyphs-x.c (x_label_instantiate):
14876         new image instance parameter in various places.
14877
14878         * event-Xt.c:
14879         * event-Xt.c (enqueue_Xt_dispatch_event):
14880         this fun gets exported.
14881
14882         * gui-msw.c:
14883         * gui-msw.c (mswindows_handle_gui_wm_command):
14884         handle both :callback and :callback-ex, and generate our own
14885         event because it's one of the callback-ex arguments.
14886
14887         * gui-x.c:
14888         * gui-x.c (popup_selection_callback):
14889         handle both :callback and :callback-ex, and generate our own
14890         event because it's one of the callback-ex arguments.
14891         * gui-x.c (button_item_to_widget_value):
14892         * gui-x.c (gui_items_to_widget_values_1):
14893         * gui-x.c (gui_item_children_to_widget_values):
14894         * gui-x.c (gui_items_to_widget_values):
14895         new image instance parameter in various places.
14896
14897         * fns.c (Freplace_list):
14898         fix small typo in doc string.
14899
14900         * lisp.h:
14901         declare enqueue_Xt_dispatch_event.
14902
14903 2000-04-28  Ben Wing  <ben@xemacs.org>
14904
14905         * buffer.c:
14906         * buffer.c (Frecord_buffer):
14907         * buffer.c (syms_of_buffer):
14908         delete record-buffer-hook.
14909
14910         * fns.c:
14911         * fns.c (Freplace_list):
14912         * fns.c (syms_of_fns):
14913         new primitive replace-list.
14914
14915         * frameslots.h:
14916         slot for old buffer-alist.
14917
14918         * lisp.h:
14919         exfun replace-list.
14920
14921         * redisplay.c:
14922         * redisplay.c (redisplay_frame):
14923         * redisplay.c (syms_of_redisplay):
14924         * redisplay.c (vars_of_redisplay):
14925         new hook buffer-list-changed-hook.
14926         call it.
14927
14928 2000-04-27  Ben Wing  <ben@xemacs.org>
14929
14930         * extents.h: extern in_modeline_generation.
14931
14932         * redisplay.c (generate_formatted_string_db): set
14933         in_modeline_generation.
14934
14935         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14936         flags if in modeline generation.  otherwise frame-modified-tick
14937         is ticked far too often.
14938         Declare in_modeline_generation.
14939
14940 2000-04-26  Ben Wing  <ben@xemacs.org>
14941
14942         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14943         option.
14944         (vars_of_emacs): add quick-build as an error-checking option.
14945         A bit kludgy, but there doesn't seem much point in creating
14946         a real var for this.
14947
14948         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14949
14950 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14951
14952         * redisplay.h (struct display_line): Add a new variable,
14953         line_continuation.
14954
14955         * redisplay.c (create_text_block): Set dl->line_continuation if
14956         the line continues.
14957         (create_string_text_block): Ditto.
14958         (regenerate_window_incrementally): Use line_continuation instead
14959         of searching continuation glyph.
14960         (add_margin_runes): Call add_glyph_rune.
14961         (add_glyph_rune): Handle margin glyph.
14962
14963 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14964
14965         * filelock.c (fill_in_lock_file_name):
14966         ANSIfy.
14967         Check for IS_ANY_SEP instead of '/'.
14968         (lock_file_1):
14969         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14970         Never check errno without first seeing that system call failed.
14971         (unlock_file): Add GCPRO.
14972         (Flock_buffer): Fix docstring.
14973         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14974
14975 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14976
14977         * sysdep.c (get_pty_max_bytes):
14978         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14979         strings longer than 252 bytes.
14980
14981         * md5.c: Unconditionally include ANSI header <limits.h>
14982
14983         * glyphs-x.c (convert_EImage_to_XImage):
14984         * lisp-union.h (union Lisp_Object):
14985         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14986
14987 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14988
14989         * filelock.c (current_lock_owner): Remove unused variable o, p.
14990
14991 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14992
14993         * callint.c: Remove multiply defined symbol Qlet
14994         (syms_of_callint): ditto.
14995
14996 2000-04-14  Andy Piper  <andy@xemacs.org>
14997
14998         * general.c (syms_of_general): add last-command, this-command, let
14999         and funcall.
15000
15001         * lisp.h: declare various symbols.
15002
15003         * glyphs.h: declare Qwidget_callback_current_channel;
15004
15005         * glyphs-widget.c (syms_of_glyphs_widget): add
15006         Qgui_callback_current_channel.
15007         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
15008
15009         * gui-msw.c (mswindows_handle_gui_wm_command): bind
15010         widget-callback-current-channel when invoking the interactive
15011         arg. Also bind last-command and next-command when invoking the
15012         widget updates.
15013         * gui-x.c (popup_selection_callback): ditto.
15014
15015         * gui.c (get_gui_callback): massage args so that we are always
15016         calling eval. This allows us to add our own variable bindings
15017         outside.
15018
15019         * glyphs-x.c (x_button_instantiate): use
15020         gui_items_to_widget_values since this is GC safe.
15021         (x_progress_gauge_instantiate): ditto.
15022         (x_edit_field_instantiate): ditto.
15023         (x_label_instantiate): ditto.
15024
15025         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
15026         (emacs_Xt_event_widget_focus_out): new function
15027         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
15028         focus.
15029         (emacs_Xt_event_add_widget_actions): new function. add focus
15030         functions as actions.
15031         (init_event_Xt_late): use it.
15032
15033 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
15034
15035         * event-stream.c (Fdispatch_event): Doc fix.
15036
15037 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
15038
15039         * postgresql.c: Remove all references to PQsetenv*.
15040
15041         * postgresql.h: Remove references to PGsetenvHandler object.
15042         * lrecord.h (lrecord_type): Ditto.
15043
15044 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15045
15046         * glyphs-msw.h (struct mswindows_image_instance_data): Added
15047         real_heigh and real_width members, and accessor macros for these.
15048
15049         * glyphs-msw.c (init_image_instance_geometry): New function.
15050         (init_image_instance_from_dibitmap): Use it.
15051         (mswindows_resource_instantiate): Use it.
15052         (init_image_instance_from_xbm_inline): Use it.
15053         (mswindows_initialize_image_instance_mask): Use real bitmap
15054         geometry.
15055         (mswindows_create_resized_bitmap): Ditto.
15056         (mswindows_create_resized_mask): Ditto.
15057
15058         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
15059         and bitmap to their surface size.
15060
15061 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
15062
15063         * process-unix.c (unix_send_process): Guard against process MIA
15064         after Faccept_process_output.
15065
15066 2000-04-11  Ben Wing  <ben@xemacs.org>
15067
15068         * eval.c (unbind_to_hairy): fix brokenness introduced by
15069         nanosecond speed improvements.
15070
15071 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
15072
15073         * sunplay.c (init_device): To play sounds correctly, the device
15074         apparently needs to be initialized at least once by XEmacs.  Make
15075         it so.
15076
15077 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15078
15079         * redisplay.c (add_margin_runes): Add text image glyph
15080           handling.
15081
15082 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15083
15084         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15085         gcc is newer than 2.5.
15086
15087 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15088
15089         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15090
15091         * fns.c (size_bit_vector):
15092         * alloc.c (size_vector):
15093         (make_vector_internal):
15094         (make_bit_vector_internal):
15095         (sweep_bit_vectors_1):
15096         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15097
15098 2000-04-06  Andy Piper  <andy@xemacs.org>
15099
15100         * gmalloc.c (malloc): undo previous change.
15101         (malloc): ditto.
15102         (free): ditto.
15103         (realloc): ditto.
15104
15105 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15106
15107         * line-number.c (buffer_line_number): Revert to former version.
15108
15109 2000-04-06  Andy Piper  <andy@xemacs.org>
15110
15111         * gmalloc.c (malloc): add error checking.
15112         (malloc): ditto.
15113         (free): ditto.
15114         (realloc): ditto.
15115
15116         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15117         button_item_to_widget_value arg.
15118
15119         * glyphs-x.c (x_button_instantiate): add extra
15120         button_item_to_widget_value arg.
15121         (x_progress_gauge_instantiate): ditto.
15122         (x_edit_field_instantiate): ditto.
15123         (x_label_instantiate): ditto.
15124
15125         * gui-x.c (gui_items_to_widget_values_1): add extra
15126         button_item_to_widget_value arg.
15127         (button_item_to_widget_value): add extra menu_item_p arg.
15128
15129         * gui-x.h: change signature of button_item_to_widget_value.
15130
15131         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15132         button_item_to_widget_value arg.
15133
15134 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15135
15136         * buffer.h (struct buffer): auto_save_modified should be long.
15137
15138 2000-04-05  Andy Piper  <andy@xemacs.org>
15139
15140         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15141         type.
15142         (button_query_geometry): give a little more room so that athena
15143         buttons fit.
15144
15145 2000-04-05  Andy Piper  <andy@xemacs.org>
15146
15147         * faces.c (complex_vars_of_faces): The widget face should inherit
15148         the font of the gui-element face.
15149
15150 2000-04-04  Andy Piper  <andy@xemacs.org>
15151
15152         * glyphs-x.c (x_button_update): new function. unconditionally
15153         update a button's state when the instance is dirty.
15154         (image_instantiator_format_create_glyphs_x): add x_button_update.
15155         (x_widget_instantiate): remove old resize cruft.
15156
15157 2000-04-02  Andy Piper  <andy@xemacs.org>
15158
15159         * frame.c (change_frame_size_1): The introduction of gutters means
15160         that we need to allow 0 as a potential frame dimension.
15161
15162 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15163
15164         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15165         image glyph if allow_cursor.
15166         (add_hscroll_rune): Don't allow cursor to border glyph.
15167         (create_text_block): Ditto.
15168
15169         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15170         text not in buffer.
15171         (redisplay_output_layout): Call ensure_face_cachel_complete for
15172         text image glyph.
15173
15174
15175 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15176
15177         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15178
15179         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15180         not in buffer
15181
15182         * redisplay-tty.c (tty_output_display_block): Delete the routine
15183         for text image glyph
15184         * redisplay-x.c (x_output_display_block): ditto
15185         * redisplay-msw.c (mswindows_output_display_block): ditto
15186
15187 2000-02-02  Mike Alexander  <mta@arbortext.com>
15188
15189         Note: Some of these were committed by accident as part of other
15190         patches.
15191
15192         * regex.c (regex_compile): Avoid compiler warnings.
15193
15194         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15195
15196         * nt.h: Declare term_ntproc correctly.
15197
15198         * nt.c: Remove incorrect declaration of get_home_directory which
15199         is declared correctly in lisp.h.
15200
15201         * keymap.c (get_keyelt): Avoid compiler warnings.
15202         (raw_lookup_key_mapper): Avoid compiler warnings.
15203
15204         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15205
15206         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15207
15208         * filemode.c (mode_string): Avoid compiler warnings.
15209
15210         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15211         avoid warning.
15212
15213         * events-mod.h: Undef some things that winuser.h defines differently.
15214
15215         * data.c (Faset): Avoid compiler warnings.
15216
15217         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15218
15219 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15220
15221         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15222         Fall through to simple beep on error.
15223         Replace "extern" by real header file.
15224
15225         * linuxplay.c: Use nativesound.h
15226         (play_sound_data): Return error code. Be less verbose on error.
15227
15228         * sunplay.c: Use nativesound.h
15229         (play_sound_data): Return error code. Be less verbose on error.
15230
15231         * ntplay.c: Use nativesound.h
15232         (play_sound_data): Return fake error code
15233
15234         * sgiplay.c: Use nativesound.h
15235         (play_sound_data): Return error code
15236
15237         * hpplay.c: Use nativesound.h, partially implement
15238         new error code. Break compilation until finished.
15239         (play_sound_data): error code.
15240
15241         * nativesound.h (play_sound_file):
15242           (play_sound_data): Prototype in new header.
15243
15244 2000-03-31  Andy Piper  <andy@xemacs.org>
15245
15246         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15247         for toggle and radio buttons.
15248         (image_instantiator_buttons): use it.
15249
15250 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15251
15252         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15253         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15254         found. Scrollbar event probably belonged to some old config.
15255
15256 2000-03-31  Andy Piper  <andy@xemacs.org>
15257
15258         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15259         than 1.
15260         (initialize_widget_image_instance): default layout to
15261         LAYOUT_HORIZONTAL rather than 0.
15262         (widget_instantiate): reverse the item list at the end rather than
15263         every iteration.
15264         (layout_layout): re-code for the border text at the front of the
15265         item list rather than at the end.
15266         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15267         provided by the user.
15268         (widget_query_geometry): comment.
15269
15270 2000-03-30  Andy Piper  <andy@xemacs.org>
15271
15272         * glyphs-widget.c (image_instantiator_layout): allow standard
15273         widget keywords in layouts.
15274
15275         * gutter.c (output_gutter): cope with nil gutter contents.
15276
15277         * frame.c (Fset_frame_properties): add gutter docs.
15278
15279 2000-03-29  Andy Piper  <andy@xemacs.org>
15280
15281         * toolbar-msw.c (TBSTYLE_FLAT): add.
15282         (mswindows_output_toolbar): minor fiddling.
15283
15284 2000-03-29  Andy Piper  <andy@xemacs.org>
15285
15286         * gutter.c (output_gutter): force gutter size recalculation if
15287         what we are trying to display won't fit.
15288         (update_gutter_geometry): new function. A per-gutter version of
15289         update_frame_gutter_geometry.
15290         (update_frame_gutter_geometry): use it.
15291         (redraw_exposed_gutter): add extra debugging output.
15292
15293 2000-03-28  Mike Alexander  <mta@arbortext.com>
15294
15295         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15296         (pdump_file_unmap): Implement it on Windows
15297         (pdump_file_get): Save alocated handles for pdump_file_unmap
15298
15299 2000-03-28  Andy Piper  <andy@xemacs.org>
15300
15301         * gui.c (get_gui_callback): treat Quit specially.
15302
15303 2000-03-27  Andy Piper  <andy@xemacs.org>
15304
15305         * glyphs.c (image_instantiate): be careful to check in the same
15306         way we assigned.
15307
15308 2000-03-27  Didier Verna  <didier@xemacs.org>
15309
15310         * config.h.in: define the proper SMART_INCLUDE macro.
15311         handle renaming of `foo_h_path' to `foo_h_file'.
15312
15313         * database.c: ditto.
15314
15315         * emacs.c: ditto.
15316
15317         * linuxplay.c: ditto.
15318
15319         * terminfo.c: ditto.
15320
15321         * tooltalk.h: ditto.
15322
15323 2000-03-27  Andy Piper  <andy@xemacs.org>
15324
15325         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15326         gets updated whenever the face might have changed.
15327
15328 2000-03-26  Mike Alexander  <mta@arbortext.com>
15329
15330         * dumper.c (pdump_resource_free): Fix the comment.
15331
15332 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15333
15334         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15335
15336 2000-03-22  Mike Alexander  <mta@arbortext.com>
15337
15338         * dumper.c: Include Windows headers on Windows
15339         (pdump_resource_free): Add a body to the function
15340         (pdump_load): exe_name -> exe_path and add some comments.
15341
15342 2000-03-25  Mike Alexander  <mta@arbortext.com>
15343
15344         * gui.c (copy_gui_item_tree): Return a value in all cases
15345
15346 2000-03-21  Didier Verna  <didier@xemacs.org>
15347
15348         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15349         lwlib/config.h.in.
15350         (SMART_INCLUDE): new macro.
15351         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15352         the proper location.
15353
15354         * postgresql.c: use it.
15355
15356         * inline.c: ditto.
15357
15358 2000-03-24  Andy Piper  <andy@xemacs.org>
15359
15360         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15361         do this.
15362
15363 2000-03-24  Andy Piper  <andy@xemacs.org>
15364
15365         * redisplay-output.c (compare_runes): use image_instance_changed
15366         to detect changes. Do not depend on glyphs_changed, only depend on
15367         dirtiness.
15368          (redisplay_output_layout): add debug messages.
15369         (compare_runes): ditto.
15370
15371         * glyphs.h: declare new functions.
15372         (struct Lisp_Image_Instance): remove percent and associated
15373         accessors.
15374
15375         * gui.h: declare new copying functions.
15376
15377         * gui.c (copy_gui_item_tree): new function.
15378         (copy_gui_item): new function.
15379         (gui_item_id_hash): revert to standard hash.
15380         (gui_item_hash): ditto.
15381         (gui_item_hash_internal): deleted.
15382         (mark_gui_item): mark value.
15383         (gui_item_add_keyval_pair): add value.
15384         (gui_item_init): ditto.
15385         (gui_add_item_keywords_to_plist): ditto.
15386         (gui_item_equal): ditto.
15387         (syms_of_gui): add Q_value.
15388
15389         * glyphs-x.c (x_progress_gauge_update): use pending items and
15390         value for setting the state.
15391         (x_update_widget): don't set items from pending here.
15392
15393         * glyphs-widget.c (update_widget): update items here.
15394         (progress_gauge_set_property): use items for storing value. Put
15395         new value in pending items.
15396
15397         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15398         items for new value. Convert percent -> value.
15399         (mswindows_tab_control_update): don't update items here.
15400
15401         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15402         (update_subwindow): ditto.
15403         (image_instance_changed): new function. Compare hash values and
15404         past and present widget items.
15405         (image_instantiate): We more careful about where we instantiate
15406         things.
15407         (image_instantiate): add error checking.
15408
15409         * gutter.c (syms_of_gutter): use -hook.
15410
15411 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15412
15413         * console-tty.c (Fset_console_tty_input_coding_system): Use
15414         Qkeyboard.
15415         (Fset_console_tty_output_coding_system): Use Qterminal.
15416         (tty_init_console): Use Qkeyboard and Qterminal.
15417
15418 2000-03-21  Ben Wing  <ben@xemacs.org>
15419
15420         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15421         From Mike Alexander <mta@arbortext.com>.
15422
15423 2000-03-21  Ben Wing  <ben@xemacs.org>
15424
15425         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15426         process brokenness.  Proper implementation to come.
15427         * callproc.c:
15428         Rename call-process-internal to old-call-process-internal.
15429         New impl. in process.el.
15430
15431 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15432
15433         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15434
15435 2000-03-20  Andy Piper  <andy@xemacs.org>
15436
15437         * glyphs.c (full_list_hash): make hashes of the same elements in
15438         different orders return different values.
15439
15440 2000-03-20  Martin Buchholz <martin@xemacs.org>
15441
15442         * XEmacs 21.2.32 is released.
15443
15444 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15445
15446         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15447         (DFC_MALLOC_USE_CONVERTED_DATA):
15448         Add aliasing-safe casts to allow use with char* or unsigned char*
15449         lvalues.
15450
15451         * eldap.c (Fldap_open):
15452         (Fldap_search_basic):
15453         (Fldap_add):
15454         (Fldap_modify):
15455         Make C++-compilable.
15456         Make sure GCPRO'ed variables are initialized.
15457         Use temp variables to avoid repeated calls to Flength.
15458
15459 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15460
15461         * sysfile.h:
15462         Make sure PATH_MAX is always defined.
15463         Include limits.h for PATH_MAX.
15464         Deprecate use of MAXPATHLEN.
15465
15466 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15467
15468         * emacs.c: Add reinit_vars_of_fileio.
15469         * symsinit.h: Add reinit_vars_of_fileio.
15470         * fileio.c (reinit_vars_of_fileio): New.
15471         * fileio.c (Fmake_temp_name):
15472         Initialize temp_name random number from microseconds to make
15473         collisions even less likely.  Initialize always at process startup
15474         time.  (make-temp-name) used to return the same file name twice in
15475         a row when PDUMP.
15476         Random stylistic fiddling.
15477         Comment fixes.
15478
15479 2000-03-20  Andy Piper  <andy@xemacs.org>
15480
15481         * glyphs.c (image_instantiate): allow text glyphs to be
15482         instantiated in the minibuffer window.
15483
15484 2000-03-19  Andy Piper  <andy@xemacs.org>
15485
15486         * glyphs.c (image_instance_hash): be careful about which items we
15487         hash on.
15488
15489         * glyphs-widget.c (tab_control_set_property): record into pending
15490         items rather than the actual items.
15491
15492         * glyphs-x.c (x_update_widget): use pending items to update with.
15493
15494         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15495         to update with.
15496
15497         * glyphs.c (mark_image_instance): mark pending items.
15498
15499         * window.c (Fset_window_configuration): record the buffer.
15500         (Fselect_window): totally revert previous change which breaks many
15501         things.
15502
15503 2000-03-18  Andy Piper  <andy@xemacs.org>
15504
15505         * glyphs-msw.c (mswindows_tab_control_update): force selected
15506         item.
15507
15508         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15509         window domain cache, otherwise we get inconsistencies at
15510         startup. There is something fishy at startup which can lead to the
15511         minibuffer being the selected window when the gutter content is
15512         instantiated.
15513
15514         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15515         gcpros.
15516         (parse_gui_item_tree_children): ditto.
15517         (parse_gui_item_tree_item): ditto.
15518
15519         * glyphs.c (Fupdate_widget_instances): return something.
15520
15521 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15522
15523         * window.c (Fselect_window): Undo 2000-03-17 change.
15524
15525 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15526
15527         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15528         against v7.0 libraries.  Insta-coredump city until the postgres
15529         folks fix it.
15530
15531 2000-03-17  Andy Piper  <andy@xemacs.org>
15532
15533         * faces.c (complex_vars_of_faces): don't give the widget face an
15534         inherited background pixmap.
15535
15536         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15537         selected item.
15538
15539         * event-stream.c (Fdispatch_non_command_events): return something.
15540
15541         * gutter.c (output_gutter): use widget face.
15542         (clear_gutter): ditto.
15543
15544         * NEWS: adjust again.
15545
15546         * window.c (Fselect_window): make sure this runs to completion to
15547         avoid oddities with Fset_window_configuration.
15548         (Fcurrent_window_configuration): in general do not save the
15549         minibuffer as the selected window.
15550
15551         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15552
15553 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15554
15555         * emacs.c (Frunning_temacs_p): Revert previous patch.
15556         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15557
15558 2000-03-16  Andy Piper  <andy@xemacs.org>
15559
15560         * glyphs-x.c (x_tab_control_update): if no widget values then
15561         return.
15562
15563         * NEWS: update for new features.
15564
15565         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15566         synthetic event to the native system.
15567         (reinit_vars_of_event_Xt): set force_event_pending to
15568         emacs_Xt_force_event_pending.
15569
15570         * events.h (struct event_stream): add force_event_pending.
15571
15572         * specifier.c (recompute_one_cached_specifier_in_window): add
15573         comment.
15574
15575         * redisplay.c (redisplay_frame): don't call
15576         update_frame_subwindows. Reset subwindow cachels when
15577         subwindows_changed, removing this was an optimization too far.
15578
15579         * redisplay-output.c (compare_runes): reorganize so that we catch
15580         glyph changes when we want them. Set optimize_output when this
15581         would help layouts.
15582         (redisplay_output_layout): remove frame_really_changed, use
15583         optimize_output instead.
15584
15585         * redisplay-msw.c (mswindows_output_display_block): reset
15586         optimize_output after outputting a glyph.
15587         * redisplay-x.c (x_output_display_block): ditto.
15588         * redisplay-tty.c (tty_output_display_block): ditto.
15589
15590         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15591         functions.
15592         (gutter_specs_changed): do specific gutter positions.
15593         (top_gutter_specs_changed): new function. Only update the
15594         specified gutter specs.
15595         (bottom_gutter_specs_changed): ditto.
15596         (left_gutter_specs_changed): ditto.
15597         (right_gutter_specs_changed): ditto.
15598
15599         * gui.c (gui_item_hash_internal): new function, does a real hash.
15600         (gui_item_id_hash): use it.
15601         (gui_item_hash): hash the eval'ed gui_item.
15602
15603         * gui-x.c (popup_selection_callback): send an eval event to call
15604         Fupdate_widget_instances.
15605
15606         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15607         to call Fupdate_widget_instances.
15608
15609         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15610         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15611
15612         * glyphs.c: (update_frame_subwindows): deleted.
15613         (Fupdate_widget_instances): new function for updating the dirty
15614         state of widgets that might have changed.
15615         (syms_of_glyphs): add Qupdate_widget_instances.
15616         (full_list_hash): hash a list completely.
15617         (image_instance_hash): use it for items and properties.
15618
15619         * frame-msw.c (mswindows_size_frame_internal): remove unused
15620         variable.
15621
15622         * faces.h (struct face_cachel): fix comment.
15623
15624         * event-stream.c (Fdispatch_non_command_events): new
15625         function. Process non-command events, forcing an event cycle
15626         beforehand.
15627         (syms_of_event_stream): declare.
15628         (event_stream_force_event_pending): new function. Force an event
15629         on the native event queue so that an event cycle will occur next
15630         time we check.
15631
15632         * event-msw.c:
15633         (struct ntpipe_shove_stream):
15634         (mswindows_enqueue_dispatch_event):
15635         (mswindows_dequeue_dispatch_event):
15636         (mswindows_cancel_dispatch_event):
15637         (mswindows_pump_outstanding_events):
15638         (mswindows_drain_windows_queue):
15639         (mswindows_handle_paint):
15640         (mswindows_wnd_proc):
15641         (mswindows_key_to_emacs_keysym):
15642         (get_process_input_waitable):
15643         (emacs_mswindows_delete_stream_pair): re-indent file.
15644         (mswindows_need_event): do not process further fds if the windows
15645         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15646         fixes the 100% cpu problem.
15647         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15648
15649 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15650
15651         * alloc.h: New.
15652         * dumper.h: New.
15653         * dumper.c: New.
15654
15655         * emacs.c: Moved dump file searching to dumper.c.
15656         (Frunning_temacs_p): Fixed.
15657
15658         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15659         last_lrecord_type_index_assigned.
15660
15661 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15662
15663         * symsinit.h: Added reinit parameter to init_console_stream
15664         declaration.
15665
15666         * lisp.h: Added file parameter to pdump_load declaration.
15667
15668         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15669         support.  Added dump file searching.
15670
15671         * config.h.in: Added EMACS_PROGNAME.
15672
15673         * console-stream.c (init_console_stream): Fix reinitialisation
15674         when running from temacs.
15675
15676         * alloc.c (pdump): Add id support.
15677         (pdump_load): Add file parameter and signature/id support.
15678
15679         * Makefile.in.in: Add full pdump support.
15680
15681 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15682
15683         * postgresql.c: Update documentation to reflect latest code
15684         status.
15685         (print_result): Show tuple counts in printed representation when
15686         appropriate.
15687         (Fpq_put_nbytes): MULE-ize.
15688         (Fpq_get_line_async): Ditto.
15689
15690 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15691
15692         * postgresql.c (Fpq_lo_import): Fix return value.
15693         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15694
15695 2000-03-13  Ben Wing  <ben@xemacs.org>
15696
15697         * alloc.c (pdump_load):
15698         Fix compile warning under mswin.
15699
15700 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15701
15702         * postgresql.c: Mule-ization, bug fixes.
15703         Use PG_CODING to encapsulate coding system name changes.
15704         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15705         (pg-coding-system): Create.
15706
15707         (Fpq_conn_defaults): Mule-ize.
15708         (Fpq_connectdb): Mule-ize & bug fix.
15709         (Fpq_connect_start): Mule-ize.
15710         (Fpq_set_client_encoding): Mule-ize.
15711         (Fpq_finish): Document `DEAD' connection status.
15712         (Fpq_clear): Ditto.
15713         (Fpq_pgconn): Mule-ize.
15714         (Fpq_exec): Mule-ize & bug fix.
15715         (Fpq_send_query): Ditto.
15716         (Fpq_get_result): Ditto.
15717         (Fpq_res_status): Mule-ize.
15718         (Fpq_result_error_message): Mule-ize.
15719         (Fpq_ntuples): fix comments.
15720         (Fpq_fname): Mule-ize.
15721         (Fpq_fnumber): Mule-ize.
15722         (Fpq_ftype): fix comments.
15723         (Fpq_get_value): Mule-ize.
15724         (Fpq_cmd_status): Ditto.
15725         (Fpq_cmd_tuples): Ditto.
15726         (Fpq_oid_value): Ditto.
15727         (Fpq_notifies): Ditto.
15728         (Fpq_lo_import): Ditto.
15729         (Fpq_lo_export): Ditto.
15730         (Fpq_get_line): Ditto.
15731         (Fpq_put_line): Mule-ize and bug fix.
15732         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15733
15734 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15735
15736         * postgresql.c (vars_of_postgresql): Mule-ize.
15737         (Fpq_conn_defaults): Ditto.
15738
15739 2000-03-12  Ben Wing  <ben@xemacs.org>
15740
15741         * alloc.c (Fmake_byte_code):
15742         * alloc.c (debug_string_purity_print):
15743         * alloc.c (pdump_backtrace):
15744         * alloc.c (pdump_get_indirect_count):
15745         * alloc.c (pdump_register_sub):
15746         * alloc.c (pdump_register_object):
15747         * alloc.c (pdump_register_struct):
15748         * alloc.c (pdump_dump_data):
15749         * alloc.c (pdump_reloc_one):
15750         Minor cleanups.
15751
15752         * console-msw.c:
15753         * console-msw.c (GetConsoleHwnd):
15754         * console-msw.c (msw_hide_console):
15755         * console-msw.c (msw_show_console):
15756         * console-msw.c (msw_ensure_console_buffered):
15757         * console-msw.c (msw_output_console_string):
15758         * console-msw.c (console_type_create_mswindows):
15759
15760         a) Added functions to manipulate the console window for use with
15761         shell support.
15762
15763         b) Added support for writing text to the console, which is now
15764         used under Windows when xemacs is not being run non-interactively,
15765         to write text that would otherwise be destined for stdout because
15766         under these circumstances, text written to stdout tends to
15767         disappear and not be seen.
15768
15769         * console-msw.h:
15770         * event-Xt.c:
15771         * event-Xt.c (x_event_to_emacs_event):
15772         * event-Xt.c (describe_event_window):
15773         * events-mod.h (XEMACS_MOD_CONTROL):
15774         * events.c:
15775         * events.c (Fmake_event):
15776         * events.c (character_to_event):
15777         * events.c (event_to_character):
15778         * events.c (format_event_object):
15779         * events.c (Fevent_modifiers):
15780         * events.h:
15781         * events.h (struct key_data):
15782         * events.h (struct button_data):
15783         * events.h (struct misc_user_data):
15784         * frame-x.c (Fcde_start_drag_internal):
15785         * frame-x.c (Foffix_start_drag_internal):
15786         * gpmevent.c (Freceive_gpm_event):
15787         * keymap.c:
15788         * keymap.c (bucky_sym_to_bucky_bit):
15789         * keymap.c (control_meta_superify):
15790         * keymap.c (make_key_description):
15791         * keymap.c (keymap_lookup_directly):
15792         * keymap.c (create_bucky_submap):
15793         * keymap.c (keymap_store):
15794         * keymap.c (define_key_check_and_coerce_keysym):
15795         * keymap.c (define_key_parser):
15796         * keymap.c (define_key_alternate_name):
15797         * keymap.c (Fdefine_key):
15798         * keymap.c (raw_lookup_key_mapper):
15799         * keymap.c (struct map_keymap_unsorted_closure):
15800         * keymap.c (map_keymap_unsorted_mapper):
15801         * keymap.c (map_keymap_sort_predicate):
15802         * keymap.c (map_keymap_sorted):
15803         * keymap.c (accessible_keymaps_mapper_1):
15804         * keymap.c (where_is_recursive_mapper):
15805         * keymap.c (describe_map_mapper):
15806         * keymap.c (describe_map_sort_predicate):
15807         * keymap.c (describe_map):
15808         * keymap.c (complex_vars_of_keymap):
15809         And a number of other files, the key modifier preprocessor
15810         constants that xemacs uses have names that conflict with constants
15811         defined under MS Windows for other purposes, so they were renamed
15812         to begin with the prefix XEMACS_. The variables that hold such
15813         modifiers were changed to consistently be of type int to fix
15814         various compile warnings.
15815
15816         * console.c (complex_vars_of_console):
15817         * device.c:
15818         * device-msw.c:
15819         * device-msw.c (mswindows_finish_init_device):
15820         * device-msw.c (msw_get_workspace_coords):
15821         * device-msw.c (mswindows_device_system_metrics):
15822         and various other files, added support for a new
15823         device property called offset-workspace which returns the position
15824         of the upper left corner of the workspace area and goes along with
15825         the existing size-workspace property.
15826
15827         * dialog-msw.c:
15828         * dialog-msw.c (push_bufbyte_string_as_unicode):
15829         * dialog-msw.c (mswindows_popup_dialog_box):
15830         Added support for XEmacs-style accelerator specifications in
15831         button text.  Note: I didn't add support for this under X Windows,
15832         and somebody needs to do this.
15833
15834         * dialog.c:
15835         * dialog.c (Fpopup_dialog_box):
15836         Documented the support for accelerators that was just mentioned.
15837
15838         editfns.c (get_home_directory): Changed behavior under Windows
15839         when HOME not defined; former behavior was irretrievably broken.
15840
15841         * emacs.c:
15842         * emacs.c (main_1):
15843         * emacs.c (main):
15844         * minibuf.c (clear_echo_area_internal):
15845         * minibuf.c (echo_area_append):
15846         * print.c:
15847         * print.c (std_handle_out_external):
15848         * print.c (std_handle_out_va):
15849         * print.c (fatal):
15850         * print.c (write_string_to_stdio_stream):
15851         * print.c (output_string):
15852         * print.c (debug_print):
15853         * print.c (debug_backtrace):
15854         * print.c (debug_short_backtrace):
15855         Cleaned up the code that prints text to stdout so that this can be
15856         changed to output into a console window instead under MS Windows,
15857         as described above.
15858
15859         * eval.c:
15860         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15861         * eval.c (internal_catch):
15862         * eval.c (unwind_to_catch):
15863         * eval.c (throw_or_bomb_out):
15864         * eval.c (condition_case_1):
15865         * eval.c (signal_1):
15866         * eval.c (check_error_state_sanity):
15867         * eval.c (call_with_suspended_errors_1):
15868         * eval.c (call_with_suspended_errors):
15869         * eval.c (reinit_vars_of_eval):
15870         Added code to catch throw loops and check for a pesky bug that may
15871         be gone now.
15872
15873         * event-msw.c:
15874         * event-msw.c (key_needs_default_processing_p):
15875         * event-msw.c (mswindows_wnd_proc):
15876         * event-msw.c (mswindows_modifier_state):
15877         * event-msw.c (emacs_mswindows_quit_p):
15878         * event-msw.c (vars_of_event_mswindows):
15879         a) Added support for using the alt key to select menu items as is
15880         standard under MS Windows.  This is controlled using the variable
15881         menu-accelerator-enabled, just like under X Windows.  There is an
15882         option on the options menu to turn this support on.  I really
15883         think that it should be on by default under Windows, but I'm not
15884         going to make this change yet.
15885
15886         b)  Added support for dynamic display size changes under Windows.
15887
15888         * event-stream.c:
15889         * event-stream.c (maybe_echo_keys):
15890         * event-stream.c (Fnext_event):
15891         * event-stream.c (command_builder_find_leaf):
15892         * event-stream.c (lookup_command_event):
15893         * event-stream.c (execute_command_event):
15894         * event-stream.c (pre_command_hook):
15895         * event-stream.c (post_command_hook):
15896         * event-stream.c (syms_of_event_stream):
15897         * event-stream.c (vars_of_event_stream):
15898         * event-stream.c (complex_vars_of_event_stream):
15899         * events.h (struct command_builder):
15900
15901         a) Tried to clean up a little bit the horribly written x-specific
15902         accelerator code that crept into this file.  I moved this code
15903         into menubar-x.c where it belongs. I also needed to move the
15904         command builder structure into the file events.h because it is
15905         accessed directly by this accelerator code.  What I didn't do, but
15906         which should be done at some point, is to properly abstract this
15907         code using device methods instead of the kludgy way that it
15908         currently hooks into the event code.
15909
15910         b) Added the lisp variables this-command-properties and
15911         last-command- properties, which should be used to synchronize two
15912         adjacent commands in preference to playing games with the variable
15913         this-command, which is typically what happens.
15914
15915         c) Added some slightly nasty code to hook into the lisp support
15916         for shifted- motion-key selection.  This is actually necessary for
15917         somewhat complicated reasons, which are described in
15918         simple.el. (NB: I think the proper thing would be to have the code
15919         that calls the pre and post command hooks also call out to generic
15920         lisp functions in simple.el, where all built-in stuff could be
15921         added.  I will think about this more.)
15922
15923         * event-unixoid.c (poll_fds_for_input):
15924         * lread.c (readchar):
15925         * redisplay-tty.c (tty_clear_frame):
15926         * redisplay-x.c (x_get_gc):
15927         * signal.c (interrupt_signal):
15928         And a whole bunch of other files: fixed up places that printed
15929         directly to stderr to instead call the function stderr_out so that
15930         the changes I made under Windows work correctly.
15931
15932         * filemode.c (mode_string):
15933         Warning fixes.
15934
15935         * frame-msw.c:
15936         * frame-msw.c (mswindows_size_frame_internal):
15937         Fixed the computation of frame size and position to keep the frame
15938         within the workspace area, rather than within the physical
15939         dimensions of the screen, so that the frame doesn't overlap window
15940         manager decorations, such as the start menu and toolbar, typically
15941         at the bottom of the screen.
15942
15943         * frame.c (vars_of_frame):
15944         Changed the default frame title format under MS Windows to consist
15945         of buffername-XEmacs, which is standard under MS Windows.  I think
15946         it might be a good idea to change this everywhere because I think
15947         it is superior to the current frame title format, but this is the
15948         kind of change that is likely to cause some people to get annoyed,
15949         so I'm not making it.
15950
15951         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15952
15953         * gui-msw.c (mswindows_handle_gui_wm_command):
15954         Fixed compile warnings.
15955
15956         * gui-x.c:
15957         * gui-x.c (strdup_and_add_accel):
15958         * gui-x.c (button_item_to_widget_value):
15959         * gui-x.h:
15960         Added code to automatically put an accelerator onto the beginning
15961         of menu items that don't have one as is now the standard, and is
15962         described more later.  Also fixed things so that the menu item
15963         name can be an evaluated expression, again a new standard.
15964
15965         * gui.c:
15966         * gui.c (gui_item_add_keyval_pair):
15967         * gui.c (make_gui_item_from_keywords_internal):
15968         * gui.c (gui_add_item_keywords_to_plist):
15969         * gui.c (gui_item_accelerator):
15970         * gui.c (gui_name_accelerator):
15971         * gui.c (gui_item_included_p):
15972         * gui.c (gui_item_display_flush_left):
15973         * gui.c (gui_item_display_flush_right):
15974         * gui.c (parse_gui_item_tree_item):
15975         * gui.c (parse_gui_item_tree_children):
15976         * gui.c (parse_gui_item_tree_list):
15977         Mule-ized.  Cleanup.  GCPRO addition.
15978
15979         * line-number.c (buffer_line_number):
15980         * lisp.h:
15981         * lisp.h (EMACS_INT_MAX):
15982         Added the manifest constant EMACS_INT_MIN corresponding to the
15983         existing constant EMACS_INT_MAX.  This is partially to fix compile
15984         warnings under Windows, and partly for cleanliness.
15985
15986         * menubar-msw.c:
15987         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15988         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15989         * menubar-msw.c (displayable_menu_item):
15990         * menubar-msw.c (populate_menu_add_item):
15991         * menubar-msw.c (populate_or_checksum_helper):
15992         * menubar-msw.c (populate_menu):
15993         * menubar-msw.c (update_frame_menubar_maybe):
15994         * menubar-msw.c (prune_menubar):
15995         * menubar-msw.c (msw_char_is_accelerator):
15996         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15997         * menubar-msw.c (mswindows_handle_wm_command):
15998         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15999         * menubar-msw.c (mswindows_handle_wm_initmenu):
16000         * menubar-msw.c (mswindows_update_frame_menubars):
16001         * menubar-msw.c (mswindows_free_frame_menubars):
16002         * menubar-msw.c (mswindows_popup_menu):
16003         Fixed a bug in handling accelerators where an extra character
16004         would be displayed in the menu item.  Also generalized the
16005         function displayable_menu_item because it is now used by the
16006         dialog box code as well.  And finally, added code in the functions
16007         that create the menubar to extract a list of accelerators for the
16008         top level menubar, which is used in the event code to determine
16009         whether a particular alt-key combination should be used to invoke
16010         a menu item, or should be passed through to access the standard
16011         XEmacs keymap binding for this key combination.
16012
16013         Much needed GCPROing.
16014
16015         * menubar-x.c:
16016         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
16017         * menubar-x.c (menu_item_descriptor_to_widget_value):
16018         * menubar-x.c (restore_in_menu_callback):
16019         * menubar-x.c (x_popup_menu):
16020         * menubar-x.c (menu_move_up):
16021         * menubar-x.c (menu_move_down):
16022         * menubar-x.c (menu_move_left):
16023         * menubar-x.c (menu_move_right):
16024         * menubar-x.c (menu_select_item):
16025         * menubar-x.c (command_builder_operate_menu_accelerator):
16026         * menubar-x.c (menu_accelerator_junk_on_error):
16027         * menubar-x.c (command_builder_find_menu_accelerator):
16028         * menubar-x.c (Faccelerate_menu):
16029         * menubar.h:
16030         Moved a whole bunch of code here that was previously in
16031         event-stream.c as described above.  There is also code connected
16032         to the new standard of adding an accelerator to the beginning of
16033         menu items that don't have one as described above and below.
16034
16035         * menubar.c:
16036         * menubar.c (menu_parse_submenu_keywords):
16037         * menubar.c (Fmenu_find_real_submenu):
16038         * menubar.c (Fnormalize_menu_item_name):
16039         * menubar.c (syms_of_menubar):
16040         * menubar.c (vars_of_menubar):
16041         * menubar.c (complex_vars_of_menubar):
16042
16043         a) Cleaned up a bunch of documentation and improved it.
16044
16045         b) XEmacs now automatically adds an accelerator onto the beginning
16046         of any menu items that don't have one.  I did this because there
16047         will inevitably be some menu items on the main menubar that don't
16048         have accelerators on them because the package that adds that
16049         particular menu item hasn't yet been fixed up to have accelerators
16050         in them and it looked rather strange to have some items with and
16051         some items without accelerators, especially since even in items
16052         without accelerators, you can, at least under windows, still
16053         access the item through an accelerator corresponding to the first
16054         character in the item's name.  If people don't like this behavior,
16055         I can add a variable to turn it off optionally, but I'm not sure
16056         this is a good idea because we really do need to have accelerators
16057         on all of the menu items, and if a package doesn't like the
16058         accelerators being put on the first character, then it should put
16059         the accelerators where they belong.
16060
16061         c) I made a behavior change, which is that the descriptor that
16062         specifies the text of the menu item, which formerly was just a
16063         string, can now also be an evaluated expression.  This makes this
16064         descriptor parallel with all of the others, which could also be
16065         evaluated expressions.  This also obviates the need for the
16066         keyword :label, which was previously listed in the documentation
16067         as unimplemented, and which was for the same purpose.
16068
16069         d) GCPROing.
16070
16071         * ntproc.c:
16072         * ntproc.c (new_child):
16073         * ntproc.c (sys_spawnve):
16074         * ntproc.c (find_child_console):
16075         * ntproc.c (sys_kill):
16076         Fixed compile warnings.  By the way, this file should really go
16077         away entirely, and this will happen as soon as Kirill makes his
16078         final round of process cleanups, which affect the function
16079         call-process.
16080
16081         * process-nt.c:
16082         * process-nt.c (struct nt_process_data):
16083         * process-nt.c (find_process_from_pid):
16084         * process-nt.c (send_signal_the_nt_way):
16085         * process-nt.c (enable_child_signals):
16086         * process-nt.c (find_child_console):
16087         * process-nt.c (send_signal_the_95_way):
16088         * process-nt.c (nt_finalize_process_data):
16089         * process-nt.c (ensure_console_window_exists):
16090         * process-nt.c (nt_create_process):
16091         * process-nt.c (nt_kill_child_process):
16092         * process-nt.c (nt_kill_process_by_pid):
16093         * process-nt.c (nt_open_network_stream):
16094         * process-nt.c (vars_of_process_nt):
16095         Copied over code from Emacs 20.5 to correctly send signals to sub-
16096         processes under Windows 95.  Also added code to automatically
16097         create and hide console window when a sub-process is created under
16098         Windows 95, which obviates the need for the separate runemacs.exe
16099         executable, and finally implemented some variables that were
16100         implemented in Emacs 20.5, but previously not in XEmacs.  These
16101         include mswindows- start-process-share-console and
16102         mswindows-start-process-inherit-error-mode. (Both of these only
16103         apply to Windows 95.)
16104
16105         * regex.c (regex_compile): Fixed a compile warning.
16106
16107         * select-msw.c:
16108         * select-msw.c (mswindows_own_selection):
16109         * select-msw.c (mswindows_get_foreign_selection):
16110         * select-msw.c (mswindows_disown_selection):
16111         * select-msw.c (console_type_create_select_mswindows):
16112         * select-msw.c (syms_of_select_mswindows):
16113         Cleaned up the file and implemented the device method
16114         selection_exists_p, which had accidentally been left out.  Also
16115         removed four lisp functions that were remnants from before the
16116         time when the selection code was properly device abstracted.
16117         These functions are no longer needed because there are generic
16118         equivalents, and because they were added recently and don't exist
16119         in FSF Emacs, I don't think there's any problem with just deleting
16120         them.
16121
16122         * sysdep.c:
16123         * sysdep.c (sys_subshell):
16124         Fixed a compile warning, although in this case there's probably
16125         something wrong with this code, and it ought to be looked into
16126         more thoroughly by somebody who understands it.
16127
16128         * window.c:
16129         * window.c (Fwindow_text_area_height):
16130         * window.c (Fwindow_width):
16131         * window.c (Fwindow_full_width):
16132         * window.c (Fwindow_pixel_width):
16133         * window.c (debug_print_window):
16134         * window.c (syms_of_window):
16135         Added functions window-text-area-height and window-full-width,
16136         which are functions for returning various width and height
16137         characteristics of a window. (One of these functions is necessary
16138         for making the file dialog box work correctly, and the other one
16139         was added for completeness.)  Also added a table to the
16140         documentation for window-height which describes the entire scheme
16141         for accessing width and height characteristics of a window.
16142
16143 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16144
16145         * nt.c (fstat): Added a comment for another problem with
16146         non-encapsulated [f]stat(), reported by Adrian Aichner
16147         <aichner@ecf.teradyne.com>.
16148
16149 2000-03-11  Andy Piper  <andy@xemacs.org>
16150
16151         * window.c (make_dummy_parent): initialize subwindow instance
16152         cache.
16153         (Fset_window_configuration): zero extent_modiff.
16154
16155 2000-03-10  Andy Piper  <andy@xemacs.org>
16156
16157         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16158         more changes can be triggered.
16159         (Fredisplay_frame): ditto.
16160         (Fredraw_device): ditto.
16161         (Fredisplay_device): ditto.
16162         (redisplay_frame): make non-static.
16163         (redisplay_frame): call update_frame_gutter_geometry outside of
16164         display proper.
16165
16166         * gutter.h: declare update_frame_gutter_geometry.
16167
16168         * redisplay.h: declare redisplay_frame.
16169
16170         * gutter.c (update_frame_gutter_geometry): move geometry changes
16171         in update_frame_gutters here. Geometry changes can only occur
16172         outside of redisplay.
16173         (update_frame_gutters): remove geometry change code.
16174         (Fredisplay_gutter_area): make sure that we are in display when we
16175         update and that we have flushed any size changes.
16176
16177 2000-03-11  Andy Piper  <andy@xemacs.org>
16178
16179         * alloc.c (pdump_dump_data): remove i & count shadows.
16180
16181 2000-02-27  Mike Alexander  <mta@arbortext.com>
16182
16183         * sysdep.h: Declare pdump_read_file
16184
16185         * sysdep.c (pdump_read_file): New function
16186
16187         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16188         dump data
16189
16190 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16191
16192         * lrecord.h: add `lrecord_type_pgsetenv'.
16193
16194 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16195
16196         * symsinit.h: declare (vars|syms)_of* functions.
16197         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16198
16199 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16200
16201         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16202
16203         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16204         GCCs.
16205
16206         * emacs.c (main_1): Call postgres initialization code.
16207
16208         * postgresql.h: New file.  PostgreSQL RDBMS support.
16209         * postgresql.c: New file.
16210
16211 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16212
16213         * redisplay-output.c (redisplay_output_display_block): Disable
16214         redundant code.
16215
16216 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16217
16218         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16219         (Fcanna_henkan_next): Ditto.
16220         (Fcanna_bunsetu_henkou): Ditto.
16221         (Fcanna_henkan_kakutei): Ditto.
16222         (Fcanna_henkan_end): Ditto.
16223         (Fcanna_henkan_quit): Ditto.
16224         (Fcanna_henkan_next): Set retun value correctly.
16225         (c2mu): Use unsigned char instead of signed char.
16226
16227 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16228
16229         * emacs.c (main_1): Always call syms_of_gui.
16230         * inline.c: include gui.h
16231
16232 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16233
16234         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16235         converted to Lisp_Object.
16236         (Qtop_bottom): New variable.
16237         (syms_of_redisplay): Initialize it.
16238         * redisplay.h (Vvisible_bell): Ditto.
16239         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16240         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16241         only flash top and bottom.
16242
16243 2000-03-08  Andy Piper  <andy@xemacs.org>
16244
16245         * buffer.c (Frename_buffer): record new buffer name the right way.
16246
16247 2000-03-08  Andy Piper  <andy@xemacs.org>
16248
16249         * glyphs.c (update_subwindow): increase hash depth so that widget
16250         items get picked up properly.
16251
16252         * redisplay-output.c (compare_runes): increase hash depth so that
16253         widget items get picked up properly.
16254
16255 2000-03-08  Andy Piper  <andy@xemacs.org>
16256
16257         * gutter.c (output_gutter): add some debug.
16258
16259         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16260         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16261         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16262
16263         * redisplay-output.c (compare_runes): use display_hash to
16264         determine if glyphs really are not the same.
16265
16266         * glyphs.c (update_subwindow): check display_hash to see if
16267         anything really needs to be updated. If not then do
16268         nothing. Record the display_hash after updating.
16269         (image_instance_equal): compare the image_instance face also.
16270
16271 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16272
16273         * redisplay.h: Fix comment style.
16274
16275 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16276
16277         * consle-msw.h (struct mswindows_frame):
16278         Added new member paint_pending to indicate whether a WM_PAINT
16279         magic event has been queued for this frame.
16280
16281         * event-msw.c (mswindows_drain_windows_queue):
16282         Don't queue a WM_PAINT magic event if one is already queued.
16283         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16284
16285         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16286
16287 2000-03-07  Didier Verna  <didier@xemacs.org>
16288
16289         * dired.c: #include `regex.h' after `sysfile.h'.
16290
16291 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16292
16293         * sound.c (init_nas_sound): Fix compiler warning.
16294
16295         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16296         (FREE_STRUCT_P):
16297         (MARK_STRUCT_AS_FREE):
16298         (MARK_STRUCT_AS_NOT_FREE):
16299         Make `gcc -fstrict-aliasing' work properly.
16300
16301 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16302
16303         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16304         (mswindows_delete_device): Call CoUnnitialize().
16305
16306         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16307
16308 2000-02-25    <CraigL@DyCon.com>
16309
16310         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16311         <errno.h>.
16312
16313         * sysdep.c: This extern declaration for environ prevents MinGW
16314         from finding the variable in CRTDLL.DLL.
16315
16316         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16317         windows headers.
16318         (SHGFI_EXETYPE): ..
16319         (WM_MOUSEWHEEL): ..
16320         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16321         definitions.
16322         (MMRESULT): Removed, now defined in cygwin's windows headers.
16323         (TIMECAPS): ..
16324         (uid_t,gid_t,pid_t,ssize_t): ..
16325         (_timeb): Removed, MinGW defines both _timeb and timeb.
16326         (HAVE_H_ERRNO): Added.
16327         (HAVE_TZNAME): Added, configure is not detecting this.
16328
16329 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16330
16331         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16332         * syntax.c (syntax_match): Use it.
16333
16334         * cmds.c: Import auto-fill-chars from FSF Emacs.
16335         (Vauto_fill_chars): New variables.
16336         (internal_self_insert): Check Vauto_fill_chars.
16337         (vars_of_cmds):
16338         Declare auto-fill-chars as a Lisp variable and initialize it.
16339
16340 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16341
16342         * fileio.c (Fmake_symbolic_link):
16343         (Ffile_symlink_p):
16344         Run handlers even if local machine doesn't have symlinks.
16345
16346 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16347
16348         * event-msw.c (mswindows_drain_windows_queue):
16349         Don't generate paint magic events for non-XEmacs frames.
16350
16351 2000-03-05  Andy Piper  <andy@xemacs.org>
16352
16353         * redisplay.c (redisplay_frame): generate_displayable_area and
16354         friends assumes that we are not in GC, we therefore have to make
16355         sure that this doesn't happen.
16356
16357         * gutter.c (calculate_gutter_size): generate_displayable_area
16358         assumes that we are not in GC, we therefore have to make sure that
16359         this doesn't happen.
16360
16361 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16362
16363         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16364
16365 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16366
16367         * redisplay.c (regenerate_window): Make sure we set a sane value
16368         for end_pos even if we jump out of the loop.
16369         (regenerate_window): Answer Ben's question :-).
16370         (start_end_of_last_line): Add may_error argument.
16371         (start_of_last_line):
16372         (end_of_last_line): Pass may_error = 0.
16373         (end_of_last_line_may_error): New function.
16374         (pixel_to_glyph_translation): Use it, so we don't crash in
16375         event_to_glyph.
16376
16377 2000-03-04  Andy Piper  <andy@xemacs.org>
16378
16379         * window.h (struct window): add gutter_extent_modiff.
16380
16381         * window.c (allocate_window): zero out gutter_extent_modiff.
16382
16383         * redisplay.h: declare sync_display_line_structs.
16384
16385         * redisplay.c (add_glyph_rune): add a better comment.
16386
16387         * redisplay-output.c (sync_display_line_structs): made non-static.
16388         (compare_runes): remove unneccesary glyph cachel access.
16389
16390         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16391
16392         * gutter.c (output_gutter): don't output the gutter if extent
16393         changes only involve extents in buffers. use 4 sets of display
16394         lines.
16395         (gutter_extent_signal_changed_region_maybe): new function. Mark
16396         extents in gutters as changed.
16397         (update_frame_gutters): use 4 sets of display lines.
16398         (reset_gutter_display_lines): ditto.
16399         (free_frame_gutters): ditto.
16400         (redraw_exposed_gutter): force output of gutters.
16401
16402         * frame.h (struct frame): add 4 sets of gutter display lines.
16403
16404         * extents.c: (extent_changed_for_redisplay): signal changes to
16405         extents in strings in the gutter as well as extents in buffers.
16406
16407 2000-03-02  Andy Piper  <andy@xemacs.org>
16408
16409         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16410
16411         * frame.c (Fmake_frame): make sure the gutters get initialized
16412         after the frame is visible.
16413         (set_frame_selected_window): re-arrange compilation macros a
16414         little.
16415         (change_frame_size_1): mark gutters changed.
16416
16417         * device.c (Fset_device_class): mark gutters changed.
16418
16419 2000-03-01  Andy Piper  <andy@xemacs.org>
16420
16421         * window.c (window_top_frame_gutter_height): deleted.
16422         (window_bottom_frame_gutter_height): ditto.
16423         (window_left_frame_gutter_height): ditto.
16424         (window_right_frame_gutter_height): ditto.
16425         (window_top_gutter_height): don't use them.
16426         (window_bottom_gutter_height): ditto.
16427         (window_left_gutter_width): ditto.
16428         (window_right_gutter_width): ditto.
16429         (Fsplit_window): ditto.
16430         (Fwindow_pixel_edges): don't use border dimensions here.
16431
16432         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16433         (update_scrollbar_instance): ditto.
16434
16435         * redisplay.c (generate_modeline): don't take gutters into account.
16436         (generate_modeline): ditto.
16437         (redisplay_frame): small gutter display optimization.
16438
16439         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16440
16441         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16442         gutters into account.
16443
16444         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16445         for window position and type.
16446
16447         * gutter.c (get_gutter_coords): fix for frame gutters.
16448         (update_frame_gutters): update frame geometry if the gutters have
16449         changed.
16450         (init_frame_gutters): record current gutter geometries.
16451
16452         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16453         var.
16454         (mswindows_widget_instantiate): ditto.
16455
16456         * frame.h (struct frame): add current_gutter_bounds.
16457
16458         * frame.c (change_frame_size_1): position window and minibuffer
16459         appropriately taking into account the frame gutters.
16460
16461         * frame-x.c: (x_initialize_frame_size): take into account the
16462         frame gutters.
16463
16464 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16465
16466         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16467
16468 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16469
16470         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16471
16472 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16473
16474         * file-coding.c (reset_decoding_stream): Clear previous
16475         detection state when autodetect.
16476
16477 2000-02-29  Didier Verna  <didier@xemacs.org>
16478
16479         * extents.c (set_extent_glyph_1): don't require extents to be
16480         attached.
16481
16482 2000-02-27  Andy Piper  <andy@xemacs.org>
16483
16484         * gutter.c (Fset_default_gutter_position): don't default left and
16485         right gutter visibility to t.
16486         (Fset_default_gutter_position): run
16487         default-gutter-position-changed-hook.
16488         (syms_of_gutter): add default-gutter-position-changed-hook.
16489
16490 2000-02-26  Andy Piper  <andy@xemacs.org>
16491
16492         * specifier.c (Fmake_specifier): add gutter references.
16493
16494         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16495
16496         * lisp.h: declare Fvalid_plist_p.
16497
16498         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16499         as changed.
16500         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16501         well as its visibility so that it gets reconstructed.
16502         (construct_window_gutter_spec): new function. Construct a string
16503         to be displayed in the gutter from a plist of strings. Take care
16504         to only use elements that are declared as visible.
16505         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16506         WINDOW_GUTTER.
16507         (gutter_validate): allow plists of strings in the specifier.
16508         (gutter_specs_changed): construct the real_gutter from the gutter
16509         specs using construct_window_gutter_spec.
16510         (gutter_visible_validate): gutter-visible is a new specifier type.
16511         (Fgutter_visible_specifier_p): new function for the new specifier.
16512         (syms_of_gutter): declare gutter-visible and
16513         Fgutter_visible_specifier_p.
16514         (specifier_type_create_gutter): intitalize new gutter-visible
16515         specifier.
16516         (reinit_specifier_type_create_gutter): ditto.
16517         (specifier_vars_of_gutter): use new specifier type for gutter
16518         visibility.
16519         (init_frame_gutters): construct real_gutter correctly.
16520         (Fgutter_specifier_p): beef up documentation.
16521         (Fgutter_size_specifier_p): ditto.
16522
16523         * winslots.h: add real_gutter slots.
16524
16525 2000-02-25  Andy Piper  <andy@xemacs.org>
16526
16527         * device-msw.c: Be kind to older cygwin versions. From Raymond
16528         Toy <toy@rtp.ericsson.se>.
16529
16530         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16531         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16532
16533 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16534
16535         * elhash.c (MARK_OBJ): Practice macro hygiene.
16536
16537 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16538
16539         * miscplay.c: s/__inline__/inline/g;
16540         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16541         (get_device_compdc): INLINE ==> static inline
16542         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16543         find -name '*.h' | \
16544         xargs global-replace \
16545         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16546
16547 2000-02-25  Andy Piper  <andy@xemacs.org>
16548
16549         * window.c (window_top_frame_gutter_height): new function.
16550         (window_top_window_gutter_height): ditto.
16551         (window_top_gutter_height): use them.
16552         (window_bottom_frame_gutter_height): new function.
16553         (window_bottom_window_gutter_height): ditto.
16554         (window_bottom_gutter_height): use them.
16555         (window_left_window_gutter_width): new function.
16556         (window_left_frame_gutter_width): ditto.
16557         (window_left_gutter_width): use them.
16558         (window_right_window_gutter_width): new function.
16559         (window_right_frame_gutter_width): ditto.
16560         (window_right_gutter_width): use them.
16561         (window_pixel_height): new function. calulate window pixel height
16562         with frame gutter involvement.
16563         (Fsplit_window): calculate new sizes taking frame gutters into
16564         account.
16565         (window_char_height_to_pixel_height): don't include frame gutters.
16566         (window_char_height): use window_pixel_height.
16567         (window_pixheight): rename from window_pixel_height.
16568         (change_window_height): use it.
16569         (window_pixel_height_to_char_height): don't include frame gutters.
16570         (window_char_width_to_pixel_width): ditto.
16571
16572 2000-02-25  Andy Piper  <andy@xemacs.org>
16573
16574         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16575         if it is.
16576
16577 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16578
16579         * alloc.c (staticpro):
16580         (staticpro_nodump):
16581         (dumpstruct):
16582         (dumpopaque):
16583         (pdump_wire):
16584         (pdump_wire_list):
16585         (compact_string_chars):
16586         (pdump_dump_wired):
16587         Convert:  if (foo) abort();  ==>  assert (! foo);
16588
16589         * eldap.c (Fldap_search_basic):
16590         (Fldap_add):
16591         (Fldap_modify):
16592         (Fldap_delete):
16593         Fix compiler warnings, and possible crashes if (random) return
16594         value were to be used.
16595
16596 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16597
16598         * device-msw.c: Workaround ResetDC failure.
16599
16600         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16601         applying a devmode.
16602
16603         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16604         (mswindows_text_width): Do not start printer page.
16605
16606         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16607
16608         * glyphs-msw.c: Added image methods to msprinter console and
16609         msprinter-specific image instantiation.
16610
16611 2000-02-20  Mike Alexander  <mta@arbortext.com>
16612
16613         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16614         to avoid crashes when selection-sets-clipboard is on
16615         (mswindows_own_selection): ditto
16616
16617 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16618
16619         * glyphs-msw.c:
16620         * redisplay-msw.c (get_frame_dc):
16621         (get_frame_compdc):
16622         * console-msw.h:
16623         * device-msw.c (mswindows_init_device):
16624         (mswindows_delete_device):
16625         (msprinter_init_device):
16626         (msprinter_delete_device):
16627         * frame-msw.c (mswindows_init_frame_1):
16628         (mswindows_delete_frame):
16629         (msprinter_init_frame_3):
16630         (msprinter_delete_frame): Move compatible DC to device object from
16631         frame object, for both mswindows and msprinter. Only one at a time
16632         is needed, it is a real waste to have one per frame!
16633
16634 2000-02-23  Andy Piper  <andy@xemacs.org>
16635
16636         * glyphs.c: add dynamic width and height elements.
16637         (image_instance_equal): ditto.
16638
16639         * glyphs-widget.c (widget_query_geometry): calculate width and
16640         height dynamically if required.
16641         (initialize_widget_image_instance): initialize dynamic dimensions.
16642         (widget_instantiate): pick-up dynamic dimensions.
16643
16644         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16645         dynamic determination. Add appropriate macros.
16646
16647         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16648         dimensions safe.
16649         (WINDOW_GUTTER_SIZE): ditto.
16650         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16651
16652         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16653         inline.
16654         (get_frame_dc): ditto.
16655
16656         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16657         here.
16658
16659 2000-02-23  Martin Buchholz <martin@xemacs.org>
16660
16661         * XEmacs 21.2.31 is released.
16662
16663 2000-02-22  Ben Wing <ben@xemacs.org>
16664
16665         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16666
16667 2000-02-22  Andy Piper  <andy@xemacs.org>
16668
16669         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16670
16671 2000-02-21  Mike Sperber <mike@xemacs.org>
16672
16673         * .dbxrc:
16674         * .gdbinit:
16675         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16676         variables.
16677
16678 2000-02-21  Mike Sperber <mike@xemacs.org>
16679
16680         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16681
16682 2000-02-21  Martin Buchholz <martin@xemacs.org>
16683
16684         * XEmacs 21.2.30 is released.
16685
16686 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16687
16688         Performance hacking.
16689         * *.c (syms_of_*):
16690         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16691         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16692         * emacs.c (main_1):
16693         * lisp.h (DEFUN):
16694         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16695         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16696         * symeval.h (DEFVAR_SYMVAL_FWD):
16697         * symbols.c (guts_of_unbound_marker):
16698         Make all c_readonly objects also lisp_readonly and marked for life.
16699         * lrecord.h (struct lrecord_implementation):
16700         Document flags better.
16701         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16702         * lrecord.h (DECLARE_LRECORD):
16703         * lrecord.h (XSETRECORD):
16704         * lrecord.h (RECORDP):
16705         * lrecord.h (RECORD_TYPEP):
16706         * lrecord.h (RECORD_MARKER): New.
16707         * lrecord.h (error_check_*):
16708         * lrecord.h (CONCHECK_NONRECORD):
16709         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16710         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16711         * lrecord.h (set_lheader_implementation):
16712         * lrecord.h (enum lrecord_type): New.
16713         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16714         * alloc.c (disksave_object_finalization_1):
16715         * alloc.c (mark_object):
16716         * alloc.c (lrecord_type_index):
16717         * alloc.c (tick_lcrecord_stats):
16718         * alloc.c (Fgarbage_collect):
16719         * alloc.c (init_alloc_once_early):
16720         * alloc.c (pdump_load):
16721         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16722         * alloc.c (lrecord_type_index): Delete.
16723         Make lisp object type indexes be constant.
16724           Makes (byte-compile) 5% faster.
16725         Put all marker functions into their own array.
16726           Makes (garbage-collect) 5% faster.
16727         Optimize SYMBOL_VALUE_MAGIC_P.
16728           Makes (byte-compile) 2-3% faster.
16729         * config.h.in (gc_checking_assert): New.
16730         * alloc.c: Use gc_checking_assert().
16731         * .dbxrc: Make compatible with new object type implementation.
16732         * .gdbinit: Make compatible with new object type implementation.
16733         * alloc.c: Delete all symbols defined only for debugging, such as
16734         Lisp_Type_Vector and lrecord_charset.
16735
16736 2000-02-21  Andy Piper  <andy@xemacs.org>
16737
16738         * gui-msw.c (Fmswindows_shell_execute): fix file location
16739         problems.
16740
16741         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16742         unshowing so that set_window_buffer doesn't undo
16743         kill_buffer_hook's hard work.
16744
16745         * glyphs-widget.c (tab_control_query_geometry): don't count the
16746         first item when calculating geometry.
16747
16748         * glyphs.c (map_subwindow): remove redundant code.
16749         (update_frame_subwindows): be more circumspect about when to
16750         update subwindows.
16751
16752         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16753         when items haven't changed. Update faces if faces have changed as
16754         well as just the widget face.
16755         (x_tab_control_update): Update faces if faces have changed as well
16756         as just the widget face.
16757
16758 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16759
16760         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16761         registration.
16762         (build_syscolor_string): Use mswindows_color_to_string to try to
16763         get a named color.
16764         (mswindows_device_system_metrics): Reverse the foreground and
16765         background colors so that they match the documentation.
16766
16767         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16768         they match the default Windows palette.
16769         (mswindows_color_to_string): New function.
16770
16771 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16772
16773         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16774
16775 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16776
16777         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16778         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16779
16780         * symbols.c (init_symbols_once_early): Removed obsolete
16781         DATA_SEG_BITS related kludge.
16782         (defvar_magic): Ditto.
16783
16784         * malloc.c: Removed obsolete DATA_SEG_BITS
16785         * ralloc.c: Ditto.
16786         * mem-limits.h: Ditto.
16787
16788         * Makefile.in.in: Removed obsolete HAVE_SHM
16789         * emacs.c: Ditto.
16790
16791 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16792
16793         *  device-msw.c (mswindows_delete_device): Free DDE string
16794         handles.
16795
16796 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16797
16798         * keymap.c (get_keyelt):
16799         * unexnt.c (unexec):
16800         * vm-limit.c (memory_warnings):
16801         * ntheap.c (recreate_heap):
16802         * ntheap.h (UNINIT_PTR):
16803         * select-msw.c (Fmswindows_get_clipboard):
16804         (Fmswindows_set_clipboard):
16805         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16806         * objects-msw.c:
16807         * menubar-msw.c (displayable_menu_item):
16808         * glyphs-msw.c:
16809         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16810         * sysdep.c (sys_subshell):
16811         * process-nt.c (nt_create_process):
16812         * nt.c (normalize_filename):
16813         (dostounix_filename):
16814         (unixtodos_filename):
16815         * ntproc.c (win32_executable_type):
16816         * ntplay.c (play_sound_data_1):
16817         (play_sound_file):
16818         * editfns.c (get_home_directory):
16819         * event-msw.c (struct winsock_stream):
16820         (mswindows_dde_callback):
16821         * device-msw.c (msprinter_init_device):
16822         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16823
16824         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16825         mswindows_clear_toolbar were swapped!
16826
16827         * objects-msw.c:(colormap_t):
16828         (fontmap_t):
16829         * emacs.c (struct standard_args): Fixed const jumble.
16830
16831         * glyphs-widget.c (update_widget): Fixed comparison notation.
16832
16833         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16834
16835         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16836         __declspec(noreturn) syntax.
16837
16838 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16839
16840         * eldap.c (Fldap_open):
16841         (Fldap_search_basic):
16842         (Fldap_add):
16843         (Fldap_modify):
16844         Use new coding system conversion macros.
16845
16846 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16847
16848         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16849
16850 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16851
16852         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16853         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16854
16855         * eldap.c (Qadd, Qreplace): New constant symbols
16856         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16857         interruptions by XEmacs signals
16858         Remove unnecessary calls to slow_down_interrupts and
16859         speed_up_interrupts
16860         (Fldap_search_basic): Renamed from Fldap_search_internal
16861         Added new optional parameter VERBOSE that triggers the
16862         display of progress messages
16863         Remove unnecessary calls to slow_down_interrupts and
16864         speed_up_interrupts
16865         LDAP result code analysis rewritten
16866         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16867         (syms_of_eldap): Define the new symbols and functions
16868
16869
16870 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16871
16872         * realpath.c: Determine PATH_MAX maximally portably.
16873
16874         * insdel.c (bytecount_to_charcount): Optimize.
16875         The function used to be optimized for entirely ASCII sequences.
16876         Now it is optimized for successive characters from the same
16877         charset.  This also wins big for _mostly_ ASCII sequences.
16878
16879         * fileio.c (Ffile_truename): convert return from realpath() using
16880         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16881         - Rewrite GCPROing slightly.
16882
16883         * sysdep.c (sys_open): Do filename conversion, like all other
16884         sys_* functions.  Fixes bug:
16885         (let ((file-name-coding-system 'iso-8859-2))
16886            (write-region x y latin2-name))
16887         ==> writes filename using internal encoding.
16888
16889 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16890
16891         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16892         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16893         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16894         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16895         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16896         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16897         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16898         (CONST_IF_NOT_DEBUG): Delete.
16899         * alloc.c (this_one_is_unmarkable): Delete.
16900         (mark_object): Don't check for this_one_is_unmarkable. Use the
16901         c_readonly flag instead.
16902         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16903
16904 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16905
16906         * event-msw.c (mswindows_drain_windows_queue):
16907         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16908         away redundant repaint events.
16909
16910 2000-02-17  Andy Piper  <andy@xemacs.org>
16911
16912         * redisplay.h: declare mark_redisplay_structs.
16913
16914         * redisplay.c (redisplay_window):
16915         (redisplay_frame): don't check subwindows_state_changed.
16916         (mark_redisplay): mark gutters here.
16917
16918         * glyphs.c: (instantiate_image_instantiator): always layout if we
16919         haven't done so already.
16920         (allocate_image_instance): don't mark as dirty.
16921         (update_subwindow): bind inhibit_quit.
16922
16923         * gutter.c (mark_gutters): new function.
16924
16925         * glyphs-x.c (x_update_widget): Always resize to get round a
16926         widget bug.
16927
16928         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16929         breaking absolutely everything.
16930
16931         * gutter.h: declare mark_gutters.
16932
16933 2000-02-16  Martin Buchholz <martin@xemacs.org>
16934
16935         * XEmacs 21.2.29 is released.
16936
16937 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16938
16939         * fns.c (size_bit_vector): Fix computation of the size.
16940
16941 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16942
16943         * *.[ch]: Change CONST to const globally.
16944         find -name '*.[ch]' | \
16945         xargs global-replace \
16946         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16947         - Remove vestigial references to CONST_IS_LOSING
16948
16949 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16950
16951         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16952         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16953         events instead of dispatching them directly.
16954         (mswindows_handle_paint): New function to do repainting.
16955         (mswindows_wnd_proc):
16956         (emacs_mswindows_handle_magic_event): Call above function.
16957
16958 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16959
16960         * objects-msw.c (mswindows_create_font_variant): Return the new
16961         font handle.
16962         (initialize_font_instance): Get font metrics from the underlined
16963         variant of the font to cope with the case where the underlined
16964         font has a bigger descent.
16965
16966 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16967
16968         * gui.c (gui_item_accelerator): Return the first underlined
16969         character in item name.
16970
16971 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16972
16973         * lisp.h: Added Qprinter.
16974
16975         * general.c (syms_of_general): Initialized it.
16976
16977         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16978         (get_frame_dc):
16979         (get_frame_compdc): Made inline.
16980
16981         * console.h (struct console_methods): Added eject_page method.
16982
16983         * frame.h: Added FRAME_DISPLAY_P and friends.
16984         Aligned backslahes in many macros in more readable fashion.
16985         Added page_number to struct frame, and an accessor macro
16986         for it.
16987
16988         * defice.h: Added DEVICE_DISPLAY_P and friends.
16989
16990         * device.c (Fdevice_printer_p): Used these.
16991
16992         * frame.c (allocate_frame_core): Initialize page number.
16993         (Fprint_job_page_number):
16994         (Fprint_job_eject_page): Implemented.
16995
16996         * frame-msw.c (msprinter_eject_page): Added method.
16997         (msprinter_start_page): Added.
16998
16999         * window.c (Fwindow_truncated_p): Fixed docstring.
17000         (Fwindow_last_line_visible_height): Implemented.
17001
17002 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
17003
17004         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
17005
17006 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17007
17008         * syntax.c (scan_words): Always advance at least one character.
17009
17010 2000-02-13  Andy Piper  <andy@xemacs.org>
17011
17012         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
17013         to make sure the glyph is in the cachels.
17014
17015         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
17016         global image instance flag.
17017         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
17018         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
17019
17020         * glyphs.c (allocate_image_instance): set dirty bits correctly.
17021         (Fset_image_instance_property): mark layout as changed.
17022         (invalidate_glyph_geometry_maybe): mark layout as changed.
17023         (glyph_width): use new NEEDS_LAYOUT macro.
17024         (glyph_ascent): ditto.
17025         (glyph_descent): ditto.
17026         (glyph_height): ditto.
17027         (image_instance_layout): mark layout as clean after laying out.
17028         (update_subwindow): don't mark layout as clean here.
17029
17030         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
17031         should no longer be needed.
17032
17033         * glyphs-x.c (x_update_widget): sanitize asserts.
17034         (x_finalize_image_instance): sanitize assignment to widgets.
17035
17036         * glyphs-widget.c (widget_instantiate): don't need to clear the
17037         layout flag here.
17038
17039 2000-02-13  Martin Buchholz  <martin@xemacs.org>
17040
17041         * sysdep.c (getcwd): Use standard prototype.
17042         * sysdep.h (getcwd): Use standard prototype.
17043
17044         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
17045         (sequence, start, end).
17046         Remove redundant type checking.
17047         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
17048         view of `caller-protects') to avoid a crash where the real fix was
17049         found elsewhere.
17050
17051 2000-02-12  Martin Buchholz  <martin@xemacs.org>
17052
17053         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
17054
17055         * s/sol2.h: Remove feature macro initialization.
17056
17057         * alloc.c (alloc_lcrecord): Add more type checking assertions.
17058         (vector_hash): New.  Code from internal_hash.
17059         * lrecord.h:
17060         Fix up allocation subsystem comments.
17061
17062         * config.h.in: Add __EXTENSIONS__ for Solaris.
17063
17064         * systime.h (EMACS_GETTIMEOFDAY): New.
17065         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
17066         Remove Solaris-specific code.
17067         Use void* for the (ignored) second arg for gettimeofday().
17068
17069         * elhash.c (hash_table_hash): Implement it, finally.
17070         * elhash.c:  Use hashcode_t.
17071
17072         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
17073         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
17074
17075         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
17076         * fns.c (size_bit_vector):
17077         * alloc.c (size_vector):
17078         (make_vector_internal):
17079         (make_bit_vector_internal):
17080         (sweep_bit_vectors_1):
17081         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
17082
17083 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17084
17085         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17086         Include strings.h to avoid warnings for bzero and strcasecmp.
17087
17088 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17089
17090         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17091         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17092
17093         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17094         sequence.
17095
17096 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17097
17098         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17099         use a value field instead.
17100         (symbol_value_forward_forward): Use value field.
17101         (DEFVAR_SYMVAL_FWD): Use value field.
17102         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17103         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17104         (DEFVAR_CONST_INT): Ditto.
17105         (DEFVAR_BOOL): Ditto.
17106         (DEFVAR_CONST_BOOL): Ditto.
17107         (DEFVAR_INT_MAGIC): Ditto.
17108         (DEFVAR_BOOL_MAGIC): Ditto.
17109
17110         * symbols.c (guts_of_unbound_marker): Use value field.
17111         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17112         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17113
17114         * lisp.h: Declare dumpopaque and noninteractive1.
17115
17116         * alloc.c (dumpopaque): Added.
17117         (pdump_dump_opaquevec): Added.
17118         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17119         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17120         noninteractive.
17121
17122 2000-02-10  Andy Piper  <andy@xemacs.org>
17123
17124         * glyphs.c (image_instance_layout): if the size changes, mark it
17125         as such.
17126
17127         * redisplay-output.c (redisplay_output_layout): Update the
17128         subwindow here.
17129         (redisplay_output_subwindow): ditto.
17130
17131         * glyphs.c (update_subwindow): make sure we reset flags for
17132         layouts as well as everything else.
17133
17134         * glyphs-widget.c (layout_layout): don't need to set the instances
17135         dimensions here.
17136
17137 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17138
17139         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17140         not HAVE_DLOPEN, which is a lower-level thing.
17141
17142         * .cvsignore: Ignore gmon.out
17143
17144 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17145
17146         * .cvsignore: Ignore portable dumper xemacs.dmp file
17147
17148 2000-02-09  Andy Piper  <andy@xemacs.org>
17149
17150         * redisplay-output.c (redisplay_output_layout): be more clever
17151         about when we output based on the changed flags.
17152
17153         * glyphs.h (struct image_instantiator_methods): add update_method.
17154         (struct Lisp_Image_Instance): add changed flags. Declare new
17155         macros for manipulating them.
17156
17157         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17158         (image_instance_parent_glyph): find an image_instance's parent
17159         glyph or image_instance.
17160         (image_instance_layout): mark the size as changed.
17161         (set_image_instance_dirty_p): new function. mark an image
17162         instance, plus all of its parents, as dirty.
17163         (Fset_image_instance_property): use it.
17164         (Fglyph_animated_timeout_handler): use it.
17165         (update_subwindow): call update_widget and device methods for
17166         update_subwindow. Mark all changed flags as clean.
17167         (Fresize_subwindow): mark size as changed.
17168
17169         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17170         failures.
17171         (x_update_subwindow): only resize subwindows here.
17172         (x_update_widget): new function. Update all changed properties of
17173         a widget.
17174         (x_resize_subwindow): deleted.
17175         (x_widget_set_property): deleted.
17176         (x_progress_gauge_set_property): deleted.
17177         (x_progress_gauge_update): new function. Implement recorded
17178         changes.
17179         (x_tab_control_update): ditto.
17180         (x_tab_control_set_property): deleted.
17181         (console_type_create_glyphs_x): declare new functions.
17182         (image_instantiator_format_create_glyphs_x): ditto.
17183
17184         * glyphs-widget.c (widget_set_property): mark text changed.
17185         (update_widget): new function. Update properties of a widget.
17186         (widget_instantiate): for layouts make sure we set their
17187         children's parent correctly.
17188         (tab_control_set_property): new function. Record changes that will
17189         take place under redisplay's control.
17190         (progress_gauge_set_property): ditto.
17191         (image_instantiator_progress_guage): declare new functions.
17192         (image_instantiator_tab_control): ditto.
17193
17194         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17195         now.
17196         (mswindows_update_widget): new function. Update all properties on
17197         a widget that have changed.
17198         (mswindows_button_update): new function. Update a button's set
17199         state.
17200         (mswindows_tab_control_update): new function. Update the items in
17201         a tab.
17202         (mswindows_tab_control_set_property): deleted.
17203         (mswindows_progress_gauge_update): new function. Update the
17204         progress gauge's progress.
17205         (mswindows_widget_set_property): deleted. This is all done
17206         asynchronously now.
17207         (mswindows_progress_gauge_set_property): ditto.
17208         (console_type_create_glyphs_mswindows): declare new methods.
17209         (image_instantiator_format_create_glyphs_mswindows): ditto.
17210
17211         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17212         (msprinter_set_frame_properties): ditto.
17213
17214         * console.h (struct console_methods): Add update_widget_method.
17215
17216 2000-02-09  Andy Piper  <andy@xemacs.org>
17217
17218         * gui-msw.c (Fmswindows_shell_execute): Make
17219         mswindows-shell-execute industrial strength.
17220
17221 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17222
17223         * lrecord.h: Make macro argument `props' match member function `plist'.
17224         * fns.c (Fget):
17225         * fns.c (Fput):
17226         * fns.c (Fremprop):
17227         * fns.c (Fobject_plist):
17228         * alloc.c:
17229         * symbols.c:
17230         Object property list frobbing cleanup.
17231         - Allow any lisp object (compared with `eq'), not just symbols, as
17232           keys in object plists.
17233         - Move symbol plist frobbing into symbols.c, where it belongs.
17234         - Move string plist frobbing into alloc.c, where it belongs.
17235         - Everything's an lrecord now, so no need to test for symbolp, etc.
17236         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17237
17238         * extents.c: Reorder code to remove declarations.
17239
17240         * frame.h (store_in_alist): Remove useless declaration.
17241
17242 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17243
17244         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17245         * config.h.in: Add HAVE_XCONVERTCASE.
17246
17247 2000-02-07  Andy Piper  <andy@xemacs.org>
17248
17249         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17250         it breaks many things.
17251
17252 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17253
17254         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17255         actually can start a common comment type.
17256         * src/syntax.h (SYNTAX_END_P): ditto for end.
17257
17258 2000-02-07  Martin Buchholz <martin@xemacs.org>
17259
17260         * XEmacs 21.2.28 is released.
17261
17262 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17263
17264         * event-Xt.c (x_keysym_to_character): New.
17265         (maybe_define_x_key_as_self_inserting_character): New.
17266         (x_has_keysym): New.
17267         Auto-define all keys on the keyboard as self-insert-key.
17268
17269 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17270
17271         * menubar.c (vars_of_menubar): A small code simplification.
17272
17273         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17274
17275         * ExternalShell.c:
17276         * ExternalClient.c:
17277         * EmacsShell-sub.c:
17278         * EmacsManager.c:
17279         * EmacsFrame.c:
17280         Use consistent style for specifying X resources.
17281
17282         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17283         This makes (dontusethis-set-symbol-value-handler) actually usable.
17284
17285         * lrecord.h (lrecord_decription_type):
17286         * alloc.c (pdump_register_sub):
17287         (pdump_dump_data):
17288         (pdump_reloc_one):
17289         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17290         Comply with XEmacs coding style.
17291         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17292         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17293
17294         * keymap.c (Faccessible_keymaps):
17295         Make (accessible-keymaps map "\C-h") do the Right Thing.
17296         Make (accessible-keymaps map []) do the Right Thing.
17297         Make (accessible-keymaps map "") do the Right Thing.
17298         (check_keymap_definition_loop): New function.
17299         (keymap_store_internal): Keep luser from shooting self in foot,
17300           via (define-key ctl-x-4-map "p" global-map).
17301         Remove fullness slot from struct Lisp_Keymap, since hash tables
17302         are now reliable.
17303         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17304
17305 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17306
17307         * redisplay.c (init_redisplay): Fix small memory leak.
17308         * elhash.h:
17309         * elhash.c (pdump_reorganize_hash_table):
17310         Rename from reorganize_hash_table. Change prototype.
17311         Reuse the original memory for hentries.  Save 100k.
17312         * alloc.c (PDUMP_READ): new macro.
17313         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17314         * alloc.c: No need to #ifndef before #undef.
17315
17316         * print.c: Allow debug_print() to print readably by modifying
17317         debug_print_readably.  Use consistent variable names.
17318
17319         * .dbxrc: Try to get things to work even if stopped in a function
17320         without source available by explicitly specifying source files.
17321 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17322
17323         * unexnt.c (_start): Removed bogus code which caused loading heap
17324         from differrent executable file.
17325         Removed bogus assignment to _fmode, which caused inconsistencies.
17326
17327 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17328
17329         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17330         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17331         Do not preliminary `#define signal sigset'.
17332
17333         * systime.h: Do not prototype environ on windows nt and cygwin,
17334         this conflicts with system header.
17335
17336         * syssignal.h: Use correct define for WINDOWSNT
17337
17338         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17339         with system header.
17340
17341         * sysdep.c (near start of file): Fixed commentary and rearranged
17342         ifdefs in readable order.
17343         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17344         (start_of_text):
17345         (end_of_text):
17346         (end_of_data): Do not compile in if using PDUMP.
17347
17348         * symsinit.h: Prototyped vars_of_nt().
17349
17350         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17351         (find_child_console): Use it.
17352         (sys_kill): Use it.
17353
17354         * ntheap.h: Do not extern os_subtype.
17355
17356         * ntheap.c (cache_system_info): Do not cache unneeded:
17357         nt_major_version, nt_minor_version and os_subtype.
17358         (recreate_heap): Do not compile in when PDUMPing.
17359
17360         * nt.c (geteuid and friends): Use the new varibale
17361         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17362         (init_user_info): Removed the above mentioned hackery.
17363         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17364         stat has been fixed in the C runtime.
17365         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17366
17367         * file-coding.c (struct file_coding_dump): Do not define
17368         ucs_to_mule_table in the struct if not MULE.
17369         (struct struct lrecord_description fcd_description_1): Do not dump
17370         the above.
17371
17372         * emacs.c (main_1): Call vars_of_nt().
17373         (right before Fdump_emacs_data): Don't need lastfile if using both
17374         portabe dumper and system malloc.
17375
17376         * alloc.c (Fmemory_limit): Conditionalized out.
17377         (pdump): Use OPEN_BINARY for the portable dump file.
17378         (pdump_load): Ditto.
17379
17380 2000-02-02  Mike Alexander  <mta@arbortext.com>
17381
17382         * nt.c (convert_time): Set tm_isdst before calling mktime and
17383         avoid calling it at all if the compiler supports 64 bit integers.
17384         Also initialize utc_base_ft before using it.
17385
17386 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17387
17388         * frame.c (change_frame_size_1): Take f->internal_border_width
17389         into consideration when calculating the width of the frame.
17390
17391 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17392
17393         * window.c (frame_min_height):
17394         (frame_size_valid_p):
17395         (frame_pixsize_valid_p): Added.
17396         (check_frame_size): Generalized.
17397
17398         * window.h: Prototyped the above.
17399
17400         * lisp.h:
17401         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17402         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17403         Deleted Vwin32_* and Vbinary_process_* unused variables.
17404
17405         * device-msw.c (msprinter_init_device): Do not get printer font
17406         list; Added DEVMODE functions.
17407
17408         * frame-msw.c: Added lots of printer code.
17409
17410         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17411         general.c.
17412
17413         * console-msw.h: Added more msprinter device private slots.
17414
17415 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17416
17417         * event-msw.c (key_needs_default_processing_p): Added.
17418         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17419
17420 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17421
17422         * glyphs.c (image_instance_layout): Mark image instance as clean
17423         after layout.
17424         (glyph_dirty_p): Removed redundant function.
17425         (invalidate_glyph_geometry_maybe): Added.
17426         (update_glyph_cachel_data): Call it.
17427
17428         * glyphs.h: Prototyped it.
17429
17430         * redisplay.c (add_glyph_rune): Call it.
17431         (redisplay_window): Reset glyphs cachels when frame faces have
17432         changed, thus forcing recomputation of built-in border glyphs.
17433
17434 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17435
17436         * Makefile.in.in: Make portable dumper and purify play well together.
17437         Add imperfect, but better than nothing, support for pdump.
17438         Remove xemacs.dmp when temacs is re-generated.
17439         Don't ignore errors when dumping xemacs.
17440
17441         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17442
17443 2000-01-28  Andy Piper  <andy@xemacs.org>
17444
17445         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17446         (setup_normal_frame): ditto.
17447         (setup_frame_without_minibuffer): ditto.
17448         (setup_minibuffer_frame): ditto.
17449         (delete_frame_internal): ditto.
17450         (Fmake_frame_invisible): ditto.
17451         (Ficonify_frame): ditto.
17452
17453         * window.h: change Fset_window_buffer signature.
17454
17455         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17456         (Fset_window_buffer): allow recording of buffer if the window is
17457         the selected window.
17458         (window_loop): Use new Fset_window signature.
17459
17460 2000-01-23  Daniel Pittman  <daniel@danann.net>
17461
17462         * config.h.in: Added template for `HAVE_ATHENA_3D'
17463
17464 2000-01-29  Andy Piper  <andy@xemacs.org>
17465
17466         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17467
17468         * gutter.c (output_gutter): Don't output if the window isn't live.
17469
17470 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17471
17472         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17473         of 01/12/00: Moved SetFocus back here where it belongs.
17474
17475 2000-01-23  Andy Piper  <andy@xemacs.org>
17476
17477         * s/cygwin32.h: declare printer things.
17478
17479 2000-01-26  Andy Piper  <andy@xemacs.org>
17480
17481         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17482         Alexander.
17483
17484 2000-01-24  Andy Piper  <andy@xemacs.org>
17485
17486         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17487         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17488
17489         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17490
17491         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17492
17493         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17494
17495         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17496         (mswindows_output_display_block): Avoid local shadows.
17497
17498         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17499         (mswindows_enqueue_mouse_button_event): ditto.
17500         (mswindows_handle_gui_wm_command): remove declaration.
17501
17502         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17503         warnings.
17504
17505         * console-msw.h: Avoid shadows.
17506         (mswindows_get_toolbar_button_text):
17507         (emacs_mswindows_create_stream_pair):
17508         (emacs_mswindows_delete_stream_pair):
17509         (mswindows_handle_toolbar_wm_command): declare.
17510
17511         * device-msw.c (build_syscolor_string): Avoid shadows.
17512
17513 2000-01-23  Andy Piper  <andy@xemacs.org>
17514
17515         * glyphs-widget.c (widget_instantiate): reverse the items for
17516         layouts so that children are in the expected order.
17517
17518 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17519
17520         * ralloc.c: safe_bcopy ==> memmove
17521         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17522         * s/msdos.h: Remove BCOPY macros.
17523         * insdel.c (gap_right): Remove BCOPY conditional code.
17524         * insdel.c (gap_left): Remove BCOPY conditional code.
17525         XEmacs demands a working ANSI C compiler - hence memmove.
17526
17527         * regex.c (regex_compile): Remove accidental use of trigraphs.
17528
17529 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17530
17531         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17532         event timestamp.
17533
17534 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17535
17536         * event-msw.c (mswindows_drain_windows_queue): Added the
17537         parameter.
17538         (mswindows_need_event): Commented the call to
17539         mswindows_drain_windows_queue().
17540         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17541         only.
17542
17543         * console-msw.h: Moved a few function prototypes here from
17544         event-msw.c.
17545
17546         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17547         parameter from unsigned short to unsigned long.
17548         (Fmswindows_shell_execute): Added return value.
17549
17550 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17551
17552         * sysdep.c (init_system_name):
17553           process-unix.c (unix_canonicalized_host_name):
17554         Don't call freeaddrinfo() if getaddrinfo() fails.
17555
17556         * process-unix.c (unix_open_unix_network_stream):
17557         Moved the code to get a port # into address loop.
17558
17559 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17560
17561         * buffer.c (reinit_vars_of_buffer):
17562         The right place to initialize conversion_in_dynarr and
17563         conversion_out_dynarr.
17564
17565         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17566
17567         * process-unix.c (unix_canonicalize_host_name): Muleize.
17568         (unix_open_network_stream): Muleize.
17569
17570         * buffer.h: Fix up prototypes for ralloc.c functions.
17571
17572 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17573         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17574         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17575                 instead of gethostbyname()
17576         * process-unix.c: In unix_canonicalize_host_name() and
17577                 unix_open_network_stream(), add code to use getaddrinfo()
17578                 instead of gethostbyname().
17579
17580 2000-01-27  Daniel Pittman <daniel@danann.net>
17581
17582         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17583         libs when built with flat Athena.
17584
17585 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17586
17587         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17588         Use coding standards for function prototypes.
17589
17590 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17591
17592         * dialog-msw.c (push_lisp_string_as_unicode):
17593         * doc.c (unparesseuxify_doc_string):
17594         * dired.c (Fuser_name_completion_1):
17595         * dired.c (Fuser_name_all_completions):
17596         * dired.c (free_user_cache):
17597         * dired.c (user_name_completion):
17598         * console-x.c (get_display_arg_connection):
17599         * minibuf.c (clear_echo_area_internal):
17600         * minibuf.c (echo_area_append):
17601         * eldap.c (Fldap_open):
17602         * eldap.c (Fldap_search_internal):
17603         * frame-x.c (x_set_frame_text_value):
17604         * frame-x.c (x_set_frame_properties):
17605         * frame-x.c (x_create_widgets):
17606         * redisplay-tty.c (term_get_fkeys_1):
17607         * objects-x.c (x_parse_nearest_color):
17608         * objects-x.c (x_valid_color_name_p):
17609         * objects-x.c (x_initialize_font_instance):
17610         * objects-x.c (x_list_fonts):
17611         * objects-x.c (x_find_charset_font):
17612         * tooltalk.c (Fadd_tooltalk_message_arg):
17613         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17614         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17615         * process-unix.c (unix_create_process):
17616         * ntproc.c (sys_spawnve):
17617         * sound.c (Fplay_sound_file):
17618         * sound.c (Fplay_sound):
17619         * buffer.c (init_initial_directory):
17620         * buffer.c (init_buffer):
17621         * editfns.c (init_editfns):
17622         * editfns.c (Ftemp_directory):
17623         * editfns.c (Fuser_full_name):
17624         * editfns.c (uncache_home_directory):
17625         * editfns.c (get_home_directory):
17626         * editfns.c (Fuser_home_directory):
17627         * editfns.c (Fformat_time_string):
17628         * editfns.c (Fcurrent_time_string):
17629         * gui-x.c (button_item_to_widget_value):
17630         * database.c (Fopen_database):
17631         * event-Xt.c (x_to_emacs_keysym):
17632         * event-Xt.c (x_event_to_emacs_event):
17633         * event-Xt.c (describe_event_window):
17634         * event-msw.c (mswindows_wnd_proc):
17635         * glyphs-eimage.c (jpeg_instantiate):
17636         * glyphs-eimage.c (gif_instantiate):
17637         * glyphs-eimage.c (png_instantiate):
17638         * glyphs-eimage.c (tiff_instantiate):
17639         * glyphs-x.c (xbm_instantiate_1):
17640         * glyphs-x.c (x_xbm_instantiate):
17641         * glyphs-x.c (x_xface_instantiate):
17642         * glyphs-x.c (autodetect_instantiate):
17643         * glyphs-x.c (cursor_font_instantiate):
17644         * glyphs-x.c (x_widget_instantiate):
17645         * glyphs-x.c (x_widget_set_property):
17646         * glyphs-x.c (x_widget_property):
17647         * glyphs-x.c (BUILD_GLYPH_INST):
17648         * print.c (write_string_to_stdio_stream):
17649         * print.c (output_string):
17650         * print.c (Falternate_debugging_output):
17651         * print.c (Fexternal_debugging_output):
17652         * glyphs-msw.c (extract_xpm_color_names):
17653         * glyphs-msw.c (mswindows_xpm_instantiate):
17654         * glyphs-msw.c (bmp_instantiate):
17655         * glyphs-msw.c (resource_name_to_resource):
17656         * glyphs-msw.c (mswindows_resource_instantiate):
17657         * glyphs-msw.c (xbm_instantiate_1):
17658         * glyphs-msw.c (mswindows_xbm_instantiate):
17659         * glyphs-msw.c (mswindows_xface_instantiate):
17660         * glyphs-msw.c (mswindows_widget_instantiate):
17661         * glyphs-msw.c (add_tree_item):
17662         * glyphs-msw.c (add_tab_item):
17663         * glyphs-msw.c (mswindows_combo_box_instantiate):
17664         * glyphs-msw.c (mswindows_widget_property):
17665         * glyphs-msw.c (mswindows_combo_box_property):
17666         * glyphs-msw.c (mswindows_widget_set_property):
17667         * console.c (stuff_buffered_input):
17668         * objects-msw.c (mswindows_initialize_color_instance):
17669         * objects-msw.c (mswindows_valid_color_name_p):
17670         * objects-msw.c (mswindows_list_fonts):
17671         * objects-msw.c (mswindows_font_instance_truename):
17672         * bytecode.c (optimize_compiled_function):
17673         * select-x.c (symbol_to_x_atom):
17674         * select-x.c (x_atom_to_symbol):
17675         * select-x.c (hack_motif_clipboard_selection):
17676         * select-x.c (selection_data_to_lisp_data):
17677         * select-x.c (lisp_data_to_selection_data):
17678         * select-x.c (Fx_get_cutbuffer_internal):
17679         * select-x.c (Fx_store_cutbuffer_internal):
17680         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17681         * buffer.h (TO_INTERNAL_FORMAT): New function.
17682         * emacs.c (make_arg_list_1):
17683         * emacs.c (make_argc_argv):
17684         * emacs.c (main_1):
17685         * emacs.c (Fdump_emacs):
17686         * emacs.c (split_string_by_emchar_1):
17687         * file-coding.h:
17688         * lisp.h:
17689         * lstream.h:
17690         * symsinit.h:
17691         * device-x.c (x_init_device):
17692         * device-x.c (Fx_valid_keysym_name_p):
17693         * device-x.c (Fx_get_font_path):
17694         * device-x.c (Fx_set_font_path):
17695         * glyphs.c (bitmap_to_lisp_data):
17696         * glyphs.c (pixmap_to_lisp_data):
17697         * alloc.c (make_ext_string): Use coding system arguments.  Update
17698         all callers.
17699         * alloc.c (build_string):
17700         * callproc.c (child_setup):
17701         * callproc.c (init_callproc):
17702         * fileio.c (lisp_strerror):
17703         * fileio.c (directory_file_name):
17704         * fileio.c (Fexpand_file_name):
17705         * fileio.c (Ffile_truename):
17706         * fileio.c (Fsysnetunam):
17707         * fileio.c (Fdo_auto_save):
17708         * sysdep.c (sys_readdir):
17709         * tests.c: New file.  Allow adding C tests.
17710         Replace GET_* macros with a more comprehensible and flexible
17711         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17712         Modify all calls.
17713         Any coding system can be used to do format conversion.
17714         Eliminate enum external_data_format.
17715         Eliminate convert_to_external_format.
17716         Eliminate convert_to_internal_format.
17717         Make sure file-name, keyboard, terminal, and ctext are always
17718         defined as coding systems or aliases.  Make
17719         file-name-coding-system, terminal-coding-system, and
17720         keyboard-coding-system magical variables that are equivalent to
17721         defining the corresponding coding system aliases.
17722
17723         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17724         * file-coding.c (Fcoding_system_alias_p): New function.
17725         * file-coding.c (Fcoding_system_aliasee): New function.
17726         * file-coding.c (append_suffix_to_symbol): New function.
17727         * file-coding.c (dangling_coding_system_alias_p): New function.
17728         * file-coding.c (Ffind_coding_system):
17729         * file-coding.c (Fcopy_coding_system):
17730         * file-coding.c (encode_coding_no_conversion):
17731         * file-coding.c (syms_of_file_coding):
17732         * file-coding.c (vars_of_file_coding):
17733         Rewrite coding system alias code.
17734         Allow nested aliases, like symbolic links.
17735         Allow redefinition of coding system aliases.
17736         Prevent existence of dangling coding system aliases.
17737
17738         * dired.c (Fuser_name_completion_1):
17739         * dired.c (Fuser_name_all_completions):
17740         A crash would happen if user did QUIT in the middle of building
17741         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17742
17743         * lisp.h:
17744         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17745
17746         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17747         an unsigned char *.  Update all callers.
17748
17749 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17750
17751         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17752
17753 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17754
17755         * elhash.c (hentry_description): Use more portable definition.
17756         (resize_hash_table): Initialize new hentries using
17757         xnew_array_and_zero, thereby simplifying the code.
17758
17759         * mule-charset.c (make_charset): Make sure entire object is
17760         initialized, to avoid Purify warnings.
17761
17762         * alloc.c (resize_string): Fix unlikely crash with big strings.
17763
17764 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17765
17766         * realpath.c (xrealpath):
17767         Don't call getwd().
17768
17769 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17770
17771         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17772
17773 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17774
17775         * unexelfsgi.c (unexec): Change the way we decide which segment
17776         should be extended.
17777
17778         Assumption that .bss section should be outside the PT_LOADable
17779         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17780         it's present) is inside the 'data' segment. This would fail the
17781         test which was used to find a segment to grow and cover new
17782         heap. Instead of this assumption, I created another one - on IRIX
17783         the segment to grow should start below .bss and it's address
17784         should extent above the end of .bss. Once this segment is
17785         identified, it's grown to accommodate the new heap and new
17786         zero-length .bss section is added at the end of .data2.
17787
17788 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17789
17790         * eval.c (Feval): Wrong number of arguments should use original
17791         function, not the indirect_function version of it.
17792
17793 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17794
17795         * glyphs-x.c (x_button_instantiate): Don't add image if
17796         it is not a pixmap.
17797         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17798         is relative.
17799
17800 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17801
17802         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17803         declaration.
17804         (DEFVAR_INT_MAGIC): Ditto.
17805         (DEFVAR_BOOL_MAGIC): Ditto.
17806         * glyphs.h: Reindent backslash.
17807
17808 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17809
17810         * glyphs-widget.c (layout_query_geometry):
17811         (layout_layout): Use correct types for gheight, gwidth.
17812
17813 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17814
17815         * EmacsManager.c (QueryGeometry): Purified.
17816
17817 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17818
17819         * alloc.c (make_float): Make sure entire object is initialized, to
17820         avoid Purify warnings.
17821         (pdump_register_sub): Remove useless assignment.
17822         (pdump): Use xmalloc, not malloc.
17823         (pdump_load): Use xmalloc, not malloc.
17824
17825 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17826
17827         * callproc.c:
17828         * dired-msw.c:
17829         * fileio.c:
17830         * process-nt.c:
17831         * redisplay-msw.c:
17832         * sysdep.c: Removed redundant #include <windows.h>
17833
17834 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17835
17836         * frame.c (delete_frame_internal): Do not delete device when its
17837         implementation so declares.
17838         (delete_frame_internal): Set device selected frame to nil when
17839         last frame goes away.
17840
17841         * device-msw.c (msprinter_device_system_metrics): Implemented.
17842         (mswindows_device_system_metrics): Added 'device-dpi property.
17843
17844         * device.c: (Fdevice_printer_p): Added.
17845         Added 'offset-workspace device metric.
17846
17847         * console.h (device_metrics): Declared DM_offset_workspace.
17848
17849 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17850
17851         * fileio.c (Ffile_truename): Remove pointless and confusing
17852         initialization of elen.
17853
17854         * glyphs-widget.c: Compiler warning fixes.
17855
17856 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17857
17858         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17859         instead of a Lisp_Object as argument to make it consistent with
17860         the other LIVE_P macros.
17861         (CHECK_LIVE_PROCESS): New macro.
17862
17863         * process.c: Declare Qprocess_live_p.
17864         (Fprocess_live_p): New function.
17865         (create_process): Use PROCESS_LIVE_P.
17866         (read_process_output): Ditto.
17867         (set_process_filter): Ditto.
17868         (Fdelete_process): Ditto.
17869         (kill_buffer_processes): Ditto
17870         (process_send_signal): Use CHECK_LIVE_PROCESS.
17871         (Fprocess_input_coding_system): Check whether process is still
17872         alive (fix PR#1061).
17873         (Fprocess_output_coding_system): Ditto.
17874         (Fprocess_coding_system): Ditto.
17875         (Fset_process_input_coding_system): Ditto.
17876         (Fset_process_output_coding_system): Ditto.
17877
17878 2000-01-23  Andy Piper  <andy@xemacs.org>
17879
17880         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17881         layout and widget.
17882
17883         * glyphs.c (mark_image_instance): take into account changed
17884         image_instance format.
17885         (image_instance_equal): ditto.
17886         (image_instance_hash): ditto.
17887
17888         * glyphs-widget.c (widget_instantiate): Incorporate layout
17889         instantiation here. Delay layout of the layout until later.
17890         (layout_instantiate): deleted.
17891         (layout_query_geometry): new function. get the geometry of a
17892         layout.
17893         (layout_layout): layout a layout dynamically.
17894         (image_instantiator_widget): New function - splitting up
17895         image_instantiator_format_create_glyphs_widget for netwinder
17896         compilation.
17897         (image_instantiator_buttons):
17898         (image_instantiator_edit_fields):
17899         (image_instantiator_combo_box):
17900         (image_instantiator_scrollbar):
17901         (image_instantiator_progress_guage):
17902         (image_instantiator_tree_view):
17903         (image_instantiator_tab_control):
17904         (image_instantiator_labels):
17905         (image_instantiator_layout): ditto.
17906         (image_instantiator_format_create_glyphs_widget): Call preceding
17907         functions.
17908
17909 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17910
17911         * process.c (Fset_process_coding_system):
17912         * device-x.c (Fx_keysym_hash_table):
17913         Docstring fixes.
17914
17915         * lstream.c (Lstream_write): Return documented value, not 0.
17916
17917         * fileio.c (directory_file_name):
17918         (Fsubstitute_in_file_name):
17919         (Fsubstitute_insert_file_contents_internal):
17920         (Fwrite_region_internal):
17921         * emacs.c:
17922         * sysdep.c:
17923         * getloadavg.c:
17924         * systty.h:
17925         Remove vestigial APOLLO-conditional code.
17926
17927 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17928
17929         * getpagesize.h: Add guard macros.
17930         * libsst.h: Add guard macros.
17931         * libst.h: Add guard macros.
17932         * line-number.h: Add guard macros.
17933         * ndir.h: Add guard macros.
17934         * sysfloat.h: Add guard macros.
17935         * sysfile.h: Add guard macros.
17936         * sysproc.h: Add guard macros.
17937         * syswait.h: Add guard macros.
17938         * xintrinsic.h: Add guard macros.
17939         * xintrinsicp.h: Add guard macros.
17940         * xmmanager.h: Add guard macros.
17941         * xmmanagerp.h: Add guard macros.
17942         * xmprimitive.h: Add guard macros.
17943         * xmu.h: Add guard macros.
17944         * gpmevent.h: Add copyright statement. Add guard macros.
17945         * miscplay.h: Add guard macros.
17946         * *.h: Use consistent C-standards-approved guard macro names.
17947
17948         * opaque.c (make_opaque): Switch parameter order.
17949         * opaque.h (make_opaque): Switch parameter order.
17950         Update all callers.
17951         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17952
17953         * config.h.in (type_checking_assert): Added.
17954         (bufpos_checking_assert): Added.
17955
17956 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17957
17958         * alloc.c: Harmless pdump changes.
17959         - Use countof().
17960         - spell alignment correctly.
17961         * sysdep.c: Use countof()
17962
17963 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17964
17965         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17966         initially_selected_for_input() console method, default to 0.
17967         (semi_canonicalize_console_connection): Try to delegate to
17968         canonicalize_console_connection if no such console method.
17969         (canonicalize_console_connection): Vice versa.
17970         (print_console): Do not print nil connection.
17971
17972         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17973         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17974         (XDEVIMPF_FRAMELESS_OK): Added.
17975         (CONSOLE_INHERITS_METHOD): Added.
17976
17977         * console-msw.c (mswindows_canonicalize_console_connection):
17978         Added.
17979         (mswindows_canonicalize_device_connection): Added.
17980
17981         * console-msw.h (struct msprinter_device): Added this struct and
17982         accessor macros.
17983         (mswindows_device): Made fontlist a lisp object.
17984
17985         * device.c (semi_canonicalize_device_connection):  Try to delegate
17986         to canonicalize_device_connection if no such console method.
17987         (canonicalize_device_connection): Vice versa.
17988         (print_device): Do not print nil connection.
17989
17990         * device-msw.c (mswindows_init_device): Call InitCommonControls
17991         when have widgets.
17992         (mswindows_delete_device): Removed fontlist deallocation.
17993         (mswindows_mark_device): Added.
17994
17995         * events.c (event_equal): Added abort() at unreached code.
17996         (event_hash): Ditto.
17997
17998         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17999         fallback tags of Windows devices.
18000
18001         * general.c (syms_of_general): Initialized Qmsprinter.
18002
18003         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
18004         of fallback tags of Windows devices.
18005
18006         * lisp.h: Declared Qmsprinter.
18007
18008         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
18009         of strings.
18010         (mswindows_list_fonts): Ditto.
18011         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
18012         that it can be used by both mswindows and msprinter devices.
18013         (initialize_font_instance): Added.
18014         (mswindows_initialize_font_instance): Use it.
18015         (msprinter_initialize_font_instance): Added.
18016
18017         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
18018         and implementation flags check.
18019         (redisplay_without_hooks): Changed the call to the above.
18020         (Fredraw_device): Ditto.
18021         (Fredisplay_device): Ditto.
18022
18023         * redisplay-msw.c (get_frame_dc): Implemented.
18024         (get_frame_compdc): Implemented.
18025         (many functions): Use the two functions above to get device
18026         contexts, ether for a window or a printer.
18027
18028 2000-01-21  Olivier Galibert  <galibert@pobox.com>
18029
18030         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
18031         initialization here.
18032         (init_symbols_once_early): Call it.
18033         * emacs.c (main_1): Call it.
18034         * symsinit.h: Declare it.
18035
18036 2000-01-19  Olivier Galibert  <galibert@pobox.com>
18037
18038         * alloc.c: Use a lrecord_header * in the backtrace instead of a
18039         Lisp_Object.
18040         (pdump_backtrace): Ditto.
18041         (pdump_register_object): Ditto.  Cleanup use of the pointers.
18042         (pdump_get_entry): Abort if trying to register a null pointer.
18043         (pdump_dump_data): Cleanup types when relocating.
18044         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
18045         (pdump_dump_rtables): Remove bad casts.
18046         (pdump_load): Cleanup relocation w.r.t union type.  Use a
18047         Lisp_Object instead of a EMACS_INT for the hashtable
18048         reorganization.
18049
18050 2000-01-20  Martin Buchholz  <martin@xemacs.org>
18051
18052         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
18053
18054         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
18055
18056         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
18057
18058         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
18059
18060 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18061
18062         * faces.h (FACE_STRIKETHRU_P): Added.
18063
18064         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
18065         of font variants.
18066
18067         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
18068         (mswindows_set_dc_font): New function, aware of font variants,
18069         separated from mswindows_update_dc.
18070
18071         * objects-msw.h (struct mswindows_font_instance_data): Added
18072         definition.
18073
18074         * objects-msw.c (mswindows_finalize_font_instance): Delete all
18075         cached fonts and the data structure.
18076         (mswindows_initialize_font_instance): Added creation of font data
18077         structure.
18078         (mswindows_print_font_instance): Print at least something.
18079         (mswindows_create_font_variant): Implemented.
18080         (mswindows_get_hfont): Implemented.
18081
18082 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18083
18084         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18085         prototyping problem with msvc.
18086
18087         * emacs.c (main_1): added syms_of_gui_mswindows() call
18088
18089         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18090         syms_of_gui_mswindows() function
18091
18092         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18093
18094 2000-01-18  Martin Buchholz <martin@xemacs.org>
18095
18096         * XEmacs 21.2.27 is released.
18097
18098 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18099
18100         * glyphs-eimage.c (struct tiff_error_struct):
18101         (tiff_error_func):
18102         (tiff_warning_func):
18103         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18104
18105         * unexmips.c:
18106         * unexhp9k3.c:
18107         * unexfreebsd.c:
18108         * unexec.c: Remove vestigial Lucid C code.
18109         * unexalpha.c:
18110         * unexaix.c:
18111         * termcap.c:
18112         * libsst.c: Ansify.
18113         Remove declarations of errno and strerror().
18114
18115         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18116
18117         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18118
18119 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18120
18121         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18122         Optimize.
18123
18124 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18125
18126         * md5.c:
18127         * file-coding.c:
18128         * file-coding.h:
18129         Change enum eol_type to eol_type_t.
18130
18131 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18132
18133         * gui.c (get_gui_callback): Check cons before accessing car.
18134
18135 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18136
18137         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18138         (XSETSPECIFIER_TYPE): Ditto.
18139
18140 2000-01-17  Didier Verna  <didier@xemacs.org>
18141
18142         * redisplay.c (generate_fstring_runes): compute string size in
18143         characters, not bytes.
18144
18145 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18146
18147         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18148
18149 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18150
18151         * print.c (print_error_message): Call print_prepare().
18152
18153 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18154
18155         * .dbxrc: Renamed from dbxrc.
18156
18157         * events.c (event_to_character):
18158         Use `assert (foo)' instead of `if (!foo) abort()'
18159
18160         * .gdbinit (xtype): Add documentation.
18161         * .gdbinit (check-temacs): New function.
18162         * .gdbinit (check-xemacs): New function.
18163         * dbxrc (check-xemacs): New function.
18164         * dbxrc (check-xemacs): New function.
18165
18166 2000-01-14  Andy Piper  <andy@xemacs.org>
18167
18168         * glyphs-widget.c (widget_query_geometry): Make sure that we
18169         calculate default dimensions correctly.
18170
18171 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18172
18173         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18174
18175         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18176         pdump_wire'd variable.
18177
18178         * emacs.c: (main_1): Conditionalized calls to
18179         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18180
18181 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18182
18183         * window.c (Fset_window_configuration):
18184         * sysdep.c (_start):
18185         * input-method-motif.c (res):
18186         * event-Xt.c (Xt_process_to_emacs_event):
18187         Simple compiler warning fixes.
18188
18189         * bytecode.c (funcall_compiled_function): Use the original
18190         function symbol on the backtrace list in preference to the
18191         compiled_function object in error messages.
18192
18193 2000-01-13  Andy Piper  <andy@xemacs.org>
18194
18195         * glyphs-x.c (update_widget_face): Make sure we update the widget
18196         background as well as foreground.
18197
18198 2000-01-13  Andy Piper  <andy@xemacs.org>
18199
18200         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18201         fields to subwindow.
18202         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18203         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18204         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18205         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18206
18207         * glyphs-widget.c (check_valid_tab_orientation): new function.
18208         (initialize_widget_image_instance): zero orientation and
18209         justification.
18210         (widget_instantiate): pick up orientation.
18211         (tab_control_query_geometry): return appropriate values for
18212         vertical tabs.
18213
18214         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18215         appropriate creation flags for left, right and bottom tabs.
18216
18217         * s/cygwin32.h: add tab definitions.
18218
18219 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18220
18221         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18222         frame upon hiding a subwindow.
18223         (mswindows_button_instantiate): Changed the push button style to
18224         BS_PUSHBUTTON.
18225         (mswindows_button_instantiate): Removed button BS_NOTIFY
18226         style.
18227         (mswindows_button_instantiate): Removed redundant check for
18228         a disabled gui item.
18229         (mswindows_button_instantiate): Made use of WS_TABSTOP
18230         consistent: "operable" controls (edit, button, tree, scroll) have
18231         this style, "display-only" ones (static, progress gauge) do
18232         not. This style is currently ignored by XEmacs though. Also,
18233         removed the WS_EX_CONTROLPARENT style - it is not for children,
18234         it is for their parents!
18235         (mswindows_edit_field_instantiate): Ditto.
18236         (mswindows_progress_gauge_instantiate): Ditto.
18237         (mswindows_tree_view_instantiate): Ditto.
18238         (mswindows_tab_control_instantiate): Ditto.
18239         (mswindows_scrollbar_instantiate): Ditto.
18240         (mswindows_combo_box_instantiate): Ditto.
18241         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18242         style to the "clip" window.
18243         (mswindows_button_instantiate): Removed compilation warning by
18244         equally typing terms of the ?: operator.
18245
18246 2000-01-12  Didier Verna  <didier@xemacs.org>
18247
18248         * redisplay.c (generate_fstring_runes): new parameter holding the
18249         last modeline-format extent.
18250         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18251         extent, fill the glyph block with it.
18252         (generate_fstring_runes): handle these parameters.
18253         (generate_formatted_string_db): ditto.
18254
18255         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18256         glyphs'extents in the modeline.
18257
18258 1999-01-11  Mike Woolley  <mike@bulsara.com>
18259
18260         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18261         256Mb, as a workaround for the non-starting problem many people
18262         have experienced.
18263
18264 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18265
18266         * console-tty.c (Fset_console_tty_output_coding_system):
18267         Force redrawing tty frame.
18268
18269 2000-01-10  Didier Verna  <didier@xemacs.org>
18270
18271         * redisplay.c (generate_fstring_runes): fix size computation bug.
18272
18273 2000-01-09  William M. Perry <wmperry@aventail.com>
18274
18275         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18276
18277 2000-01-09  Andy Piper  <andy@xemacs.org>
18278
18279         * glyphs-msw.c: index -> i to avoid shadows.
18280         (xbm_create_bitmap_from_data): make static.
18281         (check_valid_string_or_int): deleted.
18282         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18283
18284         * glyphs-x.c (x_update_subwindow): remove unused args.
18285
18286         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18287         back pointer - this is done in allocate_image_instance.
18288         (query_string_font): return Qnil to make the compiler happy.
18289         (unmap_subwindow): set to ~0 to make the compiler happy.
18290         (glyph_query_geometry): comment out until used.
18291         (glyph_layout): ditto.
18292
18293 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18294
18295         * insdel.c (signal_after_change): Remove extraneous unbind_to().