Merge branch 'master' into single-inheritance.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2017-06-08  MORIOKA Tomohiko  <tomo.git@chise.org>
2
3         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Use 1024 instead of 512.
4
5 2016-11-17  MORIOKA Tomohiko  <tomo.git@chise.org>
6
7         * chartab.h: Undefine `USE_CONCORD_OBJECT_SYSTEM' to avoid the
8         Concord Object System.
9
10 2016-11-16  MORIOKA Tomohiko  <tomo.git@chise.org>
11
12         * chartab.c (Fput_char_attribute): Use single-inheritance format
13         for character definitions; namely a value of `<-subsumptive' or
14         `<-denotational' must be a character instead of a list of
15         characters.
16
17 2016-11-17  MORIOKA Tomohiko  <tomo.git@chise.org>
18
19         * chartab.h (USE_CONCORD_OBJECT_SYSTEM): New macro; use it instead
20         of `HAVE_LIBCHISE' to detect to use Concord Object System.
21         (USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE): New macro.
22
23         * text-coding.c: Use `USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE'
24         instead of `HAVE_LIBCHISE' to detect to use Concord Object System
25         for character composing.
26
27         * mule-charset.c (charset_code_point): Use
28         `USE_CONCORD_OBJECT_SYSTEM' instead of `HAVE_LIBCHISE' to detect
29         to use Concord Object System.
30
31 2016-11-16  MORIOKA Tomohiko  <tomo.git@chise.org>
32
33         * chartab.c: Use `USE_CONCORD_OBJECT_SYSTEM' instead of
34         `HAVE_LIBCHISE' to detect to use Concord Object System.
35
36 2016-07-23  MORIOKA Tomohiko  <tomo.git@chise.org>
37
38         * text-coding.c (Fmake_coding_system): Accept property
39         `charset-g3' for CODESYS_UTF8.
40         (char_encode_utf8): Refer `charset-g3'.
41
42 2015-11-25  MORIOKA Tomohiko  <tomo.git@chise.org>
43
44         * chartab.c (Fchar_feature): When argument ATTRIBUTE is a CCS and
45         whose name is =>FOO, don't try to find =FOO; fix problem when
46         argument ATTRIBUTE is ==>FOO.
47
48 2013-05-19  MORIOKA Tomohiko  <tomo.git@chise.org>
49
50         * text-coding.c (COMPOSE_ADD_CHAR): Use
51         `concord_object_get_attribute' instead of
52         `concord_object_get_feature_value'.
53
54         * chartab.c (char_table_get_db_cos): Use
55         `concord_object_get_attribute' instead of
56         `concord_object_get_feature_value'.
57
58 2013-05-02  MORIOKA Tomohiko  <tomo.git@chise.org>
59
60         * chartab.h (get_char_id_table_ce): Use
61         `load_char_attribute_maybe_cos' instead of
62         `load_char_attribute_maybe'.
63
64         * chartab.c (load_char_attribute_maybe_cos): Return NULL instead
65         of Qunbound as the default value.
66
67 2013-05-01  MORIOKA Tomohiko  <tomo.git@chise.org>
68
69         * chartab.h (load_char_attribute_maybe_cos): New prototype when
70         HAVE_LIBCHISE is defined.
71         (get_char_id_table_ce): New inline function when HAVE_LIBCHISE is
72         defined.
73
74         * mule-charset.c (charset_code_point): Use `get_char_id_table_ce'
75         instead of `get_char_id_table' when HAVE_LIBCHISE is defined.
76         (load_char_decoding_entry_maybe): Don't use
77         `decoding_table_put_char' to avoid GC.
78
79         * text-coding.c (concord_setup_env_maybe): Abolished.
80         (COMPOSE_ADD_CHAR): Use `open_chise_data_source_maybe' instead of
81         `concord_setup_env_maybe'.
82
83 2013-05-01  MORIOKA Tomohiko  <tomo.git@chise.org>
84
85         * chartab.c (open_chise_data_source_maybe): New implementation;
86         don't use `build_string' and `Fexpand_file_name' to avoid GC.
87         (char_table_get_db_cos): New function when HAVE_LIBCHISE is
88         defined.
89         (load_char_attribute_maybe_cos): Likewise.
90
91 2013-04-23  MORIOKA Tomohiko  <tomo.git@chise.org>
92
93         * text-coding.c (struct decoding_stream): Use COS_object instead
94         of Lisp_Object for `combining_table' if HAVE_LIBCHISE is defined.
95         (reset_decoding_stream): Likewise.
96         (COMPOSE_FLUSH_CHARS): Likewise.
97         (concord_setup_env_maybe): New function.
98         (COMPOSE_ADD_CHAR): Use COS API for `str->combining_table' if
99         HAVE_LIBCHISE is defined.
100
101 2013-02-16  MORIOKA Tomohiko  <tomo.git@chise.org>
102
103         * chartab.c (find_char_feature_in_family): New implementation;
104         don't support multiple parents; support non-list mother.
105
106 2012-06-11  MORIOKA Tomohiko  <tomo.git@chise.org>
107
108         * text-coding.c (Qenable_decomposition): New variable in XEmacs
109         CHISE.
110         (Fmake_coding_system): Add new property `enable-decomposition' in
111         XEmacs CHISE.
112         (char_encode_utf8): Don't decompose character if
113         CODING_SYSTEM_ENABLE_DECOMPOSITION (str->codesys) is false.
114         (syms_of_file_coding): Add new symbol `enable-decomposition' in
115         XEmacs CHISE.
116         (complex_vars_of_file_coding): Define new coding-system-property
117         `enable-decomposition' in XEmacs CHISE.
118
119         * file-coding.h (struct Lisp_Coding_System): Add
120         `enable_decomposition' in XEmacs CHISE.
121         (CODING_SYSTEM_ENABLE_DECOMPOSITION): New macro in XEmacs CHISE.
122         (XCODING_SYSTEM_ENABLE_DECOMPOSITION): New macro in XEmacs CHISE.
123
124 2012-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
125
126         * text-coding.c (DECODE_ADD_UCS_CHAR): Add `static'.
127
128 2012-02-11  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
129
130         * text-coding.c (DECODE_ADD_UCS_CHAR): Don't use `INLINE_HEADER'.
131
132         * chartab.c (UINT8_DECODE): Don't use `INLINE_HEADER'.
133         (UINT16_DECODE): Ditto.
134
135         * glyphs-eimage.c (png_instantiate):
136         - Use `png_get_image_height (png_ptr, info_ptr)' instead of
137           `info_ptr->height'.
138         - Use `png_get_image_width (png_ptr, info_ptr)' instead of
139           `info_ptr->width'.
140         - Use `png_get_color_type(png_ptr, info_ptr)' instead of
141           `info_ptr->color_type'.
142         - Use `png_get_bit_depth(png_ptr, info_ptr)' instead of
143           `info_ptr->bit_depth'.
144
145 2011-07-20  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
146
147         * mule-charset.c (charset_code_point): If nil is specified as a
148         feature-value, don't find in mother and return -1.
149
150 2011-07-22  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
151
152         * chartab.c (Fput_char_attribute): Accept nil as a value of
153         CCS-feature [it means that specified object does not have
154         code-point of the CCS-feature].
155
156 2011-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * mule-charset.c (complex_vars_of_mule_charset): Use "jisx0208"
159         instead of "jisx0208\\.1990" as the X-registry of `=jis-x0208'.
160
161 2011-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
162
163         * text-coding.c (char_encode_as_entity_reference): Don't use
164         `DECODE_CHAR' to detect isolated characters.
165
166         * mule-charset.c (charset_code_point): Change the third argument
167         `defined_only' to `accepted_mode'; `accepted_mode' can be
168         CHAR_ISOLATED_ONLY, CHAR_ALL or CHAR_DEFINED_ONLY.
169
170         * char-ucs.h (CHAR_ISOLATED_ONLY): New macro.
171         (CHAR_ALL): New macro.
172         (CHAR_DEFINED_ONLY): New macro.
173
174 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
175
176         * chartab.c (Fchar_feature_base_name_eq): New function when
177         UTF2000 is enabled.
178         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
179         (syms_of_chartab): Add new builtin function
180         `char-feature-base-name=' when UTF2000 is enabled.
181
182 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
183
184         * text-coding.c (Vdecomposition_feature_list): New variable when
185         UTF2000 is defined.
186         (char_encode_utf8): Refer variable `decomposition-feature-list'
187         instead of `=decomposition' feature.
188         (vars_of_file_coding): Add new variable
189         `decomposition-feature-list' when UTF2000 is defined.
190
191 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
192
193         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
194         `=decomposition' feature.
195
196 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
197
198         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
199         coded-charsets with builtin characters.
200
201 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
202
203         * text-coding.c (Qrep_decomposition): New extern.
204         (char_encode_utf8): Try to encode as combing sequence (or IVS).
205
206 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
209         "#endif" for code to refer Vchise_system_db_directory.
210
211 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
214         (Fconcord_object_adjoin): New function.
215         (Fconcord_object_adjoinX): New function.
216         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
217         `Fconcord_object_adjoinX'.
218
219 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * concord.c:
222         - Include "elconcord.h".
223         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
224           and `Fconcord_object_get' to elconcord.h.
225         (Lisp_CONCORD_DS): Moved to elconcord.h.
226         (struct Lisp_CONCORD_DS): Ditto.
227         (XCONCORD_DS): Ditto.
228         (XSET_CONCORD_DS): Ditto.
229         (CONCORD_DS_P): Ditto.
230         (CHECK_CONCORD_DS): Ditto.
231         (CONCHECK_CONCORD_DS): Ditto.
232         (Lisp_CONCORD_Object): Ditto.
233         (struct Lisp_CONCORD_Object): Ditto.
234         (XCONCORD_OBJECT): Ditto.
235         (XSET_CONCORD_OBJECT): Ditto.
236         (CONCORD_OBJECT_P): Ditto.
237         (CHECK_CONCORD_OBJECT): Ditto.
238         (CONCHECK_CONCORD_OBJECT): Ditto.
239         (CONCORD_OBJECT_GENRE): Ditto.
240         (CONCORD_OBJECT_ID): Ditto.
241         (XCONCORD_OBJECT_ID): Ditto.
242         (XCONCORD_OBJECT_GENRE): Ditto.
243         (concord_object_equal): New function.
244         (LRECORD_IMPLEMENTATION of "concord_object"): Use
245         `concord_object_equal'.
246
247         * elconcord.h: New file.
248
249 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * concord.c (print_concord_object): Use readable form even if
252         `print-readably' is nil.
253
254 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * concord.c (print_concord_object): Don't display location of
257         data-source when `print-readably' is nil.
258
259 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
260
261         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
262         the default location of data-source.
263         (complex_vars_of_concord): Use Vchise_system_db_directory to
264         assign genre `character' and `feature'.
265
266         * chartab.h (Vchise_system_db_directory): New extern when
267         HAVE_CONCORD is defined.
268
269 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
272         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
273         (Qfeature): Ditto.
274         (Fconcord_object_genre): New function.
275         (syms_of_concord):
276         - Add new builtin symbols `character' and `feature' when
277           HAVE_LIBCHISE is defined.
278         - Add Add new builtin function `concord-object-genre'.  
279         (complex_vars_of_concord): New function; assign genres `character'
280         and `feature' when HAVE_LIBCHISE is defined.
281
282 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * emacs.c (main_1): Call `complex_vars_of_concord' when
285         HAVE_CONCORD is defined.
286
287         * symsinit.h (complex_vars_of_concord): New prototype.
288
289 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * chartab.c (allocate_character): Add `static'.
292
293 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * chartab.c (allocate_character): New function.
296         (Fdefine_char): Use allocate_character().
297
298 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
299
300         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
301         (ÅŒkawara).
302
303 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
304
305         * chartab.c (save_uint8_byte_table): Fixed problem when a property
306         is unloaded.
307         (save_uint16_byte_table): Likewise.
308
309 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
310
311         * chartab.c (Fchar_feature_property): New function when LIBCHISE
312         is enabled.
313         (Fput_char_feature_property): Likewise.
314         (syms_of_chartab): Add new builtin functions
315         `char-feature-property' and `put-char-feature-property' when
316         LIBCHISE is enabled.
317
318 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
321         '=>iso-ir.
322         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
323
324 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
327         (make_charset): Add new argument `iso_ir'.
328         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
329         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
330         XEmacs CHISE.
331         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
332         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
333         XEmacs CHISE.
334         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
335         function `make_charset'.
336
337         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
338         (struct Lisp_Charset): Add new member `iso_ir'.
339         (CHARSET_ISO_IR): New macro.
340
341 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
342
343         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
344         code-point by GL charset.
345
346 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * concord.c (concord_id_validate): New function.
349         (structure_type_create_concord): Use `concord_id_validate' instead
350         of `concord_name_validate' to accept integer and character as =id.
351
352 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * concord.c (func_for_each_object): Fix bug about GC-protection.
355
356 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * concord.c (Fconcord_object_put): Check argument FEATURE is a
359         symbol.
360
361 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * text-coding.c (struct decoding_stream): Add new member
364         `bom_flag' in XEmacs CHISE.
365         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
366         in XEmacs CHISE.
367
368 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * mule-charset.c: Move definition of `=jis-x0208@1978' to
371         lisp/mule/mule-conf.el.
372
373 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
376         (make_charset): Add new argument `partial'.
377         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
378         (Fmake_reverse_direction_charset): Modify for `make_charset'.
379         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
380         CHISE.
381         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
382         `=jis-x0208' as a partial coded-charset.
383
384 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
385
386         * text-coding.c (decode_add_er_char): Fix problem when a character
387         represented by an entity-reference is not defined.
388
389 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
392         Qrep_*.
393
394 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
397         (Kasagi).
398
399 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
402         is a relation feature.
403
404 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * chartab.c (syms_of_chartab): Define
407         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
408
409         * chartab.h (Q_denotational): New extern when UTF2000 or
410         HAVE_CONCORD is defined.
411         (Q_denotational_from): Likewise.
412         (Q_subsumptive): Likewise.
413         (Q_subsumptive_from): Likewise.
414
415 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
416
417         * concord.c (concord_object_put): New function.
418         (Fconcord_object_put): Use `concord_object_put'.
419
420 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * concord.c (Fconcord_define_object): New function.
423         (syms_of_concord): Add new builtin function
424         `concord-define-object'.
425
426 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
427
428         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
429         (Kamo).
430
431 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * concord.c: Add EXFUN for Fconcord_object_get.
434         (Vconcord_genre_object_hash_table): New variable.
435         (concord_genre_cache_get_object): New function.
436         (concord_genre_cache_put_object): New function.
437         (Fconcord_make_object): Use object cache; put object-ID into `=id'
438         feature.
439         (Fconcord_object_put): Call `concord_index_sync' after
440         `concord_index_strid_put_obj'.
441         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
442
443 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
444
445         * concord.c (Fconcord_decode_object): Do GCPRO for
446         Fconcord_make_object.
447         (func_for_each_object): Likewise; do GCPRO for
448         for_each_object_closure->function.
449         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
450         for_each_object_closure->function, for_each_object_closure->genre,
451         for_each_object_closure->ds and for_each_object_closure->ret.
452         (concord_object_validate): Do GCPRO for Fconcord_make_object.
453
454 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * concord.c: Add EXFUNs for Fconcord_decode_object and
457         Fconcord_object_put.
458         (Fconcord_make_object): Change order of arguments.
459         (Fconcord_decode_object): Modify for Fconcord_make_object.
460         (func_for_each_object): Likewise.
461         (concord_object_validate): Likewise.
462         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
463
464 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
467
468 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * concord.c (Fconcord_decode_object): Try to use readable print
471         form as a key of Concord-index.
472         (Fconcord_object_get): Try to use readable print form as an ID of
473         Concord-object.
474         (Fconcord_object_put): Try to use readable print form as an ID of
475         Concord-object and a feature value.
476         (Fconcord_object_spec): Try to use readable print form as an ID of
477         Concord-object.
478
479 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * concord.c (print_concord_object): Support readable form.
482
483 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * emacs.c (main_1): Call `structure_type_create_concord' when
486         HAVE_CONCORD is defined.
487
488         * symsinit.h (structure_type_create_concord): New prototype.
489
490         * concord.c (Qconcord_object): New variable.
491         (Qgenre): Likewise.
492         (Q_id): Likewise.
493         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
494         for directory.
495         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
496         char*> for genre-name.
497         (Fconcord_feature_list): Likewise.
498         (Fconcord_make_object): Likewise.
499         (Fconcord_decode_object): Likewise; use <char*> instead of
500         <unsigned char*> for feature_name and strid.
501         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
502         c_obj and feature_name.
503         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
504         char*> for c_value.
505         (struct closure_for_object_spec): Use <char*> instead of <unsigned
506         char*> for member `object_id'.
507         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
508         char*> for feature-name.
509         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
510         for c_obj.
511         (func_for_each_object): Cast to avoid warnings.
512         (Fconcord_foreach_object_in_feature): Use <char*> instead of
513         <unsigned char*> for genre_name and feature_name.
514         (concord_name_validate): New function.
515         (concord_object_validate): Likewise.
516         (concord_object_instantiate): Likewise.
517         (syms_of_concord): Add new builtin symbols `concord-object',
518         `genre' and `=id'.
519         (structure_type_create_concord): New function.
520
521 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
522
523         * concord.c (Vconcord_ds_hash_table): New variable.
524         (Vconcord_genre_hash_table): New variable.
525         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
526         (Fconcord_ds_directory): New function.
527         (Fconcord_assign_genre): New function.
528         (Fconcord_genre_directory): New function.
529         (Fconcord_genre_ds): New function.
530         (Fconcord_feature_list): Allow to omit `ds'.
531         (Fconcord_make_object): Likewise.
532         (Fconcord_decode_object): Likewise.
533         (Fconcord_foreach_object_in_feature): Likewise.
534         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
535         Fconcord_assign_genre, Fconcord_genre_directory and
536         Fconcord_genre_ds.
537         (vars_of_concord): Setup Vconcord_ds_hash_table and
538         Vconcord_genre_hash_table.
539
540 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * concord.c (struct closure_for_each_object): Add new member
543         `ret'.
544         (func_for_each_object): Setup the return value to
545         `for_each_object_closure->ret'.
546         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
547         returns the value instead of Qt.
548
549 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
550
551         * concord.c: New file.
552
553 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
556         `lrecord_type_concord_object'.
557
558 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
559
560         * symsinit.h (syms_of_concord): New prototype.
561         (vars_of_concord): New prototype.
562
563         * emacs.c (main_1): Setup symbols and variable about concord if
564         HAVE_CONCORD is defined.
565
566         * config.h.in (HAVE_CONCORD): New macro.
567
568 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * chartab.c (Fput_char_attribute): For each character relation
571         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
572
573 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * chartab.c (Fput_char_attribute): Use
576         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
577         calling `put_char_composition'.
578
579 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * chartab.c (Q_halfwidth_of): New variable.
582         (put_char_composition): Return `<-halfwidth' instead of
583         `=decomposition' for compatibility mapping to single character
584         tagged `narrow'.
585         (Fput_char_attribute): Convert char-specs in value of
586         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
587         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
588         for `<-halfwidth'.
589         (syms_of_chartab): Add new symbol `<-halfwidth'.
590
591 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * chartab.c (put_char_composition): Return
594         `<-formed@{isolated|initial|medial|final}' for compatibility
595         mapping to single character tagged
596         `{isolated|initial|medial|final}'.
597
598 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * chartab.c (Q_compat_of): Deleted.
601         (put_char_composition): Return `<-FOO' for compatibility mapping
602         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
603         of `symbol_name (XSYMBOL(...))'.
604         (Fput_char_attribute): Convert char-specs in value of
605         `{<-|->}font[^*]*' to characters and put reverse links.
606         (Fsave_char_attribute_table): Don't refer Q_compat_of.
607         (syms_of_chartab): Delete builtin symbol `<-compat'.
608
609 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * chartab.c (Q_circled_of): New variable.
612         (put_char_composition): Return `<-circled' instead of
613         `=decomposition' for compatibility mapping to single character
614         tagged `circle'.
615         (Fput_char_attribute): Convert char-specs in value of
616         `{<-|->}circled[^*]*' to characters and put reverse links.
617         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
618         for `<-circled'.
619         (syms_of_chartab): Add new symbol `<-circled'.
620
621 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * chartab.c (Qto_decomposition_at_circled): New variable.
624         (put_char_composition): Return `=>decomposition@circled' instead
625         of `=decomposition' for compatibility decomposition mapping tagged
626         `circle'.
627         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
628
629 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * chartab.c (Q_subscript_of): New variable.
632         (put_char_composition): Return `<-subscript' instead of
633         `=decomposition' for compatibility mapping to single character
634         tagged `sub'.
635         (Fput_char_attribute): Convert char-specs in value of
636         `{<-|->}subscript[^*]*' to characters and put reverse links.
637         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
638         for `<-subscript'.
639         (syms_of_chartab): Add new symbol `<-subscript'.
640
641 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * chartab.c (Q_superscript_of): New variable.
644         (put_char_composition): Return `<-superscript' instead of
645         `=decomposition' for compatibility mapping to single character
646         tagged `super'.
647         (Fput_char_attribute): Convert char-specs in value of
648         `{<-|->}superscript[^*]*' to characters and put reverse links.
649         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
650         for `<-superscript'.
651         (syms_of_chartab): Add new symbol `<-superscript'.
652
653 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
654
655         * chartab.c (Qto_decomposition_at_compat): Deleted.
656         (Qto_decomposition_at_superscript): New variable.
657         (put_char_composition): Use `=>decomposition@superscript' instead
658         of `=decomposition' for compatibility decomposition mapping tagged
659         `super'.
660         (Fput_char_attribute): Fix condition about `put_char_composition'.
661         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
662         add news symbol `=>decomposition@superscript'.
663
664 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
667         for compatibility decomposition mapping tagged FOO.
668         (Fput_char_attribute): Modify for `put_char_composition'.
669
670 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
671
672         * chartab.c (Qto_decomposition_at_compat): New variable.
673         (Q_compat_of): Renamed from `Q_compatibility_of'.
674         (put_char_composition): Rename `Q_compatibility_of' to
675         `Q_compat_of'; return `=>decomposition@compat' for compatibility
676         decomposition mapping.
677         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
678         `Q_compat_of'.
679         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
680         `<-compatibility' to `<-compat'.
681
682 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * chartab.c (Q_compatibility_of): New variable.
685         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
686         object is proved to be a cons cell; return `<-compatibility' if
687         the first element of argument `value' is `compat'.
688         (Fput_char_attribute): Eliminate the first value if
689         `put_char_composition' returns `<-compatibility'.
690         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
691         for `<-compatibility'.
692         (syms_of_chartab): Add new symbol `<-compatibility'.
693
694 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * chartab.c (Q_canonical): New variable.
697         (put_char_composition): Return a feature name: return
698         `->canonical' if argument `value' specifies single character.
699         (Fput_char_attribute): Use `put_char_composition' to determine
700         feature name for `=decomposition' or `->denotational'.
701         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
702         for `->canonical'.
703         (syms_of_chartab): Add new symbol `->canonical'.
704
705 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
706
707         * chartab.c (Qmap_decomposition): New variable.
708         (Fput_char_attribute): Convert `->decomposition' to
709         `=decomposition'.
710         (syms_of_chartab): Add new symbol `=decomposition'.
711
712 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * chartab.c (Fget_range_char_table): Fix serious problem when
715         `range' is nil.
716
717 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
718
719         * chartab.c (char_table_get_db): Use `read_from_c_string'.
720
721 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * lread.c (read_from_c_string): New function.
724
725         * lisp.h (read_from_c_string): New prototype.
726
727 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
728
729         * chartab.c (Fput_char_attribute): Convert char-specs in value of
730         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
731         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
732         for `{<-|->}Oracle-Bones[^*]*'.
733
734 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
737         (Kizu).
738
739 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * text-coding.c (Qccs_priority_list): New variable in XEmacs
742         CHISE.
743         (Fmake_coding_system): Support new property `ccs-priority-list' in
744         XEmacs CHISE.
745         (Fcoding_system_property): Likewise.
746         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
747         Vdefault_coded_charset_priority_list in XEmacs CHISE.
748         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
749         XEmacs CHISE.
750         (complex_vars_of_file_coding): Define new coding-system-property
751         `ccs-priority-list' in XEmacs CHISE.
752
753         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
754
755 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
758         changed to normal function.
759         (encode_char_2): Likewise.
760
761         * mule-charset.c (decoding_table_put_char): Copied from
762         char-ucs.h; changed to normal function.
763         (encode_char_2): Likewise.
764
765 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
768         New extern.
769         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
770         (encode_char_2_search_children): New inline function.
771         (encode_char_2): Refer
772         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
773         and use `encode_char_2_search_children'.
774
775 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
776
777         * mule-charset.c
778         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
779         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
780         (vars_of_mule_charset): Add new variable
781         `display-coded-charset-priority-use-inheritance' and
782         `display-coded-charset-priority-use-hierarchy-order'.
783
784 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * char-ucs.h (Q_subsumptive): New extern.
787         (Q_denotational): Likewise.
788         (encode_char_2): Search children specified by `->subsumptive' and
789         `->denotational'.
790
791 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
792
793         * mule-charset.c (complex_vars_of_mule_charset): Modify the
794         X-registry of `ucs-bmp'.
795
796 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
797
798         * chartab.c (char-variants): Refer `->subsumptive',
799         `->denotational' and `->identical' as same as `->ucs-unified'.
800
801 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
802
803         * chartab.c (Fput_char_attribute): Convert char-specs in value of
804         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
805         links.
806
807 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * text-coding.c: Add EXFUN for `Fregexp_quote'.
810         (decode_add_er_char): Fix problem about infinite loop when a CCS
811         specified in `coded-charset-entity-reference-alist' is not
812         existed.
813
814 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * mule-charset.c (syms_of_mule_charset): Rename
817         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
818
819 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * fns.c (simplify_char_spec): Don't allocate new character-object
822         if specified char_spec does not have any CCS-features.
823
824         * chartab.h: Add EXFUN for Fdefine_char.
825
826         * chartab.c: Delete EXFUN for Fdefine_char.
827
828 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * fns.c (simplify_char_spec): Use Fdefine_char instead of
831         Ffind_char for char-spec.
832
833 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
834
835         * lisp-disunion.h (XCHARVAL): Fix condition about
836         SIZEOF_EMACS_INT.
837
838 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
841         <int> for `code'.
842         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
843         point; use <Emchar> instead of <int> for character-id.
844
845 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
846
847         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
848         (make_char): Likewise.
849         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
850         environment.
851         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
852         instead of <int> as the type of return value; use <Lisp_Object>
853         instead of <Emchar> as the type of argument.
854         (XCHARVAL[macro version]): Cast the result into <Emchar>.
855
856         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
857         syntaxcode> instead of <int>.
858
859 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
860
861         * chartab.c (put_char_composition): Use DECODE_CHAR to get
862         character corresponding with UCS code point.
863         (Fput_char_attribute): Likewise.
864
865         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
866         character in the UCS decoding-table if the char-id is not equal to
867         the UCS code point.
868
869 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
870
871         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
872         for aliases; write `description'; write
873         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
874         not 0.
875
876 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
877
878         * chartab.c (Fsave_char_attribute_table): Don't use
879         `save_charset_properties'.
880
881         * mule-charset.c (Fsave_charset_properties): Renamed from
882         `save_charset_properties' and changed to Lisp function again;
883         write property `type' as `CCS'; write properties `final-byte' and
884         `mother' if they exists.
885         (syms_of_mule_charset): Revive builtin function
886         `save-charset-properties' when HAVE_LIBCHISE is defined.
887
888 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
891         instead of Vexec_directory.
892         (char_attribute_system_db_file): Likewise.
893
894 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * chartab.c (Fsave_char_attribute_table): Use
897         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
898         defined.
899
900         * mule-charset.c (save_charset_properties): Renamed from
901         `Fsave_charset_properties'; changed to non-Lisp function.
902         (syms_of_mule_charset): Abolish builtin function
903         `save-charset-properties'.
904
905 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
906
907         * mule-charset.c (Fsave_charset_properties): New function when
908         HAVE_LIBCHISE is defined.
909         (syms_of_mule_charset): Add new builtin function
910         `save-charset-properties' when HAVE_LIBCHISE is defined.
911
912 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * chartab.c (Fput_char_attribute): Convert char-specs in value of
915         `{<-|->}ancient[^*]*' to characters and put reverse links.
916         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
917         for `{<-|->}ancient[^*]*'.
918
919 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
920
921         * chartab.c (Fput_char_attribute): Convert char-specs in value of
922         `{<-|->}original[^*]*' to characters and put reverse links.
923         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
924         for `{<-|->}original[^*]*'.
925
926 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
929
930 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * mule-charset.c (Qsystem_char_id): New variable.
933
934         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
935         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
936
937 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
938
939         * chartab.c (Fput_char_attribute): When processing a reference of
940         a character, put into the end of the reversed reference of each
941         target character.
942
943 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
944
945         * chartab.c (Q_same): Deleted.
946         (Q_same_of): Deleted.
947         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
948         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
949         for `{<-|->}same'.
950         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
951
952 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * chartab.c (Q_vulgar): Deleted.
955         (Q_vulgar_of): Deleted.
956         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
957         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
958         for `{<-|->}vulgar'.
959         (syms_of_chartab): Don't define `{<-|->}vulgar'.
960
961 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * chartab.c (Fput_char_attribute): Convert char-specs in value of
964         `{<-|->}wrong[^*]*' to characters and put reverse links.
965         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
966         for `{<-|->}wrong[^*]*'.
967
968 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * chartab.c (Q_vulgar): New variable.
971         (Q_vulgar_of): New variable.
972         (Fput_char_attribute): Convert char-specs in value of
973         `{->|<-}vulgar' to characters and put reverse links.
974         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
975         for `{->|<-}vulgar'.
976         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
977
978 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
979
980         * text-coding.c (decode_add_er_char): Must to quote prefix string
981         as regexp.
982
983 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
984
985         * mule-charset.c (put_char_ccs_code_point): Store characters of
986         =ucs whose code_points >= 0xF0000.
987
988 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
989
990         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
991         CHISE.
992         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
993         CHISE.
994         (complex_vars_of_mule_charset): Add new coded-charset
995         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
996         builtin characters over 0xEFFFF.
997
998         * chartab.c (syms_of_chartab): Don't define symbol
999         `system-char-id' in every case.
1000
1001         * char-ucs.h (Qsystem_char_id): New extern variable.
1002         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
1003
1004 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1005
1006         * text-coding.c (char_encode_utf8): Try to use entity-references
1007         for U-000F0000 ...  U-0010FFFF.
1008
1009 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * text-coding.c (ER_BUF_SIZE): New macro.
1012         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
1013         `er_buf'.
1014         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
1015         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
1016
1017 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * chartab.c (find_char_feature_in_family): New function.
1020         (Fchar_feature): Use `find_char_feature_in_family' with
1021         `->identical', `<-subsumptive' and `<-denotational'.
1022
1023 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1024
1025         * text-coding.c (char_encode_as_entity_reference): Allow prefix
1026         within 8 characters; fix infinite loop.
1027
1028 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * chartab.c (Q_same): New variable.
1031         (Q_same_of): New variable.
1032         (Fput_char_attribute): Convert char-specs in value of
1033         `{->|<-}same' to characters and put reverse links.
1034         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
1035         for `{->|<-}same'.
1036         (syms_of_chartab): Add new symbols `{->|<-}same'.
1037
1038 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1039
1040         * chartab.c (Q_component): New variable.
1041         (Q_component_of): Likewise.
1042         (Fput_char_attribute): Convert char-specs in value of
1043         `{->|<-}ideographic-component-forms' to characters and put reverse
1044         links.
1045         (syms_of_chartab): Add new symbols
1046         `{->|<-}ideographic-component-forms'.
1047
1048 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1049
1050         * chartab.c (Q_identical): New variable.
1051         (Q_identical_from): New variable.
1052         (Fchar_feature): Regard `->identical' as a feature to find
1053         ancestors.
1054         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
1055         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
1056         for `{->|<-}identical'.
1057         (syms_of_chartab): Add new symbols `{->|<-}identical'.
1058
1059 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * char-ucs.h (encode_char_2): New inline function.
1062         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
1063
1064 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * chartab.c (Fput_char_attribute): Convert char-specs to
1067         characters in value of `ideographic-structure'.
1068         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
1069         for `{<-|->}simplified(@...)'.
1070         (Fdefine_char): Try to use predefined character's id.
1071
1072 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1073
1074         * fns.c (simplify_char_spec): Try to convert builtin chars to
1075         defined chars.
1076
1077 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1078
1079         * chartab.c (Fput_char_attribute): Convert char-specs in value of
1080         `<-simplified[^*]*' to characters and put reverse links.
1081
1082 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1083
1084         * chartab.c (Q_subsumptive): Renamed from Q_unified.
1085         (Q_subsumptive_from): Renamed from Q_unified_from.
1086         (Fchar_feature): Use `Q_subsumptive_from' instead of
1087         `Q_unified_from'.
1088         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
1089         `Q_unified'.
1090         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
1091         `<-unified' to `<-subsumptive'.
1092
1093 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
1096         inheritance itself; fix typo; stop recursive search if cyclic
1097         inheritance is found.
1098
1099 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1100
1101         * chartab.c (Q_denotational): New variable.
1102         (Q_denotational_from): New variable.
1103         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
1104         (put_char_attribute): New function.
1105         (Fput_char_attribute): Use `put_char_attribute'; regard
1106         `->denotational' and `<-denotational' as same as `->unified' and
1107         `<-unified'.
1108         (syms_of_chartab): Add new symbols `->denotational' and
1109         `<-denotational'.
1110
1111 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1112
1113         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
1114         `Fget_char_attribute'.
1115         (Fchar_variants): Likewise.
1116         (get_char_table): Likewise.
1117         (Fchar_feature): New function.
1118         (put_char_composition): Use `Fchar_feature' instead of
1119         `Fget_char_attribute'.
1120         (Fput_char_attribute): Likewise; don't put the target character
1121         into its `->unified' value.
1122         (syms_of_chartab): Add new builtin function `char-feature'.
1123
1124 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
1127         `Fget_char_attribute'.
1128         (char_encode_utf8): Likewise.
1129
1130         * chartab.h: Add an EXFUN for `Fchar_feature'.
1131
1132 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1133
1134         * chartab.c (Vnext_defined_char_id): New variable.
1135         (Fput_char_attribute): Accept characters in `->unified'.
1136         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
1137         new characters which are not related with builtin char-id ranges.
1138         (vars_of_chartab): Add new variable `next-defined-char-id'.
1139
1140 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1141
1142         * chartab.c (Q_unified): New variable.
1143         (Q_unified_from): New variable.
1144         (Fput_char_attribute): Add code for `->unified'.
1145         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
1146         XEmacs CHISE.
1147
1148 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1149
1150         * mule-charset.c (decode_ccs_conversion): New function.
1151         (decode_defined_char): Use `decode_ccs_conversion'.
1152         (decode_builtin_char): Likewise.
1153
1154 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1155
1156         * char-ucs.h: Change some charset-ids of private coded-charsets.
1157
1158 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1159
1160         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
1161         (char_encode_as_entity_reference): Likewise.
1162         (decode_coding_big5): Modify for `decode_defined_char' and
1163         `DECODE_CHAR'.
1164         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
1165         avoid compiler warning.
1166         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
1167
1168         * mule-charset.c (decode_defined_char): Add new argument
1169         `without_inheritance'.
1170         (Fdecode_char): Add new optional argument `without_inheritance'.
1171         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1172
1173         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1174         (simplify_char_spec): Likewise.
1175
1176         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1177         setting.
1178
1179         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1180         (map_char_table): Likewise.
1181         (Fdefine_char): Use `Fdecode_char' without inheritance.
1182         (Ffind_char): Modify for `Fdecode_char'.
1183
1184         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1185
1186         * char-ucs.h (decode_defined_char): Add new argument
1187         `without_inheritance'.
1188         (DECODE_CHAR): Likewise.
1189         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1190
1191 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * chartab.c (Vchise_system_db_directory): New variable.
1194         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1195
1196 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1197
1198         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1199         (print_chartab_range): Don't define when `UTF2000' is defined.
1200         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1201         `CHISE_DS_open'.
1202
1203 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1204
1205         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1206         and optional argument `rehash' is specified, call
1207         `open_chise_data_source_maybe' before
1208         `chise_ds_foreach_char_feature_name' is called.
1209
1210 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1211
1212         * chartab.c (char_attribute_list_reset_map_func): New function
1213         when HAVE_LIBCHISE is defined.
1214         (Fchar_attribute_list): Add new optional argument `rehash' when
1215         HAVE_LIBCHISE is defined.
1216         (open_chise_data_source_maybe): Use "chise-db" instead of
1217         "char-db".
1218         (char_attribute_system_db_file): Likewise.
1219         (Fload_char_attribute_table): Use
1220         `chise_feature_foreach_char_with_value' instead of
1221         `chise_char_feature_value_iterate'.
1222
1223 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1224
1225         * chartab.c (Vchise_db_directory): New variable.
1226         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1227
1228 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1229
1230         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1231         instead of HAVE_CHISE to specify using with libchise.
1232
1233         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1234
1235         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1236
1237         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1238         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1239         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1240         is defined.
1241         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1242         HAVE_CHISE to specify using with libchise.
1243         (syms_of_chartab): Don't define symbol `system-char-id' when
1244         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1245
1246 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1247
1248         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1249         specify CHISE DB support.
1250         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1251         of `char_attribute_system_db_file' to check feature DB file.
1252
1253         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1254         HAVE_CHISE_CLIENT to specify CHISE DB support.
1255
1256         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1257         specify CHISE DB support.
1258         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1259         not defined.
1260         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1261         instead of `char_attribute_system_db_file' to check feature DB
1262         file.
1263
1264 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1265
1266         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1267         `HAVE_CHISE_CLIENT'.
1268
1269 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1270
1271         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1272         (Fsave_charset_mapping_table): Don't use
1273         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1274
1275         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1276         (HAVE_LIBCHISE): New macro.
1277
1278         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1279
1280         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1281         (Fsave_char_attribute_table): Don't use
1282         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1283
1284 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1285
1286         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1287         defined.
1288         (save_uint16_byte_table): Likewise.
1289         (save_byte_table): Likewise.
1290         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1291         instead of `chise_char_load_feature_value'.
1292         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1293
1294 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1295
1296         * chartab.h (struct Lisp_Char_Table): Delete member
1297         `feature_table' if CHISE is defined.
1298
1299         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1300         (Fcopy_char_table): Likewise.
1301         (char_table_open_db_maybe): Likewise.
1302         (char_table_close_db_maybe): Likewise.
1303         (char_table_get_db): Likewise.
1304         (Fmount_char_attribute_table): Likewise.
1305         (Fload_char_attribute_table): Likewise.
1306
1307 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1308
1309         * mule-charset.c (load_char_decoding_entry_maybe): Use
1310         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1311         `chise_ccs_decode'.
1312
1313 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1314
1315         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1316         instead of `chise_open_data_source'.
1317         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1318         `chise_ds_close'.
1319
1320 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1323         instead of `chise_ds_open_feature_table'.
1324         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1325
1326 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1327
1328         * mule-charset.c (Fsave_charset_mapping_table): Use
1329         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1330         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1331         `chise_ccs_sync' instead of `chise_ccst_close'.
1332         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1333
1334         * chartab.c (open_chise_data_source_maybe): Modify for
1335         `chise_open_data_source'.
1336         (char_table_open_db_maybe): Modify for
1337         `chise_ds_open_feature_table'.
1338
1339 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1340
1341         * mule-charset.c (load_char_decoding_entry_maybe): Use
1342         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1343         `chise_ccst_close'.
1344
1345 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1346
1347         * mule-charset.c (Fsave_charset_mapping_table): Use
1348         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1349         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1350         `chise_dt_put_char' and `chise_dt_close'.
1351         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1352         `chise_ccs_decode' and `chise_ccst_close' instead of
1353         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1354         `chise_dt_close'.
1355
1356         * chartab.c (char_table_get_db): Use
1357         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1358         (load_char_attribute_table_map_func): Modify for
1359         `chise_char_feature_value_iterate'.
1360         (Fload_char_attribute_table): Use
1361         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1362
1363 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1364
1365         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1366
1367 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1368
1369         * chartab.c (put_char_table): Modify for inherited coded-charsets
1370         in XEmacs CHISE.
1371
1372 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1373
1374         * chartab.c (Fput_char_table_map_function): Fixed.
1375         (word_boundary_p): Don't check charset in XEmacs CHISE.
1376
1377 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1378
1379         * mule-charset.c (Fsave_charset_mapping_table): Use
1380         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1381         instead of `chise_open_decoding_table'; refer
1382         `default_chise_data_source'; use `chise_dt_close' instead of
1383         `chise_close_decoding_table'.
1384         (load_char_decoding_entry_maybe): Likewise.
1385
1386         * chartab.c (default_chise_data_source): New variable when `CHISE'
1387         is defined.
1388         (Fcopy_char_table): `ct->ds' is deleted.
1389         (open_chise_data_source_maybe): New function.
1390         (Fclose_char_data_source): New function.
1391         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1392         use `chise_ds_open_feature_table' instead of
1393         `chise_open_feature_table'.
1394         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1395         `chise_close_feature_table'; `cit->ds' is deleted.
1396         (syms_of_chartab): Add new builtin function
1397         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1398
1399         * chartab.h (default_chise_data_source): New extern variable.
1400         (open_chise_data_source_maybe): New prototype.
1401         (struct Lisp_Char_Table): Delete `ds'.
1402
1403 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1404
1405         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1406         `CHISE' is defined.
1407
1408 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1409
1410         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1411         not defined; add code for non-libchise setting.
1412         (char_table_close_db_maybe): Likewise.
1413         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1414         defined.
1415         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1416         even if `CHISE' is not defined.
1417         (Freset_char_attribute_table): Likewise.
1418         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1419         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1420         `char_table_get_db'.
1421         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1422         `char_table_close_db_maybe' even if `CHISE' is not defined.
1423
1424 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1425
1426         * chartab.c (char_table_open_db_maybe): New function.
1427         (char_table_close_db_maybe): New function.
1428         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1429         (Freset_char_attribute_table): Likewise.
1430         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1431         `char_table_close_db_maybe'.
1432         (Fload_char_attribute_table): Likewise.
1433
1434 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1435
1436         * chartab.c: Don't include <chise.h> because it is included in
1437         chartab.h.
1438         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1439         defined.
1440         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1441         `CHISE' is defined.
1442         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1443         `CHISE' is defined.
1444         (Fclose_char_attribute_table): Close `ct->feature_table' and
1445         `ct->ds' when `CHISE' is defined.
1446         (Freset_char_attribute_table): Likewise.
1447         (load_char_attribute_maybe): Use `cit->ds' and
1448         `cit->feature_table' when `CHISE' is defined.
1449         (Fload_char_attribute_table): Likewise.
1450
1451         * chartab.h: Include <chise.h> when `CHISE' is defined.
1452         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1453         when `CHISE' is defined.
1454
1455 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1456
1457         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1458         is defined.
1459         (char_table_description): Likewise.
1460         (Fmake_char_table): Likewise.
1461         (Fcopy_char_table): Likewise.
1462         (Fmount_char_attribute_table): Likewise.
1463         (Fclose_char_attribute_table): Likewise.
1464         (Freset_char_attribute_table): Likewise.
1465         (load_char_attribute_maybe): Likewise.
1466         (Fload_char_attribute_table): Likewise.
1467
1468         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1469         defined.
1470
1471 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1472
1473         * chartab.c (load_char_attribute_table_map_func): New function
1474         when CHISE is defined.
1475         (Qload_char_attribute_table_map_function): Don't define when CHISE
1476         is defined.
1477         (Fload_char_attribute_table_map_function): Likewise.
1478         (Fload_char_attribute_table): Use libchise when `CHISE' is
1479         defined.
1480         (syms_of_chartab): Don't define
1481         `load-char-attribute-table-map-function' when CHISE is defined.
1482
1483 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1484
1485         * chartab.c: Include <chise.h> when `CHISE' is defined.
1486         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1487
1488 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * mule-charset.c (charset_code_point): Fix problem when searching
1491         in mother CCS fails with `defined_only' mode.
1492
1493 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1494
1495         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1496         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1497         (put_char_composition): Likewise.
1498         (Fput_char_attribute): Likewise.
1499         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1500
1501 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1502
1503         * chartab.c (Q_ucs): Deleted.
1504         (Fput_char_attribute): Don't refer `->ucs'.
1505         (Fdefine_char): Likewise.
1506         (Ffind_char): Likewise.
1507         (syms_of_chartab): Delete `->ucs'.
1508
1509 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1510
1511         * mule-charset.c (Qmap_cns11643_2): Renamed from
1512         `Qchinese_cns11643_2'.
1513         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1514         `chinese-cns11643-2'.
1515         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1516         `=cns11643-2'.
1517
1518 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1519
1520         * mule-charset.c (Qmap_cns11643_1): Renamed from
1521         `Qchinese_cns11643_1'.
1522         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1523         `chinese-cns11643-1'.
1524         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1525         `=cns11643-1'.
1526
1527 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1528
1529         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1530         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1531         `chinese-gb12345'.
1532         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1533         `=gb12345'.
1534
1535 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1536
1537         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1538         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1539         `chinese-gb2312'.
1540         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1541         `=gb2312'.
1542
1543 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1544
1545         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1546         (syms_of_mule_charset): Add new symbol `=big5' instead of
1547         `chinese-big5'.
1548         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1549
1550 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1553         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1554         `korean-ksc5601'.
1555         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1556         `=ks-x1001'.
1557
1558 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1559
1560         * mule-charset.c (Qmap_jis_x0212): Renamed from
1561         `Qjapanese_jisx0212'.
1562         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1563         `japanese-jisx0212'.
1564         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1565         `=jis-x0212'.
1566
1567 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1568
1569         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1570         `Qjapanese_jisx0208'.
1571         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1572         of `japanese-jisx0208'.
1573         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1574         `=jis-x0208-1983'.
1575
1576 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1577
1578         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1579         `Qjapanese_jisx0208_1978'.
1580         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1581         of `japanese-jisx0208-1978'.
1582         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1583         `=jis-x0208-1978'.
1584
1585 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1586
1587         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1588         only for XEmacs CHISE.
1589
1590 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1591
1592         * char-ucs.h: Compact non-ISO-IR charset-ids.
1593         (LEADING_BYTE_UCS): Changed to -177.
1594         (LEADING_BYTE_CONTROL_1): Changed to -77.
1595         (LEADING_BYTE_UCS_BMP): Changed to -176.
1596         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1597
1598 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * mule-charset.c (Qiso_ir): New variable.
1601         (Fmake_charset): Recognise new property `iso-ir'.
1602         (syms_of_mule_charset): Add new symbol `iso-ir'.
1603
1604 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1605
1606         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1607         n to -n; charset-id of non ISO-IR sets are changed to positive
1608         numbers.
1609
1610 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1611
1612         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1613         for &MCS-XXXXXXXX; values.
1614
1615 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1616
1617         * mule.c (Vxemacs_chise_version): Renamed from
1618         `Vutf_2000_version'.
1619         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1620         `utf-2000-version' as an alias for `xemacs-chise-version'.
1621
1622 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1623
1624         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1625         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1626         defined.
1627
1628         * config.h.in (CHISE): New macro.
1629
1630 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1631
1632         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1633         of `ucs'.
1634         (Qmap_ucs): New variable.
1635         (syms_of_mule_charset): Add new symbol `=ucs'.
1636         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1637
1638         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1639         (simplify_char_spec): Likewise.
1640
1641         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1642
1643         * char-ucs.h (Qmap_ucs): New extern variable.
1644
1645 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1646
1647         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1648         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1649         don't define it when UTF2000 is not defined.
1650         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1651         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1652         when UTF2000 is not defined.
1653         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1654         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1655
1656 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1657
1658         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1659
1660         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1661         (Qucs_gb): Deleted.
1662         (syms_of_mule_charset): Delete `ucs-gb'.
1663         (complex_vars_of_mule_charset): Likewise.
1664
1665 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1666
1667         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1668
1669         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1670         (Qucs_cns): Deleted.
1671         (syms_of_mule_charset): Delete `ucs-cns'.
1672         (complex_vars_of_mule_charset): Likewise.
1673
1674 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1675
1676         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1677
1678         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1679         (Qucs_jis): Deleted.
1680         (syms_of_mule_charset): Delete `ucs-jis'.
1681         (complex_vars_of_mule_charset): Likewise.
1682
1683 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1684
1685         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1686
1687         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1688         (Qucs_ks): Deleted.
1689         (syms_of_mule_charset): Delete `ucs-ks'.
1690         (complex_vars_of_mule_charset): Likewise.
1691
1692 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1693
1694         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1695         (Qideograph_daikanwa_2): Deleted.
1696         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1697         (complex_vars_of_mule_charset): Likewise.
1698
1699         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1700         (LEADING_BYTE_DAIKANWA_1): Deleted.
1701         (LEADING_BYTE_DAIKANWA_2): Deleted.
1702         (MIN_CHAR_DAIKANWA): Deleted.
1703         (MAX_CHAR_DAIKANWA): Deleted.
1704
1705 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1706
1707         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1708         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1709         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1710
1711         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1712         (Vcharset_ideograph_daikanwa): Deleted.
1713         (Qideograph_hanziku_{1..12}): Deleted.
1714         (Qideograph_daikanwa): Deleted.
1715         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1716         Vcharset_ideograph_daikanwa.
1717         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1718         `ideograph-hanziku-{1..12}'.
1719         (complex_vars_of_mule_charset): Likewise.
1720
1721 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1722
1723         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1724
1725         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1726         (Qideograph_gt_pj_{1..11}): Deleted.
1727         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1728         (complex_vars_of_mule_charset): Likewise.
1729
1730 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1733         (Vcharset_ideograph_gt): Deleted.
1734         (Qucs_big5): Deleted.
1735         (Qideograph_gt): Deleted.
1736         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1737         `ideograph-gt'.
1738         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1739         and `ideograph-gt'.
1740
1741         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1742         (LEADING_BYTE_GT): Deleted.
1743         (MIN_CHAR_GT): Deleted.
1744         (MAX_CHAR_GT): Deleted.
1745
1746 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1747
1748         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1749
1750 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1751
1752         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1753         (save_uint16_byte_table): Likewise.
1754         (save_byte_table): Likewise; convert values by it.
1755         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1756         for `ideographic-structure'.
1757         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1758         as the filter for `ideographic-structure'.
1759
1760 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1761
1762         * chartab.c (put_char_composition): New function.
1763         (Fput_char_attribute): Use `put_char_composition'; use
1764         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1765
1766         * fns.c (simplify_char_spec): New function.
1767         (char_ref_simplify_spec): New function.
1768         (Fchar_refs_simplify_char_specs): New function.
1769         (syms_of_fns): Add new builtin function
1770         `char-refs-simplify-char-specs'.
1771
1772 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1773
1774         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1775         (Qideograph_cbeta): Deleted.
1776         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1777         (complex_vars_of_mule_charset): Likewise.
1778
1779         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1780         (MIN_CHAR_CBETA): Comment out.
1781         (MAX_CHAR_CBETA): Likewise.
1782
1783 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1784
1785         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1786         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1787         CHISE client feature.
1788
1789 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1790
1791         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1792
1793 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1794
1795         * mule-charset.c (charset_lookup_description_1): Use
1796         `NUM_LEADING_BYTES' in UTF-2000.
1797
1798 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1799
1800         * char-ucs.h (GC_CHARSETP): Deleted.
1801
1802 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * char-ucs.h (MAX_CHAR_GT): Updated.
1805
1806 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1807
1808         * text-coding.c: Sync with XEmacs 21.4.10.
1809
1810 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1811
1812         * mule-charset.c (Vcharset_china3_jef): Deleted.
1813         (Qchina3_jef): Deleted.
1814         (syms_of_mule_charset): Don't define `china3-jef'.
1815         (complex_vars_of_mule_charset): Likewise.
1816
1817         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1818         (MIN_CHAR_CHINA3_JEF): Comment out.
1819         (MAX_CHAR_CHINA3_JEF): Comment out.
1820
1821 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1822
1823         * mule-charset.c (Vcharset_ucs_gb): New variable.
1824         (Qucs_gb): New variable.
1825         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1826         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1827
1828         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1829
1830 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1831
1832         * mule-charset.c (charset_code_point): if a coded-charset has a
1833         final-byte, don't inherit the builtin range of the mother CCS.
1834
1835 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1836
1837         * mule-charset.c (charset_code_point): Fix problem about
1838         inheritance.
1839
1840 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1841
1842         * mule-charset.c (decode_builtin_char): Reorganized.
1843
1844 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1845
1846         * text-coding.c (char_encode_as_entity_reference): Modify for
1847         `charset_code_point'.
1848         (char_encode_shift_jis): Likewise.
1849         (char_encode_big5): Likewise.
1850         (char_encode_utf8): Likewise.
1851         (char_encode_iso2022): Likewise.
1852
1853         * mule-charset.c (charset_code_point): Add new argument
1854         `defined_only'.
1855         (Fencode_char): Add new optional argument `defined_only'.
1856
1857         * chartab.c (put_char_table): Modify for `charset_code_point'.
1858
1859         * char-ucs.h (charset_code_point): Add new argument
1860         `defined_only'.
1861         (encode_char_1): Modify for `charset_code_point'.
1862
1863 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1866         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1867
1868 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1869
1870         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1871         (Qjis_x0208): Likewise.
1872         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1873         XCHARSET_FINAL(charset).
1874         (charset_code_point): Modify condition for final-byte based
1875         builtin-chars.
1876         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1877         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1878         in UTF-2000; specify `=jis-x0208' as the mother of
1879         `japanese-jisx0208-1978', `japanese-jisx0208' and
1880         `japanese-jisx0208-1990' in UTF-2000.
1881
1882 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1883
1884         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1885
1886 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1887
1888         * text-coding.c (decode_coding_utf16): Support UTF-16.
1889         (char_encode_utf16): Fixed.
1890
1891 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1892
1893         * text-coding.c (Qutf16): New variable in MULE.
1894         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1895         (Fcoding_system_type): Add `utf-16' in MULE.
1896         (struct detection_state): Add a structure for utf16 in MULE.
1897         (detect_coding_type): Setup st->utf16.mask in MULE.
1898         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1899         MULE.
1900         (reset_encoding_stream): Use `char_encode_utf16' and
1901         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1902         (detect_coding_utf16): New function [incomplete].
1903         (decode_coding_utf16): New function [support only UCS-2].
1904         (char_encode_utf16): New function.
1905         (char_finish_utf16): New function.
1906         (syms_of_file_coding): Add new symbol `utf-16'; setup
1907         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1908
1909         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1910         UTF-2000.
1911         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1912         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1913
1914 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1915
1916         * chartab.c (put_char_table): When a charset is specified as a
1917         range in UTF-2000, don't support builtin characters.
1918
1919 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1920
1921         * mule-charset.c (decode_defined_char): Don't refer external
1922         database if Qunbound or Qnil are found.
1923         (Fsave_charset_mapping_table): Don't define it if
1924         HAVE_CHISE_CLIENT is not defined.
1925         (Freset_charset_mapping_table): New function.
1926         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1927         found in external database.
1928         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1929         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1930         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1931
1932 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1933
1934         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1935         not.
1936
1937 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1938
1939         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1940         Q_lowercase, Q_uppercase in UTF-2000.
1941
1942         * chartab.c (get_char_table): Add special code for the standard
1943         case table to use character attribute `->downcase' and
1944         `->uppercase' for case operations in UTF-2000.
1945
1946         * casetab.c (Qflippedcase): New variable in UTF-2000.
1947         (Q_lowercase): Likewise.
1948         (Q_uppercase): Likewise.
1949         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1950         and `->uppercase' in UTF-2000.
1951         (complex_vars_of_casetab): Assign attribute name `downcase' to
1952         downcase and CANON table of Vstandard_case_table in UTF-2000;
1953         assign attribute name `flippedcase' to upcase and EQV table of
1954         Vstandard_case_table in UTF-2000.
1955
1956 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * text-coding.c (decode_add_er_char): Support isolated-chars.
1959         (char_encode_as_entity_reference): Likewise.
1960
1961 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1962
1963         * emacs.c (Vutf_2000_lisp_directory): New variable.
1964         (Vconfigure_utf_2000_lisp_directory): Likewise.
1965         (complex_vars_of_emacs): Add new variable
1966         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1967
1968 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1969
1970         * char-ucs.h (DECODE_CHAR): Delete special code for
1971         `chinese-big5-1' and `chinese-big5-2'.
1972
1973         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1974         (Qbig5_2): Likewise.
1975         (decode_defined_char): Support CONVERSION_BIG5_1 and
1976         CONVERSION_BIG5_2.
1977         (decode_builtin_char): Likewise.
1978         (charset_code_point): Likewise.
1979         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1980         'conversion in UTF-2000.
1981         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1982         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1983         `chinese-big5-2' as children of `chinese-big5'.
1984
1985         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1986         (CONVERSION_BIG5_2): New macro.
1987
1988 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1989
1990         * text-coding.c (char_encode_big5): Support entity-reference.
1991
1992 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1993
1994         * text-coding.c (char_encode_as_entity_reference): New function.
1995         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1996
1997 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1998
1999         * text-coding.c (decode_coding_big5): Support entity-reference
2000         decoding feature.
2001
2002 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2003
2004         * text-coding.c (allocate_coding_system): Initialize initial
2005         charsets for CODESYS_UTF8.
2006         (Fmake_coding_system): Accept charset-g0, charset-g1 and
2007         charset-g2 for CODESYS_UTF8.
2008         (decode_coding_utf8): Use charset-g0.
2009         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
2010         to force variants to map to UCS.
2011
2012 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2013
2014         * text-coding.c (Qutf_8_mcs): New variable.
2015         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
2016         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
2017         instead of `utf-8' in UTF-2000.
2018
2019 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2020
2021         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
2022         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
2023         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
2024         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
2025         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
2026         CONVERSION_96x96x96x96 are introduced.
2027         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
2028         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
2029         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
2030
2031         * char-ucs.h (CONVERSION_94): New macro.
2032         (CONVERSION_96): New macro.
2033         (CONVERSION_94x94): New macro.
2034         (CONVERSION_96x96): New macro.
2035         (CONVERSION_94x94x94): New macro.
2036         (CONVERSION_96x96x96): New macro.
2037         (CONVERSION_94x94x94x60): New macro.
2038         (CONVERSION_94x94x94x94): New macro.
2039         (CONVERSION_96x96x96x96): New macro.
2040
2041 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2042
2043         * chartab.c (Vcharacter_variant_table): Deleted.
2044         (Fchar_variants): Use character-attribute `->ucs-variants' instead
2045         of `Vcharacter_variant_table'.
2046         (Fput_char_attribute): Likewise.
2047         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
2048         (complex_vars_of_chartab): Likewise.
2049
2050 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2051
2052         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
2053
2054         * fns.c (Qideographic_structure): New variable.
2055         (Qkeyword_char): New variable.
2056         (ids_format_unit): New function.
2057         (Fideographic_structure_to_ids): New function.
2058         (syms_of_fns): Add new symbols `ideographic-structure' and
2059         `:char'; add new builtin function `ideographic-structure-to-ids'.
2060
2061         * data.c (Fchar_ref_p): New function.
2062         (syms_of_data): Add new builtin function `char-ref-p'.
2063
2064         * chartab.h: Add an EXFUN for `Ffind_char'.
2065
2066 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2067
2068         * text-coding.c (Vcharacter_composition_table): Deleted.
2069         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
2070         in every UTF-2000.
2071
2072         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
2073         UTF-2000.
2074         (Vcharacter_composition_table): Deleted.
2075         (Fget_composite_char): Use the implementation for external-DB
2076         support in every UTF-2000.
2077         (Fput_char_attribute): Likewise.
2078         (char_attribute_system_db_file): Don't define if external-DB
2079         feature is not available.
2080         (Fsave_char_attribute_table): Likewise.
2081         (Fmount_char_attribute_table): Likewise.
2082         (Fclose_char_attribute_table): Likewise.
2083         (Freset_char_attribute_table): Likewise.
2084         (Fload_char_attribute_table): Likewise.
2085         (syms_of_chartab): Don't define `save-char-attribute-table',
2086         `mount-char-attribute-table', `reset-char-attribute-table',
2087         `close-char-attribute-table' and `load-char-attribute-table' if
2088         external-DB feature is not available.
2089         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
2090
2091 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2092
2093         * text-coding.c (Qcomposition): Add extern if external-DB feature
2094         is supported.
2095         (Vcharacter_composition_table): Don't add extern if external-DB
2096         feature is supported.
2097         (COMPOSE_ADD_CHAR): Modify for new data-representation of
2098         character composition rule if external-DB feature is supported.
2099
2100         * chartab.c (Vcharacter_composition_table): Don't define if
2101         external-DB feature is supported.
2102         (Qcomposition): New variable.
2103         (Fget_composite_char): New implementation for external-DB support.
2104         (Fput_char_attribute): Use `composition' property of each
2105         character instead of `Vcharacter_composition_table' to store
2106         character-composition rules if external-DB feature is supported.
2107         (syms_of_chartab): Add new symbol `composition'.
2108         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
2109         external-DB feature is supported.
2110
2111 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2112
2113         * chartab.c (Vchar_db_stingy_mode): New variable.
2114         (load_char_attribute_maybe): Close database if
2115         Vchar_db_stingy_mode is not NIL.
2116         (Fload_char_attribute_table_map_function): Use
2117         `get_char_id_table_0' instead of `get_char_id_table'.
2118         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
2119
2120         * chartab.h (get_char_id_table_0): New inline function.
2121         (get_char_id_table): Use `get_char_id_table_0'.
2122
2123 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2124
2125         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
2126         and `COMPOSE_ADD_CHAR'.
2127         (decode_coding_iso2022): Use `decode_flush_er_chars'.
2128
2129 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2130
2131         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
2132         instead of `DECODE_ADD_UCS_CHAR'.
2133         (COMPOSE_ADD_CHAR): Likewise.
2134
2135 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2136
2137         * text-coding.c (decode_flush_er_chars): New inline function.
2138         (decode_add_er_char): New function.
2139         (decode_coding_utf8): Use `decode_flush_er_chars' and
2140         `decode_add_er_char'.
2141
2142 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2143
2144         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
2145         done before `decode_output_utf8_partial_char'.
2146
2147         * mule-charset.c (complex_vars_of_mule_charset): Specify
2148         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
2149         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
2150
2151 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2152
2153         * mule-charset.c (decode_defined_char): New function; search
2154         mother.
2155         (decode_builtin_char): Don't search mother if
2156         XCHARSET_MAX_CODE(charset) == 0.
2157         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
2158         == 0 even if code >= XCHARSET_MAX_CODE(charset).
2159         (Fdecode_char): Use `decode_defined_char' instead of
2160         `DECODE_DEFINED_CHAR'.
2161         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
2162         mother of `Vcharset_ucs_jis'.
2163
2164         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
2165         instead of `DECODE_DEFINED_CHAR'.
2166
2167         * char-ucs.h (decode_defined_char): Renamed from
2168         `DECODE_DEFINED_CHAR'; changed to normal function.
2169         (DECODE_CHAR): Use `decode_defined_char' instead of
2170         `DECODE_DEFINED_CHAR'.
2171
2172         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2173
2174 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2175
2176         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2177
2178         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2179         variable.
2180         (Quse_entity_reference): New variable.
2181         (Qd): New variable.
2182         (Qx): New variable.
2183         (QX): New variable.
2184         (coding_system_description): Add description for
2185         `ccs_priority_list'.
2186         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2187         (allocate_coding_system): Initialize `ccs_priority_list' in
2188         UTF-2000.
2189         (Fmake_coding_system): Add description about
2190         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2191         (codesys).
2192         (Fcoding_system_property): Accept `disable-composition' and
2193         `use-entity-reference' in UTF-2000.
2194         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2195         in UTF-2000.
2196         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2197         (decode_coding_utf8): Decode entity-reference if
2198         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2199         (char_encode_utf8): Encode non-Unicode characters as
2200         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2201         (str->codesys).
2202         (syms_of_file_coding): Add new symbols `use-entity-reference',
2203         `d', `x', `X'.
2204         (vars_of_file_coding): Add new variable
2205         `coded-charset-entity-reference-alist'.
2206         (complex_vars_of_file_coding): Declare `disable-composition' and
2207         `use-entity-reference' to be coding-system-properties in UTF-2000.
2208
2209         * file-coding.h (struct Lisp_Coding_System): Add new member
2210         `use_entity_reference' and `ccs_priority_list'.
2211         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2212         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2213         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2214
2215 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2216
2217         * chartab.c (save_uint8_byte_table): Don't clear the table.
2218         (save_uint16_byte_table): Likewise.
2219         (save_byte_table): Likewise.
2220         (Fmount_char_attribute_table): New function.
2221         (syms_of_chartab): Add new builtin function
2222         `mount-char-attribute-table'.
2223
2224 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2225
2226         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2227         "w+" mode.
2228         (load_char_decoding_entry_maybe): Open database as read-only mode.
2229
2230         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2231         open database as "w+" mode.
2232         (load_char_attribute_maybe): Open database as read-only mode.
2233         (Fload_char_attribute_table): Likewise.
2234
2235 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2236
2237         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2238         (char_table_description): Delete member `db_file'.
2239         (Fmake_char_table): Don't refer `ct->db_file'.
2240         (Fcopy_char_table): Likewise.
2241         (Fsave_char_attribute_table): Likewise.
2242         (Fclose_char_attribute_table): Likewise.
2243         (Freset_char_attribute_table): Likewise.
2244         (load_char_attribute_maybe): Likewise.
2245         (Fload_char_attribute_table): Likewise.
2246
2247         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2248
2249 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2250
2251         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2252         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2253         `ct->db' is living.
2254         (load_char_attribute_maybe): Likewise.
2255         (Fload_char_attribute_table): Likewise.
2256
2257 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2258
2259         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2260         `ct->db_file' unconditionally.
2261
2262 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2263
2264         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2265         UTF-2000.
2266         (char_table_description): Add description for `db_file' and `db'
2267         in UTF-2000.
2268         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2269         UTF-2000.
2270         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2271         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2272         (Fclose_char_attribute_table): New function.
2273         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2274         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2275         and `cit->db'.
2276         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2277         (syms_of_chartab): Add new builtin function
2278         `Fclose_char_attribute_table'.
2279
2280 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2281
2282         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2283         `db' in UTF-2000.
2284         (load_char_attribute_maybe): Change interface.
2285         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2286
2287 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2288
2289         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2290
2291 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2294         instead of `DECODE_CHAR' for mother; don't use special code for
2295         chinese-big5 to use code space of chinese-big5-1 and
2296         chinese-big5-2.
2297         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2298         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2299
2300         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2301         (MAX_CHAR_BIG5_CDP): Revival.
2302
2303 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2304
2305         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2306         the XLFD registry-encoding name of `chinese-big5'.
2307
2308 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2309
2310         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2311         (Qchinese_big5_cdp): Deleted.
2312         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2313         (complex_vars_of_mule_charset): Delete coded-charset
2314         `chinese-big5-cdp'.
2315
2316         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2317         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2318         `CHARSET_ID_OFFSET - n' for private CCS.
2319         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2320         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2321         of `MIN_LEADING_BYTE'.
2322         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2323         `(CHARSET_ID_OFFSET - 97)'.
2324         (MIN_CHAR_BIG5_CDP): Deleted.
2325         (MAX_CHAR_BIG5_CDP): Deleted.
2326
2327 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2328
2329         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2330
2331 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2332
2333         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2334         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2335         chartab.c].
2336
2337         * chartab.c (Vutf_2000_version): Moved to mule.c.
2338         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2339
2340 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2341
2342         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2343         when HAVE_CHISE_CLIENT is not defined.
2344
2345         * mule.c (vars_of_mule): Provide feature `chise' when
2346         HAVE_CHISE_CLIENT is defined.
2347
2348 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2349
2350         * config.h.in (UTF2000): Add comment.
2351         (HAVE_CHISE_CLIENT): New macro.
2352
2353 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2354
2355         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2356         CONSP.
2357         (Fput_char_attribute): Likewise.
2358         (char_attribute_system_db_file): Encode file-name of attribute.
2359         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2360         the initial value.
2361
2362 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2363
2364         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2365         (Fsave_charset_mapping_table): Use
2366         `char_attribute_system_db_file'.
2367         (load_char_decoding_entry_maybe): Likewise.
2368
2369         * chartab.h (Qsystem_char_id): New external variable.
2370         (char_attribute_system_db_file): New prototype.
2371
2372         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2373         (char_attribute_system_db_file): New function.
2374         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2375         (Freset_char_attribute_table): Likewise.
2376         (load_char_attribute_maybe): Likewise.
2377         (Fload_char_attribute_table): Likewise.
2378         (syms_of_chartab): Add new symbol `system-char-id'.
2379
2380 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2381
2382         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2383         `XCHARSET_GRAPHIC(ccs)'.
2384
2385 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2388
2389 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2390
2391         * chartab.c (Q_ucs_variants): New variable.
2392         (syms_of_chartab): Add new symbol `->ucs-variants'.
2393         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2394         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2395         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2396
2397         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2398
2399         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2400         `HAVE_DATABASE' is defined.
2401         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2402         `HAVE_DATABASE' is defined.
2403
2404 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2405
2406         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2407         attribute-table.
2408         (Freset_char_attribute_table): New function.
2409         (syms_of_chartab): Add new builtin function
2410         `reset-char-attribute-table'.
2411
2412 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2413
2414         * chartab.c (load_char_attribute_maybe): Don't make directories.
2415
2416 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2417
2418         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2419
2420         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2421         for decoding-table.
2422
2423 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2424
2425         * mule-charset.c (Fsave_charset_mapping_table): Use
2426         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2427
2428         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2429         instead of `XCHARSET_CHARS'.
2430
2431 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2432
2433         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2434         (XCHARSET_BYTE_SIZE): Likewise.
2435
2436         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2437         mule-charset.c].
2438         (XCHARSET_BYTE_SIZE): Likewise.
2439
2440 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2441
2442         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2443         data-directory to store database.
2444         (Fsave_char_attribute_table): Likewise.
2445         (load_char_attribute_maybe): Likewise.
2446         (Fload_char_attribute_table): Likewise.
2447
2448 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2449
2450         * mule-charset.c (Fsave_charset_mapping_table): New function.
2451         (syms_of_mule_charset): Add new builtin function
2452         `save-charset-mapping-table'.
2453
2454 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2455
2456         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2457         (get_ccs_octet_table): New inline function.
2458         (put_ccs_octet_table): Likewise.
2459         (decoding_table_put_char): Use `get_ccs_octet_table' and
2460         `put_ccs_octet_table'.
2461         (decoding_table_remove_char): Use `decoding_table_put_char'.
2462         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2463
2464         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2465         into encoding_table.
2466         (make_charset): Use Qunbound instead Qnil as initial value of
2467         decoding_table.
2468
2469 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2470
2471         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2472         element is Qunloaded.
2473         (map_over_uint16_byte_table): Likewise.
2474         (map_over_byte_table): Likewise.
2475         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2476         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2477         database support, load encoding-table of the specified
2478         coded-charset if it is not loaded yet.
2479         (save_uint8_byte_table): New function of UTF-2000 with external
2480         database support.
2481         (save_uint16_byte_table): Likewise.
2482         (save_byte_table): Likewise.
2483         (Fput_char_attribute): Don't store value into external database
2484         even if the external database feature is supported in UTF-2000;
2485         set `attribute' as name of char-table if the external database
2486         feature is supported.
2487         (Fsave_char_attribute_table): New function in UTF-2000.
2488         (syms_of_chartab): Add new builtin function
2489         `save-char-attribute-table' in UTF-2000.
2490
2491 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2492
2493         * chartab.c (char_attribute_table_to_put): New variable in
2494         UTF-2000.
2495         (Qput_char_table_map_function): Likewise.
2496         (value_to_put): Likewise.
2497         (Fput_char_table_map_function): New function in UTF-2000.
2498         (put_char_table): Use `Fmap_char_attribute' for
2499         CHARTAB_RANGE_CHARSET in UTF-2000.
2500         (Fput_char_attribute): Store symbol instead of string in
2501         `XCHAR_TABLE_NAME (table)'.
2502         (load_char_attribute_maybe): Likewise.
2503         (syms_of_chartab): Add new symbol/function
2504         `put-char-table-map-function'.
2505
2506 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2507
2508         * database.h: Add new EXFUN for `Fmap_database'.
2509
2510         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2511         (syms_of_database): Likewise.
2512
2513         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2514         UTF-2000.
2515         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2516         (XCHAR_TABLE_UNLOADED): Likewise.
2517
2518         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2519         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2520         HAVE_DATABASE is defined.
2521         (char_attribute_table_to_load): New variable of UTF-2000 with
2522         external database support.
2523         (Qload_char_attribute_table_map_function): Likewise.
2524         (Fload_char_attribute_table_map_function): New function of
2525         UTF-2000 with external database support.
2526         (Fload_char_attribute_table): New function of UTF-2000.
2527         (Fmap_char_attribute): Call Fload_char_attribute_table if
2528         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2529         (syms_of_chartab): Add new symbol and function
2530         `load-char-attribute-table-map-function' in UTF-2000 with external
2531         database support; add new function `load-char-attribute-table' in
2532         UTF-2000.
2533
2534 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2535
2536         * chartab.h (load_char_attribute_maybe): New prototype for
2537         UTF-2000 with DATABASE support.
2538         (get_char_id_table): Use `load_char_attribute_maybe' if
2539         HAVE_DATABASE is defined.
2540
2541         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2542         with DATABASE support.
2543
2544 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2545
2546         * chartab.c (Fput_char_attribute): Use S-expression as key of
2547         external database.
2548
2549         * chartab.h (get_char_id_table): Use S-expression as key of
2550         external database.
2551
2552 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2555         if an element is not loaded, load the corresponding attributes
2556         from an external database.
2557         (map_over_uint16_byte_table): Likewise.
2558         (map_over_byte_table): Likewise.
2559         (map_char_table): Modify for `map_over_uint8_byte_table',
2560         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2561         element is not loaded, load the corresponding attributes from an
2562         external database.
2563         (Fput_char_attribute): Change initial values to Qunloaded.
2564
2565         * chartab.h (get_char_id_table): If a character attribute is not
2566         loaded and the attribute value is not found in an external
2567         database, store Qunbound as the attribute value.
2568
2569 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2570
2571         * chartab.c (BT_UINT8_unloaded): New macro.
2572         (UINT8_VALUE_P): Accept Qunloaded.
2573         (UINT8_ENCODE): Likewise.
2574         (UINT8_DECODE): Likewise.
2575         (BT_UINT16_unloaded): New macro.
2576         (UINT16_VALUE_P): Accept Qunloaded.
2577         (UINT16_ENCODE): Likewise.
2578         (UINT16_DECODE): Likewise.
2579         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2580         BT_UINT16_unloaded.
2581         (mark_char_table): Mark `ct->name' in UTF-2000.
2582         (char_table_description): Add `name' in UTF-2000.
2583         (Fmake_char_table): Initialize `ct->name'.
2584         (Fcopy_char_table): Copy `ct->name'.
2585         (Fput_char_attribute): Store value into an external database if
2586         HAVE_DATABASE is defined.
2587
2588         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2589         UTF-2000.
2590         (CHAR_TABLE_NAME): New macro in UTF-2000.
2591         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2592         (get_char_id_table): Try to read an external database if Qunloaded
2593         is stored in a table.
2594
2595         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2596         Qunloaded.
2597
2598 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2599
2600         * database.h: Add EXFUN definitions for Fopen_database,
2601         Fput_database, Fget_database and Fclose_database.
2602
2603         * data.c (Qunloaded): New variable in UTF-2000.
2604
2605         * lisp.h (Qunloaded): New variable in UTF-2000.
2606
2607 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2608
2609         * mule-charset.c (put_char_ccs_code_point): Modify for
2610         `decoding_table_remove_char' and `decoding_table_put_char'.
2611         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2612
2613         * char-ucs.h (decoding_table_remove_char): Change arguments to
2614         hide decoding_table vector.
2615         (decoding_table_put_char): Likewise.
2616
2617 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2618
2619         * mule-charset.c (decoding_table_remove_char): Moved to
2620         char-ucs.h.
2621         (decoding_table_put_char): Likewise.
2622
2623         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2624         from mule-charset.c].
2625         (decoding_table_remove_char): New inline function [moved from
2626         mule-charset.c].
2627         (decoding_table_put_char): Likewise.
2628
2629 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2630
2631         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2632         extension.
2633
2634 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2635
2636         * mule-charset.c (decode_builtin_char): Support mother charsets.
2637
2638 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2639
2640         * mule-charset.c (Q94x94x60): New variable.
2641         (charset_code_point): Support conversion `94x94x60'.
2642         (Fmake_charset): Likewise.
2643         (syms_of_mule_charset): Add new symbol `94x94x60'.
2644
2645         * char-ucs.h (CONVERSION_94x94x60): New macro.
2646
2647 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2648
2649         * mule-charset.c (charset_code_point): Unify code about
2650         `code-offset'.
2651
2652 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2653
2654         * mule-charset.c (charset_code_point): Merge code about builtin
2655         characters into code about mother charsets; don't use
2656         `range_charset_code_point'.
2657         (range_charset_code_point): Deleted.
2658
2659 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2660
2661         * mule-charset.c (Qcode_offset): New variable.
2662         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2663         `max-code'; accept new property `code-offset'.
2664         (syms_of_mule_charset): Add new symbol `code-offset'.
2665
2666 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * mule-charset.c (range_charset_code_point): Fixed.
2669
2670 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2671
2672         * mule-charset.c (decode_builtin_char): Change semantics of
2673         code-offset of coded-charset.
2674         (charset_code_point): Likewise.
2675         (range_charset_code_point): Likewise.
2676         (complex_vars_of_mule_charset): Modify for the change.
2677
2678 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2679
2680         * mule-charset.c (Fencode_char): Reverse arguments.
2681
2682         * mule-charset.c (charset_code_point): Fixed.
2683
2684 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2685
2686         * mule-charset.c (Vcharset_mojikyo): Deleted.
2687         (Vcharset_mojikyo_2022_1): Deleted.
2688         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2689         (Qmin_code): New variable in UTF-2000.
2690         (Qmax_code): Likewise.
2691         (Qmother): Likewise.
2692         (Qconversion): Likewise.
2693         (Q94x60): Likewise.
2694         (Qmojikyo): Deleted.
2695         (Qmojikyo_2022_1): Deleted.
2696         (Qmojikyo_pj_{1..22}): Deleted.
2697         (mark_charset): Mark `cs->mother'.
2698         (charset_description): Add description for `mother'.
2699         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2700         new arguments `mother' and `conversion'; use
2701         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2702         (charset_code_point): Moved from char-ucs.h; support `mother'
2703         charset feature.
2704         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2705         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2706         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2707         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2708         allow 2 as the value of `graphic' in UTF-2000; add new properties
2709         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2710         require `final' in UTF-2000; modify for `make_charset'.
2711         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2712         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2713         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2714         (Fencode_char): New function.
2715         (syms_of_mule_charset): Add new builtin function `encode-char' in
2716         UTF-2000; add new symbols `min-code', `max-code', `mother',
2717         `conversion' and `94x60'; delete symbols `mojikyo',
2718         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2719         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2720         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2721         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2722
2723         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2724         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2725
2726         * char-ucs.h (Vcharset_mojikyo): Deleted.
2727         (Vcharset_mojikyo_2022_1): Deleted.
2728         (LEADING_BYTE_MOJIKYO): Deleted.
2729         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2730         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2731         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2732         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2733         add new member `mother'; add new member `conversion'.
2734         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2735         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2736         (CHARSET_MOTHER): New macro.
2737         (CHARSET_CONVERSION): New macro.
2738         (CONVERSION_IDENTICAL): New macro.
2739         (CONVERSION_94x60): New macro.
2740         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2741         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2742         (XCHARSET_MOTHER): New macro.
2743         (XCHARSET_CONVERSION): New macro.
2744         (MIN_CHAR_MOJIKYO): Deleted.
2745         (MAX_CHAR_MOJIKYO): Deleted.
2746         (DECODE_MOJIKYO_2022): Deleted.
2747         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2748         (charset_code_point): Changed to non-inline function.
2749         (encode_char_1): Use `charset_code_point'.
2750         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2751
2752 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2753
2754         * lread.c (read_compiled_function): Fix prototype.
2755         (read_vector): Likewise.
2756
2757 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2758
2759         * lrecord.h (struct lrecord_header): Delete `older'.
2760         (set_lheader_implementation): Delete code for `older'.
2761         (set_lheader_older_implementation): Deleted.
2762         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2763         (OLDER_RECORD_P): Deleted.
2764         (OLDER_RECORD_HEADER_P): Deleted.
2765         (alloc_older_lcrecord): Deleted.
2766         (alloc_older_lcrecord_type): Deleted.
2767
2768         * alloc.c (all_older_lcrecords): Deleted.
2769         (alloc_older_lcrecord): Deleted.
2770         (disksave_object_finalization_1): Delete code for older objects.
2771         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2772         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2773
2774 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2775
2776         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2777         instead of `make_older_vector'.
2778         (put_char_ccs_code_point): Likewise.
2779         (mark_charset): Mark `cs->decoding_table'.
2780         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2781
2782         * lisp.h (make_older_vector): Deleted.
2783         (make_vector_newer): Deleted.
2784
2785         * config.h.in (HAVE_GGC): Deleted.
2786
2787         * alloc.c (make_older_vector): Deleted.
2788         (make_vector_newer_1): Deleted.
2789         (make_vector_newer): Deleted.
2790
2791 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2792
2793         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2794         (Qideograph_daikanwa_2): New variable.
2795         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2796         (complex_vars_of_mule_charset): Add new coded-charset
2797         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2798         `LEADING_BYTE_DAIKANWA'.
2799
2800         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2801         (LEADING_BYTE_DAIKANWA_1): New macro.
2802         (LEADING_BYTE_DAIKANWA_2): New macro.
2803         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2804
2805 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2806
2807         * mule-charset.c (complex_vars_of_mule_charset): Change
2808         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2809         the second revised version.
2810
2811 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2812
2813         * mule-charset.c (Vcharset_ucs_smp): New variable.
2814         (Vcharset_ucs_sip): New variable.
2815         (Qucs_smp): New variable.
2816         (Qucs_sip): New variable.
2817         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2818         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2819         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2820         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2821         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2822         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2823
2824         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2825         (LEADING_BYTE_UCS_SIP): New macro.
2826         (MIN_CHAR_SMP): New macro.
2827         (MAX_CHAR_SMP): New macro.
2828         (MIN_CHAR_SIP): New macro.
2829         (MAX_CHAR_SIP): New macro.
2830
2831 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2832
2833         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2834         utf-2000.
2835
2836 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2837
2838         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2839         value; don't store value into `encoding_table' of `Lisp_Charset'.
2840         (mark_charset): `encoding_table' was deleted.
2841         (charset_description): Likewise.
2842         (make_charset): Likewise.
2843         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2844         `put_char_ccs_code_point'.
2845
2846         * chartab.h (Fput_char_attribute): New EXFUN.
2847
2848         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2849         is unified with normal symbol space.
2850         (Fget_char_attribute): Likewise.
2851         (Fput_char_attribute): Likewise; behavior of
2852         `put_char_ccs_code_point' is changed.
2853
2854         * char-ucs.h: Include "elhash.h".
2855         (Vchar_attribute_hash_table): New external variable.
2856         (struct Lisp_Charset): Delete `encoding_table'.
2857         (CHARSET_ENCODING_TABLE): New implementation; refer
2858         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2859         `Lisp_Charset'.
2860
2861 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2862
2863         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2864         (cs) == 0.
2865
2866 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2867
2868         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2869         `chinese-big5'.
2870
2871 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2872
2873         * chartab.c (uint8_byte_table_description): New constant.
2874         (uint8-byte-table): Use `uint8_byte_table_description'.
2875         (uint16_byte_table_description): New constant.
2876         (uint16-byte-table): Use `uint16_byte_table_description'.
2877
2878 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2879
2880         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2881         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2882
2883 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2884
2885         * mule-charset.c (Vcharset_ucs_ks): New variable.
2886         (Qucs_ks): New variable.
2887         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2888         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2889
2890         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2891
2892 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2893
2894         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2895         (Fdecode_char): Likewise.
2896
2897         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2898         chartab.h.
2899         (Fdefine_char): Modify for Fdecode_char.
2900         (Ffind_char): Likewise.
2901
2902         * mule-charset.c (Fdecode_char): Add new optional argument
2903         `defined-only'.
2904         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2905
2906 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2907
2908         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2909         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2910         (allocate_coding_system): Initialize initial-charsets of
2911         CODESYS_BIG5 in XEmacs UTF-2000.
2912         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2913         CODESYS_BIG5 in XEmacs UTF-2000.
2914         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2915         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2916
2917         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2918         variables.
2919         (Qideograph_hanziku_{1 .. 12}): Likewise.
2920         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2921         .. 12}'.
2922         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2923         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2924         `ideograph-hanziku-{1 .. 12}'.
2925
2926         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2927         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2928         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2929         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2930         (DECODE_DEFINED_CHAR): New inline function.
2931         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2932
2933 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2934
2935         * mule-charset.c (Vcharset_china3_jef): Renamed from
2936         `Vcharset_japanese_jef_china3'.
2937         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2938         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2939         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2940         (syms_of_mule_charset): Rename `china3-jef' from
2941         `japanese-jef-china3'.
2942         (complex_vars_of_mule_charset): Likewise; rename
2943         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2944
2945         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2946         `LEADING_BYTE_JEF_CHINA3'.
2947         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2948         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2949
2950 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2951
2952         * mule-charset.c (encode_builtin_char_1): Comment out special code
2953         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2954
2955         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2956         (MAX_CHAR_MOJIKYO_0): Comment out.
2957         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2958         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2959         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2960         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2961
2962 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2963
2964         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2965         (Qideograph_cbeta): New variable.
2966         (encode_builtin_char_1): Comment out special code for
2967         coded-charset `mojikyo' and `japanese-jef-china3'.
2968         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2969         (complex_vars_of_mule_charset): Add new coded-charset
2970         `ideograph-cbeta'.
2971
2972         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2973         (MIN_CHAR_CBETA): New macro.
2974         (MAX_CHAR_CBETA): New macro.
2975
2976 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2977
2978         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2979         (LEADING_BYTE_JEF_CHINA3): New macro.
2980         (MIN_CHAR_JEF_CHINA3): New macro.
2981         (MAX_CHAR_JEF_CHINA3): Likewise.
2982         (DECODE_CHAR): Fixed.
2983
2984 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2985
2986         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2987         (Qjapanese_jef_china3): New variable.
2988         (encode_builtin_char_1): Support `japanese-jef-china3'.
2989         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2990         (complex_vars_of_mule_charset): Add new coded-charset
2991         `japanese-jef-china3'.
2992
2993 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2994
2995         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2996         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2997         94^4, 96^3, 96^4, 128^n and 256^n set.
2998         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2999         (map_char_table): Likewise.
3000
3001 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3002
3003         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
3004         UTF-2000.
3005
3006 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3007
3008         * chartab.h (get_char_id_table): New inline function.
3009
3010         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
3011         function.
3012
3013 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3014
3015         * chartab.h (decode_char_table_range): New prototype in XEmacs
3016         UTF-2000.
3017         (put_char_id_table): New inline function in XEmacs UTF-2000.
3018
3019         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
3020         function.
3021         (decode_char_table_range): Delete static declaration in XEmacs
3022         UTF-2000.
3023
3024 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3025
3026         * chartab.c (put_char_id_table): Use `put_char_table'.
3027
3028 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3029
3030         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
3031         (map_over_uint16_byte_table): Likewise.
3032         (map_over_byte_table): Likewise.
3033         (map_char_table): Modify for `map_over_uint8_byte_table',
3034         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
3035         UTF-2000.
3036
3037 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3038
3039         * chartab.c (struct map_char_table_for_charset_arg): New
3040         structure.
3041         (map_char_table_for_charset_fun): New function.
3042         (map_char_table): Use `map_char_table' for encoding_table of
3043         `range->charset'.
3044
3045 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3046
3047         * chartab.c (map_char_table): Check a character is found in
3048         range->charset instead of non default value is defined in
3049         char-table when range is CHARTAB_RANGE_ROW.
3050
3051 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3052
3053         * chartab.c (map_char_id_table): Deleted.
3054         (Fmap_char_attribute): Use `map_char_table' instead of
3055         `map_char_id_table'.
3056
3057 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3058
3059         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
3060         UTF-2000.
3061         (update_syntax_table): Deleted in XEmacs UTF-2000.
3062
3063         * syntax.c (find_defun_start): Use `syntax_table' instead of
3064         `mirror_syntax_table' in XEmacs UTF-2000.
3065         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
3066         UTF-2000.
3067         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
3068         XEmacs UTF-2000.
3069         (Fmatching_paren): Likewise.
3070         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
3071         in XEmacs UTF-2000.
3072         (find_start_of_comment): Likewise.
3073         (find_end_of_comment): Likewise.
3074         (Fforward_comment): Likewise.
3075         (scan_lists): Likewise.
3076         (char_quoted): Likewise.
3077         (Fbackward_prefix_chars): Likewise.
3078         (scan_sexps_forward): Likewise.
3079         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
3080         (update_syntax_table): Likewise.
3081
3082         * search.c (skip_chars): Use `syntax_table' instead of
3083         `mirror_syntax_table' in XEmacs UTF-2000.
3084         (wordify): Likewise.
3085         (Freplace_match): Likewise.
3086
3087         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
3088         `mirror_syntax_table' in XEmacs UTF-2000.
3089         (WORDCHAR_P_UNSAFE): Likewise.
3090         (re_match_2_internal): Likewise.
3091
3092         * font-lock.c (find_context): Use `buf->syntax_table' instead of
3093         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3094
3095         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
3096         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
3097
3098         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
3099         XEmacs UTF-2000.
3100
3101         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
3102         UTF-2000.
3103         (print_char_table): Print `default_value' in XEmacs UTF-2000.
3104         (char_table_description): Delete `mirror_table' in XEmacs
3105         UTF-2000.
3106         (fill_char_table): Don't call `update_syntax_table' in XEmacs
3107         UTF-2000.
3108         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
3109         (Fcopy_char_table): Likewise.
3110         (put_char_table): Don't call `update_syntax_table' in XEmacs
3111         UTF-2000.
3112
3113         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
3114         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3115         (casify_region_internal): Likewise.
3116
3117         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
3118
3119         * buffer.c (common_init_complex_vars_of_buffer): Don't use
3120         `mirror_syntax_table' in XEmacs UTF-2000.
3121
3122         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
3123         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3124         (Fexpand_abbrev): Likewise.
3125
3126 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3127
3128         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
3129
3130 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3131
3132         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
3133         (map_over_uint16_byte_table): Likewise.
3134         (map_over_byte_table): Likewise.
3135         (get_char_id_table): Refer `cit->default_value'.
3136         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3137         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
3138         of character-id ranges.
3139         (mark_char_table): Mark `ct->default_value'.
3140         (char_table_description): Add `default_value'.
3141         (fill_char_table): Use `default_value'.
3142         (decode_char_table_range): Decode `nil' as
3143         `CHARTAB_RANGE_DEFAULT'.
3144         (get_char_id_table): Refer `cit->default_value'.
3145         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3146         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
3147         temporary hack; check value of char-table is bound or not.
3148         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
3149
3150         * chartab.h (struct Lisp_Char_Table): Add new member
3151         `default_value' in XEmacs UTF-2000.
3152         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
3153         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
3154         UTF-2000.
3155
3156 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3157
3158         * chartab.h (Lisp_Char_ID_Table): Deleted.
3159
3160         * chartab.c (char_table_description): Fix typo.
3161         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
3162         `Lisp_Char_ID_Table'.
3163
3164 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3165
3166         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
3167         `CHAR_ID_TABLE_P'.
3168
3169         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
3170         `CHAR_ID_TABLE_P'.
3171
3172         * chartab.h (XCHAR_ID_TABLE): Deleted.
3173         (XSETCHAR_ID_TABLE): Deleted.
3174         (CHAR_ID_TABLE_P): Deleted.
3175
3176         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3177         `CHAR_ID_TABLE_P'.
3178         (Fget_composite_char): Likewise.
3179         (put_char_table): Likewise.
3180         (add_char_attribute_alist_mapper): Fixed.
3181         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3182         `CHAR_ID_TABLE_P'.
3183         (Fget_char_attribute): Likewise.
3184         (Fget_char_attribute): Likewise.
3185         (Fmap_char_attribute): Likewise.
3186
3187         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3188         `CHAR_ID_TABLE_P'.
3189         (encode_char_1): Likewise.
3190
3191 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3192
3193         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3194         `XCHAR_ID_TABLE'.
3195
3196         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3197         instead of `XCHAR_ID_TABLE'.
3198         (remove_char_ccs): Likewise.
3199
3200         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3201         `XCHAR_ID_TABLE'.
3202         (Fget_composite_char): Likewise.
3203         (Fchar_variants): Likewise.
3204         (put_char_table): Likewise.
3205         (add_char_attribute_alist_mapper): Likewise.
3206         (Fchar_attribute_alist): Likewise.
3207         (Fget_char_attribute): Likewise.
3208         (Fput_char_attribute): Likewise.
3209         (Fmap_char_attribute): Likewise.
3210         (Fmap_char_attribute): Likewise.
3211
3212         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3213         `XCHAR_ID_TABLE'.
3214         (encode_char_1): Likewise.
3215
3216 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3217
3218         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3219         `Lisp_Char_ID_Table'.
3220         (mark_char_id_table): Deleted.
3221         (print_char_id_table): Likewise.
3222         (char_id_table_equal): Likewise.
3223         (char_id_table_hash): Likewise.
3224         (char_id_table_description): Likewise.
3225         (char_id_table): Likewise.
3226         (make_char_id_table): Use `Fmake_char_table' and
3227         `fill_char_table'.
3228         (get_char_id_table): Use `Lisp_Char_Table' instead of
3229         `Lisp_Char_ID_Table'.
3230         (put_char_id_table): Likewise.
3231         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3232         `XCHAR_ID_TABLE'.
3233         (Fremove_char_attribute): Likewise.
3234         (syms_of_chartab): Don't define type `char-id-table'.
3235
3236         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3237         (char_id_table): Likewise.
3238         (GC_CHAR_ID_TABLE_P): Likewise.
3239         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3240         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3241         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3242         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3243         (get_char_id_table): Use `Lisp_Char_Table' instead of
3244         `Lisp_Char_ID_Table'.
3245         (put_char_id_table_0): Likewise.
3246         (put_char_id_table): Likewise.
3247
3248 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3249
3250         * chartab.h: Lisp_Byte_Table related codes are moved from
3251         chartab.h.
3252
3253         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3254
3255 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3256
3257         * chartab.h: Don't include "chartab.h".
3258         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3259         (Lisp_Char_ID_Table): Likewise.
3260         (char_id_table): Likewise.
3261         (XCHAR_ID_TABLE): Likewise.
3262         (XSETCHAR_ID_TABLE): Likewise.
3263         (CHAR_ID_TABLE_P): Likewise.
3264         (GC_CHAR_ID_TABLE_P): Likewise.
3265         (get_char_id_table): Likewise.
3266
3267         * char-ucs.h: Include "chartab.h".
3268         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3269         (Lisp_Char_ID_Table): Likewise.
3270         (char_id_table): Likewise.
3271         (XCHAR_ID_TABLE): Likewise.
3272         (XSETCHAR_ID_TABLE): Likewise.
3273         (CHAR_ID_TABLE_P): Likewise.
3274         (GC_CHAR_ID_TABLE_P): Likewise.
3275         (get_char_id_table): Likewise.
3276
3277 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3278
3279         * chartab.c (copy_uint8_byte_table): New function.
3280         (copy_uint16_byte_table): New function.
3281         (copy_byte_table): New function.
3282         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3283         characters to call.
3284         (map_over_uint16_byte_table): Likewise.
3285         (map_over_byte_table): Likewise.
3286         (get_byte_table): Move prototype to chartab.h.
3287         (put_byte_table): Likewise.
3288         (put_char_id_table_0): Moved to chartab.h.
3289         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3290         (char_table_entry_equal): Likewise.
3291         (char_table_entry_hash): Likewise.
3292         (char_table_entry_description): Likewise.
3293         (char_table_entry): Likewise.
3294         (make_char_table_entry): Likewise.
3295         (copy_char_table_entry): Likewise.
3296         (get_non_ascii_char_table_value): Likewise.
3297         (map_over_charset_ascii): Likewise.
3298         (map_over_charset_control_1): Likewise.
3299         (map_over_charset_row): Likewise.
3300         (map_over_other_charset): Likewise.
3301         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3302         (print_char_table): Likewise.
3303         (char_table_equal): Likewise.
3304         (char_table_hash): Likewise.
3305         (char_table_description): Likewise.
3306         (fill_char_table): Likewise.
3307         (Fcopy_char_table): Likewise.
3308         (get_char_table): Likewise.
3309         (Fget_range_char_table): Likewise.
3310         (put_char_table): Likewise.
3311         (map_char_table): Likewise.
3312         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3313         UTF-2000.
3314
3315 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3316
3317         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3318         `Vauto_fill_chars' in XEmacs UTF-2000.
3319
3320         * chartab.h (get_byte_table): New prototype [moved from
3321         chartab.c].
3322         (put_byte_table): Likewise [moved from chartab.c].
3323         (put_char_id_table_0): New inline function [moved from chartab.c].
3324         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3325         (Lisp_Char_Table_Entry): Likewise.
3326         (char_table_entry): Likewise.
3327         (XCHAR_TABLE_ENTRY): Likewise.
3328         (XSETCHAR_TABLE_ENTRY): Likewise.
3329         (CHAR_TABLE_ENTRYP): Likewise.
3330         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3331         (NUM_ASCII_CHARS): Likewise.
3332         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3333         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3334
3335 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3336
3337         * chartab.c (get_char_id_table): Change interface.
3338         (put_char_id_table_0): New function.
3339         (put_char_id_table): Change interface; new implementation.
3340         (Fget_composite_char): Modify for interface change of
3341         `get_char_id_table'.
3342         (Fchar_variants): Likewise.
3343         (add_char_attribute_alist_mapper): Likewise.
3344         (Fchar_attribute_alist): Likewise.
3345         (Fget_char_attribute): Likewise.
3346         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3347         as same as character as the first argument like `put-char-table';
3348         modify for interface change of `put_char_id_table'.
3349         (Fremove_char_attribute): Modify for interface change of
3350         `put_char_id_table'.
3351
3352 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3353
3354         * text-coding.c: Sync up with XEmacs 21.2.41.
3355         (COMPOSE_ADD_CHAR): Modify for interface change of
3356         `get_char_id_table'.
3357
3358         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3359         change of `put_char_id_table'.
3360         (remove_char_ccs): Likewise.
3361
3362         * chartab.h (put_char_id_table): Change interface.
3363
3364         * char-ucs.h (get_char_id_table): Change interface.
3365         (charset_code_point): Modify for interface change of
3366         `get_char_id_table'.
3367         (encode_char_1): Likewise.
3368
3369 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3370
3371         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3372         argument `ccs'.
3373         (map_over_uint16_byte_table): Likewise.
3374         (map_over_byte_table): Likewise.
3375         (map_char_id_table): Add new argument `range' like
3376         `map_char_table'.
3377         (Fmap_char_attribute): Add new argument `range' like
3378         `Fmap_char_table'.
3379
3380 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3381
3382         * chartab.c (map_over_uint8_byte_table): Change interface of
3383         mapping function to use struct chartab_range instead of Emchar.
3384         (map_over_uint16_byte_table): Likewise.
3385         (map_over_byte_table): Likewise.
3386         (map_char_id_table): Likewise.
3387         (struct slow_map_char_id_table_arg): Deleted.
3388         (slow_map_char_id_table_fun): Deleted.
3389         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3390         function `slow_map_char_table_fun' instead of struct
3391         `slow_map_char_id_table_arg' and function
3392         `slow_map_char_id_table_fun'.
3393
3394 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3395
3396         * mule-charset.c: Move char-it-table related codes to chartab.c.
3397         (Vutf_2000_version): Moved to chartab.c.
3398         (Fdefine_char): Likewise.
3399         (Ffind_char): Likewise.
3400         (syms_of_mule_charset): Move types `uint8-byte-table',
3401         `uint16-byte-table', `byte-table' and `char-id-table' to
3402         chartab.c; move functions `char_attribute_list,
3403         `find_char_attribute_table, `char_attribute_alist,
3404         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3405         `map_char_attribute, `define_char, `find_char, `char_variants and
3406         `get_composite_char to chartab.c; move symbols `=>ucs',
3407         `->decomposition', `compat', `isolated', `initial', `medial',
3408         `final', `vertical', `noBreak', `fraction', `super', `sub',
3409         `circle', `square', `wide', `narrow', `small' and `font' to
3410         chartab.c.
3411         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3412         setting codes for `Vcharacter_composition_table' and
3413         `Vcharacter_variant_table' to chartab.c.
3414         (complex_vars_of_mule_charset): Move setting code for
3415         `Vchar_attribute_hash_table' to chartab.c.
3416
3417         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3418         (make_char_id_table): New prototype.
3419         (put_char_id_table): Likewise.
3420         (Fget_char_attribute): Likewise.
3421
3422         * chartab.c: Move char-id-table related code from mule-charset.c.
3423         (Vutf_2000_version): Moved from mule-charset.c.
3424
3425         * char-ucs.h (Qucs): New external variable.
3426         (put_char_ccs_code_point): New prototype.
3427         (remove_char_ccs): Likewise.
3428
3429 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3430
3431         * mule-charset.c (Vcharset_ucs_jis): New variable.
3432         (Qucs_jis): Likewise.
3433         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3434         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3435
3436         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3437
3438 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3439
3440         * mule-charset.c (map_over_uint8_byte_table): New function.
3441         (map_over_uint16_byte_table): Likewise.
3442         (map_over_byte_table): Likewise.
3443         (map_char_id_table): Likewise.
3444         (slow_map_char_id_table_fun): Likewise.
3445         (Fmap_char_attribute): Likewise.
3446         (syms_of_mule_charset): Add new function `map-char-attribute'.
3447
3448 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3449
3450         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3451         (syms_of_mule_charset): Add new function `find-char'.
3452
3453 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3454
3455         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3456         XEmacs UTF-2000.
3457         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3458         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3459         XEmacs UTF-2000.
3460         (complex_vars_of_mule_charset): Add new coded-charset
3461         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3462         `ideograph-gt-pj-*'.
3463
3464         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3465
3466 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3467
3468         * mule-charset.c (encode_builtin_char_1): Purge codes about
3469         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3470         {MIN|MAX}_CHAR_HEBREW.
3471         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3472         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3473
3474         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3475         (MAX_CHAR_GREEK): Purged.
3476         (MIN_CHAR_CYRILLIC): Purged.
3477         (MAX_CHAR_CYRILLIC): Purged.
3478         (MIN_CHAR_HEBREW): Commented out.
3479         (MAX_CHAR_HEBREW): Likewise.
3480
3481 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3482
3483         * mule-charset.c (Qto_ucs): New variable.
3484         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3485         (Fdefine_char): Likewise.
3486         (syms_of_mule_charset): Add new symbol `=>ucs'.
3487
3488 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3489
3490         * mule-charset.c (Fdecode_char): Fixed.
3491
3492 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3493
3494         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3495         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3496         "tcvn5712-1".
3497
3498 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3499
3500         * mule-charset.c (Vcharset_ucs_big5): New variable.
3501         (Qucs_big5): Likewise.
3502         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3503         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3504
3505         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3506
3507 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3508
3509         * mule-charset.c (decode_builtin_char): Check Big5 code range
3510         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3511
3512 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3513
3514         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3515         (Qchinese_gb12345): Likewise.
3516         (Fdecode_builtin_char): Fixed.
3517         (syms_of_mule_charset): Add `chinese-gb12345'.
3518         (complex_vars_of_mule_charset): Add coded-charset
3519         `chinese-gb12345'.
3520
3521         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3522         (LEADING_BYTE_CHINESE_GB12345): New macro.
3523
3524 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3525
3526         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3527         and `latin-viscii-upper' for `latin-viscii'.
3528
3529 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3530
3531         * mule-charset.c (Fdecode_builtin_char): Comment out
3532         regularization code for ISO-IR GR representation.
3533
3534 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3535
3536         * mule-charset.c (decode_builtin_char): New function; renamed from
3537         `make_builtin_char'; return -1 instead of signal.
3538         (Fdecode_builtin_char): Use `decode_builtin_char'.
3539
3540         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3541         `make_builtin_char'.
3542         (DECODE_CHAR): Use `decode_builtin_char' instead of
3543         `make_builtin_char'; use mapping table of `chinese-big5' for
3544         `chinese-big5-{1,2}'.
3545
3546 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3547
3548         * text-coding.c (char_encode_big5): New function.
3549         (char_finish_big5): Likewise.
3550         (reset_encoding_stream): Use `char_encode_big5' and
3551         `char_finish_big5' for CODESYS_BIG5.
3552         (mule_encode): Don't use `encode_coding_big5'.
3553         (encode_coding_big5): Deleted.
3554
3555 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3556
3557         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3558         0x81- in XEmacs UTF-2000.
3559         (detect_coding_big5): Likewise.
3560
3561 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3562
3563         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3564         generate character-id if the CCS property does not have
3565         corresponding predefined character.
3566         (make_builtin_char): Return -1 if corresponding predefined
3567         character is not found.
3568         (Fdecode_char): Return nil if corresponding character is not
3569         found.
3570         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3571         don't map to builtin ucs space.
3572
3573 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3574
3575         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3576         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3577
3578 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3579
3580         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3581         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3582         (Qideograph_gt): Likewise.
3583         (Qideograph_gt_pj_{1..11}): Likewise.
3584         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3585         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3586         `ideograph-gt-pj-11'.
3587         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3588         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3589         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3590
3591         * char-ucs.h (LEADING_BYTE_GT): New macro.
3592         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3593         (MIN_CHAR_GT): Likewise.
3594         (MAX_CHAR_GT): Likewise.
3595
3596 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3597
3598         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3599         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3600
3601         * doprnt.c (unsigned_int_converters): Add `c'.
3602         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3603
3604         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3605         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3606         `MIN_CHAR_MOJIKYO'.
3607         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3608         (MAX_CHAR_MOJIKYO_0): New macro.
3609         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3610
3611 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3612
3613         * mule-charset.c (Fdefine_char): Delete cemented out code.
3614         (encode_builtin_char_1): Modify for new allocation of builtin
3615         Mojikyo characters.
3616
3617         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3618
3619 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3620
3621         * mule-charset.c (Vcharset_ucs_cns): New variable.
3622         (Qucs_cns): New variable.
3623         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3624         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3625
3626 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3627
3628         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3629
3630 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3631
3632         * search.c (search_buffer): Make `charset_base_code' as
3633         character-id >> 6 to eliminate the corresponding last byte in
3634         UTF-8 representation [I'm not sure it is right thing].
3635         (boyer_moore): Likewise.
3636
3637 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3638
3639         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3640         representation in MULE.
3641
3642 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3643
3644         * text-coding.c (Fmake_coding_system): Use
3645         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3646         `EXTERNAL_PROPERTY_LIST_LOOP'.
3647
3648 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3649
3650         * text-coding.c (decode_output_utf8_partial_char): New function.
3651         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3652
3653 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3654
3655         * text-coding.c (decode_coding_utf8): Output original byte
3656         sequence if it is broken; change order of conditions.
3657
3658         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3659         of conditions.
3660
3661         * mb-multibyte.h (BYTE_ASCII_P):
3662         Use bit ops for char-signedness safety.
3663         (BYTE_C0_P): Use bit ops for char-signedness safety.
3664         (BYTE_C1_P): Use bit ops for char-signedness safety.
3665
3666         * character.h: (XCHAR_OR_CHAR_INT):
3667         Always use inline function.
3668         Remove redundant type checking assert() - XINT will abort quite
3669         nicely.
3670
3671 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3672
3673         * text-coding.c: (Fencode_shift_jis_char):
3674         (Fencode_big5_char):
3675         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3676         Replace 0 with '\0' when working with bytes.
3677         Replace initial "(" with "\(" in docstrings.
3678
3679         (Fmake_coding_system):
3680         When type is ccl and value is vector, register it with a proper
3681         symbol.  And checks whether the given ccl program is valid.
3682         (mule_decode): When calling ccl_driver, if src indicates
3683         NULL pointer, set an empty string instead.
3684         (mule_encode): Likewise.
3685
3686         (detect_eol_type):
3687         (detect_coding_sjis):
3688         (decode_coding_sjis):
3689         (detect_coding_big5):
3690         (decode_coding_big5):
3691         (detect_coding_ucs4):
3692         (decode_coding_ucs4):
3693         (detect_coding_utf8):
3694         (decode_coding_utf8):
3695         (detect_coding_iso2022):
3696         (decode_coding_iso2022):
3697         (decode_coding_no_conversion):
3698         (mule_decode):
3699         Make all detecting and decoding functions take an Extbyte * arg.
3700         (text_encode_generic):
3701         (encode_coding_big5):
3702         (encode_coding_no_conversion):
3703         (mule_encode):
3704         Make all encoding functions take a Bufbyte * arg.
3705         Use size_t instead of unsigned int for memory sizes.
3706         Only cast to unsigned char whenever dereferencing Extbyte *.
3707
3708         (struct lrecord_description fcd_description_1): Use countof.
3709         (complex_vars_of_file_coding):
3710         Use countof instead of sizeof.
3711         Use CHECK_NATNUM instead of CHECK_INT.
3712
3713 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3714
3715         * mule-charset.c (Fget_char_attribute): Add new optional argument
3716         `default-value'.
3717         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3718         (remove_char_ccs): Likewise.
3719
3720 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3721
3722         * text-coding.c (char_encode_shift_jis): New implementation in
3723         UTF-2000.
3724         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3725         ...)'.
3726
3727         * mule-charset.c (Vcharset_chinese_big5): New variable in
3728         UTF-2000.
3729         (Qchinese_big5): New variable in UTF-2000.
3730         (BIG5_SAME_ROW): New macro in UTF-2000.
3731         (make_builtin_char): Use builtin characters of
3732         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3733         characters of `Vcharset_chinese_big5'.
3734         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3735         (complex_vars_of_mule_charset): Add new coded-charset
3736         `chinese-big5' in UTF-2000.
3737
3738         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3739         (Vcharset_chinese_big5): New external variable declaration.
3740         (Vcharset_japanese_jisx0208_1990): Likewise.
3741
3742 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3743
3744         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3745         function.
3746         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3747
3748 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3749
3750         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3751         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3752         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3753         `mojikyo-pj-*'.
3754
3755 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3756
3757         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3758
3759 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3760
3761         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3762         to 0.17.
3763
3764 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3765
3766         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3767         for `CHARSET_BY_ATTRIBUTES'.
3768         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3769         `CHARSET_BY_ATTRIBUTES'.
3770
3771         * text-coding.c (struct decoding_stream): Rename member `CH' to
3772         `CPOS'.
3773         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3774         (decode_coding_sjis): Likewise.
3775         (decode_coding_big5): Likewise.
3776         (decode_coding_ucs4): Likewise.
3777         (decode_coding_utf8): Likewise.
3778         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3779         `CHARSET_BY_ATTRIBUTES'.
3780         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3781         `str->counter'; decode 3, 4 bytes sets.
3782         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3783         sets.
3784         (decode_coding_no_conversion): Use `str->cpos' instead of
3785         `str->ch'.
3786
3787         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3788         (Qmojikyo_2022_1): New variable.
3789         (make_charset): Don't use `CHARSET_TYPE_*'.
3790         (range_charset_code_point): Support coded-charset
3791         `mojikyo-2022-1'.
3792         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3793         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3794         `CHARSET_BY_ATTRIBUTES'.
3795         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3796         `CHARSET_BY_ATTRIBUTES'.
3797         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3798         (complex_vars_of_mule_charset): Add new coded-charset
3799         `mojikyo-2022-1'.
3800
3801         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3802         interface; changed to inline function.
3803
3804         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3805         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3806         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3807         (CHARSET_TYPE_94): Deleted.
3808         (CHARSET_TYPE_94X94): Deleted.
3809         (CHARSET_TYPE_96): Deleted.
3810         (CHARSET_TYPE_96X96): Deleted.
3811         (CHARSET_TYPE_128): Deleted.
3812         (CHARSET_TYPE_128X128): Deleted.
3813         (CHARSET_TYPE_256): Deleted.
3814         (CHARSET_TYPE_256X256): Deleted.
3815         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3816         to inline function.
3817         (DECODE_MOJIKYO_2022): New inline function.
3818         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3819         `Vcharset_mojikyo_2022_1'.
3820
3821 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3822
3823         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3824         instead of `EQ'.
3825         (put_byte_table): Likewise.
3826         (char_id_table_equal): Use `get_byte_table' [new implementation].
3827
3828 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3829
3830         * mule-charset.c: Include <limits.h> in UTF-2000.
3831         (BT_UINT8_MIN): New macro in UTF-2000.
3832         (BT_UINT8_MAX): New macro in UTF-2000.
3833         (BT_UINT8_t): New macro in UTF-2000.
3834         (BT_UINT8_nil): New macro in UTF-2000.
3835         (BT_UINT8_unbound): New macro in UTF-2000.
3836         (INT_UINT8_P): New inline function in UTF-2000.
3837         (UINT8_VALUE_P): New inline function in UTF-2000.
3838         (UINT8_ENCODE): New inline function in UTF-2000.
3839         (UINT8_DECODE): New inline function in UTF-2000.
3840         (mark_uint8_byte_table): New function in UTF-2000.
3841         (print_uint8_byte_table): New function in UTF-2000.
3842         (uint8_byte_table_equal): New function in UTF-2000.
3843         (uint8_byte_table_hash): New function in UTF-2000.
3844         (make_uint8_byte_table): New function in UTF-2000.
3845         (uint8_byte_table_same_value_p): New function in UTF-2000.
3846         (BT_UINT16_MIN): New macro in UTF-2000.
3847         (BT_UINT16_MAX): New macro in UTF-2000.
3848         (BT_UINT16_t): New macro in UTF-2000.
3849         (BT_UINT16_nil): New macro in UTF-2000.
3850         (BT_UINT16_unbound): New macro in UTF-2000.
3851         (INT_UINT16_P): New inline function in UTF-2000.
3852         (UINT16_VALUE_P): New inline function in UTF-2000.
3853         (UINT16_ENCODE): New inline function in UTF-2000.
3854         (UINT16_DECODE): New inline function in UTF-2000.
3855         (UINT8_TO_UINT16): New inline function in UTF-2000.
3856         (mark_uint16_byte_table): New function in UTF-2000.
3857         (print_uint16_byte_table): New function in UTF-2000.
3858         (uint16_byte_table_equal): New function in UTF-2000.
3859         (uint16_byte_table_hash): New function in UTF-2000.
3860         (make_uint16_byte_table): New function in UTF-2000.
3861         (uint16_byte_table_same_value_p): New function in UTF-2000.
3862         (print_byte_table): New function in UTF-2000.
3863         (byte-table): Use `print_byte_table' as printer.
3864         (make_byte_table): Delete second argument `older'.
3865         (byte_table_same_value_p): New function in UTF-2000.
3866         (copy_byte_table): Deleted.
3867         (get_byte_table): New function in UTF-2000.
3868         (put_byte_table): New function in UTF-2000.
3869         (print_char_id_table): New function in UTF-2000.
3870         (char-id-table): Use `print_char_id_table' as printer.
3871         (make_char_id_table): Delete second argument `older'.
3872         (get_char_id_table): Use `get_byte_table [new implementation].
3873         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3874         implementation].
3875         (Ffind_char_attribute_table): New function in UTF-2000.
3876         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3877         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3878         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3879         (syms_of_mule_charset): Add new function
3880         `find-char-attribute-table' in UTF-2000.
3881
3882         * lrecord.h (enum lrecord_type): Add
3883         `lrecord_type_uint16_byte_table' and
3884         `lrecord_type_uint8_byte_table'.
3885
3886         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3887         (Lisp_Uint8_Byte_Table): New type.
3888         (XUINT8_BYTE_TABLE): New macro.
3889         (XSETUINT8_BYTE_TABLE): New macro.
3890         (UINT8_BYTE_TABLE_P): New macro.
3891         (GC_UINT8_BYTE_TABLE_P): New macro.
3892         (struct Lisp_Uint16_Byte_Table): New structure.
3893         (Lisp_Uint16_Byte_Table): New type.
3894         (XUINT16_BYTE_TABLE): New macro.
3895         (XSETUINT16_BYTE_TABLE): New macro.
3896         (UINT16_BYTE_TABLE_P): New macro.
3897         (GC_UINT16_BYTE_TABLE_P): New macro.
3898
3899 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3900
3901         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3902         (Vcharacter_ideographic_strokes_table): Deleted.
3903         (Vcharacter_total_strokes_table): Deleted.
3904         (Vcharacter_morohashi_daikanwa_table): Deleted.
3905         (Vcharacter_decomposition_table): Deleted.
3906         (Qname): Deleted because it is duplicated.
3907         (Qideographic_radical): Deleted.
3908         (Qideographic_strokes): Deleted.
3909         (Qtotal_strokes): Deleted.
3910         (Qmorohashi_daikanwa): Deleted.
3911         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3912         `ideographic-radical', `ideographic-strokes', `total-strokes',
3913         `morohashi-daikanwa' and `->decomposition'.
3914         (Fget_char_attribute): Likewise.
3915         (Fput_char_attribute): Likewise; use `make-vector' instead of
3916         `make_older_vector' for `->decomposition' value.
3917         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3918         `ideograph-daikanwa'.
3919         (syms_of_mule_charset): Delete builtin symbols `name',
3920         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3921         `morohashi-daikanwa'.
3922         (vars_of_mule_charset): Don't setup
3923         `Vcharacter_ideographic_radical_table',
3924         `Vcharacter_ideographic_strokes_table',
3925         `Vcharacter_total_strokes_table',
3926         `Vcharacter_morohashi_daikanwa_table' and
3927         `Vcharacter_decomposition_table'.
3928
3929 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3930
3931         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3932         `make_older_vector', `make_vector_newer_1' and
3933         `make_vector_newer'.
3934
3935         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3936         `make_older_vector' and `make_vector_newer'.
3937
3938         * config.h.in (HAVE_GGC): New macro.
3939
3940 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3941
3942         * mule-charset.c (struct char_attribute_list_closure): New
3943         structure in UTF-2000.
3944         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3945         (Fchar_attribute_list): Likewise.
3946         (Fset_charset_mapping_table): Use `make_vector_newer'.
3947         (Fdecode_builtin_char): New function in UTF-2000.
3948         (syms_of_mule_charset): Add new function `char-attribute-list' and
3949         `decode-builtin-char' in UTF-2000.
3950
3951         * lisp.h (make_vector_newer): New prototype.
3952
3953         * alloc.c (make_vector_newer_1): New function.
3954         (make_vector_newer): New function.
3955
3956 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3957
3958         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3959         50100)'.
3960
3961 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3962
3963         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3964         (Vcharacter_attribute_table): Deleted.
3965         (Vcharacter_name_table): Deleted.
3966         (put_char_attribute): Deleted.
3967         (remove_char_attribute): Deleted.
3968         (struct char_attribute_alist_closure): New structure.
3969         (add_char_attribute_alist_mapper): New function.
3970         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3971         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3972         (Fget_char_attribute): Likewise.
3973         (Fput_char_attribute): Likewise.
3974         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3975         of `remove_char_attribute'.
3976         (Fdefine_char): Return character.
3977         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3978         and `Vcharacter_name_table'.
3979         (complex_vars_of_mule_charset): Likewise
3980         `Vchar_attribute_hash_table'.
3981
3982 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3983
3984         * character.h (CHARC_CHARSET): New macro.
3985         (CHARC_CHARSET_ID): New macro.
3986         (CHARC_CODE_POINT): New macro.
3987         (CHARC_COLUMNS): New macro.
3988         (CHARC_TO_CHAR): New inline function.
3989         (CHARC_EQ): New inline function.
3990         (CHARC_ASCII_EQ): New inline function.
3991         (CHARC_IS_SPACE): New inline function.
3992         (ASCII_TO_CHARC): New inline function.
3993
3994         * char-ucs.h (encode_char_2): Deleted.
3995         (ENCODE_CHAR): Use `encode_char_1' again.
3996         (breakup_char_1): Likewise.
3997         (CHAR_TO_CHARC): New inline function.
3998
3999         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
4000
4001 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4002
4003         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
4004         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
4005         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
4006         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
4007         (create_string_text_block): Use `CHARC_ASCII_EQ' and
4008         `CHARC_IS_SPACE'.
4009         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
4010
4011         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
4012         `CHARC_CODE_POINT'.
4013         (x_output_display_block): Use `CHARC_CHARSET' and
4014         `CHARC_ASCII_EQ'.
4015
4016         * redisplay-tty.c (tty_output_display_block): Use
4017         `CHARC_ASCII_EQ'.
4018         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
4019
4020         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
4021
4022         * insdel.c (find_charsets_in_charc_string): Use
4023         `CHARC_CHARSET_ID'.
4024         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
4025         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
4026         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
4027         (convert_charc_string_into_malloced_string): Likewise.
4028
4029 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4030
4031         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
4032         instead of <Emchar_dynarr *> for buf; use
4033         `convert_bufbyte_string_into_charc_dynarr' instead of
4034         `convert_bufbyte_string_into_emchar_dynarr'; use
4035         `find_charsets_in_charc_string' instead of
4036         `find_charsets_in_emchar_string'.
4037
4038         * redisplay.h:
4039         - Include "character.h".
4040         (struct rune): New member `cglyph'; delete member `chr'.
4041
4042         * redisplay.c (redisplay_text_width_charc_string): New function;
4043         delete `redisplay_text_width_emchar_string'.
4044         (rtw_charc_dynarr): New variable; renamed from
4045         `rtw_emchar_dynarr'.
4046         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
4047         `rtw_emchar_dynarr'; use
4048         `convert_bufbyte_string_into_charc_dynarr' instead of
4049         `convert_bufbyte_string_into_emchar_dynarr'; use
4050         `redisplay_text_width_charc_string' instead of
4051         `redisplay_text_width_emchar_string'.
4052         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
4053         instead of `rtw_emchar_dynarr'; use
4054         `convert_bufbyte_string_into_charc_dynarr' instead of
4055         `convert_bufbyte_string_into_emchar_dynarr'.
4056         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
4057         `redisplay_text_width_charc_string' instead of
4058         `redisplay_text_width_emchar_string'.
4059         (create_text_block): Modify for <struct rune> change.
4060         (generate_formatted_string_db): Likewise.
4061         (create_string_text_block): Likewise.
4062         (pixel_to_glyph_translation): Likewise.
4063
4064         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
4065         instead of <const Emchar *>.
4066         (x_text_width): Likewise.
4067         (x_output_display_block): Use <Charc_dynarr *> instead
4068         <Emchar_dynarr *>; modify for <structure rune> change.
4069         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
4070         *>.
4071
4072         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
4073         <const Emchar *>; use `charc_string_displayed_columns' instead of
4074         `emchar_string_displayed_columns'.
4075         (tty_output_display_block): Use <Charc_dynarr *> instead of
4076         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
4077         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
4078         (tty_output_charc_dynarr_dynarr): New variable; renamed from
4079         `tty_output_emchar_dynarr_dynarr'.
4080         (tty_output_charc_dynarr): New function; delete
4081         `tty_output_charc_dynarr'.
4082
4083         * redisplay-output.c (compare_runes): Modify for `struct rune'.
4084         (redisplay_output_layout): Use <Charc_dynarr *> instead of
4085         <Emchar_dynarr *> for buf; use
4086         `convert_bufbyte_string_into_charc_dynarr' instead of
4087         `convert_bufbyte_string_into_emchar_dynarr'.
4088
4089         * frame.c (title_string_charc_dynarr): New variable; renamed from
4090         `title_string_emchar_dynarr'.
4091         (generate_title_string): Use `title_string_charc_dynarr' instead
4092         of `title_string_emchar_dynarr'; use
4093         `convert_charc_string_into_malloced_string' instead of
4094         `convert_emchar_string_into_malloced_string'.
4095         (init_frame): Use `title_string_charc_dynarr' instead of
4096         `title_string_emchar_dynarr'.
4097
4098         * console.h:
4099         - Include "character.h".
4100         (struct console_methods): Use <const Charc *> instead of <const
4101         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
4102         <Emchar_dynarr *> in output_string_method.
4103
4104         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
4105         <Emchar_dynarr *>.
4106
4107         * console-stream.c (stream_text_width): Use <const Charc *>
4108         instead of <const Emchar *>.
4109
4110         * character.h (Charc_dynarr): New type.
4111
4112         * char-ucs.h (structure Charc): New structure; define new type
4113         `Charc'.
4114
4115         * char-lb.h (DECODE_CHAR): New inline function.
4116         (encode_char_1): New inline function.
4117         (ENCODE_CHAR): New macro.
4118         (structure Charc): New structure; define new type `Charc'.
4119
4120         * char-1byte.h (Vcharset_control_1): New macro.
4121         (Vcharset_latin_iso8859_1): New macro.
4122         (DECODE_CHAR): New inline function.
4123         (encode_char_1): New inline function.
4124         (ENCODE_CHAR): New macro.
4125         (structure Charc): New structure; define new type `Charc'.
4126
4127         * insdel.c (find_charsets_in_charc_string): New function; delete
4128         `find_charsets_in_emchar_string'.
4129         (charc_string_displayed_columns): New function; delete
4130         `emchar_string_displayed_columns'.
4131         (convert_bufbyte_string_into_charc_dynarr): New function; delete
4132         `convert_bufbyte_string_into_emchar_dynarr'.
4133         (convert_charc_string_into_bufbyte_dynarr): New function; delete
4134         `convert_charc_string_into_bufbyte_dynarr'.
4135         (convert_charc_string_into_malloced_string): New function; delete
4136         `convert_charc_string_into_malloced_string'.
4137
4138         * buffer.h (find_charsets_in_charc_string): New prototype; delete
4139         `find_charsets_in_emchar_string'.
4140         (charc_string_displayed_columns): New prototype; delete
4141         `emchar_string_displayed_columns'.
4142         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
4143         `convert_charc_string_into_bufbyte_dynarr'.
4144         (convert_charc_string_into_malloced_string): New prototype; delete
4145         `convert_charc_string_into_malloced_string'.
4146
4147 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4148
4149         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
4150
4151 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4152
4153         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
4154
4155         * char-ucs.h: Use <short> for <Charset_ID>.
4156
4157         * mule-charset.h, char-1byte.h: Use <unsigned char> for
4158         <Charset_ID>.
4159
4160 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4161
4162         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4163         to 0.16.
4164
4165 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4166
4167         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
4168         variable.
4169         (Qmorohashi_daikanwa): New variable.
4170         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
4171         for `morohashi-daikanwa' attribute.
4172         (Fget_char_attribute): Likewise.
4173         (Fput_char_attribute): Likewise.
4174         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4175         has the same value of `ideograph-daikanwa'.
4176         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4177         (vars_of_mule_charset): Setup
4178         `Vcharacter_morohashi_daikanwa_table'.
4179
4180 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4181
4182         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4183         attributes.
4184         (add_charset_to_list_mapper): Add `key' instead of
4185         `XCHARSET_NAME (value)' to return aliases.
4186
4187 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4188
4189         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4190         variable.
4191         (Vcharacter_ideographic_strokes_table): New variable.
4192         (Qideographic_radical): New variable.
4193         (Qideographic_strokes): New variable.
4194         (Fchar_attribute_alist): Use
4195         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4196         attribute; use `Vcharacter_ideographic_strokes_table' for
4197         `ideographic-strokes' attribute.
4198         (Fget_char_attribute): Likewise.
4199         (Fput_char_attribute): Likewise.
4200         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4201         `ideographic-strokes'.
4202         (vars_of_mule_charset): Setup
4203         `Vcharacter_ideographic_radical_table' and
4204         `Vcharacter_ideographic_strokes_table'.
4205
4206 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4207
4208         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4209         (Qtotal_strokes): New variable.
4210         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4211         `total-strokes' attribute.
4212         (Fget_char_attribute): Likewise.
4213         (Fput_char_attribute): Likewise.
4214         (syms_of_mule_charset): Add new symbol `total-strokes'.
4215         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4216
4217 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4218
4219         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4220         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4221         are found.
4222         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4223         `->decomposition' attribute.
4224         (Fput_char_attribute): Likewise.
4225         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4226
4227 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4228
4229         * mule-charset.c (decoding_table_check_elements): New function.
4230         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4231
4232 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4233
4234         * mule-charset.c (Fset_charset_mapping_table): Use
4235         `put_char_ccs_code_point'.
4236
4237 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4238
4239         * mule-charset.c (decoding_table_put_char): New inline function.
4240         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4241
4242 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4243
4244         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4245         (XCHARSET_BYTE_SIZE): New macro.
4246         (decoding_table_remove_char): New inline function.
4247         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4248         `decoding_table_remove_char'.
4249         (remove_char_ccs): Use `decoding_table_remove_char'.
4250         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4251
4252 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4253
4254         * mule-charset.c (Vcharacter_name_table): New variable.
4255         (Qname): New variable.
4256         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4257         attribute.
4258         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4259         `Vcharacter_name_table' for `name' attribute.
4260         (Fremove_char_attribute): Use function `remove_char_ccs'.
4261         (put_char_ccs_code_point): New function.
4262         (remove_char_ccs): New function.
4263         (syms_of_mule_charset): Add new symbol `name'.
4264         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4265
4266 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4267
4268         * mule-charset.c (make_byte_table): Add new argument `older'.
4269         (make_char_id_table): Likewise.
4270         (copy_char_id_table): Comment out because it is not used.
4271         (put_char_id_table): Modify for `make_byte_table'.
4272         (Fput_char_attribute): Make encoding_table as older object;
4273         inherit older bit of `Vcharacter_composition_table'.
4274         (mark_charset): Don't mark `cs->encoding_table'.
4275         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4276         normal object; make `Vcharacter_composition_table' as an older
4277         object; delete staticpro for `Vcharacter_composition_table'; make
4278         `Vcharacter_variant_table' as a normal object.
4279
4280         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4281         (mark_object): Don't check older object in UTF-2000.
4282
4283         * lrecord.h (struct lrecord_header): Add new member `older' in
4284         UTF-2000.
4285         (set_lheader_implementation): Setup `SLI_header->older' in
4286         UTF-2000.
4287         (set_lheader_older_implementation): New macro in UTF-2000.
4288         (OLDER_RECORD_P): New macro in UTF-2000.
4289         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4290         (alloc_older_lcrecord): New prototype in UTF-2000.
4291         (alloc_older_lcrecord_type): New macro in UTF-2000.
4292
4293 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4294
4295         * mule-charset.c (byte_table_description): Use
4296         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4297         (char_id_table_description): Delete bogus `, 1'.
4298         (Fget_char_attribute): Refer encoding_table of each coded-charset
4299         to get value of coded-charset attribute of a character.
4300         (Fput_char_attribute): Use `make_older_vector' instead of
4301         `make_vector'; use encoding_table of each coded-charset to store
4302         value of coded-charset attribute of a character.
4303         (Fremove_char_attribute): Use encoding_table of each coded-charset
4304         to store value of coded-charset attribute of a character.
4305         (mark_charset): Mark `cs->encoding_table'; don't mark
4306         `cs->decoding_table'.
4307         (charset_description): Add description of new member
4308         `encoding_table'.
4309         (make_charset): Initialize `encoding_table'.
4310
4311         * char-ucs.h (struct Lisp_Charset): Add new member
4312         `encoding_table'.
4313         (CHARSET_ENCODING_TABLE): New macro.
4314         (XCHARSET_ENCODING_TABLE): New macro.
4315         (charset_code_point): New implementation.
4316         (encode_char_1): Likewise.
4317
4318         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4319         (disksave_object_finalization_1): Call finalizers of
4320         `all_older_lcrecords' in UTF-2000.
4321         (make_older_vector): New function in UTF-2000.
4322         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4323         UTF-2000.
4324
4325         * lisp.h (make_older_vector): New prototype in UTF-2000.
4326
4327 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4328
4329         * lrecord.h (enum lrecord_type): Rename
4330         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4331
4332         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4333         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4334         `get_char_code_table'.
4335
4336         * mule-charset.c (mark_char_id_table): Renamed from
4337         `mark_char_code_table'.
4338         (char_id_table_equal): Renamed from `char_code_table_equal'.
4339         (char_id_table_hash): Renamed from `char_code_table_hash'.
4340         (make_char_id_table): Renamed from `make_char_code_table'.
4341         (copy_char_id_table): Renamed from `copy_char_code_table'.
4342         (get_char_id_table): Renamed from `get_char_code_table'.
4343         (put_char_id_table): Renamed from `put_char_code_table'.
4344         (to_char_id): Renamed from `to_char_code'.
4345
4346         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4347         `Lisp_Char_Code_Table'.
4348         (char_id_table): Renamed from `char_code_table'.
4349         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4350         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4351         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4352         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4353         (get_char_id_table): Renamed from `get_char_code_table'.
4354
4355 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4356
4357         * lrecord.h (enum lrecord_type): Rename
4358         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4359
4360         * mule-charset.c (mark_byte_table): Renamed from
4361         `mark_char_byte_table'.
4362         (byte_table_equal): Renamed from `char_byte_table_equal'.
4363         (byte_table_hash): Renamed from `byte_table_hash'.
4364         (make_byte_table): Renamed from `make_byte_table'.
4365         (copy_byte_table): Renamed from `copy_char_byte_table'.
4366
4367         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4368         `Lisp_Char_Byte_Table'.
4369         (byte_table): Renamed from `char_byte_table'.
4370         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4371         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4372         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4373         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4374
4375 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4376
4377         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4378         (dfc_convert_to_internal_format): Likewise.
4379         
4380         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4381         * text-coding.c (Fcoding_system_alias_p): New function.
4382         * text-coding.c (Fcoding_system_aliasee): New function.
4383         * text-coding.c (append_suffix_to_symbol): New function.
4384         * text-coding.c (dangling_coding_system_alias_p): New function.
4385         * text-coding.c (Ffind_coding_system):
4386         * text-coding.c (Fcopy_coding_system):
4387         * text-coding.c (encode_coding_no_conversion):
4388         * text-coding.c (syms_of_file_coding):
4389         * text-coding.c (vars_of_file_coding):
4390         Rewrite coding system alias code.
4391         Allow nested aliases, like symbolic links.
4392         Allow redefinition of coding system aliases.
4393         Prevent existence of dangling coding system aliases.
4394         Eliminate convert_to_external_format.
4395         Eliminate convert_to_internal_format.
4396         
4397         * text-coding.c: Change enum eol_type to eol_type_t.
4398
4399 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4400
4401         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4402         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4403
4404         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4405         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4406
4407 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4408
4409         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4410         `ideograph-daikanwa'.
4411
4412         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4413         (Vcharset_ucs_bmp): Likewise.
4414         (Vcharset_mojikyo): Add new extern variable definition.
4415         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4416         (Vcharset_latin_iso8859_3): Likewise.
4417         (Vcharset_latin_iso8859_4): Likewise.
4418         (Vcharset_latin_iso8859_9): Likewise.
4419         (Vcharset_latin_viscii_lower): Likewise.
4420         (Vcharset_latin_viscii_upper): Likewise.
4421         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4422         `mojikyo' code-point is used to decode.
4423         (encode_char_2): New function [to convert `mojikyo' code-point to
4424         Mojikyo font encoding].
4425         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4426         (breakup_char_1): Likewise.
4427         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4428
4429 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4430
4431         * text-coding.c (Fmake_coding_system): Add document about
4432         `disable-composition' property.
4433
4434 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4435
4436         * text-coding.c (Qdisable_composition): New variable; delete
4437         `Qcomposite'.
4438         (Fmake_coding_system): Add new property `disable-composite';
4439         delete property `composite'.
4440         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4441         instead of `!CODING_SYSTEM_COMPOSITE'.
4442         (syms_of_file_coding): Add new symbol `disable-composition';
4443         delete symbol `composite'.
4444
4445         * file-coding.h (struct Lisp_Coding_System): Add
4446         `disable_composition'; delete `enable_composition'.
4447         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4448         `CODING_SYSTEM_COMPOSITE'.
4449         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4450         `XCODING_SYSTEM_COMPOSITE'.
4451
4452 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4453
4454         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4455         to 0.15.
4456
4457 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4458
4459         * text-coding.c (Qcomposite): New variable.
4460         (Fmake_coding_system): Add new property `composite'.
4461         (struct decoding_stream): Add `combined_char_count',
4462         `combined_chars' and `combining_table' in UTF-2000.
4463         (COMPOSE_FLUSH_CHARS): New macro.
4464         (COMPOSE_ADD_CHAR): New macro.
4465         (reset_decoding_stream): Reset `str->combined_char_count' and
4466         `str->combining_table' in UTF-2000.
4467         (decode_coding_iso2022): Modify for character-decomposition.
4468         (syms_of_file_coding): Add new symbol `composite'.
4469
4470 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4471
4472         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4473         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4474         of `Vcharacter_composition_table' if `->decomposition' property
4475         has only 1 element.
4476         (Qlatin_tcvn5712): New variable.
4477         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4478         (complex_vars_of_mule_charset): Add new coded-charset
4479         `latin-tcvn5712'.
4480
4481         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4482
4483 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4484
4485         * file-coding.h (struct Lisp_Coding_System): Add
4486         `enable_composition'.
4487         (CODING_SYSTEM_COMPOSITE): New macro.
4488         (XCODING_SYSTEM_COMPOSITE): New macro.
4489
4490 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4491
4492         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4493
4494 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4495
4496         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4497         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4498
4499 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4500
4501         * mule-charset.c (Vcharset_mojikyo): New variable.
4502         (Fdefine_char): Don't use coded-charset which does not have
4503         non-builtin character range to allocate character-id.
4504         (Qmojikyo): New variable.
4505         (syms_of_mule_charset): Add new symbol `mojikyo'.
4506         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4507
4508         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4509         (LEADING_BYTE_MOJIKYO): New macro.
4510         (MIN_CHAR_MOJIKYO): New macro.
4511         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4512         (MAX_CHAR_MOJIKYO): New macro.
4513
4514 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4515
4516         * mule-charset.c (remove_char_attribute): Fixed.
4517
4518 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4519
4520         * mule-charset.c (remove_char_attribute): New function.
4521         (Fremove_char_attribute): New function.
4522         (encode_builtin_char_1): Comment out builtin-support for
4523         greek-iso8859-7 and cyrillic-iso8859-5.
4524         (Fdecode_char): Check `code' is an integer.
4525         (syms_of_mule_charset): Add `remove-char-attribute'.
4526         (MIN_CHAR_GREEK): Deleted.
4527         (MAX_CHAR_GREEK): Likewise.
4528         (MIN_CHAR_CYRILLIC): Likewise.
4529         (MAX_CHAR_CYRILLIC): Likewise.
4530         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4531         MAX_CHAR_GREEK for `greek-iso8859-7'.
4532
4533         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4534         (MAX_CHAR_GREEK): Likewise.
4535         (MIN_CHAR_CYRILLIC): Likewise.
4536         (MAX_CHAR_CYRILLIC): Likewise.
4537
4538 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4539
4540         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4541         format is used without `ucs' property.
4542         (Fdecode_char): Fix problem with GR representation.
4543         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4544         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4545
4546 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4547
4548         * mule-charset.c (make_builtin_char): New function.
4549         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4550         (Fset_charset_mapping_table): Modify for new representation of
4551         code-point.
4552         (Fdecode_char): New function.
4553         (syms_of_mule_charset): Add new builtin function `decode-char' in
4554         UTF-2000.
4555
4556         * char-ucs.h (make_builtin_char): New prototype.
4557         (DECODE_CHAR): New inline function.
4558         (MAKE_CHAR): Use `DECODE_CHAR'.
4559
4560 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4561
4562         * text-coding.c (parse_charset_conversion_specs): Use
4563         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4564         `XCHARSET_TYPE'.
4565         (iso2022_designate): Likewise.
4566
4567         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4568         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4569
4570         * mule-charset.c (Vcharset_ucs): New variable.
4571         (print_charset): Change design; use `CHARSET_CHARS' and
4572         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4573         (make_charset): Change signature to specify `chars' and
4574         `dimension' instead of `type'.
4575         (range_charset_code_point): Modify for 256^n-set.
4576         (encode_builtin_char_1): Encode as `ucs' in default.
4577         (Fmake_charset): Modify for `make_charset'.
4578         (Fmake_reverse_direction_charset): Likewise.
4579         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4580         UTF-2000.
4581         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4582         for `make_charset'.
4583
4584         * char-ucs.h (Vcharset_ucs): New variable.
4585         (LEADING_BYTE_UCS): New macro.
4586         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4587         and `chars' to `unsigned short' from `unsigned int'.
4588         (CHARSET_TYPE): Deleted.
4589         (XCHARSET_TYPE): Deleted.
4590
4591 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4592
4593         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4594
4595         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4596         (ENCODE_CHAR): New macro.
4597
4598 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4599
4600         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4601         to 0.14 (Kawachi-Katakami).
4602
4603 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4604
4605         * text-coding.c (char_encode_shift_jis): Modify for
4606         `charset_code_point'.
4607         (char_encode_iso2022): Likewise.
4608
4609         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4610         (integer) instead of list of <Lisp_Object>s (integers) as the
4611         format of code-point of a coded-charset.
4612         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4613         (encode_builtin_char_1): New function; delete
4614         `split_builtin_char'.
4615         (charset_code_point): Return <int> instead of <Lisp_Object>.
4616         (Fsplit_char): Don't use `SPLIT_CHAR'.
4617
4618         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4619         prototype for `split_builtin_char'.
4620         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4621         (charset_code_point): Likewise.
4622         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4623         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4624
4625 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4626
4627         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4628         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4629
4630 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4631
4632         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4633
4634         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4635         (MAX_CHAR_OBS_94x94): Deleted.
4636
4637 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4638
4639         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4640
4641         * char-ucs.h (MAX_CHAR_BMP): New macro.
4642
4643 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4644
4645         * text-coding.c: Sync with r21-2-24.
4646
4647 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4648
4649         * file-coding.c: Modify for UTF-2000.
4650
4651 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4652
4653         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4654         to 0.13 (Takaida).
4655
4656 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4657
4658         * mule-charset.c (split_builtin_char): Delete builtin support for
4659         `katakana-jisx0201'.
4660         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4661         BMP area in builtin representation.
4662
4663         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4664         `Vcharset_katakana_jisx0201'.
4665
4666 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4667
4668         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4669         (Qisolated): New variable.
4670         (Qinitial): New variable.
4671         (Qmedial): New variable.
4672         (Qfinal): New variable.
4673         (Qvertical): New variable.
4674         (Qsmall): New variable.
4675         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4676         `Qvertical' and `Qsmall'.
4677         (Qmojikyo_pj_[1 .. 21]): New variable.
4678         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4679         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4680         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4681         .. 21]'.
4682
4683 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4684
4685         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4686         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4687         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4688
4689 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4690
4691         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4692         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4693         BMP.
4694         (Qjapanese_jisx0208_1990): New variable.
4695         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4696         (complex_vars_of_mule_charset): Add new coded-charset
4697         `japanese-jisx0208-1990'.
4698
4699         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4700         (MIN_CHAR_JIS_X0208_1990): New macro.
4701         (MAX_CHAR_JIS_X0208_1990): New macro.
4702
4703 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4704
4705         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4706         coded-charset is not found.
4707
4708 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4709
4710         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4711         (Fdefine_char): Use `Fmake_char'.
4712
4713 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4714
4715         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4716         (Vcharset_hiragana_jisx0208): Deleted.
4717         (Vcharset_katakana_jisx0208): Deleted.
4718         (Qideograph_daikanwa): New variable.
4719         (Qhiragana_jisx0208): Deleted.
4720         (Qkatakana_jisx0208): Deleted.
4721         (split_builtin_char): Split `ideograph-daikanwa'.
4722         (Fsplit_char): New implementation for UTF-2000.
4723         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4724         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4725         (complex_vars_of_mule_charset): Add new coded-charset
4726         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4727         `katakana-jisx0208'.
4728
4729         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4730         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4731         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4732         (MIN_CHAR_DAIKANWA): New macro.
4733         (MAX_CHAR_DAIKANWA): New macro.
4734
4735 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4736
4737         * data.c (Fstring_to_number): Don't recognize floating point if
4738         base is not 10.
4739
4740 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4741
4742         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4743
4744 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4745
4746         * mule-charset.c (Qsquare): New variable.
4747         (to_char_code): Add `Qsquare'.
4748         (syms_of_mule_charset): Add new symbol `square'.
4749
4750 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4751
4752         * mule-charset.c (Qcircle): New variable.
4753         (to_char_code): Add `Qcircle'.
4754         (syms_of_mule_charset): Add new symbol `circle'.
4755
4756 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4757
4758         * mule-charset.c (Qfont): New variable.
4759         (to_char_code): Add `Qfont'.
4760         (syms_of_mule_charset): Add new symbol `font'.
4761
4762 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4763
4764         * mule-charset.c (Qsub): New variable.
4765         (to_char_code): Add `Qsub'.
4766         (syms_of_mule_charset): Add new symbol `sub'.
4767
4768 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4769
4770         * mule-charset.c (Fput_char_attribute): Convert each element of
4771         VALUE to GL position if ATTRIBUTE is a GR-set,
4772
4773 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4774
4775         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4776         coded-charset is a GR-set.
4777
4778 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4779
4780         * mule-charset.c (Fput_char_attribute): Check each element of
4781         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4782
4783 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4784
4785         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4786         UTF-2000.
4787         (Qethiopic_ucs): New variable in UTF-2000.
4788         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4789         (complex_vars_of_mule_charset): Add new coded-charset
4790         `ethiopic-ucs' in UTF-2000.
4791
4792         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4793         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4794         9)'.
4795         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4796         10)'.
4797         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4798
4799 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4800
4801         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4802         `ascii'.
4803
4804 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4805
4806         * mule-charset.c (Vcharacter_variant_table): New variable.
4807         (Q_ucs): New variable.
4808         (Fchar_variants): New function.
4809         (Fput_char_attribute): Register `->ucs' value to
4810         `Vcharacter_variant_table'.
4811         (syms_of_mule_charset): Add new function `char-variants' and new
4812         symbol `->ucs'.
4813         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4814
4815 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4816
4817         * mule-charset.c (get_char_code_table): Allow negative character
4818         code.
4819         (put_char_code_table): Likewise.
4820         (Vcharacter_composition_table): New variable.
4821         (Q_decomposition): New variable.
4822         (Qwide): New variable.
4823         (Qnarrow): New variable.
4824         (Qcompat): New variable.
4825         (QnoBreak): New variable.
4826         (Qsuper): New variable.
4827         (Qfraction): New variable.
4828         (to_char_code): New function.
4829         (Fget_composite_char): New function.
4830         (Fput_char_attribute): Register `->decomposition' value to
4831         `Vcharacter_composition_table'.
4832         (syms_of_mule_charset): Add new function `get-composite-char', new
4833         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4834         `super' and `fraction'.
4835         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4836
4837 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4838
4839         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4840         character; copy the return value.
4841
4842 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4843
4844         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4845
4846         * mule-charset.c (range_charset_code_point): Must use make_int.
4847         (split_builtin_char): New function.
4848
4849 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4850
4851         * mule-charset.c (char_byte_table): Change name from
4852         "char-code-table" to "char-byte-table".
4853         (mark_char_code_table): New function.
4854         (char_code_table_equal): New function.
4855         (char_code_table_hash): New function.
4856         (char_code_table_description): New constant.
4857         (char_code_table): New type.
4858         (make_char_code_table): New function.
4859         (copy_char_code_table): New function.
4860         (get_char_code_table): Modify for `char_code_table' type.
4861         (put_char_code_table): Likewise.
4862         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4863         (Kashiwara).
4864
4865         * char-ucs.h (char_code_table): New type.
4866         (XCHAR_CODE_TABLE): New macro.
4867         (XSETCHAR_CODE_TABLE): New macro.
4868         (CHAR_CODE_TABLE_P): New macro.
4869         (GC_CHAR_CODE_TABLE_P): New macro.
4870         (struct Lisp_Char_Code_Table): New structure.
4871
4872 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4873
4874         * mule-charset.c (Fmake_charset): Setup byte_offset for
4875         {94|96}^n-set.
4876
4877 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4878
4879         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4880         character.
4881
4882 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4883
4884         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4885         is found.
4886
4887 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4888
4889         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4890         charset, it is regarded as a charset.
4891         (put_char_attribute): New function in UTF-2000.
4892         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4893         charset, mapping-table of the charset is modified.
4894         (Fdefine_char): New function in UTF-2000.
4895         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4896         `Fput_char_attribute'.
4897         (syms_of_mule_charset): Add new function `define-char' and new
4898         symbol `ucs' in UTF-2000.
4899         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4900
4901 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4902
4903         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4904         non-UTF-2000 configuration.
4905
4906 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4907
4908         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4909         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4910
4911         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4912         deleted.
4913         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4914         (Fset_charset_mapping_table): Likewise.
4915
4916         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4917         (CHARSET_ENCODING_TABLE): Delete.
4918         (XCHARSET_ENCODING_TABLE): Delete.
4919         (charset_code_point): New interface.
4920
4921 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4922
4923         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4924         instead of `charset_get_byte1' and `charset_get_byte2'.
4925
4926         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4927         (charset_get_byte2): Deleted.
4928
4929 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4930
4931         * char-ucs.h (SPLIT_CHAR): New inline function.
4932         (breakup_char_1): Use `SPLIT_CHAR'.
4933
4934         * mule-charset.c (range_charset_code_point): New function.
4935         (charset_code_point): New function.
4936
4937         * char-ucs.h (range_charset_code_point): New interface.
4938         (breakup_char_1): Use `range_charset_code_point'.
4939
4940 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4941
4942         * mule-charset.c (Fmake_charset): Delete unused local variable
4943         `code_offset'.
4944
4945         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4946         (breakup_char_1): Find a charset and code-point in
4947         `Vcharacter_attribute_table'.
4948
4949 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4950
4951         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4952         to 0.10 (Yao).
4953
4954 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4955
4956         * mule-charset.c (Vcharacter_attribute_table): New variable.
4957         (Fchar_attribute_alist): New function.
4958         (Fget_char_attribute): New function.
4959         (Fput_char_attribute): New function.
4960         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4961         too.
4962         (syms_of_mule_charset): Add new function `char-attribute-alist',
4963         `get-char-attribute' and `put-char-attribute'.
4964         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4965
4966 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4967
4968         * mule-charset.c (Fmake_charset): Just use
4969         `get_unallocated_leading_byte'.
4970
4971         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4972         sets; don't use final-byte based number for private sets.
4973
4974 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4975
4976         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4977         integer.
4978
4979 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4980
4981         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4982         to 0.9.
4983
4984 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4985
4986         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4987         of `CHAR_LEADING_BYTE' in UTF-2000.
4988
4989         * insdel.c (find_charsets_in_bufbyte_string): Use
4990         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4991         (find_charsets_in_emchar_string): Likewise.
4992
4993         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4994         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4995
4996         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4997         (CHAR_CHARSET_ID): New macro.
4998
4999 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5000
5001         * chartab.c (get_char_table): Don't use type `Charset_ID' for
5002         charset-id - MIN_LEADING_BYTE.
5003         (put_char_table): Likewise.
5004
5005 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5006
5007         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
5008         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
5009         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
5010         (CHARSET_ID_OFFSET): New macro.
5011         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
5012         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
5013         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
5014         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
5015         4).
5016         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
5017         5).
5018         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
5019         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
5020         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
5021         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
5022         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
5023
5024 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5025
5026         * mule-charset.c (next_allocated_leading_byte): New variable in
5027         UTF-2000.
5028         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
5029         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
5030         (get_unallocated_leading_byte): Simply use
5031         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
5032         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
5033         UTF-2000.
5034
5035         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
5036         (MAX_LEADING_BYTE_PRIVATE): New macro.
5037         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
5038         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
5039
5040 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5041
5042         * mule-charset.c (Fmake_charset): Allocate final-byte based
5043         charset-id for 94-set, 96-set and 94x94-set.
5044
5045 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5046
5047         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
5048         ambiguous `else'.
5049         (Fmake_charset): Likewise.
5050         (complex_vars_of_mule_charset): Modify the font registry of
5051         `ucs-bmp' not to match `Ethiopic-Unicode'.
5052
5053 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5054
5055         * mule-charset.c (complex_vars_of_mule_charset): Add font
5056         registory of `ucs-bmp'.
5057
5058 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5059
5060         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
5061         coded-charsets in `default-coded-charset-priority-list' when
5062         breaking up a character.
5063
5064         * mule-charset.c (Vcharset_latin_viscii): New variable.
5065         (Qlatin_viscii): New variable.
5066         (make_charset): Don't use `decoding_table'.
5067         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
5068         byte_offset.
5069         (Fset_charset_mapping_table): New implementation.
5070         (syms_of_mule_charset): Add new symbol `latin-viscii'.
5071         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
5072         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
5073         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
5074         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
5075         charset `latin_viscii'.
5076
5077         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
5078         (CHARSET_TYPE_94X94): Change to 1 from 2.
5079         (CHARSET_TYPE_96): Change to 2 from 1.
5080         (CHARSET_TYPE_128): New macro.
5081         (CHARSET_TYPE_128X128): Change to 5 from 4.
5082         (CHARSET_TYPE_256): New macro.
5083         (CHARSET_TYPE_256X256): Change to 7 from 5.
5084         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
5085
5086 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5087
5088         * text-coding.c (char_encode_shift_jis): Refer
5089         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
5090         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
5091
5092         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
5093         (char_byte_table_equal): New function in UTF-2000.
5094         (char_byte_table_hash): New function in UTF-2000.
5095         (char_byte_table_description): New constant in UTF-2000.
5096         (char_byte_table): New type in UTF-2000.
5097         (make_char_byte_table): New function in UTF-2000.
5098         (copy_char_byte_table): New function in UTF-2000.
5099         (make_char_code_table): New macro in UTF-2000.
5100         (get_char_code_table): New function in UTF-2000.
5101         (put_char_code_table): New function in UTF-2000.
5102         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
5103         (charset_description): Add setting in UTF-2000.
5104         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
5105         `CHARSET_TO_BYTE1_TABLE(cs)'.
5106         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
5107         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
5108         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
5109         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
5110         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
5111         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
5112         `CHARSET_TO_BYTE2_TABLE(cs)'.
5113
5114         * char-ucs.h (char_byte_table): New type.
5115         (XCHAR_BYTE_TABLE): New macro.
5116         (XSETCHAR_BYTE_TABLE): New macro.
5117         (CHAR_BYTE_TABLE_P): New macro.
5118         (GC_CHAR_BYTE_TABLE_P): New macro.
5119         (struct Lisp_Char_Byte_Table): New structure.
5120         (get_char_code_table): New interface.
5121         (Emchar_to_byte_table): Deleted.
5122         (get_byte_from_character_table): Deleted.
5123         (struct Lisp_Charset): Add `encoding_table'; delete
5124         `to_byte1_table' and `to_byte2_table'.
5125         (CHARSET_ENCODING_TABLE): New macro.
5126         (CHARSET_TO_BYTE1_TABLE): Deleted.
5127         (CHARSET_TO_BYTE2_TABLE): Deleted.
5128         (XCHARSET_ENCODING_TABLE): New macro.
5129         (XCHARSET_TO_BYTE1_TABLE): Deleted.
5130         (XCHARSET_TO_BYTE2_TABLE): Deleted.
5131
5132 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5133
5134         * mule-charset.c (syms_of_mule_charset): Delete charset alias
5135         `vietnamese-viscii-*'.
5136
5137 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5138
5139         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
5140         (Qvietnamese_viscii_upper): New variable.
5141         (Fdefine_charset_alias): New function.
5142         (syms_of_mule_charset): Add new function `define-charset-alias'.
5143         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
5144         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
5145         `latin-viscii-*'.
5146
5147 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
5148
5149         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
5150         (MAX_CHAR_OBS_94x94): New macro.
5151         (breakup_char_1): Support obsolete XEmacs-UCS private code space
5152         for 94x94 sets.
5153
5154         * mule-charset.c (put_byte_from_character_table): Change unit size
5155         from 128 to 256.
5156         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
5157         not defined.
5158         (Fmake_reverse_direction_charset): Modify dummy argument of
5159         `make_charset' for non-UTF-2000 environment.
5160
5161 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5162
5163         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
5164
5165         * mule-charset.c (destroy_byte_from_character_table): New macro.
5166         (latin_jisx0201_to_ucs): Deleted.
5167         (latin_iso8859_2_to_ucs): Deleted.
5168         (latin_iso8859_3_to_ucs): Deleted.
5169         (latin_iso8859_4_to_ucs): Deleted.
5170         (latin_iso8859_9_to_ucs): Deleted.
5171         (latin_viscii_lower_to_ucs): Deleted.
5172         (latin_viscii_upper_to_ucs): Deleted.
5173         (mark_charset): Mark `cs->decoding_table'.
5174         (Fcharset_mapping_table): Fix DOC-string.
5175         (Fset_charset_mapping_table): New function.
5176         (syms_of_mule_charset): Add nwe function
5177         `set-charset-mapping-table'.
5178         (complex_vars_of_mule_charset): Don't setup and use
5179         `latin_*_to_ucs'.
5180
5181 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5182
5183         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5184         charset.
5185
5186 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5187
5188         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5189         (Vcharset_katakana_jisx0208): New variable.
5190         (Qhiragana_jisx0208): New variable.
5191         (Qkatakana_jisx0208): New variable.
5192         (make_charset): Add new argument `byte_offset'.
5193         (charset_get_byte1): Modify for new coded-charset definition; use
5194         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5195         `XCHARSET_BYTE_OFFSET'.
5196         (Fmake_charset): Modify for `make_charset'.
5197         (Fmake_reverse_direction_charset): Likewise.
5198         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5199         `katakana-jisx0208'.
5200         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5201         `.'  in font registry of charset `katakana-jisx0201',
5202         `latin-jisx0201', `vietnamese-viscii-lower' and
5203         `vietnamese-viscii-upper'; modify DOC-string of charset
5204         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5205         registry of charset `japanese-jisx0208' not to use font for JIS
5206         X0208:1990; add new charset `hiragana-jisx0208' and
5207         `katakana-jisx0208'.
5208
5209         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5210         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5211         (struct Lisp_Charset): Add `byte_offset'.
5212         (CHARSET_BYTE_OFFSET): New macro.
5213         (XCHARSET_UCS_MIN): New macro.
5214         (XCHARSET_UCS_MAX): New macro.
5215         (XCHARSET_CODE_OFFSET): New macro.
5216         (XCHARSET_BYTE_OFFSET): New macro.
5217         (MIN_CHAR_HIRAGANA): New macro.
5218         (MAX_CHAR_HIRAGANA): New macro.
5219         (MIN_CHAR_KATAKANA): New macro.
5220         (MAX_CHAR_KATAKANA): New macro.
5221         (MAKE_CHAR): Modify for new coded-charset definition; use
5222         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5223         `XCHARSET_BYTE_OFFSET'.
5224
5225 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5226
5227         * mule-charset.c (CHAR96): Deleted.
5228         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5229         <Lisp_Object>.
5230         (latin_iso8859_2_to_ucs): Likewise.
5231         (latin_iso8859_3_to_ucs): Likewise.
5232         (latin_iso8859_4_to_ucs): Likewise.
5233         (latin_iso8859_9_to_ucs): Likewise.
5234         (latin_viscii_lower_to_ucs): Likewise.
5235         (latin_viscii_upper_to_ucs): Likewise.
5236         (latin_tcvn5712_to_ucs): Commented out.
5237         (make_charset): Change type of argument `decoding_table' from
5238         <Emchar*> to <Lisp_Object> [vector of characters].
5239         (Fmake_charset): Modify for `make_charset'.
5240         (Fmake_reverse_direction_charset): Likewise.
5241         (Fcharset_mapping_table): New function in UTF-2000.
5242         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5243         UTF-2000.
5244         (complex_vars_of_mule_charset): Modify for type change of
5245         `*_to_ucs'; modify for `make_charset'.
5246
5247         * char-ucs.h (struct Lisp_Charset): Change type of
5248         `decoding_table' from <Emchar*> to <Lisp_Object>.
5249         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5250
5251 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5252
5253         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5254         error with non-UTF-2000-Mule.
5255
5256 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5257
5258         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5259         in lisp again].
5260         (Vcharset_chinese_cns11643_4): Likewise.
5261         (Vcharset_chinese_cns11643_5): Likewise.
5262         (Vcharset_chinese_cns11643_6): Likewise.
5263         (Vcharset_chinese_cns11643_7): Likewise.
5264         (Qchinese_cns11643_3): Likewise.
5265         (Qchinese_cns11643_4): Likewise.
5266         (Qchinese_cns11643_5): Likewise.
5267         (Qchinese_cns11643_6): Likewise.
5268         (Qchinese_cns11643_7): Likewise.
5269         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5270         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5271         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5272         (complex_vars_of_mule_charset): Likewise.
5273
5274 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5275
5276         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5277         96-set.
5278         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5279         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5280
5281 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5282
5283         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5284         0xFF60.
5285         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5286         (breakup_char_1): Likewise.
5287
5288         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5289         one of them includes the specified character.
5290
5291 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5292
5293         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5294
5295 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5296
5297         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5298
5299 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5300
5301         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5302         definition for non-UTF-2000 Mule.
5303         (latin_iso8859_3_to_ucs): Likewise.
5304         (latin_iso8859_4_to_ucs): Likewise.
5305         (latin_iso8859_9_to_ucs): Likewise.
5306         (latin_jisx0201_to_ucs): Likewise.
5307         (MIN_CHAR_THAI): Likewise.
5308         (MAX_CHAR_THAI): Likewise.
5309         (MIN_CHAR_GREEK): Likewise.
5310         (MAX_CHAR_GREEK): Likewise.
5311         (MIN_CHAR_HEBREW): Likewise.
5312         (MAX_CHAR_HEBREW): Likewise.
5313         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5314         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5315         (MIN_CHAR_CYRILLIC): Likewise.
5316         (MAX_CHAR_CYRILLIC): Likewise.
5317
5318 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5319
5320         * char-ucs.h (breakup_char_1): Use
5321         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5322         thai-tis620 and katakana-jisx0201 area.
5323
5324 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5325
5326         * char-ucs.h (breakup_char_1): Use
5327         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5328         area.
5329
5330         * text-coding.c (reset_encoding_stream): Fixed.
5331         (char_encode_ucs4): Delete `& 255'.
5332
5333         * char-ucs.h (breakup_char_1): Use
5334         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5335
5336 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5337
5338         * file-coding.c (Fmake_coding_system): Don't set up
5339         `codesys->fixed.size'.
5340         (encode_coding_no_conversion): Don't refer
5341         `str->codesys->fixed.size'.
5342
5343 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5344
5345         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5346         (latin_a_char_to_byte1): Deleted.
5347         (latin_a_char_to_byte2): Deleted.
5348
5349 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5350
5351         * mule-charset.c (make_charset): Add new argument `ucs_min',
5352         `ucs_max' and `code_offset'.
5353         (charset_get_byte1): New implementation [delete specific charset
5354         depended implementations].
5355         (Fmake_charset): Modify for `make_charset'.
5356         (Fmake_reverse_direction_charset): Likewise.
5357         (complex_vars_of_mule_charset): Likewise.
5358
5359         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5360         `code_offset'.
5361         (CHARSET_UCS_MIN): New macro.
5362         (CHARSET_UCS_MAX): New macro.
5363         (CHARSET_CODE_OFFSET): New macro.
5364         (MAKE_CHAR): Delete charset depended definitions [except
5365         katakana-jisx0201].
5366
5367 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5368
5369         * char-ucs.h (breakup_char_1): Use
5370         `Vdefault_coded_charset_priority_list' for C0-Controls,
5371         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5372
5373 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5374
5375         * char-ucs.h (charset_get_byte1): New function.
5376         (XCHARSET_GET_BYTE1): Deleted.
5377         (charset_get_byte2): New function.
5378         (XCHARSET_GET_BYTE2): Deleted.
5379         (Vdefault_coded_charset_priority_list): New external variable.
5380         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5381         `Vdefault_preferred_coded_charset_list'.
5382
5383         * mule-charset.c (charset_get_byte1): New function.
5384         (charset_get_byte2): New function.
5385         (Vdefault_coded_charset_priority_list): New variable.
5386         (vars_of_mule_charset): Add new variable
5387         `default-coded-charset-priority-list'.
5388
5389 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5390
5391         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5392         (XCHARSET_GET_BYTE2): New inline function.
5393         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5394         `XCHARSET_GET_BYTE2'.
5395
5396 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5397
5398         * mule-charset.c (make_charset): Initialize
5399         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5400         NULL if table is not defined.
5401
5402 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5403
5404         * text-coding.c (char_encode_shift_jis): Use
5405         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5406         `ucs_to_latin_jisx0201'.
5407
5408         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5409         (ucs_to_latin_iso8859_2): Deleted.
5410         (ucs_to_latin_iso8859_3): Deleted.
5411         (ucs_to_latin_iso8859_4): Deleted.
5412         (ucs_to_latin_iso8859_9): Deleted.
5413         (ucs_to_latin_viscii_lower): Deleted.
5414         (ucs_to_latin_viscii_upper): Deleted.
5415         (ucs_to_latin_tcvn5712): Deleted.
5416         (make_charset): Add new argument `decoding_table'; set up
5417         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5418         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5419         `decoding_table' is defined in UTF-2000.
5420         (Fmake_charset): Modify for `make_charset'.
5421         (Fmake_reverse_direction_charset): Likewise.
5422         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5423         and `GENERATE_96_SET'.
5424
5425         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5426         (ucs_to_latin_jisx0201): Deleted.
5427         (latin_iso8859_2_to_ucs): Deleted.
5428         (ucs_to_latin_iso8859_2): Deleted.
5429         (latin_iso8859_3_to_ucs): Deleted.
5430         (ucs_to_latin_iso8859_3): Deleted.
5431         (latin_iso8859_4_to_ucs): Deleted.
5432         (ucs_to_latin_iso8859_4): Deleted.
5433         (latin_iso8859_9_to_ucs): Deleted.
5434         (ucs_to_latin_iso8859_9): Deleted.
5435         (latin_viscii_lower_to_ucs): Deleted.
5436         (ucs_to_latin_viscii_lower): Deleted.
5437         (latin_viscii_upper_to_ucs): Deleted.
5438         (ucs_to_latin_viscii_upper): Deleted.
5439         (struct Lisp_Charset): Renamed `encoding_table' to
5440         `to_byte1_table'; add `to_byte2_table'.
5441         (CHARSET_DECODING_TABLE): New macro.
5442         (CHARSET_TO_BYTE1_TABLE): New macro.
5443         (CHARSET_TO_BYTE2_TABLE): New macro.
5444         (XCHARSET_DECODING_TABLE): New macro.
5445         (XCHARSET_TO_BYTE1_TABLE): New macro.
5446         (XCHARSET_TO_BYTE2_TABLE): New macro.
5447         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5448         tables.
5449         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5450         don't use `ucs_to_*' tables.
5451
5452 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5453
5454         * text-coding.c (Fmake_coding_system): Don't set up
5455         `codesys->fixed.size'.
5456         (encode_coding_no_conversion): Use `if' instead of `switch'.
5457
5458         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5459
5460 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5461
5462         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5463         (Fmake_charset): Modify for `make_charset'.
5464         (Fmake_reverse_direction_charset): Likewise.
5465         (complex_vars_of_mule_charset): Likewise.
5466
5467 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5468
5469         * text-coding.c (char_encode_shift_jis): Use table
5470         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5471
5472 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5473
5474         * text-coding.c (text_encode_generic): Use `if' instead of
5475         `switch'.
5476         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5477         decode JIS-Latin.
5478
5479 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5480
5481         * text-coding.c (encode_coding_sjis): Deleted.
5482         (char_encode_shift_jis): New function.
5483         (char_finish_shift_jis): New function.
5484         (reset_encoding_stream): Set up `encode_char' and `finish' for
5485         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5486         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5487         (char_encode_utf8): Treat `eol_type'.
5488
5489 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5490
5491         * file-coding.c (decode_coding_iso2022): Use
5492         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5493
5494 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5495
5496         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5497         to 0.7 (Hirano).
5498
5499 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5500
5501         * char-lb.h (CHAR_COLUMNS): New macro.
5502
5503 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5504
5505         * text-coding.c (char_encode_ucs4): New function.
5506         (char_finish_ucs4): New function.
5507         (encode_coding_ucs4): Deleted.
5508         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5509         (text_encode_generic): Delete local variable `charset' and `half'.
5510         (ucs_to_mule_table): Deleted.
5511         (mule_to_ucs_table): Deleted.
5512         (Fset_ucs_char): Deleted.
5513         (ucs_to_char): Deleted.
5514         (Fucs_char): Deleted.
5515         (Fset_char_ucs): Deleted.
5516         (Fchar_ucs): Deleted.
5517         (decode_ucs4): Deleted.
5518         (mule_char_to_ucs4): Deleted.
5519         (encode_ucs4): Deleted.
5520         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5521         (decode_coding_utf8): Likewise.
5522         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5523         (char_encode_iso2022): Fixed.
5524         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5525         `Fset_char_ucs' and `Fchar_ucs'.
5526         (complex_vars_of_file_coding): Don't initialize
5527         `ucs_to_mule_table'.
5528
5529         * objects-tty.c (tty_initialize_font_instance): Don't use
5530         `XCHARSET_COLUMNS'.
5531
5532         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5533         UTF-2000.
5534
5535         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5536         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5537
5538         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5539         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5540         (emchar_string_displayed_columns): Likewise.
5541
5542         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5543         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5544         (string_column_at_point): Likewise.
5545         (Fmove_to_column): Likewise.
5546
5547         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5548         `encoding_table' and `decoding_table'.
5549         (CHARSET_REP_BYTES): Deleted.
5550         (XCHARSET_REP_BYTES): Deleted.
5551         (XCHARSET_COLUMNS): Deleted.
5552         (CHAR_COLUMNS): New macro.
5553         (lookup_composite_char): Deleted unconditionally.
5554         (composite_char_string): Likewise.
5555
5556 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5557
5558         * char-ucs.h (Emchar_to_byte_table): New type.
5559         (get_byte_from_character_table): New function interface.
5560         (Vcharset_latin_jisx0201): New variable.
5561         (latin_jisx0201_to_ucs): New variable.
5562         (ucs_to_latin_jisx0201): New variable.
5563         (Vcharset_latin_iso8859_2): New variable.
5564         (latin_iso8859_2_to_ucs): New variable.
5565         (ucs_to_latin_iso8859_2): New variable.
5566         (Vcharset_latin_iso8859_3): New variable.
5567         (latin_iso8859_3_to_ucs): New variable.
5568         (ucs_to_latin_iso8859_3): New variable.
5569         (Vcharset_latin_iso8859_4): New variable.
5570         (latin_iso8859_4_to_ucs): New variable.
5571         (ucs_to_latin_iso8859_4): New variable.
5572         (Vcharset_latin_iso8859_9): New variable.
5573         (latin_iso8859_9_to_ucs): New variable.
5574         (ucs_to_latin_iso8859_9): New variable.
5575         (Vcharset_latin_viscii_lower): New variable.
5576         (latin_viscii_lower_to_ucs): New variable.
5577         (ucs_to_latin_viscii_lower): New variable.
5578         (Vcharset_latin_viscii_upper): New variable.
5579         (latin_viscii_upper_to_ucs): New variable.
5580         (ucs_to_latin_viscii_upper): New variable.
5581         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5582         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5583         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5584         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5585         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5586         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5587         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5588         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5589         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5590         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5591
5592         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5593         (Vcharset_latin_viscii_upper): New variable.
5594         (make_byte_from_character_table): New function.
5595         (put_byte_from_character_table): New function.
5596         (get_byte_from_character_table): New function.
5597         (CHAR96): New macro.
5598         (ucs_to_latin_jisx0201): New variable.
5599         (latin_jisx0201_to_ucs): New variable.
5600         (ucs_to_latin_iso8859_2): New variable.
5601         (latin_iso8859_2_to_ucs): New variable.
5602         (ucs_to_latin_iso8859_3): New variable.
5603         (latin_iso8859_3_to_ucs): New variable.
5604         (ucs_to_latin_iso8859_4): New variable.
5605         (latin_iso8859_4_to_ucs): New variable.
5606         (ucs_to_latin_iso8859_9): New variable.
5607         (latin_iso8859_9_to_ucs): New variable.
5608         (ucs_to_latin_viscii_lower): New variable.
5609         (latin_viscii_lower_to_ucs): New variable.
5610         (ucs_to_latin_viscii_upper): New variable.
5611         (latin_viscii_upper_to_ucs): New variable.
5612         (ucs_to_latin_tcvn5712): New variable.
5613         (latin_tcvn5712_to_ucs): New variable.
5614         (Qlatin_viscii_lower): New variable.
5615         (Qlatin_viscii_upper): New variable.
5616         (syms_of_mule_charset): Set up new symbol
5617         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5618         (complex_vars_of_mule_charset): Set up new charset
5619         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5620         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5621         `ucs_to_<CHARSET>' tables.
5622
5623 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5624
5625         * text-coding.c: New file.
5626
5627 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5628
5629         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5630
5631         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5632         (MAKE_CHAR): Modify for `ucs-bmp'.
5633         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5634         non-MULE characters of BMP.
5635
5636 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5637
5638         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5639         to 0.6.
5640
5641 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5642
5643         * lstream.h:
5644         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5645         - Include character.h for `CHAR_ASCII_P'.
5646
5647         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5648
5649         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5650         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5651
5652         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5653         (BYTE_C0_P): Likewise.
5654         (BYTE_C1_P): Likewise.
5655         (Lstream_get_emchar_1): Likewise.
5656         (Lstream_fput_emchar): Likewise.
5657         (Lstream_funget_emchar): Likewise.
5658         (copy_internal_to_external): Likewise.
5659         (copy_external_to_internal): Likewise.
5660
5661         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5662         (BYTE_C0_P): Likewise.
5663         (BYTE_C1_P): Likewise.
5664         (Lstream_get_emchar_1): Likewise.
5665         (Lstream_fput_emchar): Likewise.
5666         (Lstream_funget_emchar): Likewise.
5667         (copy_internal_to_external): Likewise.
5668         (copy_external_to_internal): Likewise.
5669
5670         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5671         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5672
5673         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5674         (BYTE_ASCII_P): Moved to mb-1byte.h.
5675
5676 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5677
5678         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5679
5680         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5681         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5682         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5683         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5684         (VALIDATE_CHARPTR_FORWARD): Likewise.
5685         (simple_charptr_emchar): Moved to mb-multibyte.h.
5686         (simple_set_charptr_emchar): Likewise.
5687         (simple_charptr_copy_char): Likewise.
5688         (non_ascii_charptr_emchar): Likewise.
5689         (non_ascii_set_charptr_emchar): Likewise.
5690         (non_ascii_charptr_copy_char): Likewise.
5691         (charptr_emchar): Moved to mb-*byte.h.
5692         (set_charptr_emchar): Likewise.
5693         (charptr_copy_char): Likewise.
5694
5695         * mb-1byte.h, mb-multibyte.h: New files.
5696
5697 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5698
5699         * mb-utf-8.h (MULTIBYTE): New macro.
5700         (MAX_EMCHAR_LEN): Moved from buffer.h.
5701         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5702
5703         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5704
5705         * mb-lb.h, multibyte.h: New files.
5706
5707         * char-1byte.h (Charset_ID): Moved from buffer.h.
5708         (MIN_LEADING_BYTE): Likewise.
5709         (LEADING_BYTE_ASCII): Likewise.
5710         (NUM_LEADING_BYTES): Likewise.
5711         (CHARSETP): Likewise.
5712         (CHARSET_BY_LEADING_BYTE): Likewise.
5713         (XCHARSET_LEADING_BYTE): Likewise.
5714         (XCHARSET_GRAPHIC): Likewise.
5715         (XCHARSET_COLUMNS): Likewise.
5716         (XCHARSET_DIMENSION): Likewise.
5717         (CHAR_CHARSET): Likewise.
5718         (CHAR_LEADING_BYTE): Likewise.
5719         (BREAKUP_CHAR): Likewise.
5720         (Vcharset_ascii): Likewise.
5721
5722         * buffer.h: Include multibyte.h unconditionally.
5723         (VALID_CHARPTR_P): Moved to multibyte.h.
5724         (ASSERT_VALID_CHARPTR): Likewise.
5725         (REAL_INC_CHARPTR): Likewise.
5726         (REAL_INC_CHARBYTIND): Likewise.
5727         (REAL_DEC_CHARPTR): Likewise.
5728         (INC_CHARPTR): Likewise.
5729         (INC_CHARBYTIND): Likewise.
5730         (DEC_CHARPTR): Likewise.
5731         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5732         (VALIDATE_CHARPTR_FORWARD): Likewise.
5733         (charptr_n_addr): Likewise.
5734         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5735         (simple_charptr_emchar): Moved to multibyte.h.
5736         (simple_set_charptr_emchar): Likewise.
5737         (simple_charptr_copy_char): Likewise.
5738         (non_ascii_charptr_emchar): Likewise.
5739         (non_ascii_set_charptr_emchar): Likewise.
5740         (non_ascii_charptr_copy_char): Likewise.
5741         (charptr_emchar): Likewise.
5742         (set_charptr_emchar): Likewise.
5743         (charptr_copy_char): Likewise.
5744         (charptr_emchar_n): Likewise.
5745         (Charset_ID): Moved to char-1byte.h.
5746         (Vcharset_ascii): Likewise.
5747         (CHAR_CHARSET): Likewise.
5748         (CHAR_LEADING_BYTE): Likewise.
5749         (LEADING_BYTE_ASCII): Likewise.
5750         (NUM_LEADING_BYTES): Likewise.
5751         (MIN_LEADING_BYTE): Likewise.
5752         (CHARSETP): Likewise.
5753         (CHARSET_BY_LEADING_BYTE): Likewise.
5754         (XCHARSET_LEADING_BYTE): Likewise.
5755         (XCHARSET_GRAPHIC): Likewise.
5756         (XCHARSET_COLUMNS): Likewise.
5757         (XCHARSET_DIMENSION): Likewise.
5758         (BREAKUP_CHAR): Likewise.
5759
5760 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5761
5762         * character.h: Add document about interface for characters.
5763
5764         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5765         (MAKE_CHAR): Delete comment about
5766         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5767         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5768         (BREAKUP_CHAR): Modify name of arguments.
5769         (CHAR_CHARSET): Modify name of argument.
5770
5771         * buffer.h: Delete document about Emchar accessors.
5772
5773 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5774
5775         * character.h (CHAR_INTP): Moved from buffer.h
5776         (CHAR_OR_CHAR_INTP): Likewise.
5777         (XCHAR_OR_CHAR_INT): Likewise.
5778         (CHECK_CHAR_COERCE_INT): Likewise.
5779
5780         * buffer.h (CHAR_INTP): Moved to character.h
5781         (CHAR_OR_CHAR_INTP): Likewise.
5782         (XCHAR_OR_CHAR_INT): Likewise.
5783         (CHECK_CHAR_COERCE_INT): Likewise.
5784
5785 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5786
5787         * character.h:
5788         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5789         - Include char-1byte.h, char-lb.h or char-ucs.h.
5790
5791         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5792
5793         * buffer.h: Include character unconditionally.
5794         (valid_char_p): Moved to char-*.h.
5795         (non_ascii_valid_char_p): Moved to char-lb.h.
5796
5797         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5798
5799 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5800
5801         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5802         in UTF-2000 because it is not ported yet and not to use
5803         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5804         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5805         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5806
5807         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5808         (CHAR_ASCII_P): Moved from character.h.
5809
5810         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5811         (CHAR_ASCII_P): Likewise.
5812         (CHAR_FIELD1_MASK): Deleted.
5813         (CHAR_FIELD2_MASK): Deleted.
5814         (CHAR_FIELD3_MASK): Deleted.
5815         (MAX_CHAR_BASIC_LATIN): New macro.
5816         (CHAR_FIELD1): Deleted.
5817         (CHAR_FIELD2_INTERNAL): Deleted.
5818         (CHAR_FIELD3_INTERNAL): Deleted.
5819         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5820         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5821         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5822         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5823         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5824         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5825         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5826         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5827         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5828         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5829         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5830         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5831         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5832         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5833         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5834         (MIN_CHAR_COMPOSITION): Deleted.
5835         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5836         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5837
5838 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5839
5840         * buffer.h: Include mb-utf-8.h in UTF-2000.
5841
5842         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5843
5844         * mb-utf-8.h: New file.
5845
5846 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5847
5848         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5849         instead of `int'.
5850
5851         * mule-charset.h, buffer.h (Charset_ID): New type.
5852
5853 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5854
5855         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5856         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5857         instead of `MULE_CHAR_PRIVATE_OFFSET',
5858         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5859         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5860         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5861
5862         * character.h (Vcharset_japanese_jisx0212): New variable
5863         definition.
5864
5865 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5866
5867         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5868         (charset_by_attributes): Delete array about direction.
5869         (latin_a_char_to_charset): New variable in UTF-2000.
5870         (latin_a_char_to_byte1): New variable in UTF-2000.
5871         (latin_a_char_to_byte2): New variable in UTF-2000.
5872         (Qucs_bmp): New variable.
5873         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5874         `Bufbyte'.
5875         (next_allocated_2_byte_leading_byte): Likewise.
5876         (non_ascii_set_charptr_emchar): Likewise.
5877         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5878         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5879         `charset_by_attributes'.
5880         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5881         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5882         and `CHARSET_BY_LEADING_BYTE'.
5883         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5884         `utf-2000-version' to `vars_of_mule_charset'.
5885         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5886         define `leading-code-private-11' in UTF-2000; move setting of
5887         `utf-2000-version' from `syms_of_mule_charset'.
5888         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5889         UTF-2000.
5890
5891         * character.h (Charset_ID): New type.
5892         (LEADING_BYTE_UCS_BMP): New macro.
5893         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5894         (CHARSET_ID_OFFSET_94): New macro.
5895         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5896         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5897         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5898         final-byte.
5899         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5900         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5901         (CHARSET_ID_OFFSET_96): New macro.
5902         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5903         CHARSET_ID_OFFSET_96 and final-byte.
5904         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5905         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5906         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5907         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5908         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5909         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5910         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5911         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5912         (LEADING_BYTE_THAI_TIS620): Likewise.
5913         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5914         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5915         (CHARSET_ID_OFFSET_94x94): New macro.
5916         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5917         CHARSET_ID_OFFSET_94x94 and final-byte.
5918         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5919         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5920         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5921         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5922         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5923         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5924         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5925         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5926         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5927         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5928         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5929         (CHARSET_TYPE_128X128): New macro.
5930         (CHARSET_TYPE_256X256): New macro.
5931         (XCHARSET_PRIVATE_P): Delete unconditionally.
5932         (charset_by_attributes): Delete array about direction.
5933         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5934         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5935         (MIN_CHAR_94): New macro.
5936         (MAX_CHAR_94): New macro.
5937         (MIN_CHAR_96): New macro.
5938         (MAX_CHAR_96): New macro.
5939         (MIN_CHAR_94x94): New macro.
5940         (MAX_CHAR_94x94): New macro.
5941         (MIN_CHAR_96x96): New macro.
5942         (MAX_CHAR_96x96): New macro.
5943         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5944         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5945         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5946         - 32)'.
5947         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5948         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5949         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5950         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5951         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5952         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5953         `XCHARSET_LEADING_BYTE' to make code-point.
5954         (latin_a_char_to_charset): New variable.
5955         (latin_a_char_to_byte1): New variable.
5956         (latin_a_char_to_byte2): New variable.
5957         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5958         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5959         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5960
5961         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5962         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5963         (find_charsets_in_emchar_string): Likewise.
5964         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5965
5966         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5967         `int'.
5968         (decode_coding_iso2022): Likewise.
5969
5970         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5971         of `unsigned char'.
5972
5973         * redisplay.c (redisplay_text_width_emchar_string): Use
5974         `Charset_ID' instead of `unsigned char'.
5975         (redisplay_frame_text_width_string): Likewise.
5976
5977         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5978         `unsigned char'.
5979
5980         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5981         instead of `unsigned char'.
5982         (face_cachel_charset_font_metric_info): Likewise.
5983
5984         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5985         (get_non_ascii_char_table_value): Likewise.
5986         (get_char_table): Likewise.
5987         (put_char_table): Likewise.
5988         (map_over_other_charset): Likewise.
5989         (map_char_table): Likewise.
5990
5991         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5992         instead of `unsigned char'.
5993
5994 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5995
5996         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5997         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5998
5999         * mule-charset.c (leading_code_private_11): Don't define in
6000         UTF-2000.
6001
6002         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
6003         in UTF-2000 because it is not ported yet and not to use
6004         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
6005
6006 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
6007
6008         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
6009
6010 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
6011
6012         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
6013         in UTF-2000.
6014
6015         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
6016         of unsigned char to store leading-byte.
6017
6018         * chartab.c (get_non_ascii_char_table_value): Don't use
6019         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
6020
6021         * file-coding.c (encode_coding_big5): Delete bogus implementation
6022         in UTF2000.
6023
6024         * character.h (LEADING_BYTE_*): Delete definition for
6025         non-UTF-2000.
6026         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
6027         (LEADING_BYTE_PREFIX_P): Deleted.
6028         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
6029         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
6030         (BUFBYTE_LEADING_BYTE_P): Deleted.
6031         (CHARSET_PRIVATE_P): Deleted unconditionally.
6032         (rep_bytes_by_first_byte): Deleted unconditionally.
6033         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
6034         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
6035         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
6036         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
6037         (CHAR_FIELD2): Deleted.
6038         (CHAR_FIELD3): Deleted.
6039         (MAKE_CHAR): Delete definition for non-UTF-2000.
6040         (BREAKUP_CHAR_1_UNSAFE): Deleted.
6041         (breakup_char_1): New implementation.
6042         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
6043         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
6044
6045 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
6046
6047         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
6048         condition.
6049
6050 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
6051
6052         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
6053         (CHARSET_PRIVATE_P): Likewise.
6054         (XCHARSET_PRIVATE_P): Likewise.
6055         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
6056
6057         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
6058         UTF2000.
6059         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
6060
6061 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
6062
6063         * character.h (LEADING_BYTE_*): Changed in UTF2000.
6064         (NUM_LEADING_BYTES): Changed from 128 to 256.
6065         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
6066         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
6067         UTF2000.
6068         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
6069
6070         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
6071         UTF2000.
6072         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
6073         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
6074         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
6075         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
6076         (Qchinese_cns11643_3): New variable in UTF2000.
6077         (Qchinese_cns11643_4): New variable in UTF2000.
6078         (Qchinese_cns11643_5): New variable in UTF2000.
6079         (Qchinese_cns11643_6): New variable in UTF2000.
6080         (Qchinese_cns11643_7): New variable in UTF2000.
6081         (syms_of_mule_charset): Define `chinese-cns11643-3',
6082         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
6083         and `chinese-cns11643-7' in UTF2000.
6084         (vars_of_mule_charset): Initialize
6085         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
6086         + 1 in UTF2000.
6087         (complex_vars_of_mule_charset): Setup charset
6088         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
6089         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
6090
6091 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6092
6093         * mule-charset.c: Move setting for `leading-code-private-11' from
6094         `syms_of_mule_charset' to `vars_of_mule_charset'.
6095
6096 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6097
6098         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
6099         and `NUM_LEADING_BYTES' in assert.
6100
6101 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6102
6103         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
6104         instead of 128.
6105         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
6106         `NUM_LEADING_BYTES' instead of 128.
6107
6108 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
6109
6110         * mule-charset.h (charset_by_leading_byte): Use
6111         `NUM_LEADING_BYTES' instead of 128.
6112         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
6113
6114         * mule-charset.c (charset_by_leading_byte): Use
6115         `NUM_LEADING_BYTES' instead of 128.
6116         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
6117
6118         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
6119         128.
6120
6121 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
6122
6123         * mule-charset.c (syms_of_mule_charset): Update to
6124         0.4 (Shin-Imamiya).
6125
6126 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6127
6128         * file-coding.c (encode_coding_sjis): New implementation for
6129         UTF2000.  (decode_coding_sjis): Ditto.
6130
6131 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6132
6133         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
6134         Don't define in UTF2000.
6135
6136         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
6137         defined.
6138
6139         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6140         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
6141         MULE.
6142
6143 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6144
6145         * config.h.in (CHAR_IS_UCS4): New macro.
6146
6147         * mule-charset.c (rep_bytes_by_first_byte): Modify for
6148         conventional MULE representation.
6149         (syms_of_mule_charset): Update to 0.3 (Imamiya).
6150
6151         * mule-charset.h: Reverted to original.
6152
6153         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6154         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
6155         "mule-charset.h" if CHAR_IS_UCS4 is defined.
6156
6157         * character.h: New file.
6158
6159         * file-coding.c (Fmake_coding_system): Set 1 to
6160         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
6161         defined.
6162         (encode_coding_no_conversion): New implementation for UTF2000.
6163
6164         * file-coding.h (struct Lisp_Coding_System): Add new member
6165         `fixed.size'.
6166
6167 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
6168
6169         * file-coding.c (decode_coding_iso2022): Code-point arguments of
6170         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
6171         (encode_coding_iso2022): New implementation for UTF2000.
6172
6173 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6174
6175         * mule-canna.c (c2mu): New implementation for UTF2000.
6176         (m2c): Likewise.
6177
6178 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6179
6180         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6181
6182 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6183
6184         * file-coding.c (reset_encoding_stream): Set 0 to
6185         `str->iso2022.current_char_boundary' in UTF2000.
6186         (encode_utf8): Don't define in UTF2000.
6187         (encode_coding_utf8): New implementation for UTF-8 representation
6188         of UTF2000.
6189         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6190
6191 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6192
6193         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6194
6195         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6196         UTF2000.
6197         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6198
6199         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6200
6201         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6202         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6203         as UTF-8 in UTF2000.
6204         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6205         (non_ascii_valid_char_p): Don't define in UTF2000.
6206         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6207         (Lstream_get_emchar_1): Likewise.
6208         (utf-2000-version): New variable in UTF2000.
6209
6210         * lread.c (read_escape): Add new reader `u'.
6211
6212         * insdel.c (three_to_one_table): Don't define in UTF2000.
6213         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6214         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6215         UTF2000.
6216         (bytind_to_bufpos_func): Likewise.
6217         (buffer_mule_signal_inserted_region): Likewise.
6218         (vars_of_insdel): Don't initialize `three_to_one_table'.
6219         (init_buffer_text): Use `buf->text->mule_size' instead of
6220         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6221         UTF2000.
6222
6223         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6224         UTF-8 representation in UTF2000.
6225         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6226         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6227         (decode_coding_iso2022): Don't define local variable `lb' in
6228         UTF2000; don't use LEADING_BYTE in UTF2000; use
6229         `DECODE_ADD_UCS_CHAR' in UTF2000.
6230         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6231
6232         * config.h.in (UTF2000): New macro.
6233
6234         * buffer.h (struct buffer_text): Add new member `mule_size' and
6235         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6236         (valid_char_p): Return always 1 in UTF2000.
6237         (MAX_EMCHAR_LEN): 6 in UTF2000.
6238         (three_to_one_table): Don't define in UTF2000.
6239         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6240         UTF2000.
6241         (real_bytind_to_bufpos): Likewise.
6242
6243         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6244
6245 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6246
6247         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6248         representation change.
6249         (Vutf_2000_version): New variable.
6250         (leading_code_private_11): New variable.
6251         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6252         `leading-code-private-11'.
6253
6254         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6255         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6256         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6257         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6258         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6259         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6260         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6261         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6262         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6263         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6264         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6265         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6266         (MIN_CHAR_GREEK): New macro.
6267         (MAX_CHAR_GREEK): New macro.
6268         (MIN_CHAR_CYRILLIC): New macro.
6269         (MAX_CHAR_CYRILLIC): New macro.
6270         (MIN_CHAR_HEBREW): New macro.
6271         (MAX_CHAR_HEBREW): New macro.
6272         (MIN_CHAR_THAI): New macro.
6273         (MAX_CHAR_THAI): New macro.
6274         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6275         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6276         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6277         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6278         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6279         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6280         (CHAR_FIELD2): New inline function.
6281         (CHAR_FIELD3): New inline function.
6282         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6283         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6284         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6285         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6286         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6287         (MIN_CHAR_COMPOSITION): Likewise.
6288         (CHAR_LEADING_BYTE): Modified for character representation change.
6289         (MAKE_CHAR): Likewise.
6290
6291         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6292         (Vcharset_greek_iso8859_7): Likewise.
6293         (Vcharset_cyrillic_iso8859_5): Likewise.
6294         (Vcharset_hebrew_iso8859_8): Likewise.
6295         (Vcharset_thai_tis620): Likewise.
6296         (Vcharset_katakana_jisx0201): Likewise.
6297
6298 2008-12-28  Vin Shelton  <acs@xemacs.org>
6299
6300         * XEmacs 21.4.22 is released
6301
6302 2008-12-27  Vin Shelton  <acs@xemacs.org>
6303
6304         * syswindows.h: Don't define wide character interfaces for Cygwin
6305         1.7 and up.
6306
6307 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6308
6309         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6310
6311 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6312
6313         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6314         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6315
6316 2008-12-25  Vin Shelton  <acs@xemacs.org>
6317
6318         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6319         By Julian Bradfield in
6320         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6321
6322         * mule-ccl.c (ccl_driver): 
6323
6324 2007-10-07  Vin Shelton  <acs@xemacs.org>
6325
6326         * XEmacs 21.4.21 is released
6327
6328 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6329
6330         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6331
6332 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6333
6334         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6335         (png_instantiate): Initialize setjmp_buffer early, and avoid
6336         recursive entry to error handler.
6337
6338 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6339
6340         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6341         a typo fix.
6342
6343 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6344
6345         * event-Xt.c (x_reset_modifier_mapping):
6346         * event-gtk.c (gtk_reset_modifier_mapping):
6347         Zero out the device's modifier map once we've freed it, to prevent
6348         a double free on a re-entrant call. 
6349
6350 2007-05-17  Vin Shelton  <acs@xemacs.org>
6351
6352         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6353         64-bit linux.  Patch from Hans de Graaff.
6354
6355 2007-05-02  Vin Shelton  <acs@xemacs.org>
6356
6357         * dumper.c (pdump): Don't close pdump_fd (already closed by
6358         fclose() call.  Patch from Steve Higham.
6359         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6360         already closed.  Patch inspired by Steve Higham.
6361
6362 2007-05-01  Vin Shelton  <acs@xemacs.org>
6363
6364         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6365         (mswindows_fstat): Ditto.
6366         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6367
6368 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6369
6370         * postgresql.c: Update Steve Baur's email address by his request.
6371         * postgresql.h: Ditto.
6372
6373 2007-01-04  Vin Shelton  <acs@xemacs.org>
6374
6375         * fileio.c (check_writable): Check old-style readonly bit only for
6376         non-directories.
6377
6378 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6379
6380         * src/fileio.c (check_writable): 
6381         Cope with the fact that the read-only attribute trumps Windows NTFS
6382         ACLS.
6383
6384
6385 2006-12-09  Vin Shelton  <acs@xemacs.org>
6386
6387         * XEmacs 21.4.20 is released
6388
6389 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6390
6391         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6392         relocated the definitions to be used sooner in file.
6393         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6394         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6395         overflow.
6396
6397 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6398
6399         * sound.c (init_native_sound):
6400         Only X11 and GTK devices can possibly not be on the console of the
6401         associated machine. Fixes a crash when init_native_sound is called
6402         on a msprinter device. 
6403
6404 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6405
6406         * buffer.c (buffer-file-name): Document invariant.
6407         (buffer-file-truename): Sync wording to buffer-file-name.
6408         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6409         and discussion.
6410
6411 2006-11-19  Benson Margulies  <benson@dchbk.us>
6412
6413         * fileio.c: Add code to use full Win32 API to check for write
6414         access.  Win32 has the general design policy that you aren't
6415         supposed to ask this question, since security checks change
6416         depending on asynchronous processes.  Nonetheless, there is a way,
6417         by acting as if we are a server doing interpretive access
6418         control.
6419
6420 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6421
6422         * bytecode.c: Use xnew_array instead of alloca.
6423
6424 2006-07-04  Vin Shelton  <acs@xemacs.org>
6425
6426         * redisplay-msw.c: Fix tiny, but crucial typo.
6427
6428 2006-06-22  Jerry James  <james@xemacs.org>
6429
6430         * EmacsShell-sub.c (ChangeManaged):
6431         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6432         NULL.
6433         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6434         checking if it is NULL.  Also fix a memory leak.
6435         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6436         dereference it, not the other way around.
6437         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6438         overflow check.
6439         * dumper.c (pdump_register_struct): Ditto.
6440         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6441         to (short) warnpath overflow warnpath.
6442         * extents.c (detach_all_extents): Call extent_list_delete_all with
6443         a non-NULL parameter only.
6444         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6445         NULL width and height.
6446         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6447         xic before checking if they are NULL.
6448         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6449         allocated array.
6450         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6451         * nas.c (Err): Fix a memory leak.
6452         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6453         Don't create the buffer if there is nothing to do.
6454         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6455         * redisplay-output.c (redisplay_output_layout): Ditto.
6456         * redisplay-tty.c (tty_output_display_block): Ditto.
6457         * redisplay-x.c (x_output_display_block): Ditto.
6458         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6459         dereference instance->scrollbar_data if it is NULL.
6460         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6461         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6462         for sb->scrollbar_data.
6463         * sound.c (init_native_sound): Avoid a buffer overflow by
6464         allocating a buffer with the appropriate size.
6465
6466 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6467
6468         * EmacsShell-sub.c (RootGeometryManager):
6469         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6470         Based on a suggestion by Francois L'Archeveque.
6471
6472 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6473
6474         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6475         current values found in GNU Emacs.
6476
6477 2006-03-17  Vin Shelton  <acs@xemacs.org>
6478
6479         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6480         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6481
6482         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6483         'hex_initialized' because it conflicts with 'initialized' in
6484         lisp.h.
6485
6486 2006-01-28  Vin Shelton  <acs@xemacs.org>
6487
6488         * XEmacs 21.4.19 is released
6489
6490 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6491
6492         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6493
6494 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6495
6496         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6497         5000 to INT_MAX.
6498
6499 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6500
6501         * database.c: Suppress compiler warning under Cygwin.
6502         * database.c: Removed __FreeBSD__ check, should be handled by
6503         HAVE_U_xxx_T defines.
6504
6505 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6506
6507         * console.c (stuff_buffered_input): Compile body only if
6508         HAVE_TTY.
6509
6510 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6511
6512         * callproc.c: #include sysdir.h, so that any appropriate Mule
6513         magic happens with the chdir() call when calling a subprocess. 
6514
6515 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6516
6517         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6518         * mule-ccl.c: Check that a character set exists before using it
6519         to create a character. 
6520
6521 2005-12-06  Vin Shelton  <acs@xemacs.org>
6522
6523         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6524         to INT_MAX.
6525
6526 2005-12-03  Vin Shelton <acs@xemacs.org>
6527
6528         * XEmacs 21.4.18 is released
6529
6530 2005-11-27  Kean Johnston <kean@armory.com>
6531
6532         * redisplay-tty.c (set_tty_modes):
6533         (reset_tty_modes): disable auto-margins if the terminal supports
6534         them.
6535         (init_tty_for_redisplay): fix cursor shape.
6536
6537 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6538
6539         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6540         for control-1 characters properly, both when reading multibyte
6541         characters and writing them. 
6542
6543 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6544
6545         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6546         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6547         were seeing with incremental selection transfer failing. 
6548
6549 2005-11-26  Vin Shelton  <acs@xemacs.org>
6550
6551         * callproc.c (Fold_call_process_internal): Create the buffer if it
6552         does not already exist.  The original patch came from Ben Wing in
6553         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6554
6555 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6556
6557         * callproc.c: Process-related docstring improvements spurred by
6558         Norbert Koch.
6559
6560 2005-11-25  Vin Shelton  <acs@xemacs.org>
6561
6562         * depend: Regenerated.
6563
6564 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6565
6566         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6567         says it clashes with a global with the same name.
6568
6569 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6570
6571         * sysdll.c (dll_open): Under MacOS X return NULL under the
6572         filename is NULL.  Fixes problems finding local symbols under 10.4
6573         (Tiger)
6574
6575 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6576         
6577         * config.h.in: New HAVE_U_INT*_T defines.
6578         
6579         * database.c: Only use u_int*_t typedefs if not already
6580         defined.
6581
6582 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6583
6584         * src/process-unix.c (unix_open_network_stream): moved
6585           'portbuf' buffer out of an inner block as it is used in the
6586           entire function. With gcc4, the stack may get corrupted
6587           after leaving this block. This patches adjusts the size of
6588           the used buffer also; static '128' bytes are far too much
6589           currently and might not suffice for future architectures
6590           (e.g. for 512 bit ones ;)). Instead of, use only the really
6591           required space (max octets * ln(256)/ln(10) chars + space
6592           for '\0' and the sign)
6593
6594 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6595
6596         * callproc.c: Include sysdir.h, so any necessary Mule processing
6597         is done on the current directory name before starting a new
6598         process.
6599
6600 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6601
6602         * chartab.c (Fchar_table_p):
6603         (Fget_range_char_table):
6604         (Fput_char_table):
6605         (Fmap_char_table):
6606         Describe range representation and fix typo.
6607
6608 2005-02-12  Vin Shelton  <acs@xemacs.org>
6609
6610         * emacs.c (shut_down_emacs): Advise users to send email to the
6611         xemacs-beta list instead of crashes@xemacs.org.
6612
6613 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6614
6615         * process-unix.c (unix_send_process): Flush the last chunk, even
6616         when the pipe is blocked.
6617
6618 2005-02-06  Vin Shelton <acs@xemacs.org>
6619
6620         * XEmacs 21.4.17 is released
6621
6622 2005-01-31  Ben Wing  <ben@xemacs.org>
6623
6624         * emacs.c:
6625         Define assert_failed() always.
6626         * lisp.h:
6627         Always define ABORT().
6628
6629 2005-01-25  Ben Wing  <ben@xemacs.org>
6630
6631         * Makefile.in.in:
6632         * Makefile.in.in (%.o):
6633         Don't compile executable as Windows (-mwindows) under Cygwin.
6634         Semi-recent changes to Cygwin's executable-startup handling make
6635         it impossible to access the TTY this way.
6636
6637         Don't use special linker file under Cygwin (cygwin.sc) except
6638         when non-PDUMP (even in this case it is highly questionable); you
6639         get errors like
6640
6641       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6642    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6643
6644 2005-01-29  Ben Wing  <ben@xemacs.org>
6645
6646         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6647
6648         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6649
6650 2005-01-29  Ben Wing  <ben@xemacs.org>
6651
6652         * bytecode.c (optimize_compiled_function):
6653         * print.c (FROB):
6654         * print.c (long_to_string):
6655         Add casts to avoid warning.
6656         
6657         * glyphs-eimage.c:
6658         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6659         #### The better solution is to move the TIFF and JPEG code to
6660         different files.
6661         
6662         * glyphs-msw.c (mswindows_xbm_instantiate):
6663         Define __STDC__ to avoid problems with compface.h.
6664         
6665         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6666         * EmacsShell-sub.c:
6667         * EmacsShell-sub.c (ABORT):
6668         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6669         * EmacsShell-sub.c (RootGeometryManager):
6670         * EmacsShell.c:
6671         * EmacsShell.c (ABORT):
6672         * EmacsShell.c (EmacsShellUpdateSizeHints):
6673         * alloc.c (free_lcrecord):
6674         * alloca.c (i00afunc):
6675         * buffer.c (delete_from_buffer_alist):
6676         * buffer.c (MARKED_SLOT):
6677         * bytecode.c (execute_rare_opcode):
6678         * bytecode.c (optimize_byte_code):
6679         * bytecode.c (Ffetch_bytecode):
6680         * chartab.c (char_table_type_to_symbol):
6681         * chartab.c (Freset_char_table):
6682         * chartab.c (decode_char_table_range):
6683         * chartab.c (Fget_range_char_table):
6684         * chartab.c (check_valid_char_table_value):
6685         * chartab.c (map_char_table):
6686         * chartab.c (slow_map_char_table_fun):
6687         * chartab.c (chartab_instantiate):
6688         * cm.c (cmcheckmagic):
6689         * console-msw.c (DHEADER):
6690         * console.c (MARKED_SLOT):
6691         * data.c (finish_marking_weak_lists):
6692         * data.c (encode_weak_list_type):
6693         * debug.h (DASSERT):
6694         * device-gtk.c (gtk_init_device):
6695         * device-msw.c (mswindows_get_default_margin):
6696         * device-tty.c (tty_init_device):
6697         * device-x.c (get_device_from_display):
6698         * device-x.c (x_get_visual_depth):
6699         * doprnt.c (parse_doprnt_spec):
6700         * doprnt.c (get_doprnt_args):
6701         * dumper.c (pdump_get_indirect_count):
6702         * dumper.c (pdump_register_sub):
6703         * dumper.c (pdump_register_object):
6704         * dumper.c (pdump_register_struct):
6705         * dumper.c (pdump_dump_data):
6706         * dumper.c (pdump_reloc_one):
6707         * elhash.c (print_hash_table):
6708         * elhash.c (make_standard_lisp_hash_table):
6709         * elhash.c (hash_table_instantiate):
6710         * emacs.c:
6711         * emacs.c (Fforce_debugging_signal):
6712         * emacs.c (sort_args):
6713         * emacs.c (main):
6714         * emacs.c (assert_failed):
6715         * eval.c (throw_or_bomb_out):
6716         * eval.c (signal_1):
6717         * eval.c (Fsignal):
6718         * event-Xt.c:
6719         * event-Xt.c (emacs_Xt_mapping_action):
6720         * event-Xt.c (Xt_process_to_emacs_event):
6721         * event-msw.c:
6722         * event-stream.c (check_event_stream_ok):
6723         * event-stream.c (Fadd_timeout):
6724         * event-stream.c (Fadd_async_timeout):
6725         * event-stream.c (Fdiscard_input):
6726         * event-stream.c (execute_internal_event):
6727         * event-stream.c (Frecent_keys):
6728         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6729         * event-stream.c (lookup_command_event):
6730         * event-unixoid.c (poll_fds_for_input):
6731         * events.c:
6732         * events.c (mark_event):
6733         * events.c (event_equal):
6734         * events.c (event_hash):
6735         * events.c (Fmake_event):
6736         * events.c (Fdeallocate_event):
6737         * events.c (event_chain_find_previous):
6738         * events.c (event_to_character):
6739         * events.c (format_event_object):
6740         * events.c (Fevent_type):
6741         * events.c (event_pixel_translation):
6742         * events.c (Fevent_properties):
6743         * extents.c (extent_in_region_p):
6744         * extents.c (print_extent):
6745         * extents.c (process_extents_for_insertion_mapper):
6746         * extents.c (report_extent_modification_mapper):
6747         * extents.c (glyph_layout_to_symbol):
6748         * faces.c (face_validate):
6749         * file-coding.c (eol_type_to_symbol):
6750         * file-coding.c (subsidiary_coding_system):
6751         * file-coding.c (Fcoding_system_type):
6752         * file-coding.c (Fcoding_system_property):
6753         * file-coding.c (mule_decode):
6754         * file-coding.c (mule_encode):
6755         * file-coding.c (encode_coding_ucs4):
6756         * file-coding.c (encode_coding_utf8):
6757         * file-coding.c (parse_iso2022_esc):
6758         * file-coding.c (encode_coding_iso2022):
6759         * fileio.c:
6760         * fns.c (concat):
6761         * fns.c (Fsubseq):
6762         * fns.c (mapcar1):
6763         * fns.c (Fbase64_encode_region):
6764         * fns.c (Fbase64_encode_string):
6765         * fns.c (Fbase64_decode_region):
6766         * fns.c (Fbase64_decode_string):
6767         * font-lock.c (find_context):
6768         * font-lock.c (context_to_symbol):
6769         * frame-gtk.c (gtk_set_frame_pointer):
6770         * frame-gtk.c (gtk_update_frame_external_traits):
6771         * frame-x.c (x_wm_mark_shell_size_user_specified):
6772         * frame-x.c (x_wm_mark_shell_position_user_specified):
6773         * frame-x.c (x_wm_set_shell_iconic_p):
6774         * frame-x.c (x_wm_set_cell_size):
6775         * frame-x.c (x_wm_set_variable_size):
6776         * frame-x.c (x_wm_store_class_hints):
6777         * frame-x.c (x_wm_maybe_store_wm_command):
6778         * frame-x.c (x_initialize_frame_size):
6779         * frame-x.c (x_update_frame_external_traits):
6780         * frame.c:
6781         * frame.c (delete_frame_internal):
6782         * frame.c (mouse_pixel_position_1):
6783         * frame.c (change_frame_size_1):
6784         * free-hook.c (check_free):
6785         * free-hook.c (check_realloc):
6786         * free-hook.c (note_block_input):
6787         * free-hook.c (log_gcpro):
6788         * gccache-gtk.c (gc_cache_lookup):
6789         * glyphs-eimage.c (tiff_memory_write):
6790         * glyphs-gtk.c (gtk_finalize_image_instance):
6791         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6792         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6793         * glyphs-gtk.c (gtk_xpm_instantiate):
6794         * glyphs-gtk.c (gtk_unmap_subwindow):
6795         * glyphs-gtk.c (gtk_map_subwindow):
6796         * glyphs-gtk.c (gtk_button_redisplay):
6797         * glyphs-msw.c:
6798         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6799         * glyphs-x.c (init_image_instance_from_xbm_inline):
6800         * glyphs-x.c (extract_xpm_color_names):
6801         * glyphs-x.c (x_xpm_instantiate):
6802         * glyphs.c (get_image_instantiator_governing_domain):
6803         * glyphs.c (print_image_instance):
6804         * glyphs.c (image_instance_equal):
6805         * glyphs.c (image_instance_hash):
6806         * glyphs.c (encode_image_instance_type):
6807         * glyphs.c (make_image_instance_1):
6808         * glyphs.c (inherit_instantiate):
6809         * glyphs.c (image_instantiate):
6810         * glyphs.c (allocate_glyph):
6811         * glyphs.c (Fglyph_type):
6812         * glyphs.c (redisplay_subwindow):
6813         * glyphs.c (display_table_entry):
6814         * gtk-glue.c (xemacs_list_to_gtklist):
6815         * gtk-glue.c (xemacs_gtklist_to_list):
6816         * gtk-glue.c (xemacs_list_to_array):
6817         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6818         * gutter.c (gutter_was_visible):
6819         * gutter.c (get_gutter_coords):
6820         * input-method-xlib.c (get_XIM_input):
6821         * insdel.c (bufpos_to_bytind_func):
6822         * insdel.c (bytind_to_bufpos_func):
6823         * insdel.c (move_gap):
6824         * intl.c (x_get_composed_input):
6825         * keymap.c (keymap_lookup_directly):
6826         * keymap.c (keymap_delete_inverse_internal):
6827         * keymap.c (ensure_meta_prefix_char_keymapp):
6828         * keymap.c (accessible_keymaps_mapper_1):
6829         * keymap.c (where_is_recursive_mapper):
6830         * lisp.h:
6831         * lisp.h (ABORT):
6832         * lread.c (read_atom):
6833         * lstream.c (Lstream_delete):
6834         * lstream.c (make_lisp_buffer_stream_1):
6835         * macros.c (pop_kbd_macro_event):
6836         * malloc.c (malloc):
6837         * malloc.c (free):
6838         * marker.c (bi_marker_position):
6839         * marker.c (set_bi_marker_position):
6840         * menubar-gtk.c (menu_descriptor_to_widget_1):
6841         * menubar-msw.c (prune_menubar):
6842         * menubar-x.c (set_frame_menubar):
6843         * mule-charset.c (get_unallocated_leading_byte):
6844         * mule-charset.h (CHAR_LEADING_BYTE):
6845         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6846         * nt.c (init_environment):
6847         * nt.c (generate_inode_val):
6848         * ntproc.c (delete_child):
6849         * ntproc.c (_sys_read_ahead):
6850         * ntproc.c (create_child):
6851         * objects.c (color_instantiate):
6852         * objects.c (font_instantiate):
6853         * objects.c (face_boolean_instantiate):
6854         * print.c (printing_major_badness):
6855         * process-nt.c (nt_send_process):
6856         * process-unix.c (unix_send_process):
6857         * process.c (get_process):
6858         * ralloc.c (obtain):
6859         * ralloc.c (relinquish):
6860         * ralloc.c (relocate_blocs):
6861         * ralloc.c (resize_bloc):
6862         * ralloc.c (r_alloc_free):
6863         * ralloc.c (r_re_alloc):
6864         * ralloc.c (r_alloc_thaw):
6865         * ralloc.c (init_ralloc):
6866         * ralloc.c (Free_Addr_Block):
6867         * ralloc.c (r_alloc):
6868         * redisplay-gtk.c (gtk_output_display_block):
6869         * redisplay-msw.c (mswindows_output_display_block):
6870         * redisplay-output.c (get_next_display_block):
6871         * redisplay-output.c (get_cursor_size_and_location):
6872         * redisplay-output.c (redisplay_output_layout):
6873         * redisplay-output.c (redisplay_clear_region):
6874         * redisplay-tty.c (tty_output_display_block):
6875         * redisplay-x.c (x_output_display_block):
6876         * redisplay.c (add_propagation_runes):
6877         * redisplay.c (add_glyph_rune):
6878         * redisplay.c (create_text_block):
6879         * redisplay.c (add_margin_runes):
6880         * redisplay.c (create_left_glyph_block):
6881         * redisplay.c (create_right_glyph_block):
6882         * redisplay.c (create_string_text_block):
6883         * redisplay.c (regenerate_window):
6884         * redisplay.c (REGEN_INC_FIND_START_END):
6885         * redisplay.c (redisplay_frame):
6886         * redisplay.c (point_in_line_start_cache):
6887         * regex.c:
6888         * regex.c (ABORT):
6889         * regex.c (re_compile_fastmap):
6890         * regex.c (re_match_2_internal):
6891         * regex.c (regerror):
6892         * scrollbar-gtk.c (gtk_scrollbar_loop):
6893         * scrollbar-gtk.c (scrollbar_cb):
6894         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6895         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6896         * scrollbar-x.c (x_update_scrollbar_instance_status):
6897         * scrollbar-x.c (x_scrollbar_loop):
6898         * scrollbar-x.c (x_update_frame_scrollbars):
6899         * search.c (search_command):
6900         * search.c (Fmatch_data):
6901         * select-x.c (motif_clipboard_cb):
6902         * signal.c (interrupt_signal):
6903         * specifier.c (specifier_add_spec):
6904         * specifier.c (specifier_instance_from_inst_list):
6905         * specifier.c (specifier_instance):
6906         * specifier.h:
6907         * specifier.h (struct specifier_methods):
6908         * strftime.c (add_num_time_t):
6909         * sunplay.c (init_device):
6910         * symbols.c (Fsetplist):
6911         * symbols.c (do_symval_forwarding):
6912         * symbols.c (store_symval_forwarding):
6913         * symbols.c (Fset):
6914         * symbols.c (Fbuilt_in_variable_type):
6915         * symbols.c (decode_magic_handler_type):
6916         * symbols.c (handler_type_from_function_symbol):
6917         * syntax.c (update_syntax_cache):
6918         * sysdep.c (init_baud_rate):
6919         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6920         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6921         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6922         * toolbar.c (get_toolbar_coords):
6923         * ui-gtk.c (build_gtk_boxed):
6924         * ui-gtk.c (describe_gtk_arg):
6925         * ui-gtk.c (gtk_type_to_lisp):
6926         * ui-gtk.c (lisp_to_gtk_type):
6927         * ui-gtk.c (lisp_to_gtk_ret_type):
6928         * ui-gtk.c (lisp_to_flag):
6929         * unexnt.c (read_in_bss):
6930         * unexnt.c (map_in_heap):
6931         * window.c (real_window):
6932         * window.c (window_display_lines):
6933         * window.c (window_display_buffer):
6934         * window.c (set_window_display_buffer):
6935         * window.c (window_modeline_height):
6936         * window.c (unshow_buffer):
6937         * window.c (window_loop):
6938         * window.c (Fget_lru_window):
6939         * window.c (Fsplit_window):
6940         * window.c (Fset_window_configuration):
6941         * window.c (saved_window_index):
6942         * xgccache.c (gc_cache_lookup):
6943         abort() -> ABORT().  Eliminate preprocessor games with abort()
6944         since it creates huge problems in VC7, solvable only by including
6945         massive amounts of files in every compile (and not worth it).
6946
6947         * sysdep.c:
6948         * sysproc.h:
6949         Inclusion of process.h does not need to be before lisp.h any more.
6950         Move later and remove comment about abort().
6951
6952 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6953
6954         * regex.c (re_match_2_internal):
6955         Correctly initialize loop which clears uninitialized registers.
6956
6957 2005-01-28  Vin Shelton  <acs@xemacs.org>
6958
6959         * sheap.c (more_static_core): Applied Ben's version of the long
6960         string patch.
6961
6962 2005-01-24  Vin Shelton  <acs@xemacs.org>
6963
6964         * sheap.c (more_static_core): Reformatted printf string so
6965         gcc-3.3.3 will compile this on Cygwin.
6966
6967 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6968
6969         * console.c (function_key_map): Reference `key-binding'.
6970
6971         * keymap.c (Vkey_translation_map): Improve docstring.
6972
6973 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6974
6975         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6976         * window.c (window_loop): [fix] Take into account
6977         `allow-deletion-of-last-visible-frame' variable.
6978         * window.c (replace-buffer-in-windows): Ditto.
6979
6980 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6981
6982         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6983
6984 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6985
6986         * event-gtk.c: Recognise AltGr as a valid modifier.
6987
6988 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6989
6990         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6991
6992 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6993
6994         Fix backreference bug caught by test suite.
6995
6996         * regex.c (regex_compile):
6997         Make backref duplicate internal register.
6998
6999 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
7000
7001         Documentation, code clarification, and warning suppression.
7002         
7003         * regex.c (regex_compile):
7004         Improve comments.
7005         (re_match_2_internal):
7006         Improve comments and avoid redundant braces.  [Most of the big hunk
7007         at l. 4710 is indentation; use diff -w to see the real changes.]
7008         (alt_match_null_string_p):
7009         (common_op_match_null_string_p):
7010         Avoid shadowing global on Mac OS X 10.4, at least.
7011
7012 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
7013
7014         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
7015         introduced with shy groups fix).  [Already applied, probably
7016         with the second "fix shy groups" patch of 2004-10-07.] 
7017
7018 2005-01-10  Steve Youngs  <steve@sxemacs.org>
7019
7020         From Andrey Slusar <anrays@gmail.com>:
7021
7022         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
7023
7024 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
7025
7026         * Makefile (RECURSIVE_MAKE): Removed.
7027         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
7028         handling parallel builds.
7029
7030 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
7031
7032         * Makefile.in.in: Enable support for parallel builds.
7033
7034 2005-01-09  Steve Youngs  <steve@sxemacs.org>
7035
7036         From Andrey Slusar <anrays@gmail.com>:
7037
7038         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
7039         FreeBSD version is >= 199701 _and_ < 600006.
7040
7041 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
7042
7043         * scrollbar.c (compute_scrollbar_instance_usage):
7044         Only call device method compute_scrollbar_instance_usage() if it
7045         is defined.
7046
7047 2004-12-05  Vin Shelton <acs@xemacs.org>
7048
7049         * XEmacs 21.4.16 is released
7050
7051 2004-12-04  Vin Shelton  <acs@xemacs.org>
7052
7053         * depend: Regenerated.
7054
7055 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
7056
7057         * regex.c (re_match_2_internal): Map internal to external
7058         registers.  Fixes bug identified by Steve Youngs 2004-09-30
7059         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
7060
7061 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7062
7063         * buffer.c (Frecord_buffer): Make sure the argument is buffer
7064         to fix a crash.  Also, check the buffer is live and it
7065         really exists in buffer_list.  If the buffer is not in the list,
7066         prepend it.
7067
7068 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
7069
7070         Fix shy groups by implementing recording of all groups for
7071         repetition and backtracking.  Backport from 21.5.
7072         
7073         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
7074         external_to_internal_register, external_to_internal_register_size,
7075         and update comments for re_nsub.
7076
7077         * regex.c (re_opcode_t): Update comments.
7078         (print_compiled_pattern): Ouput external_to_internal_register,
7079         external_to_internal_register_size, and re_ngroups for debugging.
7080         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
7081         (regex_compile): Update header comment.
7082         Ensure that all groups are recorded so that repeat matches and
7083         backtracking work correctly.  Comment related warning for groups >
7084         255.
7085         (re_search_2): Construct map of API indexes (which count only
7086         nonshy groups) to internal register numbers, and keep it updated.
7087
7088 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
7089
7090         * frame-gtk.c (gtk_make_frame_visible):
7091         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
7092         show/hide.  This is what X uses and is prevents previously hidden
7093         widgets from suddenly reappearing.
7094         * gtk-xemacs.c (gtk_xemacs_paint):
7095         * gtk-xemacs.c (gtk_xemacs_draw):
7096         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
7097         drawable.
7098         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
7099         size and location changes so that they can be seen before the next
7100         idle event.  Without this rapid changes to scrollbar properties
7101         are not seen.
7102
7103 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
7104
7105         * console-gtk.h:
7106         * console-gtk.h (struct gtk_frame):
7107         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
7108           Add hash tables track tab_control callback data.
7109           Added #defines for GTK object data names.
7110           Declaration of gtk_widget_to_frame().
7111         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
7112         * frame-gtk.c (gtk_widget_to_frame): New.
7113         * frame-gtk.c (gtk_create_widgets):
7114         * frame-gtk.c (allocate_gtk_frame_struct):
7115         * frame-gtk.c (gtk_mark_frame):
7116         Manage frame callbakc hash tables.
7117         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
7118         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
7119         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
7120         of widget size.
7121         * glyphs-gtk.c (gtk_widget_query_geometry): New
7122         * glyphs-gtk.c (gtk_register_gui_item): New
7123         * glyphs-gtk.c (gtk_add_tab_item): New
7124         * glyphs-gtk.c (gtk_tab_control_callback): New
7125         * glyphs-gtk.c (gtk_tab_control_instantiate): New
7126         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
7127         Use correct list when loading item.
7128         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
7129         Register new methods.
7130         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
7131         default size, for widgets.
7132         * gui-x.c:  Improved comment.
7133         * menubar-gtk.c (__generic_button_callback): Use
7134         gtk_widget_to_frame instead of __get_channel.
7135         * scrollbar-gtk.c:
7136         * ui-gtk.c: Use symbolic names for GTK object data.
7137
7138 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
7139
7140         * s/usg5-4.h (NSIG): Define only inside emacs binary.
7141
7142 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
7143
7144         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
7145
7146 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
7147
7148         * malloc.c (morecore): siz is a long because in some architectures
7149         (eg ia-64) an int cannot hold the address range.  Additional patch
7150         from the SuSe distribution.
7151
7152 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
7153
7154         * emacs.c:
7155         * malloc.c: lim_data is a long because in some architectures
7156         (eg ia-64) an int cannot hold the address range.
7157         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
7158         instead of ulimit() because ulimit() always returns -1.
7159
7160 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
7161
7162         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
7163
7164 2004-06-11  David Kastrup  <dak@gnu.org>
7165
7166         * search.c (match_limit): Don't flag an error if match-data
7167         exceeding the allocated search_regs.num_regs gets requested, just
7168         return Qnil.
7169
7170 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7171
7172         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7173         replace symbolic color entries with the real colors specified in
7174         xpm-color-symbols, before passing the XPM to gtk.
7175         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7176         instead of a GTK specific field, so that it is used in by generic
7177         code.
7178
7179 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7180
7181        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7182         coredump from deref of NULL ptr (ExtData)
7183
7184 2004-04-19  Jerry James  <james@xemacs.org>
7185
7186         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7187         VALBITS to compute the location of the sign bit.
7188         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7189         of VALBITS with EMACS_INT_MAX.
7190         * events.c (Fevent_timestamp): Ditto.
7191         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7192         compute the halfway point to timestamp wraparound.
7193         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7194         EMACS_INT_MIN instead of using VALBITS.
7195         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7196         incorrect number with VALBITS.
7197         * fns.c (Frandom): Correct number of integer bits in docstring.
7198         Use INT_VALBITS instead of VALBITS to compute the denominator.
7199         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7200         build random numbers.
7201
7202 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7203         * event-gtk.c:
7204         * event-gtk.c (gtk_event_to_emacs_event):
7205         * menubar-gtk.c:
7206         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7207         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7208         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7209         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7210         * menubar-gtk.c (__activate_menu):
7211         * menubar-gtk.c (convert_underscores):
7212         * menubar-gtk.c (remove_underscores):
7213         * menubar-gtk.c (menu_convert):
7214         * menubar-gtk.c (menu_descriptor_to_widget_1):
7215         * menubar-gtk.c (menu_descriptor_to_widget):
7216         * menubar-gtk.c (menu_can_reuse_widget):
7217         * menubar-gtk.c (menu_create_menubar):
7218         * menubar-gtk.c (gtk_popup_menu):
7219         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7220         Added support for Gtk menu bar and menu item mnemonics.
7221
7222 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7223
7224         * sysdll.c: (dll_function): Added support for finding symbols in
7225         Darwin shared libraries as well in Darwin bundles.
7226         * sysdll.c (image_for_address): New
7227         * sysdll.c (my_find_image): New
7228         * sysdll.c (search_linked_libs): New
7229
7230 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7231
7232         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7233         return to GTK requires a different API to marshalling data to use
7234         as GTK parameters.
7235         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7236
7237 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7238
7239         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7240
7241 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7242
7243         * glyphs.c (process_image_string_instantiator):
7244         (Fset_console_type_image_conversion_list):
7245         Stop GCC from warning about shadowing of `exp'.
7246
7247         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7248
7249 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7250
7251         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7252
7253 2004-02-03  Vin Shelton  <acs@xemacs.org>
7254
7255         * glyphs.c (image_instance_layout): Remove pointless assertion.
7256         * regex.c (regex_grow_registers): Return type is void.
7257
7258 2004-02-02  Vin Shelton <acs@xemacs.org>
7259
7260         * XEmacs 21.4.15 is released
7261
7262 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7263
7264         * device-x.c (x_error_handler): Don't call stderr_out
7265
7266 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7267
7268         * buffer.c (other-buffer): Clarify documentation of order of
7269         arguments for FSF Emacs.
7270
7271 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7272
7273         * window.c (Fdelete_window): Dirty the mirror structure _before_
7274         marking the window deleted.
7275
7276 2003-09-15  Jerry James  <james@xemacs.org>
7277
7278         * event-msw.c (debug_mswin_messages): Conditionally compile
7279         messages missing from the Cygwin headers.
7280
7281 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7282
7283         * data.c (eq_with_ebola_notice): Fix typo in comment.
7284         (Ftrue_list_p): Improve docstring.
7285
7286 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7287
7288         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7289
7290 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7291
7292         * search.c (trivial_regexp_p): Regexps containing "\{" are
7293         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7294         Stefan Monnier for suggesting a diagnosis.
7295
7296 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7297
7298         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7299
7300 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7301
7302         * search.c (Fsearch_forward):
7303         (Fsearch_backward):
7304         Document negative count.
7305
7306 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7307
7308         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7309
7310 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7311
7312         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7313
7314 2003-09-15  Vin Shelton  <acs@xemacs.org>
7315
7316         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7317         21.5.
7318
7319 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7320
7321         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7322         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7323         (re_match_2_internal): Use TRANSLATE instead of
7324         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7325         non-ASCII char case conversion.
7326
7327 2003-09-08  Mike Sperber  <mike@xemacs.org>
7328
7329         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7330         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7331
7332 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7333
7334        * .gdbinit (pobj): fix printing of symbol name.
7335
7336 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7337
7338         * frame-x.c (x_layout_widgets): When resizing is about to cause
7339         frame size slip, mark it for redisplay.
7340
7341 2003-08-18  Jerry James  <james@xemacs.org>
7342
7343         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7344
7345 2003-09-03  Vin Shelton <acs@xemacs.org>
7346
7347         * XEmacs 21.4.14 is released
7348
7349 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7350
7351         * config.h.in (REGEX_MALLOC): Make it configure'able.
7352
7353 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7354
7355         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7356         linking.
7357         * sysdll.c (dll_init):
7358         * sysdll.c (dll_open):
7359         * sysdll.c (dll_close):
7360         * sysdll.c (dll_function):
7361         * sysdll.c (dll_variable):
7362         * sysdll.c (dll_error):
7363         Add support for loading bundles using Darwin/MacOSX
7364         native API.
7365
7366 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7367
7368         * process.c (start-process-internal): Document coding systems.
7369
7370 2003-07-30  Jerry James  <james@xemacs.org>
7371
7372         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7373
7374 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7375
7376         * event-msw.c (mswindows_enqueue_mouse_button_event):
7377         * event-msw.c (mswindows_wnd_proc):
7378           enqueue button event when scrollwheel event isn't handled by 
7379           mswindows_handle_mousewheel_event, such as when the scrollbars
7380           are not showing.
7381
7382 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7383
7384         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7385
7386 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7387
7388         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7389
7390 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7391
7392         * regex.c (re_match_2_internal): Fix matching degenerate word
7393         boundaries.
7394
7395 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7396
7397         * XEmacs 21.4.13 is released
7398
7399 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7400
7401         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7402         * lisp.h (<inttypes.h>):
7403         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7404         the definition.
7405
7406 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7407
7408         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7409         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7410         Result: "temacs can only be run in -batch mode."
7411         Fix: Check xemacs executable candidate for directory-ness.
7412
7413 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7414
7415         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7416           they conflict with <sys/types.h>.
7417
7418 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7419
7420         * database.c: Berkeley DB wants __STDC__ to be defined.
7421
7422 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7423
7424         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7425
7426 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7427
7428         * process-unix.c (unix_send_process): Fix C++ compile error.
7429
7430 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7431
7432         * Added .dylib as an acceptable shared library file extension
7433         * to support MacOSX.
7434
7435 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7436
7437         * EmacsFrameP.h (EmacsFramePart):
7438         Kludge to allow compiling with Motif1, but linking with Motif2.
7439
7440 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7441
7442         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7443
7444
7445 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7446
7447         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7448
7449 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7450
7451         * sysdll.c: Included lisp.h to define needed alloca_array.
7452
7453 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7454
7455         Make XEmacs redisplay 10 times faster.
7456         If, that is, you're using a slow X connection and MoveOpaque.
7457         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7458         Use compress_motion = TRUE.
7459         * EmacsFrame.c (emacsFrameClassRec): 
7460         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7461         * EmacsManager.c (emacsManagerClassRec):
7462         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7463
7464 2003-01-30  Vin Shelton  <acs@xemacs.org>
7465
7466         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7467
7468 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7469
7470         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7471         Patch by Martin Buchholz.
7472
7473 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7474
7475         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7476         Thanks to icc for warning and Martin Buchholz for reporting.
7477
7478 2003-01-29  Vin Shelton <acs@xemacs.org>
7479
7480         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7481
7482         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7483         remember to multiply by the element size.
7484
7485 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7486
7487         * XEmacs 21.4.12 "Portable Code" is released.
7488
7489 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7490
7491         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7492         * s/cygwin.sc: new linker file.
7493
7494 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7495
7496         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7497
7498         * redisplay-x.c (x_output_string): Use X11-specified types.
7499         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7500         * emacs.c (__free_hook): Use typeof with Intel compiler.
7501         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7502
7503 2003-01-08  Andy Piper  <andy@xemacs.org>
7504
7505         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7506         reserve size during unexec().
7507
7508 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7509
7510         * process-unix.c (unix_create_process): Don't let outchannel block.
7511
7512 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7513
7514         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7515         Needed for IsBadReadPtr().
7516
7517 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7518
7519         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7520
7521 2002-12-14  Ben Wing  <ben@xemacs.org>
7522
7523         * callint.c: Declaration error.
7524         * dumper.c (pdump):
7525         * dumper.c (pdump_load): Warning fix.
7526         * process.c: GCPRO error.
7527         * glyphs.c (unmap_subwindow):
7528         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7529         * event-stream.c (maybe_kbd_translate): Wrong argument to
7530         character_to_event().
7531
7532         * alloc.c (garbage_collect_1):
7533         * emacs.c:
7534         * emacs.c (debug_can_access_memory):
7535         * emacs.c (fatal_error_signal):
7536         * emacs.c (mswindows_handle_hardware_exceptions):
7537         * emacs.c (main_1):
7538         * emacs.c (main):
7539         * emacs.c (assert_failed):
7540         * emacs.c (syms_of_emacs):
7541         * lisp.h:
7542         * print.c:
7543         * print.c (std_handle_out_va):
7544         * print.c (write_string_to_stdio_stream):
7545         * print.c (write_fmt_string):
7546         * print.c (printing_badness):
7547         * print.c (printing_major_badness):
7548         * print.c (print_internal):
7549         * print.c (debug_print_no_newline):
7550         * print.c (debug_backtrace):
7551         Be more defensive in handling bad values when printing.  Add code
7552         from trunk involving inhibit_non_essential_printing_operations.
7553         When going down or in debug_print(), don't do external conversion
7554         and such and try really, really hard when printing to avoid core
7555         dumping.  Add force-debugging-signal, debug_break().
7556
7557 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7558
7559         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7560         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7561
7562 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7563
7564         * database.c: Fix open_database. Berkeley DB API has changed in
7565         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7566
7567 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7568
7569         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7570
7571 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7572
7573         * event-Xt.c (Xt_timeout):
7574         (Xt_timeout_callback):
7575         (emacs_Xt_add_timeout):
7576         (emacs_Xt_remove_timeout):
7577         (Xt_timeout_to_emacs_event):
7578         Turn completed_timeouts from a stack into a queue.  Fixes
7579         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7580
7581 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7582
7583         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7584         * emacs.c (main): Assert that mmap'd allocation is disabled.
7585
7586 2002-10-14  Andy Piper  <andy@xemacs.org>
7587
7588         * glyphs-widget.c (layout_query_geometry): add in fiddle
7589         factor. Include border text in width layout calculation.
7590         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7591
7592 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7593
7594         * XEmacs 21.4.10 "Military Intelligence" is released.
7595
7596 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7597
7598         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7599         using the NAS private array SoundFileInfo that no longer exists in
7600         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7601         and earlier.  This is broken for some versions between 1.5a and
7602         1.5f.
7603
7604 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7605
7606         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7607
7608         * emacs.c (shut_down_emacs): Improve crash message.
7609
7610 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7611
7612         * file-coding.c (determine_real_coding_system): Check for coding
7613         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7614         shebangs and Python PEP 263.
7615
7616 2002-10-08  Andy Piper  <andy@xemacs.org>
7617
7618         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7619         if static sizes haven't been set.
7620
7621 2002-08-30  Mike Alexander  <mta@arbortext.com>
7622
7623         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7624         to close a socket.
7625
7626 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7627
7628         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7629
7630 2002-09-20  Mike Sperber <mike@xemacs.org>
7631
7632         (This partially gets back my patch from 2002-07-20 without the
7633         bug.)
7634         * callproc.c (child_setup): Remove Ben's comment noting confusion
7635         over the file descriptors >= 3: close_process_descs() doesn't
7636         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7637         * process-unix.c (unix_create_process): Call
7638         begin_dont_check_for_quit to inhibit unwanted interaction (and
7639         thus breaking of X event synchronicity) in the child.
7640
7641 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7642
7643         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7644         widget.
7645
7646 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7647
7648         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7649         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7650         the xemacs process did not exit, but looped infinitely here.  This
7651         fixes that problem.
7652
7653 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7654
7655         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7656         (find_context): Improve comments.
7657
7658         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7659         (re_match_2): An XCHAR_TABLE operation was missing.
7660
7661         Many of the following changes were inspired by Andy Piper's (now
7662         obsolete) patch to make syntax-table text property lookup optional.
7663
7664         [Documentation]
7665
7666         * syntax.h (top level): Document semantics of syntax flags.
7667         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7668         * syntax.c, syntax.h (top level): Document syntax cache better in
7669         comments.
7670
7671         [Instrument syntax caching (temporary change)]
7672
7673         * syntax.h (enum syntax_cache_statistics_functions, struct
7674         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7675         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7676         * syntax.c (scan_words, Fforward_comment, scan_lists,
7677         Fbackward_prefix_characters):
7678         * font-lock.c (find_context):
7679         Use them to instrument syntax caching. 
7680         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7681         syntax_cache_statistics_function_names): New type and variables.
7682         * syntax.c (update_syntax_cache): Update and report statistics.
7683
7684         [Major syntax cache optimizations]
7685
7686         syntax.c (lookup_syntax_properties): Default off.
7687
7688         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7689         * syntax.c (update_syntax_cache):
7690         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7691
7692         [Minor syntax cache optimizations and code clarifications]
7693
7694         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7695         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7696         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7697         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7698         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7699         (Code clarification.)
7700
7701         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7702         scan_lists): Compute code from syncode, use Boolean macros instead
7703         of redundant masking operations.  (Code clarification; any decent
7704         compiler can do this optimization.)
7705
7706         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7707         for clarity.
7708
7709         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7710         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7711         use F*_single_property_change instead of F*_extent_change.
7712         Currently F*_single_property_change is _much_ less efficient.
7713
7714         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7715         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7716         syntax_cache.object properly, don't leave Qt or Qnil.
7717         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7718         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7719         tests for Qt or Qnil.
7720
7721 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7722
7723         * redisplay.c (point_in_line_start_cache): 
7724         * extents.c (print_extent_1):
7725         Fix warnings.
7726
7727         * extents.c (Fset_extent_property): Document `syntax-table' property.
7728
7729         * extents.h (Fnext_single_property_change): EXFUN it.
7730
7731 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7732
7733         * search.c (clear_unused_search_regs): New static function.
7734         (search_buffer): 
7735         (simple_search): 
7736         (boyer_moore):
7737         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7738         Minor clarifications in comments.
7739
7740         * regex.c (re_match_2_internal): Ensure no stale submatches.
7741
7742 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7743
7744         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7745
7746 2002-08-29  Jerry James  <james@xemacs.org>
7747
7748         * lisp.h: structrures -> structures.
7749
7750 2002-06-03  Andy Piper  <andy@xemacs.org>
7751
7752         * frame.c (frame_conversion_internal): add conversion appropriate
7753         for setting frame dimensions in pixels.
7754
7755         * console.h (struct console_methods): add device-specific widget
7756         layout functions.
7757
7758         * emacs.c (main_1): initialize glyph vars.
7759
7760         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7761         (handle_focus_event_2): new function. Allow focus to
7762         be set to a particular window and widget.
7763         (enqueue_focus_event): new function. Create a
7764         synthetic focus event.
7765         (emacs_Xt_handle_magic_event): call
7766         handle_focus_event_2.
7767
7768         * frame.c (Fset_frame_pixel_height): new function. Allow
7769         pixel-based sizing. Does the right thing on character-oriented
7770         displays.
7771         (Fset_frame_pixel_width): ditto.
7772         (Fset_frame_pixel_size): ditto.
7773         (syms_of_frame): declare.
7774
7775         * general-slots.h: add :vertically-justify and
7776         :horizontally-justify.
7777
7778         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7779         (mswindows_widget_border_width): new function.
7780         (mswindows_combo_box_instantiate): set border widths.
7781         (console_type_create_glyphs_mswindows): declare.
7782
7783         * glyphs-widget.c:
7784         (check_valid_justification): allow vertical and horizontal
7785         justification.
7786         (widget_border_width): new function. Call device methods.
7787         (widget_instance_border_width): ditto.
7788         (logical_unit_height): new function. Determine the height of a
7789         logical-unit. Logical units are intended to provide grid-like
7790         layout for subcontrols in a layout. If the layout is
7791         :vertically-justify top then subcontrols will be positioned on
7792         logical-unit boundaries, thus allowing adjacent subcontrols to
7793         line up.
7794         (widget_logical_unit_height): ditto for widgets.
7795         (redisplay_widget): misc cleanup.
7796         (widget_spacing): new function. Call device specific
7797         methods. Intended to be the default gap between adjacent widgets.
7798         (widget_query_geometry): use new spacing functions to determine
7799         appropriate geometry.
7800         (initialize_widget_image_instance): initialize horizontal and
7801         vertical justification.
7802         (widget_instantiate): use logica-units where appropriate for
7803         sizing large widgets.
7804         (button_query_geometry): use widget_instance_border_width.
7805         (tree_view_query_geometry): ditto.
7806         (tab_control_query_geometry): ditto.
7807         (edit_field_query_geometry): new function.
7808         (layout_update): pick up :justify, :horizontally-justify and
7809         :vertically-justify none of which worked previously. :justify is
7810         used as a fallback for both horizontal and vertical justification.
7811         (layout_query_geometry): use logical units to size appropriately.
7812         (layout_layout): ditto.
7813         (Fwidget_logical_to_character_width): new function. Allow users to
7814         convert from logical units to characters so that frame sizes can
7815         be set appropriately.
7816         (Fwidget_logical_to_character_height): ditto.
7817         (syms_of_glyphs_widget): declare.
7818         (image_instantiator_edit_fields): add edit_field_query_geometry.
7819         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7820         :horizontally-justify.
7821         (specifier_vars_of_glyphs_widget): new function. Declare
7822         Vwidget_border_width which is not yet used.
7823
7824         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7825         (x_widget_border_width): new function.
7826         (x_widget_instantiate): create a sensible name for widgets.
7827         (console_type_create_glyphs_x): declare x_widget_border_width.
7828
7829         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7830         (struct Lisp_Image_Instance): add :vertically-justify and
7831         :horizontally-justify.
7832         (LAYOUT_JUSTIFY_TOP): new.
7833         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7834         (ROUND_UP): new macro. Round argument up to next integral
7835         interval.
7836
7837         * redisplay-output.c (redisplay_output_layout): misc formatting.
7838
7839         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7840
7841 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7842
7843         * XEmacs 21.4.9 "Informed Management" is released.
7844
7845 2002-08-19  Andy Piper  <andy@xemacs.org>
7846
7847         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7848         win32 format.
7849
7850         * realpath.c (xrealpath): normalize drive spec also so that dir
7851         sep chars are not mixed on cygwin.
7852
7853 2002-08-06  Jerry James  <james@xemacs.org>
7854
7855         * window.c (Fsplit_window): Count only half of the divider width
7856         against the left window when splitting horizontally. 
7857
7858 2002-06-24  Andy Piper  <andy@xemacs.org>
7859
7860         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7861         toolbar was cleared.
7862
7863         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7864         function. Split out from mswindows_output_frame_toolbars.
7865         (mswindows_output_frame_toolbars): move clear pieces to
7866         mswindows_output_frame_toolbars.
7867
7868         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7869         out from gtk_output_frame_toolbars.
7870         (gtk_output_frame_toolbars): move clear pieces to
7871         gtk_clear_frame_toolbars.
7872
7873         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7874         the frame is cleared. How this ever worked before is a mystery.
7875         (x_output_frame_toolbars): Only output toolbars.
7876         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7877
7878         * gutter.c (update_gutter_geometry):
7879         Mark frame layout changed.
7880         (update_frame_gutter_geometry, update_frame_gutters):
7881         Respect frame_layout_changed.
7882
7883         * console.h (struct console_methods): add
7884         clear_frame_toolbars_method.
7885
7886         * redisplay.c (redisplay_frame): call
7887         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7888
7889         * toolbar.h: declare update_frame_toolbars_geometry.
7890
7891         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7892         out from update_frame_toolbars.  Call clear_frame_toolbars.
7893         (update_frame_toolbars): only output, do not change geometry.
7894
7895         * redisplay.c: add frame_layout_changed.
7896
7897         * redisplay.h: add frame_layout_changed.
7898         (CLASS_RESET_CHANGED_FLAGS): set it.
7899         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7900         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7901         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7902
7903         * device.h (struct device): add frame_layout_changed.
7904         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7905
7906         * frame.h (struct frame): add frame_layout_changed.
7907         (MARK_FRAME_LAYOUT_CHANGED): new.
7908
7909 2002-06-30  Mike Alexander  <mta@arbortext.com>
7910
7911         * event-msw.c (mswindows_need_event): Don't wait for a new message
7912         if the queue is not empty.  Suggested by Paul Moore.
7913
7914 2002-06-12  Andy Piper  <andy@xemacs.org>
7915
7916         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7917         for printing on accurately.
7918
7919 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7920
7921         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7922         WM_ACTIVATE message. Make sure that the frame is visible if the
7923         window is visible. This seemss to fix the problem where XEmacs
7924         appears to freeze after switching desktops with certain virtual
7925         window managers.
7926         (debug_output_mswin_message): Added code to output message
7927         parameters for WM_WINDOWPOSCHANGED, 
7928         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7929
7930 2002-05-25  Andy Piper  <andy@xemacs.org>
7931
7932         * select-x.c (vars_of_select_x): Fix docstring of
7933         x-selection-strict-motif-ownership
7934
7935 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7936
7937         * keymap.c (get_keymap):
7938         Add comment about do_autoload GCPROs own args.
7939
7940 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7941
7942         * bytecode.c (execute_optimized_program): check_opcode ifdef
7943         ERROR_CHECK_BYTE_CODE.
7944
7945 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7946
7947         Thanks to Ben Wing and Michael Sperber.
7948
7949         * eval.c (Fcommand_execute):
7950         (Feval):
7951         (Ffuncall):
7952         (Fmacroexpand_internal):
7953         (function_argcount):
7954         callint.c (Fcall_interactively):
7955         Add comment about do_autoload GCPROs own args.
7956
7957         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7958
7959         * eval.c (Ffuncall): Extra braces to placate GCC.
7960
7961 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7962
7963         * backtrace.h (grow_specpdl):
7964         (SPECPDL_RESERVE):
7965         * EmacsFrame.c (EmacsFrameSetValues):
7966         * eval.c (grow_specpdl):
7967         * ExternalShell.c (hack_event_masks_1):
7968         * glyphs-x.c (convert_EImage_to_XImage): 
7969         (x_finalize_image_instance):
7970         * ralloc.c (page_size):
7971         (r_alloc_sbrk):
7972         * xgccache.c (gc_cache_hash):
7973         Fix unsigned comparison warnings.
7974
7975 2002-07-29  Jerry James  <james@xemacs.org>
7976
7977         * lread.c (locate_file): Any nonnegative return value indicates
7978         success if MODE is nonnegative.
7979
7980 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7981
7982         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7983         argument. 
7984
7985 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7986
7987         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7988
7989         * dumper.c (pdump_get_indirect_count):
7990         (pdump_scan_by_alignment):
7991         (pdump_dump_root_struct_ptrs):
7992         (pdump_dump_rtables):
7993         (pdump_dump_root_objects):
7994         (pdump):
7995         * nas.c (WaveOpenDataForReading):
7996         * fns.c (print_bit_vector):
7997         * font-lock.c (SINGLE_SYNTAX_STYLE):
7998         * glyphs.c (check_for_ignored_expose):
7999         (find_matching_subwindow):
8000         * glyphs-eimage.c:
8001         * imgproc.c (get_histogram):
8002         * redisplay.c (point_in_line_start_cache):
8003         * redisplay-output.c (redisplay_unmap_subwindows):
8004         * symbols.c (defsymbol_massage_name_1):
8005         (defkeyword_massage_name):
8006         (deferror_massage_name_and_message):
8007         * redisplay-x.c (x_output_string): 
8008         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
8009         * frame.h (struct frame):
8010         * filelock.c (current_lock_owner):
8011         * doprnt.c (emacs_doprnt_1):
8012         * lisp.h (struct Lisp_Bit_Vector):
8013         (DO_REALLOC):
8014         Fix warnings.
8015
8016 2002-02-13  Ben Wing  <ben@xemacs.org>
8017
8018         * event-stream.c (reset_key_echo):
8019         * event-stream.c (reset_this_command_keys):
8020         * event-stream.c (execute_command_event):
8021         If console is dead as a result of C-x 5 0, then post-command stuff
8022         needs to be careful and do only non-console-specific stuff.
8023
8024 2002-07-01  Mike Sperber <mike@xemacs.org>
8025
8026         * process-unix.c (unix_send_process): Mark coding_outstream as
8027         non-open upon SIGPIPE.
8028
8029         * event-stream.c (Fnext_event): Reorder switch cases to something
8030         that makes sense.
8031
8032 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
8033
8034         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
8035         Don't bogusly reinitialize ascii_character property.
8036
8037 2002-07-08  Mike Sperber <mike@xemacs.org>
8038
8039         * process.c (Fstart_process_internal): Do error checking before we
8040         fork off the child, so the child can't muck with the state of the
8041         parent.
8042
8043 2002-07-08  Mike Sperber <mike@xemacs.org>
8044
8045         * ralloc.c (init_ralloc): Allocate properly for pdump.
8046
8047 2002-06-12  Andy Piper  <andy@xemacs.org>
8048
8049         * glyphs.c (query_string_geometry): check the string.
8050
8051         * glyphs-widget.c (widget_logical_unit_height): cope with nil
8052         widget names.
8053
8054 2002-06-17  Jerry James  <james@xemacs.org>
8055
8056         * sysdll.c: Remove RTLD_GLOBAL initialization.
8057         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
8058
8059 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
8060
8061         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
8062
8063 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
8064
8065         * sysdep.c (sys_rename): Make sys_rename work for the case where
8066         Windows rename sets errno to EACCES if target file exists.
8067
8068 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
8069
8070         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8071         Fix detection of metric units to work on Win95
8072
8073 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
8074
8075         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
8076
8077 2002-04-25  Andy Piper  <andy@xemacs.org>
8078
8079         * redisplay.c (create_text_block): Remove extra comment trailer.
8080
8081 2002-04-24  Andy Piper  <andy@xemacs.org>
8082
8083         * redisplay.c (create_text_block): Don't actually add propagation
8084         data if the line ends after we have added a glyph.
8085
8086 2002-04-22  Andy Piper  <andy@xemacs.org>
8087
8088         * extents.c (extent_fragment_update): check for glyphs we have
8089         previously displayed.
8090         * extents.c (print_extent_1): warning removal.
8091         * extents.h: change prototype.
8092         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
8093         widths correctly for wide glyphs.
8094         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
8095         * redisplay.c (prop_type): add PROP_GLYPH.
8096         * redisplay.c (struct prop_block): add glyph type
8097         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
8098         to the propagation data.
8099         * redisplay.c (create_text_block): if there is a glyph in the
8100         propagation data use it to salt extent_fragment_update.
8101         * redisplay.c (create_string_text_block): ditto.
8102
8103 2002-04-13  Nix  <nix@esperi.demon.co.uk>
8104
8105         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
8106         * redisplay-output.c (compare_runes): Compare them.
8107         * redisplay.c: Update copyright date.
8108         * redisplay.c (pos_data): Add need_baseline_computation field.
8109         * redisplay.c (add_glyph_rune): Update ascent, descent, and
8110         need_baseline_computation; zero yoffset. Set max_pixmap_height
8111         for all pixmaps, not just automatically positioned ones.
8112         * redisplay.c (calculate_yoffset): New, compute yoffset values.
8113         * redisplay.c (calculate_baseline): New, compute textual baseline.
8114         * redisplay.c (add_glyph_rune): Call them.
8115         * redisplay.c (create_text_block): Likewise.
8116         * redisplay.c (create_overlay_glyph_block): Likewise.
8117         * redisplay.c (add_margin_runes): Likewise.
8118         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
8119
8120         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
8121         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
8122         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
8123         * redisplay-msw.c (mswindows_output_string): Likewise.
8124         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
8125         * redisplay-gtk.c (gtk_output_display_block): Likewise.
8126         * redisplay-x.c (x_output_display_block): Likewise.
8127
8128 2002-03-28  Ben Wing  <ben@xemacs.org>
8129
8130         * redisplay.c: Fixed bug in redisplay
8131         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
8132         and down of the lines, since they're bigger than the line
8133         size. (It was seen most obviously when there's a horizontal scroll
8134         bar, e.g. do C-h a glyph or something like that.) The problem was
8135         that the glyph-contrib-p setting on glyphs was ignored even if it
8136         was set properly, which it wasn't until now.
8137
8138 2002-04-24  Andy Piper  <andy@xemacs.org>
8139
8140         * lisp.h (Dynarr_end): Fix definition.
8141
8142 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
8143
8144         * redisplay.c (mark_redisplay): Remove call to
8145         update_frame_window_mirror.
8146
8147 2001-11-15  Andy Piper  <andy@xemacs.org>
8148
8149         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
8150         cygwin (again).
8151
8152 2002-02-13  Andy Piper  <andy@xemacs.org>
8153
8154         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
8155         we did in fact enqueue the XM_MAPFRAME event.
8156
8157 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
8158
8159         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
8160         to fix problem switching between virtual desktops under virtuawin
8161         virtual window manager.
8162
8163 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
8164
8165         * event-msw.c: Typo fix.
8166         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
8167         magic XM_MAPFRAME event has been sent.
8168
8169 2001-11-23  Andy Piper  <andy@xemacs.org>
8170
8171         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
8172
8173 2001-11-21  Andy Piper  <andy@xemacs.org>
8174
8175         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8176         mouse events outside the frame.
8177
8178 2002-03-20  Andy Piper  <andy@xemacs.org>
8179
8180         * menubar-msw.c (mswindows_popup_menu): warning removal.
8181         * dialog-msw.c (dialog_popped_down): ditto.
8182
8183 2001-12-11  Andy Piper  <andy@xemacs.org>
8184
8185         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8186         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8187         popup_up_p.
8188         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8189         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8190         * menubar-msw.c (mswindows_popup_menu): ditto.
8191
8192 2001-10-29  Andy Piper  <andy@xemacs.org>
8193
8194         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8195         cancels.
8196
8197 2002-01-03  Andy Piper  <andy@xemacs.org>
8198
8199         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8200         letters.
8201         (xrealpath): ditto.
8202
8203 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8204
8205         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8206         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8207         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8208         Detect and handle case where machine is set up for metric units
8209
8210 2002-04-02  Andy Piper  <andy@xemacs.org>
8211
8212         * dired-msw.c (mswindows_get_files): 
8213         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8214         completely handled by XEmacs. Suggested by Thomas Vogler
8215         <mail@thomas-vogler.de>.
8216
8217 2001-11-14  Andy Piper  <andy@xemacs.org>
8218
8219         * nt.c (REG_ROOT): change registry key to XEmacs.
8220
8221 2002-04-27  Andy Piper  <andy@xemacs.org>
8222
8223         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8224
8225 2002-04-26  Andy Piper  <andy@xemacs.org>
8226
8227         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8228         behavior.
8229
8230 2002-03-14  Mike Alexander  <mta@arbortext.com>
8231
8232         * event-msw.c (mswindows_unwait_process): New, remove process from
8233         wait list
8234         * process-nt.c (nt_finalize_process_data): Call
8235         mswindows_unwait_process
8236         * console-msw.h: Declare mswindows_unwait_process
8237
8238 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8239
8240         * editfns.c (Fdecode_time):
8241         (Fformat_time_string):
8242         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8243         (make_time): Warning elimination (change arg name).
8244
8245 2001-11-24  Andy Piper  <andy@xemacs.org>
8246
8247         * window.c (Fsplit_window): Doc return type.
8248
8249 2002-04-01  Andy Piper  <andy@xemacs.org>
8250
8251         * emacs.c (Fkill_emacs): Only output message box in interactive
8252         mode.
8253
8254 2002-04-26  Andy Piper  <andy@xemacs.org>
8255  
8256         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8257         cygwin.
8258
8259 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8260
8261         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8262         bit platform.
8263
8264 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8265
8266         * XEmacs 21.4.8 "Honest Recruiter" is released.
8267
8268 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8269
8270         Supersedes 2002-04-17 patch.
8271
8272         * process.h (PROCESS_LIVE_P): Use the process status as
8273         evidence of health, not the state of the input stream.
8274         (PROCESS_READABLE_P): Say if the process is readable
8275         from. (It may be dead nonetheless.)
8276         (CHECK_READABLE_PROCESS): Test for that condition.
8277
8278         * process.c (create_process): Use PROCESS_READABLE_P.
8279         (read_process_output, set_process_filter): Likewise.
8280
8281         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8282         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8283
8284         This code is #if 0'd, this is not the time to add new functions:
8285
8286         * process.c (Fprocess_readable_p): Report readability status.
8287         * process.c (Qprocess_readable_p): New, associated symbol...
8288         * process.c (syms_of_process): ... initialize it.
8289
8290 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8291
8292         * XEmacs 21.4.7 "Economic Science" is released.
8293
8294 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8295
8296         * process.h (PROCESS_LIVE_P): Use the process status as
8297         evidence of health, not the state of the input stream.
8298
8299 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8300
8301         * sysdep.c (sys_siglist): change "signum" to "signal"
8302
8303 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8304
8305         * s/darwin.h: New file.
8306         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8307         
8308 2002-04-23  Andreas Jaeger  <aj@suse.de>
8309
8310         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8311         which use lib64 for 64-bit libs.
8312         (START_FILES): Likewise.
8313
8314 2002-02-11  Mike Sperber  <mike@xemacs.org>
8315
8316         * device-x.c: 
8317         (x_IO_error_handler):
8318         (x_init_device): Temporarily keep device in static variable
8319         `device_being_initialized' so we can recover gracefully from
8320         internal XOpenDevice failure.  (XOpenDevice is documented to
8321         return NULL on failure, but sometimes calls the IO error handler
8322         instead.)
8323
8324 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8325
8326         * dired.c (Ffile_name_all_completions): Change documentation --
8327         remove reference to completion-ignored-extensions.
8328         * dired.c (vars_of_dired): Change documentation for
8329         completion-ignored-extensions -- remove reference to
8330         file-name-all-completions.
8331
8332 2002-03-06  Jerry James  <james@xemacs.org>
8333
8334         * emodules.c (emodules_load): Fix multiple loading of same module.
8335
8336 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8337         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8338         RTLD_LAZY to avoid incorrect symbol binding when using nested
8339         shared libraries on Solaris.
8340
8341 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8342
8343         * fileio.c (Ffind_file_name_handler): Improve docstring.
8344
8345 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8346
8347         * fns.c (Fmapconcat): Improve docstring.
8348
8349 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8350
8351         * device-gtk.c: Add prototype for
8352         emacs_gtk_selection_clear_event_handle.
8353         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8354         selection.  Setup signal handler for "selection_clear_event"
8355         (emacs_gtk_selection_clear_event_handle).
8356
8357         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8358         other applications owning the clipboard (based on
8359         x_handle_selection_clear).
8360
8361 2001-12-23  William M. Perry  <wmperry@gnu.org>
8362
8363         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8364         
8365 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8366
8367         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8368
8369 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8370
8371         * XEmacs 21.4.6 "Common Lisp" is released.
8372
8373 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8374
8375         * search.c (Freplace_match): Add missing sub-expression functionality.
8376
8377         * buffer.c (decode_buffer): Add a check for pointer type to
8378         decode_buffer, before gcc's CSE optimization reorders a
8379         dereference in front of the allow_string test.
8380
8381 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8382
8383         * window.c (window_loop): Fix bug that sometimes prevented
8384         window_loop() from iterating across multiple devices.  Also, at
8385         Ben's request, changed infloop-detecting code to abort() instead
8386         of silently terminating window_loop().
8387
8388 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8389
8390         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8391         * editfns.c (make_time): New function.
8392         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8393         * lisp.h (make_time): Prototype and comment it.
8394         * dired.c (wasteful_word_to_lisp): Deprecate.
8395         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8396
8397 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8398
8399         * fileio.c (auto_save_1): Use current coding system, not
8400         escape-quoted.
8401
8402 2001-11-13  Ben Wing  <ben@xemacs.org>
8403
8404         * window.c:
8405         * window.c (window_truncation_on):
8406         * window.c (syms_of_window):
8407         truncate-partial-width-windows should respect the buffer being
8408         displayed, like other redisplay vars.
8409
8410 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8411
8412         * event-stream.c (Fread_key_sequence): save current buffer.
8413
8414 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8415
8416         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8417
8418 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8419
8420         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8421
8422 2001-10-26  Mike Alexander  <mta@arbortext.com>
8423
8424         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8425
8426 2001-10-25  Andy Piper  <andy@xemacs.org>
8427
8428         * ChangeLog:
8429         * dialog-msw.c (handle_directory_proc): new function.
8430          (handle_directory_dialog_box): new fucntion.
8431          (handle_file_dialog_box): use new directory dialog support.
8432          (mswindows_make_dialog_box_internal): ditto.
8433         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8434         handling.
8435         (mswindows_find_frame): make global.
8436         * fileio.c (Fexpand_file_name): build fix.
8437         * general-slots.h: add Qdirectory.
8438         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8439         handling.
8440         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8441         cygwin not leaving win32 paths unchanged.
8442         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8443         cygwin runtime to do path conversion.
8444         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8445         (syms_of_win32): add new function.
8446         * window.c (window_loop): build fix.
8447
8448 2001-10-15  Andy Piper  <andy@xemacs.org>
8449
8450         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8451
8452 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8453
8454         * XEmacs 21.4.5 "Civil Service" is released.
8455
8456 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8457
8458         * glyphs-x.c: Force buffer-tab highlight update when moving the
8459         buffer, avoiding an ugly black border, used for keyboard focus
8460         indication, on a widget that can never have keyboard focus, the
8461         buffer tab.
8462
8463 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8464
8465         * process-unix.c (unix_open_multicast_group): Remove too much
8466         conversion between host and network byte order.
8467
8468 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8469
8470         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8471         before replacing them.
8472
8473         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8474         operation.
8475
8476         * src/window.c (undedicate_windows): Use it.
8477         * src/window.h: Add prototype.
8478
8479 2001-09-17  Ben Wing  <ben@xemacs.org>
8480
8481         * fileio.c (normalize_filename):
8482         * fileio.c (Fexpand_file_name):
8483         Fix various C++ compile errors in Andy's recent code.
8484         
8485         * callint.c (Fcall_interactively):
8486         * editfns.c (Ftemp_directory):
8487         * editfns.c (Fuser_full_name):
8488         * emacs.c (argmatch):
8489         * lread.c (locate_file_map_suffixes):
8490         * redisplay-x.c (x_ring_bell):
8491         Fix sign-compare warnings.
8492         
8493 2001-09-08  Andy Piper  <andy@xemacs.org>
8494
8495         * fileio.c (normalize_filename): copied from nt.c
8496         * (Ffile_name_directory): enable win32 paths under cygwin.
8497         * (Ffile_name_nondirectory): ditto.
8498         * (directory_file_name): ditto.
8499         * (Fexpand_file_name): ditto.
8500         * (Ffile_truename): ditto.
8501         * (Fsubstitute_in_file_name): ditto.
8502         * (Ffile_name_absolute_p): ditto.
8503         * (Ffile_readable_p): ditto.
8504
8505 2001-09-08  Andy Piper  <andy@xemacs.org>
8506
8507         * device-msw.c (mswindows_finish_init_device): remove dde
8508         initialization.
8509         * device-msw.c (mswindows_init_dde): factor out from
8510         mswindows_finish_init_device()
8511         * device-msw.c (init_mswindows_very_early): new function
8512         initialize but don't enable dde.
8513         * emacs.c (main_1): call init_mswindows_very_early.
8514         * event-msw.c:
8515         * event-msw.c (mswindows_dde_callback): only execute when we are
8516         ready.
8517         * symsinit.h: declare init_mswindows_very_early.
8518
8519 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8520
8521         [sjt: This has been in 21.5 for months with no complaints.]
8522
8523         * console.h (struct console_methods): Added flags member.
8524         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8525         (CONMETH_IMPL_FLAG):
8526         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8527         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8528
8529         * device.c (window_system_pixelated_geometry): Use the above macros.
8530
8531         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8532         implememntation flag.
8533         * device.h (DEVICE_DISPLAY_P): Use it.
8534
8535         * frame.c (delete_frame_internal): Use the above macro.
8536
8537         * redisplay.c (redisplay_device): Use it.
8538         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8539         (redisplay_frame): Ditto.
8540
8541         * device-msw.c (mswindows_device_implementation_flags): Removed.
8542         (msprinter_device_implementation_flags): Removed.
8543         (console_type_create_device_mswindows): Removed references to
8544         implementation_flags methods, set implementation flags here.
8545         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8546
8547         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8548         (console_type_create_device_gtk): Removed method declaration.
8549         Added commented out statement which semantically matches the
8550         commented out statement in the above removed method.
8551
8552 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8553
8554         The attached patch fixes a few warnings. 
8555
8556         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8557         * src/frame-gtk.c: guard against GNOME calls in GTK only
8558         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8559         * src/select-gtk.c: prototype lisp_to_time
8560
8561 2001-06-08  Ben Wing  <ben@xemacs.org>
8562
8563         ------ gc-in-window-procedure fixes ------
8564         
8565         * alloc.c:
8566         * alloc.c (struct post_gc_action):
8567         * alloc.c (register_post_gc_action):
8568         * alloc.c (run_post_gc_actions):
8569         * alloc.c (garbage_collect_1):
8570         Create "post-gc actions", to avoid those dreaded "GC during window
8571         procedure" problems.
8572
8573         * event-msw.c:
8574         Abort, clean and simple, when GC in window procedure.  We want
8575         to flush these puppies out.
8576
8577         * glyphs-msw.c:
8578         * glyphs-msw.c (finalize_destroy_window):
8579         * glyphs-msw.c (mswindows_finalize_image_instance):
8580         Use a post-gc action when destroying subwindows.
8581
8582         * lisp.h:
8583         Declare register_post_gc_action().
8584
8585         * scrollbar-msw.c:
8586         * scrollbar-msw.c (unshow_that_mofo):
8587         Use a post-gc action when unshowing scrollbar windows, if in gc.
8588
8589         * redisplay.c (mark_redisplay):
8590         Add comment about the utter evilness of what's going down here.
8591
8592         ------ cygwin setitimer fixes ------
8593         
8594         * Makefile.in.in (sheap_objs):
8595         * Makefile.in.in (profile_objs):
8596         * Makefile.in.in (objs):
8597         Compile profile.c only when HAVE_SETITIMER.
8598         
8599         * nt.c (mswindows_sigset):
8600         * nt.c (mswindows_sighold):
8601         * nt.c (mswindows_sigrelse):
8602         * nt.c (mswindows_sigpause):
8603         * nt.c (mswindows_raise):
8604         * nt.c (close_file_data):
8605         Style fixes.
8606         
8607         * nt.c:
8608         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8609         
8610         * profile.c:
8611         * profile.c (Fstart_profiling):
8612         * profile.c (Fstop_profiling):
8613         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8614         instead of just plain setitimer().
8615         
8616         * signal.c:
8617         * signal.c (set_one_shot_timer):
8618         * signal.c (alarm):
8619         Define qxe_setitimer() as an encapsulation around setitimer() --
8620         call setitimer() directly unless Cygwin or MS Win, in which case
8621         we use our simulated version in win32.c.
8622         
8623         * systime.h:
8624         * systime.h (struct itimerval):
8625         * systime.h (ITIMER_REAL):
8626         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8627         comment about "qxe" and the policy regarding encapsulation.
8628
8629         * win32.c:
8630         * win32.c (setitimer_helper_proc):
8631         * win32.c (setitimer_helper_period):
8632         * win32.c (setitimer_helper):
8633         * win32.c (mswindows_setitimer):
8634         Move setitimer() emulation here, so Cygwin can use it.
8635         Rename a couple of functions and variables to be longer and more
8636         descriptive.  In setitimer_helper_proc(), send the signal
8637         using either mswindows_raise() or (on Cygwin) kill().  If for
8638         some reason we are still getting lockups, we'll change the kill()
8639         to directly invoke the signal handlers.
8640
8641         ------ windows shell fixes ------
8642         
8643         * callproc.c:
8644         * ntproc.c:
8645         Comments about how these two files must die.
8646
8647         * callproc.c (init_callproc):
8648         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8649         not just COMSPEC. (more correct and closer to FSF.) Don't
8650         force a value for SHELL into the environment. (Comments added
8651         to explain why not.)
8652         
8653         * nt.c (init_user_info):
8654         Don't shove a fabricated SHELL into the environment.  See above.
8655
8656 2001-06-01  Ben Wing  <ben@xemacs.org>
8657
8658         * Makefile.in.in (ldflags):
8659         eliminate that pesky "defaulting to 00401000" warning.
8660         * nt.h:
8661         eliminate warnings.
8662
8663 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8664
8665         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8666         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8667
8668 2001-04-24  Jerry James <james@xemacs.org>
8669
8670         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8671         correct order.
8672
8673 2001-06-01  Ben Wing  <ben@xemacs.org>
8674
8675         * event-msw.c (debug_mswin_messages):
8676         conditionalize the messages that were causing compile errors.
8677         (if only macros could generate #ifdef statements ...)
8678
8679 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8680
8681         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8682
8683 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8684
8685         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8686
8687 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8688
8689         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8690         * process-unix.c (unix_canonicalize_host_name):
8691         sysdep.c (init_system_name):
8692         Use it to conditionally support IPv6 canonicalization.
8693
8694 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8695
8696         * event-msw.c:
8697         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8698
8699 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8700
8701         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8702         attempt is made to scroll when no scroll bar is available.
8703
8704 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8705
8706         * input-method-motif.c (XIM_delete_frame): New callback.
8707         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8708         got deleted from 21.4.3.)
8709
8710 2001-06-01  Ben Wing  <ben@xemacs.org>
8711
8712         * nt.c (mswindows_utime):
8713         * nt.c (close_file_data):
8714         fix off-by-one-indirection error.
8715
8716 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8717
8718         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8719         because set_file_times() now takes Lisp_Object path, instead of
8720         char*.
8721         * nt.c: Include buffer.h.
8722         * nt.c (convert_from_time_t): New.
8723         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8724         not set mtime correctly.
8725         * nt.h: Declare mswindows_utime().
8726         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8727         path, instead of char*.
8728         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8729
8730 2001-05-30  Ben Wing  <ben@xemacs.org>
8731
8732         For 21.4:
8733
8734         (Stephen, just take all event-msw.c patches.  This includes
8735         the "iconify" fix below.)
8736
8737         * event-msw.c:
8738         * event-msw.c (mswindows_dequeue_dispatch_event):
8739         * event-msw.c (assert):
8740         * event-msw.c (emacs_mswindows_quit_p):
8741         * event-msw.c (debug_mswin_messages):
8742         * event-msw.c (debug_output_mswin_message):
8743         * event-msw.c (vars_of_event_mswindows):
8744         Fix yet more problems with C-g handling.
8745         Implement debug-mswindows-events.
8746         
8747 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8748
8749         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8750         
8751 2001-05-23  Ben Wing  <ben@xemacs.org>
8752
8753         * event-msw.c (winsock_writer):
8754         * event-msw.c (winsock_closer):
8755         prior kludgy code was clobbering the buffer, thinking it was
8756         "unused" space to store an unneeded return value; instead, use
8757         the variable we've already got staring us in the face.
8758
8759 2001-05-17  Andy Piper  <andy@xemacs.org>
8760
8761         * sysfile.h: don't assume that file attributes are boolean
8762
8763 2001-05-23  Ben Wing  <ben@xemacs.org>
8764
8765         * device-msw.c (msprinter_init_device):
8766         signal an error rather than crash with an unavailable network
8767         printer (from Mike Alexander).
8768         
8769         * event-msw.c:
8770         * event-msw.c (struct winsock_stream):
8771         * event-msw.c (winsock_writer):
8772         * event-msw.c (winsock_closer):
8773         * event-msw.c (make_winsock_stream_1):
8774         cleanup headers.  fix (hopefully) an error with data corruption
8775         when sending to a network connection.
8776
8777         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8778         to handle the ~user prefix by (a) always assuming we're referencing
8779         ourselves and not even verifying the user -- hence any file with
8780         a tilde as its first char is invalid! (b) if there wasn't a slash
8781         following the filename, the pointer was set *past* the end of
8782         file and we started reading from uninitialized memory.  Now we
8783         simply treat these as files, always.
8784
8785         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8786         
8787 2001-05-19  Ben Wing  <ben@xemacs.org>
8788
8789         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8790
8791         * process-nt.c:
8792         * process-nt.c (vars_of_process_nt):
8793         remove unused mswindows-quote-process-args.  rec for 21.4.
8794         
8795 2001-05-12  Ben Wing  <ben@xemacs.org>
8796
8797         * event-msw.c (mswindows_dde_callback):
8798         * event-msw.c (mswindows_wnd_proc):
8799         eliminate cygwin warnings.
8800
8801 2001-05-06  Ben Wing  <ben@xemacs.org>
8802
8803         * console-msw.h:
8804         * device-msw.c:
8805         * device-msw.c (print_dialog_worker):
8806         * device-msw.c (mswindows_handle_print_dialog_box):
8807         * device-msw.c (syms_of_device_mswindows):
8808         * dialog-msw.c (mswindows_make_dialog_box_internal):
8809         * general-slots.h:
8810         implement printing the selection when it's selected.
8811
8812 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8813
8814         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8815
8816 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8817
8818         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8819         EMACS_INT is signed.
8820
8821 2001-04-15  Michael Lausch  <mla@1012surf.net>
8822
8823         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8824         gtk_widget_request_size() to give scrollbar >0 width for
8825         GTK >1.2.8.
8826
8827 2001-05-30  William M. Perry  <wmperry@gnu.org>
8828
8829         * event-gtk.c: Check for buttons as modifier keys.
8830
8831 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8832
8833         * s\mingw32.h:
8834         Properly find MinGW's <process.h> inside Cygwin's restructured
8835         include directories.  Don't try to include <cygwin/version.h>
8836         since we are dropping support for MinGW in versions of Cygwin
8837         earlier than b21.
8838         * nt.c:
8839         Drop support for MinGW in versions of Cygwin before b21.
8840         * sysdep.c:
8841         Properly find MinGW's <process.h> inside Cygwin's restructured
8842         include directories.
8843         * syswindows.h:
8844         Drop support for MinGW in versions of Cygwin before b21.
8845         * unexcw.c:
8846         Even though a.out.h is no longer detected by configure, allow
8847         MinGW to use it until we figure out how to do the job with Win32.
8848
8849 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8850
8851         * syntax.c (find_start_of_comment):
8852         Fix `unbalanced parentheses' bug when dealing with mixed comment
8853         styles in c++/java/etc. mode
8854
8855 2001-05-29  Mike Alexander  <mta@arbortext.com>
8856
8857         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8858         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8859
8860 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8861
8862         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8863
8864 2001-03-31  Mike Sperber <mike@xemacs.org>
8865
8866         * search.c (Freplace_match): Support FSF-style specification of
8867         match subexpression when applied to a buffer.
8868
8869 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8870
8871         * event-stream.c (is_scrollbar_event): add missing semicolon
8872
8873 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8874
8875         * Makefile.in.in: Use TAR macro instead of hardcoding
8876           tar.  Allows use of GNU tar instead of system tar
8877
8878 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8879
8880         * event-stream.c (is_scrollbar_event): add missing semicolon
8881
8882 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8883
8884         * XEmacs 21.4.3 "Academic Rigor" is released.
8885
8886 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8887
8888         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8889
8890 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8891
8892         * buffer.c (Vcase_fold_search): Remove obsolete
8893           comment about non ASCII case-fold-search.  This
8894           bug has been fixed by case-table changes.
8895
8896 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8897
8898         * event-msw.c: Restore include of events-mod.h.
8899
8900 2001-04-22   zhaoway  <zw@debian.org>
8901
8902         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8903         !HAVE_SCROLLBARS.
8904
8905 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8906
8907         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8908
8909 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8910
8911         * mule-charset.c (Fmake_charset): Add missing else.
8912
8913 2001-04-23  Ben Wing  <ben@xemacs.org>
8914
8915         * event-msw.c (FAKE_MOD_QUIT):
8916         * event-msw.c (mswindows_dequeue_dispatch_event):
8917         * event-msw.c (mswindows_wnd_proc):
8918         * event-msw.c (emacs_mswindows_quit_p):
8919         Get critical quit working.
8920
8921 2001-05-05  Ben Wing  <ben@xemacs.org>
8922
8923         * console-msw.h:
8924         * device-msw.c:
8925         * device-msw.c (mswindows_get_default_margin):
8926         * frame-msw.c (mswindows_size_frame_internal):
8927         * frame-msw.c (msprinter_init_frame_1):
8928         * frame-msw.c (vars_of_frame_mswindows):
8929         Change top/bottom margin defaults to 0.5 inches.
8930
8931 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8932
8933         Fix link error with gcc 3.0 on Linux.
8934         * terminfo.c (UP): Remove.
8935         * terminfo.c (BC): Remove.
8936         * terminfo.c (PC): Remove.
8937         They weren't used, and in any case, these symbols should be
8938         defined in the *library*.
8939
8940 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8941
8942         * s/aix4.h: Fix crash with xlc -O3.
8943         Improve comment explaining how -O3 works.
8944
8945 2001-04-15  Ben Wing  <ben@xemacs.org>
8946
8947         * event-stream.c:
8948         * event-stream.c (Fnext_event):
8949         * event-stream.c (is_scrollbar_event):
8950         * event-stream.c (execute_command_event):
8951         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8952         crash' problem.  His fix introduces other problems.  We filter
8953         out scrollbar events specifically, making them somewhat invisible
8954         to command-building, and not appearing in `this-command-keys'.
8955         More work is still needed (see comments in event-stream.c), but
8956         this fixes all the major problems.
8957
8958 2001-04-20  Ben Wing  <ben@xemacs.org>
8959
8960         * .cvsignore: Added stuff for Windows.
8961
8962 2001-04-28  Ben Wing  <ben@xemacs.org>
8963
8964         * buffer.c (Ferase_buffer):
8965         * editfns.c (buffer_insert1):
8966         * editfns.c (Finsert_before_markers):
8967         * editfns.c (Finsert_string):
8968         * editfns.c (Finsert_char):
8969         * editfns.c (Fdelete_region):
8970         * editfns.c (Fwiden):
8971         * editfns.c (Fnarrow_to_region):
8972         remove bogus lines setting zmacs_region_stays to 0.
8973         
8974 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8975
8976         * process-unix.c (unix_open_network_stream): If connect() fails
8977         invalidate file descriptor after closing it.
8978
8979 2001-03-08  Mike Alexander  <mta@arbortext.com>
8980
8981         * event-msw.c (mswindows_need_event_in_modal_loop):
8982         Don't dispatch a message if we didn't get one.
8983         (mswindows_need_event):
8984         Terminate the correct process when one exits instead of the first
8985         one on Vprocess_list and look for process termination when in
8986         mswindows_protect_modal_loop.
8987
8988 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8989
8990         * XEmacs 21.4.1 "Copyleft" is released.
8991
8992 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8993
8994         * input-method-motif.c (XIM_delete_frame): New callback.
8995         (XIM_init_frame): Register it.
8996
8997 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8998
8999         * XEmacs 21.4.0 "Solid Vapor" is released.
9000
9001 2001-04-15  Ben Wing  <ben@xemacs.org>
9002
9003         * cmdloop.c (call_command_loop):
9004         Fix braino in bit-rotting code.
9005         
9006 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
9007
9008         * extents.c (Fset_extent_endpoints): Force creation of extent info
9009         in buffer_or_string.
9010
9011         * extents.c (process_extents_for_insertion_mapper): Correctly
9012         check for open-open zero-length extents.
9013
9014 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
9015
9016         * lisp.h: New typedefs Memory_count, Element_count.
9017         * regex.c:
9018         * regex.h:
9019         Sign-compare warning elimination: several unsigned -> signed.
9020         Based on work by Ben Wing <ben@xemacs.org>.
9021
9022 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
9023
9024         * XEmacs 21.2.47 "Zephir" is released.
9025
9026 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
9027
9028         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
9029
9030 2001-04-03  Mike Sperber <mike@xemacs.org>
9031
9032         * search.c: Revert previous patch due because of release.
9033
9034 2001-03-30  Ben Wing  <ben@xemacs.org>
9035
9036         * s\cygwin32.h:
9037         Add missing killpg prototype.
9038
9039         * elhash.c:
9040         Add a comment about fixing problems when a new entry is added
9041         while mapping.
9042
9043         * frame-msw.c (mswindows_init_frame_1):
9044         Fix compile warnings.
9045
9046         * menubar.c (vars_of_menubar):
9047         Provide `menu-accelerator-support' to indicate that we properly
9048         support %_ in menu specifications, so that package code can
9049         conditionalize on this (and remove %_ from menu specifications
9050         on older versions).
9051
9052         * event-msw.c:
9053         * scrollbar-msw.c:
9054         * scrollbar-msw.c (can_scroll):
9055         * scrollbar-msw.h:
9056         Fix handling of mouse wheel under Windows to follow standards --
9057         now scrolls window under pointer, not selected window.
9058
9059 2001-03-31  Mike Sperber <mike@xemacs.org>
9060
9061         * search.c (Freplace_match): Support FSF-style specification of
9062         match subexpression when applied to a buffer.
9063
9064 2001-03-15  Martin Buchholz  <martin@xemacs.org>
9065
9066         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
9067         function to modify KEYMAP, so map over a copy of the hash table.
9068
9069 2001-03-21  Martin Buchholz <martin@xemacs.org>
9070
9071         * XEmacs 21.2.46 "Urania" is released.
9072
9073 2001-03-20  Dan Holmsand  <dan@eyebee.com>
9074
9075         * realpath.c (xrealpath): Make file-truename work with symlinks to
9076         /cygdrive paths on cygwin. Always lowercase drive-letters on
9077         native windows.
9078         (cygwin_readlink): Don't try to find canonical filename unless
9079         file exists.
9080
9081 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
9082
9083         * ChangeLog: Log GTK merge.
9084
9085         * dumper.c:
9086         * select-x.c:
9087         * specifier.c:
9088         * symeval.h:
9089         Revert gratuitous whitespace changes from GTK merge.
9090
9091         * emacs.c: Document end of complex #ifdef @ l. 1495.
9092
9093
9094 2001-03-12  Andy Piper  <andy@xemacs.org>
9095
9096         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
9097         have to do likewise.
9098
9099 2001-03-12  Andy Piper  <andy@xemacs.org>
9100
9101         * sysdep.c: we only support mingw now.
9102
9103 2001-03-09  Andy Piper  <andy@xemacs.org>
9104
9105         * unexcw.c (copy_executable_and_dump_data_section): making approx
9106         overrun a warning only.
9107
9108 2001-03-10  William M. Perry  <wmperry@aventail.com>
9109
9110         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
9111         satisfy Stephen's identical-after-cpp plea.
9112
9113 2001-03-02  Ben Wing  <ben@xemacs.org>
9114
9115         * cmds.c:
9116         * cmds.c (Fforward_char):
9117         * syntax.c:
9118         * window.c:
9119
9120         Augment documentation of the most common motion commands to make
9121         note of the shifted-motion support.
9122         
9123 2001-03-02  Ben Wing  <ben@xemacs.org>
9124
9125         * nt.c (mswindows_fstat):
9126         * nt.c (mswindows_stat):
9127         * search.c (boyer_moore):
9128         Fix compile warnings under Windows.
9129         
9130         * sysdep.c (sys_readdir):
9131         Fix buggy filename-conversion code under Mule.
9132
9133 2001-03-09  William M. Perry  <wmperry@aventail.com>
9134
9135         * Makefile.in.in:
9136         * config.h.in:
9137         * console.c:
9138         * console.h:
9139         * device.c:
9140         * device.h:
9141         * dragdrop.c:
9142         * emacs.c:
9143         * event-stream.c:
9144         * events.c:
9145         * events.h:
9146         * faces.c:
9147         * frame.h:
9148         * general-slots.h:
9149         * glyphs.c:
9150         * gutter.c:
9151         * inline.c:
9152         * lisp.h:
9153         * lrecord.h:
9154         * make-src-depend:
9155         * redisplay-output.c:
9156         * redisplay.c:
9157         * symsinit.h:
9158         * sysfile.h:
9159         * toolbar.c:
9160         * window.c:
9161         The Great GTK Merge.
9162
9163         * ChangeLog.GTK:
9164         * console-gtk.c:
9165         * console-gtk.h:
9166         * device-gtk.c:
9167         * emacs-marshals.c:
9168         * emacs-widget-accessors.c:
9169         * event-gtk.c:
9170         * frame-gtk.c:
9171         * gccache-gtk.c:
9172         * gccache-gtk.h:
9173         * glade.c:
9174         * glyphs-gtk.c:
9175         * glyphs-gtk.h:
9176         * gtk-glue.c:
9177         * gtk-xemacs.c:
9178         * gtk-xemacs.h:
9179         * gui-gtk.c:
9180         * gui-gtk.h:
9181         * menubar-gtk.c:
9182         * native-gtk-toolbar.c:
9183         * objects-gtk.c:
9184         * objects-gtk.h:
9185         * redisplay-gtk.c:
9186         * scrollbar-gtk.c:
9187         * scrollbar-gtk.h:
9188         * select-gtk.c:
9189         * toolbar-gtk.c:
9190         * ui-byhand.c:
9191         * ui-gtk.c:
9192         * ui-gtk.h:
9193         The Great GTK Merge: new files.
9194
9195 2001-02-26  Ben Wing  <ben@xemacs.org>
9196
9197         Reapplied Lstream change.
9198
9199 2001-02-26  Ben Wing  <ben@xemacs.org>
9200
9201         Undid the last change, since it is more controversial than I
9202         thought.  It should be back in at some point soon.
9203         
9204 2001-02-25  Ben Wing  <ben@xemacs.org>
9205
9206         * buffer.c:
9207         * callproc.c (Fold_call_process_internal):
9208         * event-msw.c (ntpipe_slurp_reader):
9209         * event-msw.c (ntpipe_shove_writer):
9210         * event-msw.c (winsock_reader):
9211         * event-msw.c (winsock_writer):
9212         * file-coding.c:
9213         * file-coding.c (detect_eol_type):
9214         * file-coding.c (detect_coding_type):
9215         * file-coding.c (determine_real_coding_system):
9216         * file-coding.c (Fdetect_coding_region):
9217         * file-coding.c (decoding_reader):
9218         * file-coding.c (decoding_writer):
9219         * file-coding.c (mule_decode):
9220         * file-coding.c (Fdecode_coding_region):
9221         * file-coding.c (encoding_reader):
9222         * file-coding.c (encoding_writer):
9223         * file-coding.c (mule_encode):
9224         * file-coding.c (Fencode_coding_region):
9225         * file-coding.c (detect_coding_sjis):
9226         * file-coding.c (decode_coding_sjis):
9227         * file-coding.c (encode_coding_sjis):
9228         * file-coding.c (detect_coding_big5):
9229         * file-coding.c (decode_coding_big5):
9230         * file-coding.c (encode_coding_big5):
9231         * file-coding.c (detect_coding_ucs4):
9232         * file-coding.c (decode_coding_ucs4):
9233         * file-coding.c (encode_coding_ucs4):
9234         * file-coding.c (detect_coding_utf8):
9235         * file-coding.c (decode_coding_utf8):
9236         * file-coding.c (encode_coding_utf8):
9237         * file-coding.c (detect_coding_iso2022):
9238         * file-coding.c (decode_coding_iso2022):
9239         * file-coding.c (encode_coding_iso2022):
9240         * file-coding.c (decode_coding_no_conversion):
9241         * file-coding.c (encode_coding_no_conversion):
9242         * glyphs-x.c (write_lisp_string_to_temp_file):
9243         * gpmevent.c (tty_get_foreign_selection):
9244         * lisp.h:
9245         * lstream.c:
9246         * lstream.c (Lstream_flush_out):
9247         * lstream.c (Lstream_adding):
9248         * lstream.c (Lstream_write_1):
9249         * lstream.c (Lstream_write):
9250         * lstream.c (Lstream_raw_read):
9251         * lstream.c (Lstream_read_more):
9252         * lstream.c (Lstream_read):
9253         * lstream.c (Lstream_unread):
9254         * lstream.c (Lstream_fputc):
9255         * lstream.c (stdio_reader):
9256         * lstream.c (stdio_writer):
9257         * lstream.c (filedesc_reader):
9258         * lstream.c (filedesc_writer):
9259         * lstream.c (lisp_string_reader):
9260         * lstream.c (struct fixed_buffer_stream):
9261         * lstream.c (make_fixed_buffer_input_stream):
9262         * lstream.c (make_fixed_buffer_output_stream):
9263         * lstream.c (fixed_buffer_reader):
9264         * lstream.c (fixed_buffer_writer):
9265         * lstream.c (struct resizing_buffer_stream):
9266         * lstream.c (resizing_buffer_writer):
9267         * lstream.c (dynarr_writer):
9268         * lstream.c (lisp_buffer_reader):
9269         * lstream.c (lisp_buffer_writer):
9270         * lstream.h:
9271         * lstream.h (lstream_implementation):
9272         * lstream.h (struct lstream):
9273         * md5.c (Fmd5):
9274         * process-nt.c (nt_send_process):
9275         * process-unix.c (unix_send_process):
9276         
9277         Correct Lstream lossage due to mixing of signed and unsigned
9278         quantities.  All Lstream uses of size_t and ssize_t are now a
9279         single signed data type Lstream_data_count.  This fixes problems
9280         under Windows with sending large quantities of data to a process,
9281         and may well fix other subtle bugs.
9282
9283 2001-02-23  Martin Buchholz <martin@xemacs.org>
9284
9285         * XEmacs 21.2.45 "Thelxepeia" is released.
9286
9287 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9288
9289         * lisp-union.h (XSETINT): 
9290         (XSETCHAR):
9291         (XSETOBJ): 
9292         Reverse previous change of 2001-02-06.
9293
9294 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9295
9296         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9297         buffers.
9298         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9299         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9300         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9301         * regex.c (POS_AS_IN_BUFFER): removed
9302         * regex.c (re_search_2):
9303         * regex.c (re_match_2):
9304         Don't use an offset of 1 when calculating buffer positions, since
9305         `BI_BUF_BEGV' does it already.
9306
9307 2001-02-18  Wim Dumon  <wim@easics.be>
9308
9309         * insdel.c (prepare_to_modify_buffer): Also check for
9310         supersession when clash-detection is enabled. 
9311
9312 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9313
9314         * regex.c (re_match_2_internal):
9315         Convert temp characters from 'const unsigned char' to 're_char'.
9316         Fix crashing bug with extended characters under mule.
9317         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9318         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9319         font-lock, pdump, and new syntax-table code.
9320         * syntax.c (find_start_of_comment):
9321         (find_end_of_comment):
9322         (forward-comment):
9323         Fix crashing bugs involving moving beyond end of buffer.
9324         * syntax.c (find_start_of_comment):
9325         Fixed logic to allow proper detection of cases where the same
9326         character is used to end both a two-char comment start and a
9327         two-char comment end sequence. Fixes `(forward-comment -1)'.
9328         * syntax.c (find_start_of_comment):
9329         Return position just past last comment-end character for all cases
9330         (previously was only done for two-char comment-end sequences).
9331         * syntax.c (forward-comment):
9332         Take value returned from `find_end_of_comment', rather than
9333         incrementing it.
9334         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9335         Properly deal with BUFFERP (syntax_cache.object)
9336
9337 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9338
9339         * alloc.c (Fgarbage_collect): 
9340         * alloc.c (make_bit_vector_from_byte_vector):
9341         -Wsign-compare-correctness.
9342
9343 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9344
9345         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9346         (XSETCHAR): Likewise.
9347         (XSETOBJ): Likewise.
9348
9349 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9350
9351         * mule-canna.c (canna-func-delete_previous): 
9352         Rename to canna-func-delete-previous.
9353
9354 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9355
9356         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9357
9358 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9359
9360         * font-lock.c (find_context): Fix C++ compile errors introduced by
9361         recent patch
9362
9363 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9364
9365         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9366         pragma, but earlier ones barf on the same pragma.
9367
9368 2001-02-06  Mike Sperber <mike@xemacs.org>
9369
9370         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9371         `configure-mule-lisp-directory'.
9372
9373 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9374
9375         Make sure dump-id.c is compiled in the same way as other .c's.
9376         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9377         * dump-id.h: Remove.
9378         * emacs.c: Move dump-id.h into dumper.h.
9379         * dumper.h: Move dump-id.h into dumper.h.
9380         * Makefile.in.in:
9381         Use standard .c.o rule for building dump-id.o.
9382         Remove preprocessor flags from link command.
9383         Add dump-id.o to ${otherobjs} if PDUMP.
9384
9385 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9386
9387         Port FSF 20.7 syntax table improvements.
9388         * syntax.c.
9389         * syntax.h.
9390
9391         Fixups for new syntax table stuff.
9392         * dired.c: Include syntax.c.
9393         (Fdirectory_files): Initialize regex_match_object and
9394         regex_emacs_buffer.
9395         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9396         and Fget_char_property.
9397
9398         Use ported FSF 20.7 syntax table improvements.
9399         * font-lock.c.
9400         * regex.c.
9401         * search.c.
9402         
9403 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9404
9405         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9406         Unixware's enum boolean from sys/types.h.
9407
9408 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9409
9410         Fix support for building with latest Purify.
9411         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9412         (PURIFY_FLAGS): Likewise.
9413
9414 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9415
9416         * fileio.c (lisp_string_set_file_times): New.
9417         * fileio.c (Fcopy_file): Use it.
9418         Fixes bug:
9419         (copy-file filename non-ascii-filename t t)
9420         ==> No such file or directory, non-ascii-filename
9421
9422 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9423
9424         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9425         USHRT_MAX seems clearer than ~0 anyways.
9426
9427 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9428
9429         dumper improvements.  Inspired by Olivier.
9430         * dumper.c (pdump_max_align): New.
9431         * dumper.c (pdump_add_entry): Use pdump_max_align.
9432         * dumper.c (pdump_get_entry_list): Likewise.
9433         * dumper.c (pdump_scan_by_alignment): Likewise.
9434         Don't iterate through unnecessary alignments.
9435         * dumper.c (pdump_file_get): No need to align result of malloc().
9436         * dumper.c (pdump_mallocadr): Remove.  
9437         The result of malloc() is guaranteed to be maximally aligned.
9438         * dumper.c: s/elmt/elt/g;
9439         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9440         * dumper.c (pdump_alert_undump_object): Likewise.
9441         * dumper.c (pdump_align_table): 
9442         Don't support alignments > 64.
9443         Store ALIGNOF's, not shift counts, in table.
9444
9445 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9446
9447         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9448         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9449         * systime.h: Use HAVE_UTIME.
9450         * sysdep.c (struct utimbuf): Remove.
9451         * sysdep.c (set_file_times): Prefer utime() to utimes().
9452         * config.h.in (HAVE_UTIME): New.
9453         * config.h.in (HAVE_UTIME_H): Remove.
9454         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9455
9456 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9457
9458         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9459
9460 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9461
9462         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9463
9464 2001-02-08  Martin Buchholz <martin@xemacs.org>
9465
9466         * XEmacs 21.2.44 "Thalia" is released.
9467
9468 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9469
9470         Fixes crashes in kill-emacs on some systems.
9471         * process-unix.c (unix_kill_child_process):
9472         It's OK for kill() to fail with ESRCH.
9473
9474 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9475
9476         Contortions to make .gdbinit tricks work on most systems.
9477         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9478         * alloc.c (dbg_valmask): Make non-const.
9479         * alloc.c (dbg_typemask): Make non-const.
9480         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9481         * alloc.c (dbg_valbits): Make non-const.
9482         * alloc.c (dbg_gctypebits): Make non-const.
9483         * .gdbinit (decode_object): Make it work with AIX cc.
9484
9485 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9486
9487         * elhash.c (make_general_lisp_hash_table):
9488         Use simpler and more efficient calloc to clear entries.
9489
9490 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9491
9492         * window.c (window_scroll): Work around an AIX C compiler bug.
9493         Fixes 'scroll-up' does nothing problem with xlC.
9494
9495 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9496
9497         * .gdbinit: Remove obsolete comment.
9498
9499 2001-01-31  Mike Alexander  <mta@arbortext.com>
9500
9501         * select.c (Fown_selection_internal): Set owned_p for device
9502         method correctly.
9503
9504 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9505
9506         Port to g++ 2.97.
9507         "not" cannot be used as a macro name as it is an operator in C++
9508         * config.h.in: Stop #defining `not'.
9509         * chartab.c (check_category_char): not ==> not_p
9510         * chartab.h: Likewise.
9511         * regex.c (re_match_2_internal): Likewise.
9512
9513 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9514
9515         * lisp-disunion.h: Fix up comments.
9516
9517 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9518
9519         * keymap.c (define_key_check_and_coerce_keysym):
9520         (syms_of_keymap):
9521         Support mouse-6 and mouse-7 bindings in the obvious way.
9522
9523 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9524
9525         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9526
9527 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9528
9529         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9530         Previous patch missed DEFVAR_INT_MAGIC.
9531         Make sure future DEFVAR_foo use correct types.
9532         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9533         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9534         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9535         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9536         * (DEFVAR_INT): Likewise.
9537         * redisplay.c (vertical_clip): Should be of type Fixnum.
9538         * redisplay.c (horizontal_clip): Likewise.
9539         * lisp.h (dump_add_opaque_int): New.
9540         (dump_add_opaque_fixnum): New.
9541
9542 2001-01-29  Andy Piper  <andy@xemacs.org>
9543
9544         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9545         since they can be eval'ed
9546
9547 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9548
9549         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9550         Oops, XEmacs redefines `class'.  Use `typename' instead.
9551
9552 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9553
9554         * dumper.c: Fix C++ compile errors.
9555
9556 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9557
9558         * tparam.c: Use correct prototypes.
9559
9560 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9561
9562         * sysproc.h: #include util.h for NetBSD's openpty.
9563
9564 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9565
9566         More 64-bit correctness.
9567         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9568         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9569         Fix up comments.
9570         This finally finishes the 64-bit SGI port.
9571         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9572         * symbols.c: Fix up comments and type casts.
9573         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9574         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9575         * symeval.h (Fixnum): New type.
9576         * symeval.h (symbol_value_type): Fix up comment.
9577
9578         * commands.h:
9579         * nt.c:
9580         * emacs.c:
9581         * data.c:
9582         * redisplay.c:
9583         * abbrev.c:
9584         * dired-msw.c:
9585         * event-Xt.c:
9586         * eldap.c:
9587         * window.c:
9588         * sound.c:
9589         * event-stream.c:
9590         * eval.c:
9591         * buffer.c:
9592         * mule-canna.c: A million DEFVAR_INTs here...
9593         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9594         * extents.c:
9595         * cmdloop.c:
9596         * lisp.h:
9597         * select-x.c:
9598         * console-x.h:
9599         * event-msw.c:
9600         * mule-wnnfns.c:
9601         * hpplay.c:
9602         * ralloc.c:
9603         * alloc.c:
9604         * keymap.c:
9605         * profile.c:
9606         s/int/Fixnum/g in DEFVAR_INT declarations.
9607
9608 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9609
9610         Port pdump to SGI alignment-sensitive environment.
9611         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9612         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9613         properly aligned.
9614         Define and use aligned reading and writing macros.
9615         Use buffered stdio instead of posix i/o for faster dumping.
9616         Eliminate kludgy 256 byte space for header.
9617         Read and write from dump file using structs for alignment safety.
9618         * dumper.c (pdump_align_stream): New.
9619         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9620         * dumper.c (PDUMP_READ_ALIGNED): New.
9621         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9622         * dumper.c (pdump_static_Lisp_Object): New struct.
9623         * dumper.c (pdump_static_pointer): New struct.
9624         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9625         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9626         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9627         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9628
9629         * dumper.c (pdump_backtrace):
9630         * dumper.c (pdump_get_indirect_count):
9631         * dumper.c (pdump_register_object):
9632         * dumper.c (pdump_register_struct):
9633         * dumper.c (pdump_reloc_one):
9634         * dumper.c (pdump_scan_by_alignment):
9635         * dumper.c (pdump_dump_from_root_struct_ptrs):
9636         * dumper.c (pdump_dump_opaques):
9637         * dumper.c (pdump_dump_rtables):
9638         * dumper.c (pdump_dump_from_root_objects):
9639         * dumper.c (pdump):
9640         * dumper.c (pdump_load_finish):
9641         Use aligned reading and writing.
9642
9643         * dumper.c (pdump_free): Make static.
9644         * dumper.c (pdump_hFile): Likewise.
9645         * dumper.c (pdump_hMap): Likewise.
9646
9647 2001-01-26  Martin Buchholz <martin@xemacs.org>
9648
9649         * XEmacs 21.2.43 "Terspichore" is released.
9650
9651 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9652
9653         Type fiddling for window_config.saved_windows_count
9654         * window.c (struct window_config): 
9655         Make saved_windows_count member unsigned.
9656         * window.c (sizeof_window_config_for_n_windows): 
9657         Make parameter unsigned.
9658         * window.c (mark_window_config):
9659         * window.c (window_config_equal):
9660         * window.c (free_window_configuration):
9661         * window.c (Fset_window_configuration):
9662         * window.c (count_windows):
9663         * window.c (Fcurrent_window_configuration):
9664         * window.c (reinit_vars_of_window):
9665         Update all callers and users.
9666
9667 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9668
9669         Alignment correctness for flexible arrays.
9670         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9671         Make alignment-correct. Add interesting comments.
9672         * alloc.c (size_vector):
9673         * alloc.c (make_vector_internal):
9674         * alloc.c (make_bit_vector_internal):
9675         * alloc.c (sweep_bit_vectors_1):
9676         * fns.c (size_bit_vector):
9677         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9678         * window.c (sizeof_window_config_for_n_windows): 
9679         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9680
9681 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9682
9683         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9684
9685 2001-01-23  Andy Piper  <andy@xemacs.org>
9686
9687         * select.c (Fown_selection_internal): pass owned_p
9688
9689         * select-msw.c (mswindows_own_selection): New Signature.
9690
9691         * console.h (struct console_methods): add owned_p to
9692         _own_selection.
9693
9694         * select-x.c (x_own_selection): pass owned_p
9695         (hack_motif_clipboard_selection): use owned_p
9696         (vars_of_select_x): new variable -
9697         x_selection_strict_motif_ownership.
9698
9699 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9700
9701         * specifier.h (specifier_data_offset): Remove pointless parens.
9702         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9703
9704 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9705
9706         Make Lisp_Object sizeof methods be alignment-correct.
9707         pdump must restore objects to the same alignment as the C compiler
9708         assumes.  It really matters on SGIs.
9709         * lstream.c (aligned_sizeof_lstream): New.
9710         (sizeof_lstream): Use aligned_sizeof_lstream.
9711         (Lstream_new): Likewise.
9712         * opaque.c (aligned_sizeof_opaque): New.
9713         (sizeof_opaque): Use aligned_sizeof_opaque.
9714         (make_opaque): Likewise.
9715         * specifier.c (aligned_sizeof_specifier): New.
9716         (sizeof_specifier): Use aligned_sizeof_specifier.
9717         (make_specifier_internal): Likewise.
9718
9719 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9720
9721         * lstream.h (struct lstream): Use max_align_t for trailing data.
9722         * specifier.h (struct Lisp_Specifier): Likewise.
9723
9724 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9725
9726         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9727         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9728         (CCL_SUSPEND): Likewise.
9729         (CCL_INVALID_CMD): Likewise.
9730         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9731         (ccl_driver): Likewise.
9732         (CCL_WRITE_CHAR): Macro hygiene.
9733         (CCL_WRITE_STRING): Macro hygiene.
9734
9735 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9736
9737         Port "portable" dumper to SunOS 4 and HP-UX.
9738         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9739         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9740         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9741
9742 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9743
9744         * lisp.h (ALIGNOF): A better definition for C++.
9745
9746 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9747
9748         Macro hygiene.
9749         Fix printf warnings: int format, long int arg.
9750         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9751         (PUSH_FAILURE_POINT): Use correct printf formats.
9752         (POP_FAILURE_POINT): Use correct printf formats.  
9753         Use do {...} while (0)
9754
9755 2001-01-20  Martin Buchholz <martin@xemacs.org>
9756
9757         * XEmacs 21.2.42 "Poseidon" is released.
9758
9759 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9760
9761         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9762
9763 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9764
9765         De-kludgify FIXED_TYPE free list frobbing.
9766         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9767         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9768         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9769         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9770         * alloc.c (LRECORD_FREE_P): New.
9771         * alloc.c (MARK_LRECORD_AS_FREE): New.
9772         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9773         * alloc.c (STRUCT_FREE_P): Deleted.
9774         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9775         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9776         * alloc.c (STRING_CHARS_FREE_P): New.
9777         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9778         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9779         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9780         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9781         * alloc.c (resize_string): Use new definitions.
9782         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9783         * alloc.c (verify_string_chars_integrity): Use new definitions.
9784         * alloc.c (compact_string_chars): Use new definitions.
9785         * alloc.c: Update monster comments.
9786         * lrecord.h (lrecord_type): Add some new lrecord types for
9787         alloc.c's use.
9788
9789 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9790
9791         Improve alignment hackery.
9792         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9793         (max_align_t): Moved from opaque.h - general purpose.
9794         (ALIGN_PTR): Use size_t, not long.
9795         * opaque.h (max_align_t): Move to lisp.h.
9796
9797 2001-01-18  Norbert Koch  <nk@LF.net>
9798
9799         * gui.h: Fix and add prototypes to fix build problems.
9800
9801 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9802
9803         temacs is going away, so `dump-temacs' is now a bad name.
9804         * .dbxrc (dump-temacs): Rename to `dmp'.
9805         * .gdbinit (dump-temacs): Rename to `dmp'.
9806
9807 2001-01-17  Andy Piper  <andy@xemacs.org>
9808
9809         * glyphs.c (print_image_instance): comment to make martin happy.
9810
9811         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9812         change.
9813
9814         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9815         activation.
9816         (mswindows_tab_control_redisplay): warning suppression.
9817
9818         * glyphs-widget.c (widget_update): re-write to cope with updated
9819         items.
9820         (widget_instantiate): use new gui_item functions.
9821         (tab_control_update): deleted.
9822         (progress_gauge_update): deleted.
9823         (image_instantiator_progress_guage): take out update reference.
9824         (image_instantiator_tree_view): ditto.
9825         (image_instantiator_tab_control): ditto.
9826
9827         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9828         Right the new way.
9829         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9830         return whether anything was changed.
9831         (update_gui_item_keywords): as it sounds.
9832
9833         * gui.h: declare widget_gui_parse_item_keywords.
9834
9835         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9836         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9837
9838 2001-01-17  Martin Buchholz <martin@xemacs.org>
9839
9840         * XEmacs 21.2.41 "Polyhymnia" is released.
9841
9842 2001-01-16  Didier Verna  <didier@xemacs.org>
9843
9844         * glyphs.c (image_instantiate): don't use fallbacks when
9845         instantiating a face's background pixmap by inheritance.
9846
9847 2001-01-14  Mike Sperber <mike@xemacs.org>
9848
9849         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9850         Conditionalize accordingly.
9851
9852 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9853
9854         * dumper.c (pdump_file_get): Fix a compiler warning.
9855
9856 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9857
9858         Make Purify happy when pdumping.
9859         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9860         iniitalizing all bits of new lisp object memory.
9861         * symbols.c (Fmake_local_variable): Likewise.
9862         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9863         * symbols.c (Fdefvaralias): Likewise.
9864         * mule-charset.c (vars_of_mule_charset): Likewise.
9865
9866 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9867         Add the `-nd' flag when running pre-dump operations under the debugger.
9868         * .dbxrc (run-temacs): Add `-nd'.
9869         * .dbxrc (update-elc): Likewise.
9870         * .dbxrc (dump-temacs): Likewise.
9871         * .gdbinit (run-temacs): Likewise.
9872         * .gdbinit (check-temacs): Likewise.
9873         * .gdbinit (update-elc): Likewise.
9874         * .gdbinit (dump-temacs): Likewise.
9875
9876 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9877
9878         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9879         export OBJECT_MODE=64
9880         configure --pdump --use-union-type=no
9881         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9882         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9883
9884         * miscplay.c (sndcnv8U_2mono):
9885         Avoid two uses of `++' in the same expression.
9886         Suppresses a GCC warning.
9887
9888 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9889
9890         Make sure future compilers don't miscompile alloc.c.
9891         * alloc.c:
9892         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9893         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9894
9895 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9896
9897         * dumper.c: A little post-pdump-rename comment fixup.
9898
9899 2001-01-09  Jerry James  <james@eecs.ku.edu>
9900
9901         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9902
9903 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9904
9905         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9906         script:
9907         #!/bin/sh
9908         replace_symbol () {
9909           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9910         }
9911
9912         replace_symbol pdump_wire_lists pdump_weak_object_chains
9913         replace_symbol pdump_wire_list dump_add_weak_object_chain
9914
9915         replace_symbol pdump_wires pdump_root_objects
9916         replace_symbol pdump_wire dump_add_root_object
9917
9918         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9919         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9920
9921         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9922         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9923         replace_symbol dumpstructinfo pdump_root_struct_ptr
9924         replace_symbol dumpstruct dump_add_root_struct_ptr
9925
9926         replace_symbol dumpopaque dump_add_opaque
9927         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9928         replace_symbol dumpopaqueinfos pdump_opaques
9929         replace_symbol dumpopaqueinfo pdump_opaque
9930
9931         replace_symbol nb_structdump nb_root_struct_ptrs
9932         replace_symbol nb_opaquedump nb_opaques
9933
9934         replace_symbol align_table pdump_align_table
9935         replace_symbol dump_header pdump_header
9936
9937         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9938         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9939
9940
9941 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9942
9943         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9944         optimizing bytecount_to_charcount().
9945
9946 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9947
9948         * config.h.in:
9949         (HAVE_DLFCN_H): Removed.
9950         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9951
9952 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9953
9954         Portable dumper maintainability improvements.
9955         * alloc.c (staticpro):
9956         * alloc.c (staticpro_nodump):
9957         * alloc.c (garbage_collect_1):
9958         * alloc.c (reinit_alloc_once_early):
9959         * alloc.c (init_alloc_once_early):
9960         * alloc.c: Move dumper functions to alloc.c.
9961         * dumper.c (pdump_backtrace):
9962         * dumper.c (pdump_dump_structs):
9963         * dumper.c (pdump_dump_opaques):
9964         * dumper.c (pdump_dump_rtables):
9965         * dumper.c (pdump_dump_wired):
9966         * dumper.c (pdump):
9967         * dumper.c (pdump_load_check):
9968         * dumper.c (pdump_load_finish):
9969         * dumper.c (pdump_file_unmap):
9970         * dumper.c (pdump_file_get):
9971         * dumper.c (pdump_resource_free):
9972         * dumper.c (pdump_resource_get):
9973         * dumper.c (pdump_file_free):
9974         * dumper.c (pdump_file_try):
9975         * dumper.c (pdump_load):
9976         Remove fixed size limits on staticpro(), staticpro_nodump(),
9977         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9978         Remove custom code for dumping lrecord_implementations_table - use
9979         dumpopaque instead.
9980         Remove (most of the) custom code for dumping staticpros - dump it
9981         like any other dynarr.
9982
9983         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9984         * dumper.c: Moved functions from alloc.c.
9985         * alloc.c (dumpstruct): Moved to dumper.c.
9986         * alloc.c (dumpopaque): Likewise.
9987         * alloc.c (pdump_wire): Likewise.
9988         * alloc.c (pdump_wire_list): Likewise.
9989
9990         * lisp.h (Dynarr_sizeof): New.
9991         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9992         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9993         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9994
9995         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9996         * lisp.h (dumpopaque): ditto.
9997         * lisp.h (pdump_wire): ditto.
9998         * lisp.h (pdump_wire_list): ditto.
9999
10000 2001-01-09  Martin Buchholz  <martin@xemacs.org>
10001
10002         * make-src-depend (PrintPatternDeps):
10003         Use `sort' to make output independent of perl version.
10004
10005 2001-01-08  Martin Buchholz  <martin@xemacs.org>
10006
10007         Port to Netbsd 1.5.
10008         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
10009         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
10010
10011 2001-01-03  Didier Verna  <didier@xemacs.org>
10012
10013         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
10014         that `focus_frame' is alive before thinking of calling
10015         `redisplay_redraw_cursor' on it.
10016
10017 2001-01-08  Martin Buchholz <martin@xemacs.org>
10018
10019         * XEmacs 21.2.40 is released.
10020
10021 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
10022
10023         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
10024
10025 2001-01-06  Martin Buchholz  <martin@xemacs.org>
10026
10027         * alloc.c (dbg_valmask): Make const.
10028         * alloc.c (dbg_typemask): Make const.
10029         * alloc.c (dbg_USE_UNION_TYPE): Make const.
10030         * alloc.c (dbg_valbits): Make const.
10031         * alloc.c (dbg_gctypebits): Make const.
10032
10033 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
10034
10035         * redisplay-x.c (x_bevel_area):
10036         redisplay.h (struct rune):
10037         Typo fixes in comments.
10038
10039 2001-01-05  Andy Piper  <andy@xemacs.org>
10040
10041         * glyphs-x.c (x_redisplay_widget): use size changed for offset
10042         adjustment.
10043
10044         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
10045
10046 2001-01-05  Martin Buchholz  <martin@xemacs.org>
10047
10048         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
10049
10050         * mule-ccl.c (stack_idx_of_map_multiple):
10051         Non const global data must not be initialized!
10052         Found by MIYASHITA Hisashi.
10053
10054 2001-01-02  Andy Piper  <andy@xemacs.org>
10055
10056         * frame.c (change_frame_size): make sure frame size is always
10057         marked as changed.
10058
10059         * glyphs.c (image_instance_layout): minor code reuse.
10060
10061         * window.c (Fcurrent_window_configuration): revert previous
10062         change.
10063
10064 2001-01-02  Martin Buchholz  <martin@xemacs.org>
10065
10066         * glyphs.h:
10067         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
10068
10069 2000-12-31  Andy Piper  <andy@xemacs.org>
10070
10071         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
10072         when widget gets unmapped.
10073
10074         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
10075         function. Make sure widgets losing focus don't just drop it.
10076         (handle_focus_event_1): record the widget with focus.
10077
10078 2000-12-31  Andy Piper  <andy@xemacs.org>
10079
10080         * window.c (allocate_window): use
10081         make_image_instance_cache_hash_table.
10082         (make_dummy_parent): ditto.
10083         (Fset_window_configuration): ditto.
10084
10085         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
10086
10087         * glyphs.c (process_image_string_instantiator): use
10088         INSTANTIATOR_TYPE.
10089         (get_image_instantiator_governing_domain): ditto.
10090         (normalize_image_instantiator): ditto.
10091         (instantiate_image_instantiator): ditto.
10092         (make_image_instance_1): ditto.
10093         (image_instantiate): ditto. Key on glyph *and* instantiator type.
10094         (instantiator_eq_equal): new function for use with instance hash
10095         tables.
10096         (instantiator_eq_hash): ditto.
10097         (make_image_instance_cache_hash_table): create a suitable hash
10098         table for storing image instances.
10099
10100         * elhash.h (hash_table_weakness): new internal weakness type
10101         HASH_TABLE_KEY_CAR_VALUE_WEAK.
10102         declare new functions.
10103
10104         * elhash.c (finish_marking_weak_hash_tables): introduce yet
10105         another weakness type for glyphs.
10106         (make_standard_lisp_hash_table): new function split out from
10107         make_general_lisp_hash_table.
10108         (make_lisp_hash_table): call make_standard_lisp_hash_table.
10109         (hash_table_instantiate): ditto.
10110         (Fmake_hash_table): ditto.
10111
10112 2000-12-31  Martin Buchholz <martin@xemacs.org>
10113
10114         * XEmacs 21.2.39 is released.
10115
10116 2000-12-29  Andy Piper  <andy@xemacs.org>
10117
10118         * menubar.c (menubar_visible_p_changed): signal the frame changed.
10119
10120         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
10121         the frame has changed so that we pick up geometry changes such as
10122         menubar visibility.
10123
10124 2000-12-28  Andy Piper  <andy@xemacs.org>
10125
10126         * lastfile.c (my_ebss): make a char array so we can pad the
10127         bss. Fixes cygwin unexec.
10128
10129         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
10130
10131 2000-12-26  Andy Piper  <andy@xemacs.org>
10132
10133         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
10134         comments and try and be more precise about a non-/SIGIO world.
10135         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
10136         SIGIO.
10137
10138         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
10139         we don't normalize to zero width or height.
10140
10141 2000-12-24  Andy Piper  <andy@xemacs.org>
10142
10143         * Makefile.in.in (ldflags): add -mwindows when appropriate.
10144
10145 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
10146
10147         * s/sco5.h: SCO 5 has pty support.
10148
10149 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
10150
10151         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
10152         input-method-xlib.c contains whole contents of input-method-xfs.c,
10153         so we can use input-method-xlib.c's code for USE_XFONTSET
10154         using #ifdefs.
10155         * input-method-xfs.c: removed.
10156
10157 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
10158
10159         * file-coding.h (enum coding_category_type): reorder enumerators to
10160         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
10161         (now one greater than largest real coding_category_type enumerator).
10162         * file-coding.c (coding_category_symbol, coding_category_by_priority,
10163         coding_category_system, fcd_descriptihon_1, decode_coding_category,
10164         Fcoding_category_list, Fset_coding_priority_list,
10165         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
10166         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
10167
10168 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10169
10170         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
10171         * redisplay-output.c (redisplay_output_window): Clear top of window
10172         when face is changed.
10173         * redisplay-x.c (x_redraw_exposed_window): Call
10174         redisplay_clear_top_of_window.
10175         * redisplay.h: Publish redisplay_clear_top_of_window.
10176
10177 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10178
10179         * buffer.c (Fkill_buffer): Map over all devices.
10180         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10181         (list_windows): New function.
10182         (list_all_windows): Ditto.
10183         (Freplace_buffer_in_windows): Use them.
10184
10185 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10186
10187         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10188         (Fopen_database): Use `db_create' instead of `db_open'.
10189         (syms_of_database): Initialize Qqueue.
10190
10191 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10192
10193         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10194         buffer_local_face_property.
10195         * buffer.h (struct buffer): New member buffer_local_face_property.
10196         * window.c (Fset_window_buffer):  Mark window's face as changed
10197         when buffer has buffer local face.
10198         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10199         * objects.c (color_after_change): Set buffer_local_face_property
10200         when locale of face specifier is buffer.
10201         * objects.c (font_after_change): Ditto.
10202         * objects.c (face_boolean_after_change): Ditto.
10203         * glyphs.c (image_after_change): Ditto.
10204
10205 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10206
10207         * nt.c (mswindows_fstat): Report file permissions, volume serial
10208         number, etc. Code adapted from FSF Emacs 20.7.
10209
10210 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10211
10212         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10213         of stat when we don't have symbolic links, to make sure
10214         mswindows_stat is called on mswindows.
10215
10216 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10217
10218         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10219
10220 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10221
10222         * doprnt.c (emacs_doprnt_1): More printing fixes.
10223         Make printing of numbers compatible with libc and FSF Emacs.
10224         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10225         Use the system printf to do most of the hard work of formatting,
10226         instead of doprnt_1().
10227         Calculate memory to allocate for format string.
10228         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10229         (doprnt_1): Cleaner code and documentation.
10230
10231 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10232
10233         * Makefile.in.in: Use the loop variable to install headers.
10234
10235 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10236
10237         * window.c (Fsplit_window): Don't invalidate face cache.
10238
10239 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10240
10241         * minibuf.c (Fall_completions): Undo the previous change
10242         which removed checking elements start with space.
10243
10244 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10245
10246         * mule-canna.c: Didier suppression.
10247
10248 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10249
10250         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10251         (warning suppression).  Add English comment translations.
10252
10253 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10254
10255         * unexelfsgi.c (unexec): Better test for mmap failure.
10256
10257 2000-12-05  Martin Buchholz <martin@xemacs.org>
10258
10259         * XEmacs 21.2.38 is released.
10260
10261 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10262
10263         * redisplay.c (bar-cursor): Make a user variable.
10264
10265         * symsinit.h: Add init_postgresql_from_environment.
10266
10267 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10268
10269         * regex.c: Convert to clean C.
10270
10271 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10272
10273         * realpath.c:
10274         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10275         initialization.
10276         (sys_readlink): renamed to system_readlink to avoid conflict with
10277         the other sys_readlink.
10278
10279 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10280
10281         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10282
10283 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10284
10285         * postgresql.c (init_postgresql_from_environment): new function.
10286         (vars_of_postgresql): Move code initializing Lisp variables out and
10287         into init_postgresql_from_environment.
10288         emacs.c (main_1): Call init_postgresql_from_environment if and only
10289         if running a dumped XEmacs.
10290
10291 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10292
10293         * buffer.c: Make find-file-compare-truenames default to true on
10294         windows.
10295
10296         * realpath.c (win32_abs_start):
10297         (cygwin_readlink):
10298         (win32_readlink): New functions.
10299         (xrealpath): Return really real filenames on windows.
10300
10301         * fileio.c (Ffile_truename): Make file-truename work on windows.
10302
10303 2000-11-29  Didier Verna  <didier@xemacs.org>
10304
10305         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10306         * faces.c (update_face_cachel_data): use it.
10307         * faces.c (add_face_cachel): use it. Complete background pixmap
10308         frobbing in face cache if `update_face_cachel_data' has not done so.
10309
10310 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10311
10312         * search.c (string_match_1): Don't set last_thing_searched
10313         when search failed.
10314
10315 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10316
10317         * buffer.c: Include casetab.h
10318         (common_init_complex_vars_of_buffer): Use new case-table object.
10319         * buffer.h: Include casetab.h
10320         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10321         (DOWNCASE_TABLE_OF): Ditto.
10322         * bufslots.h: Remove char-tables and add case-table.
10323         * casetab.c: Include casetab.h
10324         (CASE_TABLE_P): Removed.
10325         (mark_case_table): New function.
10326         (allocate_case_table): New function.
10327         (Fcase_table_p): Use new case-table.
10328         (case_table_char): New function.
10329         (Fget_case_table): Ditto.
10330         (Fput_case_table): Ditto.
10331         (Fput_case_table_pair): Ditto.
10332         (Fcopy_case_table): Ditto.
10333         (Fcurrent_case_table): Return case-table.
10334         (Fstandard_case_table): Return case-table.
10335         (Fset_case_table): Fix doc-string.
10336         (set_case_table): Use case-table
10337         (syms_of_casetab): DEFSUBR new functions.
10338         (complex_vars_of_casetab): Set up standard case-table.
10339         * casetab.h: New file.
10340         * editfns.c: Include casetab.h
10341         (Fcompare_buffer_substrings): Use case-table.
10342         * inline.c: Include casetab.h
10343         * lisp.h: Remove bogus extern.
10344         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10345         * search.c: Include casetab.h
10346         (TRANSLATE_ASCII): Removed.
10347         (TRANSLATE): Unconditionally translate character.
10348         (looking_at_1): Use case-table.
10349         (string_match_1): Ditto.
10350         (fast_string_match): Ditto.
10351         (search_command): Ditto.
10352         (search_buffer): Separate boyer_moore.  Check whether
10353         boyer_moore is possible.
10354         (simple_search): New function.
10355         (boyer_moore): Separated from search_buffer. Translate char.
10356
10357 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10358
10359         * regex.c (RE_TR_ASCII): Removed.
10360         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10361         (PATFETCH): Call PATFETCH_RAW.
10362         (PATFETCH_RAW): Fetch Emchar.
10363         (PATUNFETCH): Decrement charptr.
10364         (GET_BUFFER_SPACE): Rename b to buf_end.
10365         (BUF_PUSH): Ditto.
10366         (BUF_PUSH_2): Ditto.
10367         (BUF_PUSH_3): Ditto.
10368         (EXTEND_BUFFER): Ditto.
10369         (SET_LIST_BIT): Ditto.
10370         (regex_compile): Ditto.  Translate non ASCII char.
10371         (compile_range): Ditto.
10372         (re_search_2): Ditto.
10373         (re_match_2_internal): Compare Emchar.
10374         (bcmp_translate): Ditto.
10375
10376 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10377
10378         * lisp.h (basic char/int typedefs):  comment improvement.
10379
10380 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10381
10382         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10383         unstomp inhibit_site_lisp.  Improve comments.
10384
10385 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10386
10387         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10388
10389 2000-11-28  Andy Piper  <andy@xemacs.org>
10390
10391         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10392         clipped display for windows in the gutter also.
10393         (redisplay_display_boxes_in_window_p): change semantics of return
10394         codes to be more intuitive.
10395
10396         * gutter.h: declare display_boxes_in_gutter_p.
10397
10398         * gutter.c (display_boxes_in_gutter_p): new function for
10399         redisplay.
10400
10401 2000-11-22  Andy Piper  <andy@xemacs.org>
10402
10403         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10404         autodetect domain.
10405
10406 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10407
10408         * callproc.c (Fold_call_process_internal):
10409         * gpm.c (Freceive_gpm_event):
10410         (tty_get_foreign_selection): Might be just warning supression.
10411         * fileio.c (Fwrite_region_internal):
10412         (Fset_visited_file_modtime):
10413         * keymap.c (event_matches_key_specifier_p):
10414         Initialize GCPROed variable.
10415
10416         * menubar-x.c (command_builder_find_menu_accelerator):
10417         Initialize before use.
10418
10419 2000-11-23  Andy Piper  <andy@xemacs.org>
10420
10421         * unexcw.c (unexec): make the resulting executable executable.
10422
10423 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10424
10425         * doc.c (get_doc_string):
10426         Use size_t, not int, for result of XSTRING_LENGTH.
10427
10428         * cmds.c (Fdelete_char):
10429         * cmds.c (Fpoint_at_eol):
10430         * cmds.c (Fself_insert_command):
10431         Use EMACS_INT, not int, for result of XINT.
10432         Someday, someone will want to insert more than 2**31 identical characters.
10433
10434         * cmds.c (Fdelete_char):
10435         * cmds.c (Fdelete_backward_char):
10436         * syntax.c (Fforward_word):
10437         * syntax.c (Fforward_comment):
10438         Make COUNT argument optional, for consistency with forward-char et al.
10439
10440 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10441
10442         * lisp.h:
10443         * print.c (long_to_string):
10444         Return a useful value: the pointer at end of data written.
10445
10446         * doprnt.c:
10447         Use `static const char * const' for constant strings.
10448         (union printf_arg): Delete `i', `ui' members.
10449         (get_doprnt_args):
10450         (emacs_doprnt_1):
10451         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10452         Do all printf-ing via the `l' specifier.
10453         Use EMACS_INT instead of int.
10454         Optimize.
10455
10456 2000-11-20  Didier Verna  <didier@xemacs.org>
10457
10458         * faces.c (update_face_cachel_data): don't frob the background
10459         pixmap when the window is being created. The face is needed but
10460         does not exist yet.
10461
10462 2000-11-20  Andy Piper  <andy@xemacs.org>
10463
10464         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10465         messing with a debug environment.
10466
10467 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10468
10469         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10470
10471 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10472
10473         * casetab.c (Fcase_table_p): Fix compile error and crash.
10474
10475 2000-11-18  Philip Aston  <philipa@mail.com>
10476
10477         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10478
10479 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10480
10481         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10482         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10483
10484 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10485
10486         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10487         * unexelf.c: Use HAVE_ELF_H.
10488         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10489         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10490         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10491         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10492         for testing.
10493         So this is an unexelfsgi.c from a different line of development.
10494
10495 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10496
10497         * regex.c (RE_TR_ASCII): New function.
10498         (RE_TRANSLATE): Call it.
10499
10500 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10501
10502         * buffer.h (TRT_TABLE_OF): Remove assert.
10503         (IN_TRT_TABLE_DOMAIN): Removed.
10504
10505 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10506
10507         * free-hook.c (log_gcpro):
10508         (show_gcprohist): Add support for GCPRO5.
10509
10510 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10511
10512         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10513
10514 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10515
10516         * symeval.h: Declare flush_all_buffer_local_cache.
10517
10518         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10519         (flush_buffer_local_cache): Added.
10520         (flush_all_buffer_local_cache): Added.
10521
10522         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10523
10524         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10525         (pdump_dump_data): Ditto.
10526         (pdump_reloc_one): Ditto.
10527         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10528         before dumping.
10529
10530
10531 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10532
10533         * buffer.c: Remove if 0'ed entry.
10534         * buffer.h: Rewrite TRT to use char-table.
10535         * bufslots.h: Remove mirror tables.
10536         * casetab.c: Remove mirror tables.
10537         (CASE_TABLE_P): New macro.
10538         (Fcase_table_p): Element of a case table is string or char-table.
10539         (make_mirror_trt_table): Removed.
10540         (set_case_table): Setup char-table from strings for backward
10541         compatibility.
10542         * dired.c (Fdirectory_files):
10543         * dired-msw.c: (mswindows_get_files):
10544         * lisp.h: Change prototype of re_pattern_buffer.
10545         * regex.c: (RE_TRANSLATE): New macro.
10546         (TRANSLATE_P): Ditto.
10547         Change translate to type RE_TRANSLATE_TYPE.
10548         * regex.h: Define RE_TRANSLATE_TYPE
10549         * search.c (TRANSLATE): New macro.
10550         (TRANSLATE_ASCII): New macro.
10551         Translate table is changed to Lisp_Object.
10552         (signal_failure): Inhibit return.
10553
10554 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10555
10556         * device-msw.c:
10557         * eldap.c:
10558         * event-Xt.c:
10559         * event-stream.c:
10560         * print.c:
10561         Do UNGCPRO before return.
10562
10563 2000-11-14  Martin Buchholz <martin@xemacs.org>
10564
10565         * XEmacs 21.2.37 is released.
10566
10567 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10568
10569         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10570         Add comments about discarded return value.
10571
10572 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10573
10574         * callint.c:
10575         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10576
10577 2000-10-27  Andy Piper  <andy@xemacs.org>
10578
10579         * gutter.c (Fset_default_gutter_position): default left and right
10580         gutters to visible.
10581         (calculate_gutter_size): calculate resonable heuristic for left
10582         and right gutter sizes.
10583         (specifier_vars_of_gutter): change left and right gutter sizes to
10584         autodetect.
10585         (calculate_gutter_size_from_display_lines): new function.
10586         (output_gutter): check for resizing on left and right gutters.
10587         (clear_gutter): don't special case top and left gutters.
10588         (specifier_vars_of_gutter): use new signature for
10589         set_specifier_caching.
10590
10591         * glyphs-x.c (x_redisplay_widget): spelling fix.
10592         * glyphs.c (specifier_vars_of_glyphs):
10593         * menubar.c (specifier_vars_of_menubar):
10594         * redisplay.c (specifier_vars_of_redisplay):
10595         * toolbar.c (specifier_vars_of_toolbar):
10596         * window.c (specifier_vars_of_window):
10597         * scrollbar.c (specifier_vars_of_scrollbar):
10598         (complex_vars_of_scrollbar): use new signature for
10599         set_specifier_caching.
10600
10601         * specifier.c (set_specifier_caching): include recompute flag.
10602         (recompute_one_cached_specifier_in_window): always recompute if
10603         flag set.
10604         (recompute_one_cached_specifier_in_frame): ditto.
10605
10606         * specifier.h (struct specifier_caching): add recompute flag.
10607
10608 2000-10-24  Andy Piper  <andy@xemacs.org>
10609
10610         * unexcw.c (copy_executable_and_dump_data_section): add new
10611         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10612         5.0 happy.
10613
10614 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10615
10616         * console-x.h (x_device): New member modifier_release_time.
10617         * event-Xt.c (x_handle_sticky_modifiers):
10618         Bound interval modifier keys are sticky.
10619         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10620         * events.h: extern it.
10621
10622 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10623
10624         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10625
10626 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10627
10628         * event-stream.c (execute_command_event): Preserve current_events
10629         and the like when event is misc-user-event.
10630         Inhibit quit during the call to maybe_echo_keys.
10631
10632 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10633
10634         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10635         symlink when buffer is killed.
10636         (inhibit_clash_detection): New variable.
10637
10638 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10639
10640         * console.c (Fset_input_method): Trigger redisplay on tty.
10641
10642 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10643
10644         * process.c (Fprocess_status): Revert to previous behavior:
10645         (process-status "nosuchprocess") ==> nil
10646
10647 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10648
10649         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10650         Work around another GCC 2.95.2 optimizer bug.
10651
10652 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10653
10654         * process.c (Fget_process): Use LIST_LOOP_2.
10655         (kill_buffer_processes): Use LIST_LOOP_2.
10656
10657         * minibuf.c (Fall_completions):
10658         Delete old non-functional code for FSF fourth argument.
10659
10660         * frame.c (frame_matches_frame_spec):
10661         Renamed from `frame_matches_frametype'.  Update all callers.
10662         (device_matches_device_spec):
10663         Renamed from 'device_matches_console_spec'.  Update all callers.
10664
10665         * doc.c (Fsubstitute_command_keys):
10666         Remove buffer overflow crash.  Small code cleanups.
10667
10668         * casetab.c (check_case_table): Simpler code.
10669
10670         * window.c (Freplace_buffer_in_windows):
10671         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10672         (and similar implementation) as Fdelete_windows_on.
10673         Update all callers.
10674
10675         * alloc.c (Fmake_list):
10676         * alloc.c (make_vector):
10677         * alloc.c (Fmake_vector):
10678         * alloc.c (make_bit_vector):
10679         * alloc.c (Fmake_bit_vector):
10680         * alloc.c (Fbit_vector):
10681         * alloc.c (Fmake_string):
10682         * alloc.c (Fpurecopy):
10683         * alloc.c (Fmemory_limit):
10684         * buffer.c:
10685         * buffer.c (Fget_buffer):
10686         * buffer.c (Fkill_buffer):
10687         * buffer.c (complex_vars_of_buffer):
10688         * bytecode.c (Fcompiled_function_stack_depth):
10689         * callint.c (Fprefix_numeric_value):
10690         * event-stream.c:
10691         * event-stream.c (Fread_key_sequence):
10692         * casetab.c:
10693         * casetab.c (Fcase_table_p):
10694         * casetab.c (check_case_table):
10695         * casetab.c (Fset_case_table):
10696         * casetab.c (Fset_standard_case_table):
10697         * chartab.c:
10698         * chartab.c (Fchar_table_type):
10699         * chartab.c (Freset_char_table):
10700         * chartab.c (Fget_char_table):
10701         * chartab.c (Fget_range_char_table):
10702         * chartab.c (Fput_char_table):
10703         * chartab.c (Fmap_char_table):
10704         * chartab.c (Fcategory_table_p):
10705         * chartab.c (Fcheck_category_at):
10706         * chartab.c (Fchar_in_category_p):
10707         * chartab.c (Fcategory_table):
10708         * chartab.c (Fcopy_category_table):
10709         * chartab.c (Fset_category_table):
10710         * chartab.c (Fcategory_designator_p):
10711         * chartab.c (Fcategory_table_value_p):
10712         * cmds.c (Fdelete_char):
10713         * cmds.c (Fdelete_backward_char):
10714         * cmds.c (Fself_insert_command):
10715         * cmds.c (Fself_insert_internal):
10716         * console.c (Fvalid_console_type_p):
10717         * console.c (Fcdfw_console):
10718         * console.c (Fconsole_type):
10719         * console.c (Fconsole_name):
10720         * console.c (Fconsole_device_list):
10721         * console.c (Fconsole_on_window_system_p):
10722         * data.c:
10723         * data.c (Feq):
10724         * data.c (Fold_eq):
10725         * data.c (Fsubr_interactive):
10726         * data.c (Fchar_to_int):
10727         * data.c (Fint_to_char):
10728         * data.c (Fsetcar):
10729         * data.c (Fsetcdr):
10730         * data.c (Fnumber_to_string):
10731         * data.c (Fstring_to_number):
10732         * data.c (Frem):
10733         * database.c (mark_database):
10734         * database.c (finalize_database):
10735         * database.c (Fdatabase_live_p):
10736         * database.c (Fdatabasep):
10737         * device-x.c (Fx_get_resource):
10738         * device.c (Fdfw_device):
10739         * dired.c:
10740         * dired.c (Ffile_name_completion):
10741         * dired.c (Ffile_name_all_completions):
10742         * dired.c (Fuser_name_completion):
10743         * dired.c (Fuser_name_completion_1):
10744         * dired.c (Fuser_name_all_completions):
10745         * doc.c (Fdocumentation):
10746         * doc.c (Fdocumentation_property):
10747         * doc.c (Fsubstitute_command_keys):
10748         * editfns.c:
10749         * editfns.c (Fchar_to_string):
10750         * editfns.c (Fstring_to_char):
10751         * editfns.c (Ftemp_directory):
10752         * editfns.c (Finsert_char):
10753         * editfns.c (Fbuffer_substring_no_properties):
10754         * editfns.c (Fnarrow_to_region):
10755         * editfns.c (Fchar_equal):
10756         * editfns.c (Fchar_Equal):
10757         * editfns.c (Ftranspose_regions):
10758         * emacs.c (Fdump_emacs):
10759         * eval.c (Fthrow):
10760         * eval.c (Fcommand_execute):
10761         * eval.c (Fautoload):
10762         * eval.c (Fbacktrace):
10763         * eval.c (Fbacktrace_frame):
10764         * events.c:
10765         * events.c (Fcopy_event):
10766         * events.c (Fcharacter_to_event):
10767         * events.c (Fevent_button):
10768         * events.c (Fevent_process):
10769         * extents.c:
10770         * extents.c (Fnext_extent_change):
10771         * extents.c (Fextent_property):
10772         * faces.c (Ffacep):
10773         * faces.c (Fmake_face):
10774         * file-coding.c:
10775         * file-coding.c (Fencode_shift_jis_char):
10776         * file-coding.c (Fencode_big5_char):
10777         * fileio.c (Ffile_name_directory):
10778         * fileio.c (Ffile_name_nondirectory):
10779         * fileio.c (Ffile_name_as_directory):
10780         * fileio.c (Fdirectory_file_name):
10781         * fileio.c (Ffile_truename):
10782         * fileio.c (Fsubstitute_in_file_name):
10783         * fileio.c (Ffile_modes):
10784         * fileio.c (Fset_file_modes):
10785         * fileio.c (Fset_default_file_modes):
10786         * fileio.c (Fverify_visited_file_modtime):
10787         * floatfns.c (Facos):
10788         * floatfns.c (Fasin):
10789         * floatfns.c (Fatan):
10790         * floatfns.c (Fcos):
10791         * floatfns.c (Fsin):
10792         * floatfns.c (Ftan):
10793         * floatfns.c (Fbessel_j0):
10794         * floatfns.c (Fbessel_j1):
10795         * floatfns.c (Fbessel_jn):
10796         * floatfns.c (Fbessel_y0):
10797         * floatfns.c (Fbessel_y1):
10798         * floatfns.c (Fbessel_yn):
10799         * floatfns.c (Ferf):
10800         * floatfns.c (Ferfc):
10801         * floatfns.c (Flog_gamma):
10802         * floatfns.c (Fexp):
10803         * floatfns.c (Fexpt):
10804         * floatfns.c (Flog):
10805         * floatfns.c (Flog10):
10806         * floatfns.c (Fsqrt):
10807         * floatfns.c (Fcube_root):
10808         * floatfns.c (Facosh):
10809         * floatfns.c (Fasinh):
10810         * floatfns.c (Fatanh):
10811         * floatfns.c (Fcosh):
10812         * floatfns.c (Fsinh):
10813         * floatfns.c (Ftanh):
10814         * floatfns.c (Fabs):
10815         * floatfns.c (Ffloat):
10816         * floatfns.c (Flogb):
10817         * floatfns.c (Fceiling):
10818         * floatfns.c (Ffloor):
10819         * floatfns.c (Fround):
10820         * floatfns.c (Ftruncate):
10821         * floatfns.c (Ffceiling):
10822         * floatfns.c (Fffloor):
10823         * floatfns.c (Ffround):
10824         * floatfns.c (Fftruncate):
10825         * fns.c (Fstring_equal):
10826         * fns.c (Fstring_lessp):
10827         * fns.c (concat2):
10828         * fns.c (concat3):
10829         * fns.c (vconcat2):
10830         * fns.c (vconcat3):
10831         * fns.c (Fsubstring):
10832         * fns.c (Fassoc):
10833         * fns.c (Fold_assoc):
10834         * fns.c (assoc_no_quit):
10835         * fns.c (Fassq):
10836         * fns.c (Fold_assq):
10837         * fns.c (assq_no_quit):
10838         * fns.c (Frassoc):
10839         * fns.c (Fold_rassoc):
10840         * fns.c (Frassq):
10841         * fns.c (Fold_rassq):
10842         * fns.c (rassq_no_quit):
10843         * fns.c (Fremassoc):
10844         * fns.c (remassoc_no_quit):
10845         * fns.c (Fremassq):
10846         * fns.c (remassq_no_quit):
10847         * fns.c (Fremrassoc):
10848         * fns.c (Fremrassq):
10849         * fns.c (remrassq_no_quit):
10850         * fns.c (Fsort):
10851         * fns.c (Fplist_get):
10852         * fns.c (Fplist_put):
10853         * fns.c (Fplist_remprop):
10854         * fns.c (Fplist_member):
10855         * fns.c (Flax_plist_get):
10856         * fns.c (Flax_plist_put):
10857         * fns.c (Flax_plist_remprop):
10858         * fns.c (Flax_plist_member):
10859         * fns.c (Fequal):
10860         * fns.c (Fold_equal):
10861         * fns.c (Frequire):
10862         * fns.c (Fbase64_encode_region):
10863         * fns.c (Fbase64_encode_string):
10864         * fns.c (Fbase64_decode_region):
10865         * frame.c:
10866         * frame.c (frame_matches_frame_spec):
10867         * frame.c (device_matches_device_spec):
10868         * frame.c (next_frame):
10869         * frame.c (previous_frame):
10870         * frame.c (Fnext_frame):
10871         * frame.c (Fprevious_frame):
10872         * frame.c (Fframe_property):
10873         * frame.c (Fset_frame_height):
10874         * frame.c (Fset_frame_size):
10875         * frame.h:
10876         * glyphs.c:
10877         * glyphs.c (if):
10878         * glyphs.c (decode_error_behavior_flag):
10879         * glyphs.c (Fmake_image_instance):
10880         * indent.c (Findent_to):
10881         * intl.c (Fignore_defer_gettext):
10882         * keymap.c (Fkeymapp):
10883         * keymap.c (Flookup_key):
10884         * lread.c:
10885         * lread.c (Fload_internal):
10886         * lread.c (Feval_buffer):
10887         * lread.c (Feval_region):
10888         * macros.c (Fexecute_kbd_macro):
10889         * marker.c (set_marker_internal):
10890         * marker.c (Fset_marker):
10891         * marker.c (set_marker_restricted):
10892         * marker.c (Fcopy_marker):
10893         * marker.c (noseeum_copy_marker):
10894         * menubar.c:
10895         * menubar.c (Fpopup_menu):
10896         * minibuf.c:
10897         * mule-charset.c (Fcharset_name):
10898         * mule-charset.c (Fchar_charset):
10899         * mule-charset.c (Fchar_octet):
10900         * mule-charset.c (Fsplit_char):
10901         * mule-wnnfns.c (Fwnn_open):
10902         * mule-wnnfns.c (Fwnn_dict_comment):
10903         * mule-wnnfns.c (Fwnn_quit_henkan):
10904         * mule-wnnfns.c (Fwnn_word_toroku):
10905         * mule-wnnfns.c (Fwnn_word_sakujo):
10906         * mule-wnnfns.c (Fwnn_word_use):
10907         * mule-wnnfns.c (Fwnn_hindo_set):
10908         * objects.c:
10909         * objects.c (Fmake_color_instance):
10910         * objects.c (Fmake_font_instance):
10911         * print.c (Fwrite_char):
10912         * process.c:
10913         * process.c (mark_process):
10914         * process.c (print_process):
10915         * process.c (get_process_from_usid):
10916         * process.c (Fprocessp):
10917         * process.c (Fprocess_live_p):
10918         * process.c (Fget_process):
10919         * process.c (Fget_buffer_process):
10920         * process.c (get_process):
10921         * process.c (Fprocess_id):
10922         * process.c (Fprocess_name):
10923         * process.c (Fprocess_command):
10924         * process.c (init_process_io_handles):
10925         * process.c (start_process_unwind):
10926         * process.c (Fstart_process_internal):
10927         * process.c (Fopen_multicast_group_internal):
10928         * process.c (Fset_process_window_size):
10929         * process.c (read_process_output):
10930         * process.c (send_process):
10931         * process.c (Fprocess_tty_name):
10932         * process.c (Fset_process_buffer):
10933         * process.c (Fprocess_buffer):
10934         * process.c (Fprocess_mark):
10935         * process.c (set_process_filter):
10936         * process.c (Fset_process_filter):
10937         * process.c (Fprocess_filter):
10938         * process.c (Fprocess_send_region):
10939         * process.c (Fprocess_send_string):
10940         * process.c (exec_sentinel):
10941         * process.c (Fset_process_sentinel):
10942         * process.c (Fprocess_sentinel):
10943         * process.c (status_notify):
10944         * process.c (Fprocess_status):
10945         * process.c (Fprocess_exit_status):
10946         * process.c (process_send_signal):
10947         * process.c (Fprocess_send_eof):
10948         * process.c (deactivate_process):
10949         * process.c (remove_process):
10950         * process.c (Fdelete_process):
10951         * process.c (kill_buffer_processes):
10952         * process.c (Fprocess_kill_without_query):
10953         * process.c (Fprocess_kill_without_query_p):
10954         * rangetab.c:
10955         * rangetab.c (Fget_range_table):
10956         * rangetab.c (Fput_range_table):
10957         * rangetab.c (Fremove_range_table):
10958         * rangetab.c (Fclear_range_table):
10959         * search.c:
10960         * search.c (Fskip_chars_forward):
10961         * search.c (Fskip_chars_backward):
10962         * search.c (Fskip_syntax_forward):
10963         * search.c (Fskip_syntax_backward):
10964         * search.c (search_command):
10965         * search.c (Freplace_match):
10966         * search.c (Fregexp_quote):
10967         * select.c (Fown_selection_internal):
10968         * select.c (Fselection_owner_p):
10969         * select.c (Fselection_exists_p):
10970         * select.c (Fget_selection_internal):
10971         * specifier.c:
10972         * symbols.c:
10973         * symbols.c (Fintern):
10974         * symbols.c (Fintern_soft):
10975         * symbols.c (Funintern):
10976         * symbols.c (Fapropos_internal):
10977         * symbols.c (Fset_default):
10978         * syntax.c:
10979         * syntax.c (Fsyntax_table_p):
10980         * syntax.c (Fcopy_syntax_table):
10981         * syntax.c (Fset_syntax_table):
10982         * syntax.c (Fchar_syntax):
10983         * syntax.c (syntax_match):
10984         * syntax.c (Fmatching_paren):
10985         * syntax.c (Fforward_word):
10986         * syntax.c (scan_lists):
10987         * syntax.c (Fscan_lists):
10988         * syntax.c (Fscan_sexps):
10989         * syntax.c (Fparse_partial_sexp):
10990         * toolbar.c (Fcheck_toolbar_button_syntax):
10991         * tooltalk.doc:
10992         * window.c:
10993         * window.c (Fwindowp):
10994         * window.c (Fwindow_live_p):
10995         * window.c (Fwindow_point):
10996         * window.c (Fdelete_window):
10997         * window.c (Fnext_window):
10998         * window.c (Fprevious_window):
10999         * window.c (Fother_window):
11000         * window.c (window_loop):
11001         * window.c (Fget_lru_window):
11002         * window.c (Fsplit_window):
11003         * window.c (Fenlarge_window):
11004         * window.c (Fenlarge_window_pixels):
11005         * window.c (Fshrink_window):
11006         * window.c (Fshrink_window_pixels):
11007         * window.c (change_window_height):
11008         * window.c (Fwindow_configuration_p):
11009         * window.c (Fcurrent_window_configuration):
11010         * window.h:
11011         * casefiddle.c (casify_object):
11012         * casefiddle.c (Fupcase):
11013         * casefiddle.c (Fdowncase):
11014         * casefiddle.c (Fcapitalize):
11015         * casefiddle.c (Fupcase_initials):
11016         * casefiddle.c (casify_region_internal):
11017         * casefiddle.c (casify_region):
11018         * casefiddle.c (Fupcase_region):
11019         * casefiddle.c (Fdowncase_region):
11020         * casefiddle.c (Fcapitalize_region):
11021         * casefiddle.c (Fupcase_initials_region):
11022         * casefiddle.c (Fupcase_word):
11023         * casefiddle.c (Fdowncase_word):
11024         * casefiddle.c (Fcapitalize_word):
11025         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
11026         Replace 0 with '\0' when working with bytes.
11027         Replace initial "(" with "\(" in docstrings.
11028
11029 2000-11-01  Martin Buchholz  <martin@xemacs.org>
11030
11031         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
11032
11033         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
11034
11035 2000-10-31  Martin Buchholz  <martin@xemacs.org>
11036
11037         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
11038
11039 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
11040
11041         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
11042         correctly.
11043
11044 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
11045
11046         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
11047         (inhibit_auto_save_session): New variable.
11048         (vars_of_fileio): Declare and initialize them.
11049         * fileio.c (Fdo_auto_save): Don't create session file if
11050         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
11051
11052 2000-10-31  Martin Buchholz  <martin@xemacs.org>
11053
11054         * sgiplay.c (play_internal): C++ compilability.
11055         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
11056         * callproc.c (Fold_call_process_internal):
11057         Remove unused vars `env', `first'.
11058         * scrollbar.c (update_scrollbar_instance):
11059         #### unused var `current_window'.
11060         * redisplay-tty.c: Put currently unused vars insert_mode_on,
11061         etc. within #ifdef NOT_YET.
11062         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
11063         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
11064         * specifier.c (specifier_instance):
11065         #### unused var `tag'.
11066         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
11067
11068 2000-10-27  Martin Buchholz  <martin@xemacs.org>
11069
11070         * fns.c (Fbutlast):
11071         * fns.c (list_sort):
11072         * fns.c (Ffillarray):
11073         * fns.c (bytecode_nconc2):
11074         * fns.c (Fnconc):
11075         * fns.c (mapcar1):
11076         * fns.c (Fmapconcat):
11077         Be pedantically 64-bit correct.  For the time when someone will
11078         want to have a list with length > 2**32.
11079
11080         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11081         Work around MIPSpro compiler bug.
11082
11083         * process-unix.c (unix_kill_child_process): Add snarky comment.
11084         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
11085
11086         * config.h.in: Oops, _getpt ==> _getpty
11087
11088 2000-10-26  Martin Buchholz  <martin@xemacs.org>
11089
11090         * config.h.in:
11091         * regex.c:
11092         Use void*, not char*, as return type of alloca().
11093
11094         * alloc.c (free_marker): Side effect inside assert expression!
11095
11096 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
11097
11098         * mule-charset.c (Fset_charset_ccl_program): To check
11099         if the given ccl program is valid, use setup_ccl_program()
11100         instead of CHECK_VECTOR().
11101         (Fmake_charset): Likewise.
11102
11103 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
11104
11105         * faces.c (get_extent_fragment_face_cache_index):
11106         Fix cachel.merged_faces memory leak.
11107
11108 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
11109
11110         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
11111         Reset MSB of octets obtained by DECODE_SJIS
11112         because of the incompatibility with Emacs.
11113         (ccl_driver)<CCL_ENCODE_SJIS>:
11114         Set MSB of octets before passing them to
11115         ENCODE_SJIS because of the incompatibility
11116         with Emacs.
11117
11118 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
11119
11120         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
11121         (DECLARE_LRECORD): Undo the last change.
11122         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
11123
11124 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
11125
11126         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
11127         the implementation to lrecord_implementations_table.
11128
11129 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
11130
11131         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
11132         initial value of `lrecord_type_##c_name' and
11133         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
11134         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
11135         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
11136         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
11137         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
11138
11139 2000-10-17  Martin Buchholz  <martin@xemacs.org>
11140
11141         * miscplay.c (sndcnv8S_2mono):
11142         (sndcnv2monounsigned):
11143         (sndcnvULaw_2linear):
11144         (sndcnv16swap):
11145         Remove implementation-defined behavior.
11146
11147 2000-10-12  Martin Buchholz  <martin@xemacs.org>
11148
11149         * input-method-xlib.c: Warning suppression.
11150
11151 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
11152
11153         * mule-ccl.c: Sync up with Emacs 21.0.90.
11154         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
11155         Do nothing.
11156         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
11157         Likewise.
11158         (ccl_driver[WriteMultibyteChar2]): Bug fix.
11159         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
11160         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
11161         leading char belongs to official 2-dimensional charset.
11162         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
11163         write the given character as is.  Otherwise,
11164         if it is a multibyte char, convert it by
11165         non_ascii_set_charptr_emchar, then write it.
11166         (CCL_WRITE_STRING): Likewise.
11167         (ccl_get_compiled_code): New function.
11168         (setup_ccl_program): When ccl_prog is invalid,
11169         return -1.
11170         (Fregister_code_conversion_map): New function.
11171         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
11172
11173         * mule-ccl.h: Sync up with Emacs 21.0.90.
11174         (Fregister_ccl_program): export it.
11175
11176         * redisplay-msw.c (separate_textual_runs):
11177         If ccl program is not valid, don't do ccl conversion.
11178
11179         * redisplay-x.c (separate_textual_runs): Ditto.
11180
11181         * file-coding.c (Fmake_coding_system):
11182         When type is ccl and value is vector, register it
11183         with a proper symbol.  And checks whether the
11184         given ccl program is valid.
11185         (mule_decode): When calling ccl_driver, if src indicates
11186         NULL pointer, set an empty string instead.
11187         (mule_encode): Likewise.
11188
11189 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11190
11191         The following large batch of changes gets us back to a state of
11192         C++ compilability.  Extbyte is now a char, which means that
11193         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11194
11195         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11196
11197         * sound.c (Fplay_sound): Type correctness.
11198
11199         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11200         (x_get_window_property): Type correctness.
11201         (receive_incremental_selection): unsigned char ==> Extbyte
11202         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11203         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11204         (Fx_store_cutbuffer_internal): Type correctness.
11205
11206         * process-unix.c (try_to_initialize_subtty): Type correctness.
11207
11208         * objects-x.c (x_print_color_instance): Type correctness.
11209         (x_print_font_instance): Type correctness.
11210         (x_list_fonts): SExtbyte ==> Extbyte.
11211         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11212         (x_find_charset_font): SExtbyte ==> Extbyte.
11213         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11214         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11215         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11216         Use bufbyte_strcmp.
11217
11218         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11219         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11220         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11221         (BYTE_C0_P): Use bit ops for char-signedness safety.
11222         (BYTE_C1_P): Use bit ops for char-signedness safety.
11223         (CHARSET_BY_LEADING_BYTE):
11224         (CHARSET_BY_ATTRIBUTES):
11225         Always use inline function.
11226         Use type_checking_assert.
11227         Hide chlook.
11228
11229         * mule-charset.c (non_ascii_charptr_copy_char):
11230         Modify to work with both ASCII and non-ASCII characters.
11231         Improve docs and variable names.
11232         Replace over-clever fall-through switch with a simple loop.
11233         (Lstream_get_emchar_1):
11234         Replace over-clever fall-through switch with a simple loop.
11235
11236         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11237         Warning suppression.
11238
11239         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11240         the return value of Lstream_getc, which could be EOF as well.
11241
11242         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11243
11244         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11245         APIs can be used on Extbytes without casts.  Risky!
11246         (SExtbyte): Remove.
11247         (UExtbyte): Remove.
11248
11249         * input-method-xlib.c (XIM_init_device):
11250         Use Xlib.h instead of IntrinsicP.h.
11251         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11252         which will break in X11R7.
11253         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11254         to call XRegisterIMInstantiateCallback with correct types.
11255
11256         * gui-x.c (button_item_to_widget_value): Type correctness.
11257
11258         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11259
11260         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11261         (xbm_instantiate_1): Type correctness.
11262         (BUILD_GLYPH_INST):  Type correctness.
11263
11264         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11265
11266         * file-coding.c:
11267         (decode_coding_sjis):
11268         (decode_coding_big5):
11269         (decode_coding_ucs4):
11270         (decode_coding_utf8):
11271         (decode_coding_iso2022):
11272         (decode_coding_no_conversion):
11273         Make all decoding functions take an Extbyte * arg.
11274         (encode_coding_sjis):
11275         (encode_coding_big5):
11276         (encode_coding_ucs4):
11277         (encode_coding_utf8):
11278         (encode_coding_iso2022):
11279         (encode_coding_no_conversion):
11280         Make all encoding functions take a Bufbyte * arg.
11281         Use size_t instead of unsigned int for memory sizes.
11282         Only cast to unsigned char whenever dereferencing Extbyte *.
11283
11284         * doc.c (unparesseuxify_doc_string): Type correctness.
11285
11286         * console-x.c (split_up_display_spec):
11287         Rewrite without using details of internal string representation.
11288         (x_semi_canonicalize_device_connection): Type correctness.
11289
11290         * config.h.in:
11291         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11292         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11293         (HAVE_XFREE386): Removed.
11294
11295         * buffer.h (DEC_CHARPTR): `const' correctness.
11296         (bufbyte_strcmp): New.
11297         (bufbyte_memcmp): New.
11298
11299         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11300
11301         * buffer.h (XCHAR_OR_CHAR_INT):
11302         Always use inline function.
11303         Remove redundant type checking assert() - XINT will abort quite nicely.
11304
11305 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11306
11307         * search.c (Freplace_match): Set newtext to an empty string.
11308
11309 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11310
11311         * s/decosf1-3.h: Remove #include of stropts.h
11312         * s/ptx.h: Remove #include of stropts.h
11313         * s/usg5-4.h: Remove #include of stropts.h
11314         * sysproc.h:
11315         * config.h.in:
11316         Use stropts.h, not sys/stropts.h.
11317         Use strtio.h, not sys/strtio.h.
11318
11319 2000-10-04  Martin Buchholz <martin@xemacs.org>
11320
11321         * XEmacs 21.2.36 is released.
11322
11323 2000-09-21  Andy Piper  <andy@xemacs.org>
11324
11325         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11326         changes still involve copying the widget tree.
11327         (update_widget_face): make sure a change is register in the widget
11328         tree. Call update_tab_widget_face appropriately.
11329         (update_tab_widget_face): ditto.
11330         (x_tab_control_redisplay): make sure non-structural changes still
11331         involve copying the widget tree.
11332
11333 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11334
11335         * lread.c (locate_file): Check the path element is non-nil.
11336
11337 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11338
11339         * lisp.h: Warning suppression for SCO compilers.
11340
11341         * redisplay-tty.c (reset_tty_modes): Fix crash.
11342         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11343
11344 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11345
11346         Big signal/process handling overhaul.  Bugs fixed:
11347         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11348         M-x comint-kill-subjob should work for both values nil and t of
11349         process-connection-type. It was broken on most platforms.
11350         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11351         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11352         * process-unix.c: Signal/Process handling overhaul.
11353         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11354         (allocate_pty): Use all available modern methods of allocating
11355         ptys, falling back to old style BSD allocation as a last resort.
11356         Use allegedly more secure Unix98 pty allocation by default.
11357         (allocate_pty_the_old_fashioned_way): New. the last resort.
11358         (unix_create_process): Push ptem, ldterm, ttcompat where
11359         available.  Autoconfiscate.
11360         (try_to_initialize_subtty): New.
11361         (unix_kill_child_process): Proper signal handling for ptys on most
11362         platforms, using special knowledge of AIX, BSD, etc...
11363         (unix_create_process): Always disconnect_controlling_terminal() for
11364         subprocesses, whether using ptys or not.
11365         * process.h: Remove old getpt-dependent PTY code.
11366         * process.c (Fprocess_send_signal): New, obvious generic function.
11367         (decode_signal): New.
11368         (Finterrupt_process):
11369         (Fkill_process):
11370         (Fquit_process):
11371         (Fstop_process):
11372         (Fcontinue_process):
11373         (Fsignal_process): Use decode_signal.
11374         (process_send_signal):
11375         Many docstring corrections.
11376         Allow any signal to be sent to a process object.
11377         * config.h.in: Add symbols for big signal/process overhaul.
11378         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11379         * sysproc.h: Include process-related headers, where available:
11380         sys/stropts.h sys/strtio.h pty.h libutil.h
11381         * s/irix4-0.h:
11382         * s/irix5-0.h:
11383         * s/cygwin32.h:
11384         * s/gnu.h:
11385         * s/linux.h:
11386         * s/hpux.h:
11387         * s/aix3-1.h:
11388         Remove old S&M pty stuff.
11389         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11390         * systty.h: Simplify cpp hackery, improve comments.
11391         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11392
11393         * editfns.c (Fformat_time_string):
11394         Be a little more paranoid with the return value of ctime.
11395
11396         * fileio.c (check_executable):
11397         (check_writable):
11398         Use symbolic constants X_OK, W_OK.
11399
11400         * console-x.c (split_up_display_spec): Fix a warning.
11401
11402 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11403
11404         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11405         * ntproc.c (sys_spawnve): make_string ==> build_string
11406         Small clarity improvements.
11407
11408 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11409
11410         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11411
11412         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11413
11414         * config.h.in (HAVE_STRCASECMP): Remove.
11415
11416 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11417
11418         * redisplay-output.c (redisplay_output_pixmap):
11419         Cleaner and possibly more 64-bit correct code.
11420
11421 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11422
11423         * dumper.c (pdump_load_finish): move restoration of
11424         `noninteractive1' to emacs.c (main_1).
11425         * emacs.c (main_1): protect LISP-visible command-line flags
11426         from pdump_load().
11427
11428 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11429
11430         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11431         DUMP_TARGET instead of literal program names.
11432
11433 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11434
11435         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11436
11437 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11438
11439         * *: Spelling mega-patch
11440
11441 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11442
11443         * fns.c (bad_bad_turtle):
11444         Delete "Eek!" comment, since we fixed the bug to which it refers.
11445
11446 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11447
11448         * alloca.c: Replace REGISTER with register.
11449
11450 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11451
11452         * file-coding.c (ucs_to_char): Use countof.
11453
11454 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11455
11456         * file-coding.c: (ucs_to_char):
11457         (complex_vars_of_file_coding):
11458         Use countof instead of sizeof.
11459         Use CHECK_NATNUM instead of CHECK_INT.
11460
11461         * sysdep.c (strcasecmp): Remove.
11462         * device-x.c (ascii_strcasecmp): New.
11463         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11464         Avoid using non-standard non-portable strcasecmp.
11465
11466 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11467
11468         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11469         * font-lock.c: remove reference to emacsfns.h.
11470         * search.c: small doc improvement.
11471         * event-Xt.c: correct file names in comments.
11472         * console-x.h Correct file names in comments.
11473         * frame.c: Correct file names in comments.
11474         * event-stream.c: remove Energize from comments.
11475
11476 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11477
11478         * symeval.h (DEFERROR_STANDARD):
11479         (DEFERROR):
11480         (DEFSYMBOL):
11481         (DEFSYMBOL_NO_DUMP):
11482         (DEFSYMBOL_MULTIWORD_PREDICATE):
11483         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11484         (DEFKEYWORD):
11485         The construct &##name is not sensible C.
11486         Fixes compilation errors with Unixware native compiler.
11487
11488 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11489
11490         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11491         (next_frame_internal): Removed.  We now just have next_frame.
11492         (next_frame):
11493         Write a simpler and cleaner one-pass algorithm.
11494         Remove called_from_delete_device arg and #ifdefed-out code.
11495         (previous_frame):
11496         Renamed from prev_frame.  Update callers.
11497         Cleaned up to have an analogous implementation to next_frame.
11498         (other_visible_frames_internal): Remove the
11499         called_from_delete_device bogus arg, and hence, remove this
11500         function.  Just use other_visible_frames().
11501
11502         * window.c (Fnext_window):
11503         Prettify docstring.
11504         Since next_frame() is guaranteed to return a frame, remove check
11505         for nil inserted in previous patch.
11506         (Fprevious_window):
11507         Prettify docstring.
11508         Make code look more like Fnext_window.
11509         (window_loop):
11510         Respect the `console' arg when iterating through windows.
11511         Fixes bug: (get-buffer-window buffer t device) not respecting
11512         the `device' arg.
11513         This function needs more work, as others have pointed out.
11514
11515         * frame.h: Rename prev_frame to previous_frame.
11516         device_matches_console_spec no longer takes a `frame' arg.
11517
11518         * s/gnu.h:
11519         * s/linux.h:
11520         * s/hpux.h:
11521         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11522         From "Golubev I. N." <gin@mo.msk.ru>.
11523
11524         * make-src-depend: Fix typo.
11525
11526 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11527
11528         * window.c (Fnext_window):
11529         next_frame() might return nil, not a frame.
11530         Fixes this crash:
11531         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11532
11533         * frame.c (next_frame_internal):
11534         We've passed a frame if we've passed its device.
11535         Fixes this crash:
11536         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11537 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11538
11539 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11540
11541         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11542         Allow option to suppress accelerators in menu/dialog items.
11543         (populate_or_checksum_helper): Pass dialog title through above.
11544
11545 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11546
11547         * event-msw.c (mswindows_key_to_emacs_keysym):
11548         Add "pause" key, fix "menu" key.
11549
11550 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11551
11552         * eval.c (reinit_vars_of_eval):
11553         Increase max_lisp_eval_depth to 1000,
11554         required for thai-xtis.el to byte-compile under some circumstances.
11555
11556 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11557
11558         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11559         From Kenichi Handa.
11560
11561 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11562
11563         * make-src-depend: Make the generated Makefiles smaller.
11564
11565         * s/hpux.h (SETUP_SLAVE_PTY):
11566         Provide a %d in the format string for the errno argument.
11567
11568         * editfns.c (Ftemp_directory):
11569         Warning fix.
11570         Avoid buffer overrun on very long file name.
11571
11572         * input-method-xlib.c (XIM_init_device):
11573         6th parameter of XRegisterIMInstantiateCallback has different
11574         pointer types on different OSes, so simply cast to (void *).
11575
11576         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11577
11578         * sysdll.c (dll_open):
11579         shl_load will hang hard if passed a NULL filename.
11580         Simply return NULL for compatibility with dlopen.
11581         * sysdll.c: Conform to XEmacs coding standards.
11582
11583         * sysdep.c (get_pty_max_bytes):
11584         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11585
11586 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11587
11588         * tooltalk.c: Add #include <syssignal.h>
11589
11590 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11591
11592         * s/hpux.h: Don't use undefined function sigunblock().
11593
11594 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11595
11596         * config.h.in: Add HAVE_BALLOON_HELP.
11597         * emacs.c: Use HAVE_BALLOON_HELP.
11598         * Makefile.in.in (x_objs):
11599         Make Balloon Help conditional on finding shape.h.
11600
11601 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11602
11603         * syntax.c (regex_emacs_buffer_p): New variable.
11604         * syntax.h (regex_emacs_buffer_p): extern.
11605         * search.c (looking_at_1):
11606         (string_match_1):
11607         (fast_string_match):
11608         (search_buffer): Set regex_emacs_buffer_p.
11609         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11610         when before_dot, at_dot, after_dot.
11611
11612 2000-08-23  Andy Piper  <andy@xemacs.org>
11613
11614         * gui-x.c (popup_selection_callback): Only set action_occurred
11615         when we really have an image instance.
11616         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11617
11618 2000-08-23  Andy Piper  <andy@xemacs.org>
11619
11620         * gui-msw.c (mswindows_handle_gui_wm_command): set
11621         action_occurred.
11622         * gui-x.c (popup_selection_callback): ditto.
11623
11624         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11625         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11626         (struct Lisp_Image_Instance): add action_occurred flag.
11627
11628         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11629         (image_instance_changed): ditto.
11630         (reset_frame_subwindow_instance_cache): only unmap windows - do
11631         not remove them from the cache also.
11632
11633         * glyphs-widget.c (tab_control_update): better debug.
11634         (progress_gauge_update): ditto.
11635         (layout_update): ditto.
11636         (layout_instantiate): ditto.
11637         (tab_control_order_only_changed): cope with null pending items.
11638
11639         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11640         debug. Force selection of an item when an action occurred. Cope
11641         with null pending_items.
11642         (mswindows_progress_gauge_redisplay): better debug.
11643         * glyphs-x.c (x_tab_control_redisplay): ditto.
11644
11645         * redisplay.c (redisplay_frame): reset the frame cache if the
11646         frame is garbaged.
11647
11648         * window.c (Fset_window_configuration): potentially re-enable
11649         frame cache reset.
11650         (window_unmap_subwindows): need to finalize instances here since
11651         it is only used in mark_window_as_deleted.
11652
11653 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11654
11655         * nas.c (SndOpenDataForReading):
11656         nas.c (WaveOpenDataForReading):
11657         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11658         Somehow escaped from the 2000-08-14 patch.
11659
11660 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11661
11662         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11663         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11664
11665 2000-08-21  Andy Piper  <andy@xemacs.org>
11666
11667         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11668         window if it is not already displayed.
11669
11670         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11671         it is not already displayed.
11672
11673         * window.c (Fset_window_configuration): don't reset the frame
11674         cache.
11675
11676         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11677         instances from the frame cache if we are actually finalizing them.
11678         (reset_frame_subwindow_instance_cache): reset frame cache only
11679         after unmapping everything.
11680         (map_subwindow): set displayed flag after mapping.
11681
11682 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11683
11684         * data.c (indirect_function):
11685         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11686
11687         * eval.c (function_argcount):
11688         Use original function when signaling errors.
11689
11690 2000-08-18  Andy Piper  <andy@xemacs.org>
11691
11692         * frame.c (delete_frame_internal): use new
11693         free_frame_subwindow_instances name.
11694
11695         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11696         (add_tab_item): make return type correct.
11697         (mswindows_tab_control_instantiate): assert index of tab.
11698         (mswindows_tab_control_redisplay): Re-code to use
11699         gui_item_equal_sans_selected and gui_item_list_find_selected.
11700
11701         * glyphs-widget.c (tab_control_update): Correct comment.
11702
11703         * window.c (window_unmap_subwindows): use new
11704         unmap_subwindow_instance_cache_mapper.
11705         (window_unmap_subwindows_cache_mapper): deleted.
11706         (Fset_window_configuration): comparisons should now be with
11707         EQ. Preserve the subwindow instance cache across configuration
11708         changes.
11709         (allocate_window): ditto.
11710         (make_dummy_parent): ditto.
11711
11712         * glyphs.c (free_frame_subwindow_instances): rename from
11713         free_frame_subwindow_instance_cache. finalize all instances rather
11714         than just those in the display cache.
11715         (finalize_all_subwindow_instances): walk windows unmapping and
11716         finalizing subwindows.
11717         (unmap_subwindow_instance_cache_mapper): moved from
11718         window.c. Allow finalization as well as unmapping.
11719
11720         * gui.c (gui_item_list_find_selected): new function.
11721
11722         * gui.h (gui_item_list_find_selected): declare.
11723
11724         * glyphs-x.c (x_tab_control_redisplay): pick tab
11725         explicitly. Re-code to use gui_item_equal_sans_selected and
11726         gui_item_list_find_selected.
11727
11728         * glyphs-x.h: add lwlib-utils.h
11729
11730         * buffer.c (Frecord_buffer): undo previous change.
11731
11732 2000-08-09  Vin Shelton  <acs@xemacs.org>
11733
11734         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11735         possible.  Create temporary files more securely.  The patch was
11736         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11737         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11738         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11739         for details.
11740
11741 2000-08-07  Ben Wing  <ben@xemacs.org>
11742
11743         * getloadavg.c: remove duplicate (and windows-breaking)
11744         includes of fcntl.h and sys/file.h.
11745
11746         * nt.c: remove duplicate getloadavg() definition.
11747
11748         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11749         encodings.
11750
11751 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11752
11753         * eval.c (function_argcount): If function needs to be autoloaded
11754         actually use the loaded definition.
11755         GCPRO function.
11756
11757 2000-08-05  Ben Wing  <ben@xemacs.org>
11758
11759         * getloadavg.c: add prototype for getloadavg().  remove
11760         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11761         of the code).  remove duplicate header includes.
11762
11763         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11764
11765         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11766         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11767         useful load average.
11768
11769         * alloc.c (reinit_alloc_once_early): removed references to
11770         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11771         the lisp vars are the only things referencing the malloc_sbrk_*
11772         vars, and they were already if 0'd out.  these vars only exist
11773         in the older malloc.c, which is basically unused, and they're
11774         only for informational purposes.
11775
11776         * m\*.h: removed useless VIRT_ADDR_VARIES.
11777
11778         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11779
11780 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11781
11782         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11783         color if the image is a mono pixmap.
11784
11785 2000-07-30  Ben Wing  <ben@xemacs.org>
11786
11787         * Makefile.in.in (release):
11788         Remove stray @.
11789
11790         * buffer.c (directory_is_current_directory):
11791         * dired-msw.c (mswindows_get_files):
11792         * dired.c:
11793         * dired.c (Fdirectory_files):
11794         * dired.c (file_name_completion_stat):
11795         * dired.c (Ffile_attributes):
11796         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11797         preprocessor tricks, to avoid problems on some machines
11798         (e.g. SCO).
11799
11800         * callproc.c (egetenv): GC docs.
11801
11802         * console-msw.h:
11803         * console-msw.h (struct mswindows_dialog_id):
11804         * lrecord.h (lrecord_type):
11805         New object for use with MSW dialogs.
11806
11807         * console.h (struct console_methods):
11808         New enable/disable frame methods, for proper modal dialogs.
11809
11810         * device-msw.c (msprinter_default_printer): Fix to follow
11811         proper Mule conventions.
11812
11813         * device-msw.c:
11814         * device-msw.c (signal_open_printer_error):
11815         * device-msw.c (msprinter_init_device):
11816         * device-msw.c (ensure_not_printing):
11817         * device-msw.c (plist_get_margin):
11818         * device-msw.c (Fmsprinter_select_settings):
11819         * device-msw.c (finalize_devmode):
11820         * device-msw.c (Fmsprinter_settings_despecialize):
11821         * device-msw.c (signal_enum_priner_error):
11822         * extents.c (decode_extent):
11823         * extents.c (decode_map_extents_flags):
11824         * extents.c (decode_extent_at_flag):
11825         * extents.c (Fextent_at):
11826         * extents.c (Fextents_at):
11827         * extents.c (symbol_to_glyph_layout):
11828         [[[[2]]]] Use structured errors.
11829
11830         * dialog-msw.c:
11831         * dialog-msw.c (mswindows_is_dialog_msg):
11832         * dialog-msw.c (mark_mswindows_dialog_id):
11833         * dialog-msw.c (dialog_proc):
11834         * dialog-msw.c (handle_question_dialog_box):
11835         * dialog-msw.c (syms_of_dialog_mswindows):
11836         Define new object to clean up marking; use it as a dialog identifier.
11837         Call new delete-dialog-box-hook.
11838
11839         * dialog-x.c (dbox_selection_callback):
11840         * dialog-x.c (dbox_descriptor_to_widget_value):
11841         * dialog-x.c (x_make_dialog_box_internal):
11842         Call new delete-dialog-box-hook.
11843         Return an id.
11844
11845         * dialog.c:
11846         * dialog.c (syms_of_dialog):
11847         * dialog.c (vars_of_dialog):
11848         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11849
11850         * eval.c:
11851         * eval.c (signal_call_debugger):
11852         when noninteractive, output stack traces on the console instead
11853         of in a (never-seen) buffer.
11854
11855         * eval.c (signal_type_error):
11856         * eval.c (invalid_argument_2):
11857         * lisp.h:
11858         new funs for use w/structured errors.
11859
11860         * event-Xt.c:
11861         * event-Xt.c (x_to_emacs_keysym):
11862         * event-Xt.c (describe_event):
11863         * event-Xt.c (emacs_Xt_event_handler):
11864         * event-Xt.c (vars_of_event_Xt):
11865         * event-msw.c:
11866         * event-msw.c (mswindows_wnd_proc):
11867         * event-msw.c (vars_of_event_mswindows):
11868         rename {x,mswindows}-debug-events to debug-{}-events for
11869         consistency with other debug-foo variables.
11870
11871         * event-stream.c:
11872         document next-event more clearly.
11873
11874         * fileio.c (Ffile_name_directory):
11875         * fileio.c (Ffile_name_nondirectory):
11876         * fileio.c (Funhandled_file_name_directory):
11877         * fileio.c (file_name_as_directory):
11878         * fileio.c (Ffile_name_as_directory):
11879         * fileio.c (directory_file_name):
11880         * fileio.c (Fdirectory_file_name):
11881         * fileio.c (Fmake_temp_name):
11882         * fileio.c (Ffile_truename):
11883         * fileio.c (Fsubstitute_in_file_name):
11884         * fileio.c (expand_and_dir_to_file):
11885         * fileio.c (barf_or_query_if_file_exists):
11886         * fileio.c (check_executable):
11887         * fileio.c (Ffile_exists_p):
11888         * fileio.c (Ffile_writable_p):
11889         * fileio.c (Ffile_directory_p):
11890         * fileio.c (Ffile_regular_p):
11891         * fileio.c (Ffile_modes):
11892         * fileio.c (Ffile_newer_than_file_p):
11893         * fileio.c (Fverify_visited_file_modtime):
11894         * fileio.c (Fset_visited_file_modtime):
11895         * fileio.c (auto_save_1):
11896         (1). (2).
11897         fix up gcpro's.
11898
11899         * frame-msw.c:
11900         * frame-msw.c (mswindows_init_frame_1):
11901         * frame-msw.c (mswindows_enable_frame):
11902         * frame-msw.c (error_frame_unsizable):
11903         * frame-msw.c (msprinter_init_frame_1):
11904         * frame-msw.c (msprinter_init_frame_3):
11905         * frame-msw.c (console_type_create_frame_mswindows):
11906         (2).
11907         implement new enable/disable frame methods.
11908
11909         * frame-x.c:
11910         * frame-x.c (x_enable_frame):
11911         * frame-x.c (console_type_create_frame_x):
11912         implement new enable/disable frame methods.
11913
11914         * frame.c:
11915         * frame.c (Fdisable_frame):
11916         * frame.c (syms_of_frame):
11917         * frame.h (struct frame):
11918         implement new enable/disable frame methods/functions.
11919
11920         * general-slots.h:
11921         add initial-focus.
11922
11923         * glyphs-msw.c (mswindows_widget_instantiate):
11924         comment that initial-focus should be implemented.
11925
11926         * glyphs-widget.c:
11927         * glyphs-widget.c (check_valid_instantiator):
11928         * glyphs-widget.c (check_valid_orientation):
11929         * glyphs-widget.c (check_valid_tab_orientation):
11930         * glyphs-widget.c (check_valid_justification):
11931         * glyphs-widget.c (check_valid_border):
11932         * glyphs-widget.c (check_valid_callback):
11933         * glyphs-widget.c (check_valid_int_or_function):
11934         * glyphs-widget.c (check_valid_string_or_vector):
11935         * glyphs-widget.c (check_valid_item_list_1):
11936         * glyphs-widget.c (widget_validate):
11937         * glyphs-widget.c (combo_box_validate):
11938         * glyphs-widget.c (widget_instantiate):
11939         * glyphs-widget.c (syms_of_glyphs_widget):
11940         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11941         * glyphs-widget.c (image_instantiator_combo_box):
11942         * glyphs-widget.c (image_instantiator_scrollbar):
11943         * glyphs-widget.c (image_instantiator_tab_control):
11944         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11945         (2).
11946         support (unimplemented) keyword initial-focus.
11947         reindent long macros.
11948
11949         * glyphs-x.c (x_redisplay_widget):
11950         * glyphs-x.c (x_button_instantiate):
11951         * glyphs-x.c (x_button_redisplay):
11952         * glyphs-x.c (x_progress_gauge_instantiate):
11953         * glyphs-x.c (x_edit_field_instantiate):
11954         * glyphs-x.c (x_combo_box_instantiate):
11955         * glyphs-x.c (x_tab_control_instantiate):
11956         * glyphs-x.c (x_label_instantiate):
11957         * gui-x.c:
11958         * gui-x.c (button_item_to_widget_value):
11959         * gui-x.c (gui_items_to_widget_values_1):
11960         * gui-x.c (gui_item_children_to_widget_values):
11961         * gui-x.c (gui_items_to_widget_values):
11962         * gui-x.h:
11963         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11964         add new flag to gui-parsing routines to indicate whether
11965         accelerator specs should be supported.
11966
11967         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11968
11969         * glyphs.h (struct Lisp_Image_Instance):
11970         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11971         add initial-focus flag.
11972
11973         * gui.c:
11974         * gui.c (syms_of_gui):
11975         * gui.c (vars_of_gui):
11976         clean up menu-no-selection-hook.
11977
11978         * gui.h:
11979         support delete-dialog-box-hook.
11980
11981         * lread.c (Fload_internal):
11982         * lread.c (locate_file_in_directory_mapper):
11983         (1).
11984
11985         * lrecord.h:
11986         * lrecord.h (struct toolbar_button):
11987         * lrecord.h (syms_of_toolbar):
11988         document how to create a new object.
11989
11990         * menubar-msw.c (mswindows_char_is_accelerator):
11991         may be called on frames w/o menus.
11992
11993         * menubar.c (vars_of_menubar):
11994         clean up :filter docs.
11995
11996         * nt.c (readdir):
11997         * ntproc.c:
11998         (1).
11999
12000         * process-nt.c:
12001         * process-nt.c (validate_signal_number):
12002         * process-nt.c (signal_cannot_launch):
12003         * process-nt.c (nt_create_process):
12004         * process-nt.c (nt_send_process):
12005         * process-nt.c (nt_kill_child_process):
12006         * process-nt.c (nt_open_network_stream):
12007         * process-nt.c (syms_of_process_nt):
12008         (2).
12009         delete quote-handling.  call new lisp code that does it better.
12010
12011         * process-unix.c (connect_to_file_descriptor):
12012         * process-unix.c (allocate_pty):
12013         * process-unix.c (unix_send_process):
12014         * process-unix.c (unix_kill_child_process):
12015         * process-unix.c (unix_open_network_stream):
12016         * process-unix.c (unix_open_multicast_group):
12017         (1). (2).
12018
12019         * process.c:
12020         * process.c (Fstart_process_internal):
12021         (2).  need to canonicalize process path even if absolute.
12022
12023         * select-msw.c (symbol_to_ms_cf):
12024         * select-msw.c (ms_cf_to_symbol):
12025         * select-msw.c (cf_is_autofreed):
12026         * select-msw.c (mswindows_destroy_selection):
12027         * select.c:
12028         * select.c (syms_of_select):
12029         * select.h:
12030         support dibv5, fix bugs. (from Mike Alexander)
12031
12032         * select.c (Fget_selection_internal):
12033         * select.c (select_convert_out):
12034
12035         * sysdep.c:
12036         * sysdep.c (xemacs_stat):
12037         renamed.
12038
12039         * sysdep.c (mkdir):
12040         * sysdep.c (rmdir):
12041         but keep original stat() here because we provide encapsulation
12042         around these funs.
12043
12044         * sysfile.h:
12045         * sysfile.h (fstat):
12046         remove stat garbage.
12047
12048         * syswindows.h:
12049         fix X/MSW conflict.
12050         don't include tchar.h.  it's inappropriate because it makes
12051         compile-time distinctions when we want runtime distinctions.
12052         (we provide our own tchar replacements)
12053
12054         * toolbar.c:
12055         use default object printer for toolbar-button.
12056
12057         * unexcw.c:
12058         make sure we don't encapsulate.
12059
12060         * window.c (vars_of_window):
12061         emphasize that temp-buffer-show-hook is obsolete.
12062
12063 2000-08-05  Martin Buchholz  <martin@xemacs.org>
12064
12065         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
12066         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
12067
12068         * events.c (Fevent_timestamp_lessp):
12069         Not 64-bit clean.  Use EMACS_INT, not int.
12070
12071 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
12072
12073         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
12074         unsigned int and changed the last enum to
12075         lrecord_type_last_built_in_type.
12076         (lrecord_implementations_table): changed prototype to know how
12077         long the array is supposed to be.
12078         (lrecord_type_count): new unsigned int to keep track of the
12079         current number of lisp lrecord types.
12080         (DEFINE_EXTERNAL_LRECORD):
12081         (DECLARE_EXTERNAL_LRECORD): Added these two for external
12082         dynamic-modules to declare new lisp types. They are the same
12083         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
12084         int for each new type, and increment lrecord_type_count by 1.
12085
12086         * alloc.c (lrecord_implementations_table): Changed to reference
12087         lrecord_type_last_built_in_type for the size of the array.
12088         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
12089
12090 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12091
12092         * glyphs.h (check_valid_item_list): Renamed from
12093         check_valid_item_list_1.
12094
12095 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
12096
12097         * select.c (Qselect_coerce): New.
12098         * select.c (Vselection_coercion_alist): New.
12099         * select.c (syms_of_select): Declare.
12100         * select.c (get-selection-internal): Use it.
12101         Use the new select-coerce functionality.
12102
12103         * select.c (select_coerce): New.
12104         * select.h (select_coerce): Declare.
12105         New function to coerce one type of data into another.
12106
12107 2000-08-03  Martin Buchholz  <martin@xemacs.org>
12108
12109         * callproc.c (Fcall_process_internal):
12110         (Fcall_process_internal):
12111         * process-unix.c (unix_create_process):
12112         Save and restore the value of errno, so that error messages are accurate.
12113
12114 2000-08-01  Martin Buchholz  <martin@xemacs.org>
12115
12116         * elhash.c (print_hash_table):
12117         Fix printing of hash tables to also use `key-and-value' instead of `t'.
12118         Prettify docstrings and indentation.
12119
12120 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
12121
12122         * window.c (Fwindow_pixel_edges): Subtract frame border and
12123         gutter size.
12124
12125 2000-07-31  Andy Piper  <andy@xemacs.org>
12126
12127         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
12128         will acknowledge the change.
12129
12130         * glyphs.h: declare tab_control_order_only_changed.
12131
12132         * glyphs-x.c (x_tab_control_redisplay): use
12133         tab_control_order_only_changed.
12134
12135         * glyphs-widget.c (tab_control_order_only_changed): new function.
12136
12137         * glyphs-msw.c (mswindows_tab_control_redisplay): use
12138         tab_control_order_only_changed.
12139
12140         * gui.c (gui_item_equal_sans_selected): new function.
12141         (gui_item_equal): use it.
12142
12143         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
12144         :properties in favor of :items..
12145
12146         * glyphs-widget.c (check_valid_item_list): rename from
12147         check_valid_item_list_1.
12148         (check_valid_item_list_1): renamed.
12149         (combo_box_validate): deprecate :properties in favor of :items.
12150         (widget_instantiate): ditto.
12151         (tab_control_update): ditto.
12152         (image_instantiator_combo_box): ditto.
12153         (image_instantiator_tree_view): ditto.
12154         (image_instantiator_tab_control): ditto.
12155         (layout_post_instantiate): remove dead code.
12156
12157         * print.c (debug_print_no_newline): only write to debugger if in
12158         WIN32_NATIVE.
12159
12160         * elhash.c (Fmake_hash_table): update doc string.
12161
12162         * event-msw.c (mswindows_wnd_proc): don't allow processing of
12163         messages whilst in GC. This at least stops XEmacs crashing but has
12164         the potential for wierd behaviour.
12165
12166 2000-07-31  Martin Buchholz  <martin@xemacs.org>
12167
12168         * config.h.in:
12169         Make existence of s&m files optional.
12170
12171         * s/bsd386.h: Remove HAVE_GETLOADAVG.
12172         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12173         * s/gnu.h: Remove HAVE_GETLOADAVG.
12174         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12175         * s/sol2.h: Remove HAVE_GETLOADAVG.
12176         * lisp.h: Remove getloadavg() declaration.
12177         * fns.c:
12178         Include <sys/loadavg.h> if available.
12179         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12180         * config.h.in:  Group together getloadavg()-related macros.
12181         Use only configure-time tests to detect getloadavg().
12182
12183 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12184
12185         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12186
12187 2000-07-25  Andy Piper  <andy@xemacs.org>
12188
12189         * syswindows.h: add tchar.h for native builds.
12190
12191         * frame.c (syms_of_frame): remove set-glyph-image.
12192
12193         * general-slots.h: add Qset_glyph_image.
12194
12195         * glyphs-widget.c (layout_update): add domain arg to
12196         set-glyph-image.
12197         (syms_of_glyphs_widget): remove set-glyph-image.
12198
12199 2000-07-23  Ben Wing  <ben@xemacs.org>
12200
12201         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12202         Vpopup_frame_list.
12203
12204 2000-07-22  Andy Piper  <andy@xemacs.org>
12205
12206         * symsinit.h: add syms_of_win32().
12207
12208         * gui-msw.c (syms_of_gui_mswindows): remove
12209         Fmswindows_shell_execute.
12210         (Fmswindows_shell_execute): moved to win32.c.
12211
12212         * emacs.c (main_1): add syms_of_win32 ().
12213
12214         * win32.c (init_potentially_nonexistent_functions): rewrite in
12215         compiler-friendly terms.
12216         (Fmswindows_shell_execute): move here from gui-msw.c.
12217         (syms_of_win32): new.
12218
12219         * device-msw.c (Fmswindows_printer_list): clean up args to
12220         EnumPrinters.
12221         Don't include tchar under cygwin or mingw.
12222         (msprinter_default_printer): make cygwin-friendly.
12223
12224 2000-07-21  Andy Piper  <andy@xemacs.org>
12225
12226         * glyphs-widget.c (image_instantiator_tree_view): use tab
12227         control's update function.
12228         (layout_property): new function. Retrieve items.
12229
12230         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12231         function. Re-populate the tree view from the pending items.
12232
12233         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12234         is designated the parent if the domain is an image instance. This
12235         is needed so that dirtiness can be cascade up the hierarchy and
12236         thus for layout children to be redisplayed correctly.
12237         (allocate_image_instance): rename glyph -> parent.
12238
12239         * redisplay.h: change redisplay_output_layout signature.
12240
12241         * redisplay-msw.c (mswindows_output_display_block): use domain
12242         arg.
12243
12244         * redisplay-x.c (x_output_display_block): use domain arg.
12245
12246 2000-07-10  Andy Piper  <andy@xemacs.org>
12247
12248         * window.c (Fset_window_configuration): add comment.
12249
12250         * redisplay-output.c (compare_runes):
12251         (redisplay_output_subwindow): redisplay rather than update subwindow.
12252         (redisplay_output_layout): ditto.
12253
12254         * redisplay-msw.c (mswindows_frame_output_end):
12255         (mswindows_frame_output_end): make defer window pos optional.
12256
12257         * lisp.h: add Flast.
12258
12259         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12260         normalize method. Change update method to be for changed
12261         instantiators. Add redisplay method. Change signature of layout
12262         method.
12263         (struct Lisp_Image_Instance): add instantiator.
12264         (IMAGE_INSTANCE_INSTANTIATOR): new.
12265         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12266         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12267         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12268
12269         * glyphs.c:
12270         (find_instantiator_differences): new function.
12271         (Fset_instantiator_property): new convenience function.
12272         (check_image_instance_structure): strictly check for vector
12273         instantiators.
12274         (normalize_image_instantiator): make non-static.
12275         (instantiate_image_instantiator): pass on dest_mask and use new
12276         signatures for image_instance_layout and friends.
12277         (mark_image_instance): mark the instantiator. Mark the subwindow
12278         face not the widget face.
12279         (image_instance_equal): add instantiator.
12280         (image_instance_hash): ditto.
12281         (allocate_image_instance): ditto.
12282         (Fset_image_instance_property): removed.
12283         (Fimage_instance_file_name): ditto.
12284         (Fcolorize_image_instance): ditto.
12285         (image_instance_layout): add offsets to be set.
12286         (update_image_instance): new function. update an image instance
12287         from its changed instantiator.
12288         (inherit_normalize): add dest_mask.
12289         (xbm_normalize): ditto.
12290         (xface_normalize): ditto.
12291         (xpm_normalize): ditto.
12292         (text_update): set_property -> update.
12293         (image_instantiate): use the glyph identity as a hash key, not the
12294         instantiator.
12295         (glyph_width): use new image_instance_layout signature.
12296         (glyph_ascent): ditto.
12297         (glyph_descent): ditto.
12298         (glyph_height): ditto.
12299         (glyph_query_geometry): ressurrect.
12300         (glyph_layout): ditto.
12301         (redisplay_subwindow): update -> redisplay.
12302         (syms_of_glyphs): add Fset_instantiator_property.
12303         (image_instantiator_format_create): set_property -> update.
12304
12305         * glyphs-x.c:
12306         (autodetect_normalize): add dest_maks to signature.
12307         (x_redisplay_subwindow): update -> redisplay.
12308         (x_redisplay_widget): ditto.
12309         (x_button_redisplay): ditto.
12310         (x_progress_gauge_redisplay): ditto.
12311         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12312         stacking order.
12313         (console_type_create_glyphs_x): update -> redisplay.
12314         (image_instantiator_format_create_glyphs_x): ditto.
12315
12316         * glyphs-widget.c:
12317         (check_valid_instantiator): disallow glyphs in the instantiator,
12318         they must now be vectors.
12319         (check_valid_instantiator_list): ditto.
12320         (glyph_instantiator_to_glyph): use internal symbol rather than
12321         intern.
12322         (widget_update): renamed from widget_set_property. Call cascaded
12323         update methods.
12324         (redisplay_widget): renamed from update_widget.
12325         (widget_layout): image_instance_layout now takes position as well
12326         as size.
12327         (widget_normalize): ditto.
12328         (widget_instantiate): ditto.
12329         (tab_control_query_geometry) ditto.:
12330         (tab_control_update): renamed from tab_control_set_property.
12331         (progress_gauge_update): set_property -> update.
12332         (layout_normalize): rewrite so that child instantiators are
12333         normalized also.
12334         (layout_update): new function. Create glyphs from the normalized
12335         children and cope with any other layout keywords. We do not
12336         instantiate children here that will be take care of by
12337         redisplay_output_layout.
12338         (layout_instantiate): call layout_update and not much else.
12339         (layout_post_instantiate): not sure whether this is needed
12340         anymore.
12341         (layout_query_geometry): query glyph geometry rather than
12342         image_instance geometry.
12343         (layout_layout): set offsets from pass in parameters. Use glyph
12344         geometry and layout functions rather than image instance ones.
12345         (native_layout_layout): ditto.
12346         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12347         (image_instantiator_widget): set_property -> update.
12348         (image_instantiator_buttons): ditto.
12349         (image_instantiator_progress_guage): ditto.
12350         (image_instantiator_tab_control): ditto.
12351         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12352         (image_instantiator_layout): add update method.
12353
12354         * glyphs-msw.c (bmp_normalize):
12355         (mswindows_resource_normalize): add dest_mask so that it can be
12356         proprogated by layout_normalize.
12357         (begin_defer_window_pos): make optional because it may not be the
12358         right thing to do and it introduces differences with X.
12359         (mswindows_unmap_subwindow): ditto.
12360         (mswindows_map_subwindow): ditto.
12361         (mswindows_redisplay_subwindow): renamed from
12362         mswindows_update_subwindow.
12363         (mswindows_redisplay_widget): ditto.
12364         (mswindows_button_redisplay): renamed from
12365         mswindows_button_update. Update is now what the instantiation
12366         function does for a changed instantiator.
12367         (mswindows_progress_gauge_instantiate): set the progress value
12368         here if appropriate.
12369         (mswindows_tab_control_redisplay): cope with re-ordering of the
12370         members of the tab widget by simply selecting the new top
12371         widget. This makes things appear ok if you click on a tab.
12372         (mswindows_combo_box_instantiate): image_instance_layout now takes
12373         position as well as size.
12374         (mswindows_progress_gauge_redisplay): renamed from
12375         mswindows_progress_gauge_update.
12376         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12377         (image_instantiator_format_create_glyphs_mswindows): ditto.
12378
12379         * glyphs-eimage.c (jpeg_normalize):
12380         (gif_normalize):
12381         (png_normalize):
12382         (tiff_normalize): add dest_mask so that it can be proprogated by
12383         layout_normalize.
12384
12385         * elhash.c:
12386         (print_hash_table):
12387         (hash_table_weakness_validate):
12388         (decode_hash_table_weakness):
12389         (Fhash_table_weakness):
12390         (Fhash_table_type):
12391         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12392
12393         * console.h (struct console_methods): move update_* to
12394         redisplay_*.
12395
12396 2000-07-20  Ben Wing  <ben@xemacs.org>
12397
12398         * *.[ch] (XSETOBJ): remove unused middle argument.
12399         lisp-disunion.h: correct wrap_object() to one argument.
12400
12401 2000-07-15  Ben Wing  <ben@xemacs.org>
12402
12403         * s/cygwin32.h:
12404         * s/cygwin32.h (CYGWIN_CONV_PATH):
12405         Add missing logb prototype for v1.1.
12406         Use post-b20 names and alias to pre-b20 names when pre-b20.
12407
12408         * s/windowsnt.h: [5].
12409
12410 2000-07-15  Ben Wing  <ben@xemacs.org>
12411
12412         * Makefile.in.in (x_objs):
12413         * Makefile.in.in (sheap_objs):
12414         * Makefile.in.in (objs):
12415         added win32.o, cosmetic cleanups.
12416
12417         * alloc.c (Fmake_byte_code):
12418         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12419         etc. macros which declare their own args now.
12420
12421         * alloc.c (syms_of_alloc):
12422         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12423
12424         * buffer.c:
12425         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12426
12427         * buffer.c (Fget_file_buffer):
12428         Fixed GCPRO problem.
12429
12430         * buffer.c (get_truename_buffer):
12431         Fixed comment about GC checking.
12432
12433         * buffer.c (syms_of_buffer):
12434         Undeclared those dedicated frame funs.
12435         [2].
12436
12437         * buffer.h:
12438         Define convenience macros for internal/external conversions.
12439         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12440         and Qenvironment_variable_encoding for cleaner code.
12441
12442         * bufslots.h:
12443         Remove dedicated-frame; in lisp.
12444
12445         * bytecode.c (funcall_compiled_function):
12446         [1].
12447
12448         * bytecode.c (syms_of_bytecode):
12449         [2].
12450
12451         * console-msw.c:
12452         * console-msw.c (mswindows_show_console): Rewrote.
12453
12454         * console-msw.c (Fmswindows_debugging_output): New.
12455         Sends to OutputDebugString (special MSWin debugger interface).
12456
12457         * console-msw.c (Fmswindows_message_box):
12458         Fixed stupid bugs so it works when called from kill-emacs.
12459
12460         * console-msw.c (syms_of_console_mswindows):
12461         Declare Fmswindows_debugging_output.
12462
12463         * console-msw.h:
12464         New MSWin prototypes.
12465
12466         * console-msw.h (struct mswindows_frame):
12467         New entry last-click-mods for improved button-modifier support.
12468
12469         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12470         New struct entry `popup' with corresponding accessor.
12471
12472         * console-x.c:
12473         * console-x.c (split_up_display_spec):
12474         * console-x.c (get_display_arg_connection):
12475         * console-x.c (x_semi_canonicalize_console_connection):
12476         * console-x.c (x_canonicalize_device_connection):
12477         [[[6]]]: Change char to more specific type.
12478         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12479
12480         * console-x.c (x_semi_canonicalize_console_connection):
12481         * console-x.c (x_canonicalize_device_connection):
12482         [[[9]]]: Fix up error signalling to use new structured error system.
12483
12484         * console-x.h:
12485         [[[4]]]: Define codesys aliases:
12486         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12487         Qx_color_name_encoding, Qx_display_name_encoding.
12488
12489         * console.h (struct console_methods):
12490         New method make_dialog_box_internal supersedes older
12491         popup_dialog_box method.
12492
12493         * data.c:
12494         Define many new errors, part of new structured errors.
12495
12496         * data.c (init_errors_once_early):
12497         * data.c (syms_of_data):
12498         [2].
12499
12500         * device-msw.c (mswindows_init_device):
12501         [[[5]]]: Cleanup to support NT 3.51.
12502
12503         * device-msw.c (decode_devmode): Cleanup.
12504
12505         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12506         * device-msw.c (mswindows_handle_print_dialog_box):
12507         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12508         * device-msw.c (syms_of_device_mswindows):
12509         Delete the dialog box primitives recently introduced by Kirill and
12510         instead interface to general dialog box interface.
12511
12512         * device-x.c:
12513         * device-x.c (compute_x_app_name):
12514         * device-x.c (x_init_device):
12515         * device-x.c (Fx_valid_keysym_name_p):
12516         * device-x.c (Fx_set_font_path):
12517         [6].
12518         [7].
12519
12520         * device.h (wrap_device): New.
12521         First of its kind; meant to replace XSETDEVICE.
12522
12523         * dialog-msw.c: Many file-dialog symbols.
12524
12525         * dialog-msw.c (mswindows_register_popup_frame): New.
12526         * dialog-msw.c (mswindows_is_dialog_msg): New.
12527         For supporting kbd traversal in dialog boxes.
12528
12529         * dialog-msw.c (dialog_proc):
12530         Support hitting ESC in dialogs.
12531
12532         * dialog-msw.c (struct):
12533         Common dialog box errors.
12534
12535         * dialog-msw.c (handle_file_dialog_box): New.
12536         Add file dialog code.
12537
12538         * dialog-msw.c (handle_question_dialog_box):
12539         Redo existing code to support new question dialog syntax.
12540
12541         * dialog-msw.c (console_type_create_dialog_mswindows):
12542         We support new dialog console method.
12543
12544         * dialog-msw.c (syms_of_dialog_mswindows):
12545         * dialog-msw.c (vars_of_dialog_mswindows):
12546         New file dialog symbols, vars.
12547
12548         * dialog-x.c:
12549         * dialog-x.c (maybe_run_dbox_text_callback):
12550         * dialog-x.c (dbox_descriptor_to_widget_value):
12551         * dialog-x.c (x_make_dialog_box_internal):
12552         * dialog-x.c (console_type_create_dialog_x):
12553         Mule-ize entire file.
12554         Redo to support question dialog syntax.
12555         [6].
12556
12557         * dialog.c:
12558         * dialog.c (Fmake_dialog_box_internal):
12559         * dialog.c (syms_of_dialog):
12560         Kill old popup-dialog-box, replace with new primitive.
12561         Just call device method or signal error.
12562
12563         * eldap.c (Fldap_open):
12564         * eldap.c (Fldap_search_basic):
12565         * eldap.c (Fldap_add):
12566         * eldap.c (Fldap_modify):
12567         [1].
12568         [7].
12569
12570         * emacs.c:
12571         * emacs.c (make_arg_list_1):
12572         * emacs.c (make_arg_list):
12573         Mule-ize call to dll_init().
12574         [6].
12575         [8].
12576
12577         * emacs.c (make_argc_argv):
12578         * emacs.c (free_argc_argv):
12579         * emacs.c (init_cmdargs):
12580         * emacs.c (main_1):
12581         * emacs.c (Fkill_emacs):
12582         * emacs.c (Fdump_emacs):
12583         Update comments about what can be used in syms_* etc.
12584         Call init_win32() when necessary.
12585         Fix up MS Win dialog box in kill-buffer to actually work right.
12586         [7].
12587
12588         * eval.c:
12589         * eval.c (For):
12590         * eval.c (Fand):
12591         * eval.c (Fprogn):
12592         * eval.c (Fprog1):
12593         * eval.c (Fprog2):
12594         * eval.c (FletX):
12595         * eval.c (Flet):
12596         * eval.c (condition_case_3):
12597         * eval.c (Feval):
12598         * eval.c (function_argcount):
12599         * eval.c (funcall_lambda):
12600         [1].
12601
12602         * eval.c (type_error): New.
12603         * eval.c (maybe_type_error): New.
12604         * eval.c (continuable_type_error): New.
12605         * eval.c (maybe_continuable_type_error): New.
12606         * eval.c (type_error_with_frob): New.
12607         * eval.c (maybe_type_error_with_frob): New.
12608         * eval.c (continuable_type_error_with_frob): New.
12609         * eval.c (maybe_continuable_type_error_with_frob): New.
12610         New functions for use with structured errors.
12611
12612         * event-Xt.c:
12613         * event-Xt.c (x_event_to_emacs_event):
12614         Buttons are now modifiers too.
12615
12616         * event-Xt.c (emacs_Xt_current_event_timestamp):
12617         Implement new event method.
12618         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12619
12620         * event-msw.c:
12621         * event-msw.c (ntpipe_shove_writer): [5].
12622         * event-msw.c (mswindows_enqueue_mouse_button_event):
12623         * event-msw.c (mswindows_drain_windows_queue):
12624         * event-msw.c (mswindows_wnd_proc): [7].
12625         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12626         * event-msw.c (mswindows_modifier_state):
12627         Throughout: support new button modifiers.
12628
12629         * event-msw.c (emacs_mswindows_current_event_timestamp):
12630         Implement new event method.
12631         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12632
12633         * event-stream.c:
12634         * event-stream.c (event_stream_current_event_timestamp): New.
12635         * event-stream.c (maybe_kbd_translate): New functionality.
12636         * event-stream.c (vars_of_event_stream):
12637         Document new kbd-translate-table functionality.
12638
12639         * event-stream.c (Fcurrent_event_timestamp): New.
12640         New primitive for use in fabricated events.
12641         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12642
12643         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12644
12645         * events.c:
12646         * events.c (Fmake_event):
12647         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12648         [1].
12649         [9].
12650
12651         * events.c (format_event_object): fix gcc warnings.
12652
12653         * events.c (Fevent_timestamp): Document new primitives.
12654
12655         * events.c (TIMESTAMP_HALFSPACE): New.
12656
12657         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12658         comparing timestamps correctly (half-space algorithm).
12659
12660         * events.c (Fevent_modifier_bits): Doc fix.
12661
12662         * events.c (Fevent_modifiers): Major doc addition.
12663         * events.c (event_x_y_pixel_internal): Typo fix.
12664         * events.c (syms_of_events): Declare new primitives.
12665
12666         * events.h:
12667         Update long comment for button modifiers, timestamps.
12668
12669         * events.h (struct event_stream):
12670         New current_event_timestamp method.
12671
12672         * extents.c:
12673         * extents.c (extent_in_region_p):
12674         * extents.c (decode_extent):
12675         * extents.c (Fset_extent_parent):
12676         * extents.c (decode_map_extents_flags):
12677         Fix gcc warnings.
12678         [9].
12679
12680         * extents.c (struct extent_at_arg):
12681         * extents.c (decode_extent_at_flag):
12682         * extents.c (extent_at_mapper):
12683         * extents.c (extent_at_bytind):
12684         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12685         * extents.c (Fextents_at): New primitive. [9].
12686         * extents.c (symbol_to_glyph_layout): [9].
12687         Support new primitive `extents-at'.
12688
12689
12690         * extents.c (get_text_property_bytind):
12691         extent_at_bytind has another arg.
12692         [9].
12693
12694         * extents.c (syms_of_extents): New primitive.
12695
12696         * file-coding.c (Fmake_coding_system): [1].
12697         * file-coding.c (subsidiary_coding_system): fix gcc warning
12698         * file-coding.c (syms_of_file_coding): [2].
12699
12700         * fileio.c (Fexpand_file_name):
12701         * fileio.c (Fsysnetunam):
12702         * fileio.c (Ffile_exists_p):
12703         * fileio.c (Ffile_executable_p):
12704         * fileio.c (Fverify_visited_file_modtime):
12705         Clean up GCPROing.
12706
12707         * fileio.c (syms_of_fileio): [2].
12708
12709         * filelock.c (lock_file_1):
12710         * filelock.c (current_lock_owner):
12711         * filelock.c (lock_if_free):
12712         * filelock.c (lock_file):
12713         * filelock.c (unlock_file):
12714         Clean up GCPROing.
12715
12716         * fns.c (concat): Fix gcc warning.
12717
12718         * fns.c (Fmember):
12719         * fns.c (Fold_member):
12720         * fns.c (Fmemq):
12721         * fns.c (Fold_memq):
12722         * fns.c (memq_no_quit):
12723         * fns.c (Fassoc):
12724         * fns.c (Fold_assoc):
12725         * fns.c (Fassq):
12726         * fns.c (Fold_assq):
12727         * fns.c (assq_no_quit):
12728         * fns.c (Frassoc):
12729         * fns.c (Fold_rassoc):
12730         * fns.c (Frassq):
12731         * fns.c (Fold_rassq):
12732         * fns.c (rassq_no_quit):
12733         * fns.c (Fdelete):
12734         * fns.c (Fold_delete):
12735         * fns.c (Fdelq):
12736         * fns.c (Fold_delq):
12737         * fns.c (delq_no_quit):
12738         * fns.c (Fremassoc):
12739         * fns.c (Fremassq):
12740         * fns.c (remassq_no_quit):
12741         * fns.c (Fremrassoc):
12742         * fns.c (Fremrassq):
12743         * fns.c (remrassq_no_quit):
12744         * fns.c (Freverse):
12745         * fns.c (mapcar1):
12746         [1].
12747
12748         * frame-msw.c (mswindows_init_frame_1):
12749         * frame-msw.c (mswindows_delete_frame):
12750         Register popups with dialog code so keyboard traversing works.
12751
12752         * frame-tty.c (tty_raise_frame_no_select): [1].
12753
12754         * frame-x.c:
12755         * frame-x.c (x_set_frame_text_value):
12756         * frame-x.c (x_set_frame_properties):
12757         * frame-x.c (x_create_widgets):
12758         [7].
12759
12760         * frame.c:
12761         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12762
12763         * frame.h (wrap_frame): New.
12764         Macro like wrap_device.
12765
12766         * general.c:
12767         * general.c (SYMBOL):
12768         * general.c (syms_of_general):
12769         Major reorg.  This is now just a wrapper and symbols themselves
12770         are listed in general-slots.h.
12771
12772         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12773         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12774
12775         * glyphs-msw.c (mswindows_native_layout_instantiate):
12776         Add DS_CONTROL so keyboard traversal will work.
12777
12778         * glyphs-widget.c:
12779         * glyphs-widget.c (syms_of_glyphs_widget):
12780         Move some symbols to general-slots.h.
12781
12782         * glyphs-x.c:
12783         * glyphs-x.c (xbm_instantiate_1):
12784         * glyphs-x.c (x_xbm_instantiate):
12785         * glyphs-x.c (x_xface_instantiate):
12786         * glyphs-x.c (autodetect_instantiate):
12787         * glyphs-x.c (cursor_font_instantiate):
12788         * glyphs-x.c (x_update_widget):
12789         * glyphs-x.c (x_widget_instantiate):
12790         * glyphs.c (bitmap_to_lisp_data):
12791         * glyphs.c (pixmap_to_lisp_data):
12792         [7].
12793
12794         * glyphs.c (syms_of_glyphs):
12795         [2].
12796
12797         * gui-x.c:
12798         * gui-x.c (print_widget_value):
12799         * gui-x.c (menu_separator_style_and_to_external):
12800         * gui-x.c (add_accel_and_to_external):
12801         * gui-x.c (button_item_to_widget_value):
12802         * gui-x.c (gui_items_to_widget_values_1):
12803         * gui-x.c (gui_items_to_widget_values):
12804         * gui-x.c (syms_of_gui_x):
12805         * gui-x.c (vars_of_gui_x):
12806         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12807         [9].
12808
12809         * gui-x.h:
12810         Muleize, prototype changes matching gui-x.c.
12811
12812         * gui.c:
12813         * gui.c (separator_string_p):
12814         * gui.c (gui_item_add_keyval_pair):
12815         * gui.c (make_gui_item_from_keywords_internal):
12816         * gui.c (signal_too_long_error):
12817         * gui.c (parse_gui_item_tree_item):
12818         * gui.c (syms_of_gui):
12819         * gui.c (vars_of_gui):
12820         * gui.h:
12821         menu-no-selection-hook moved here (used by MSWin).
12822         Move some symbols to general-slots.h.
12823         [6].
12824         [9].
12825
12826         * insdel.c (get_buffer_pos_char):
12827         * insdel.c (get_buffer_range_char):
12828         Add GC comments.
12829
12830         * keymap.c (keymap_lookup_directly):
12831         * keymap.c (keymap_store):
12832         * keymap.c (ensure_meta_prefix_char_keymapp):
12833         * keymap.c (describe_map):
12834         * keymap.h:
12835         Support new button modifiers.
12836
12837         * lisp-disunion.h (wrap_object):
12838         * lisp-disunion.h (XSETOBJ):
12839         Rename make_obj to wrap_object.
12840
12841         * lisp-union.h:
12842         * lisp-union.h (make_int):
12843         * lisp-union.h (make_char):
12844         Support wrap_object.
12845
12846         * lisp.h:
12847         * lisp.h (LIST_LOOP):
12848         * lisp.h (EXTERNAL_LIST_LOOP):
12849         * lisp.h (LIST_LOOP_2):
12850         * lisp.h (EXTERNAL_LIST_LOOP_1):
12851         * lisp.h (EXTERNAL_LIST_LOOP_2):
12852         * lisp.h (EXTERNAL_LIST_LOOP_3):
12853         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12854         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12855         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12856         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12857         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12858         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12859         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12860         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12861         * lisp.h (struct Lisp_Symbol):
12862         * lisp.h (maybe_continuable_error_with_frob):
12863         Fix up section comments.
12864         Add new types for char to indicate usage.
12865         Delete symbols auto-generated from general-slots.h.
12866         Add prototypes for structured error functions.
12867         Add long comments describing looping macros and change interface
12868         so that lvalues are automatically declared.
12869         Add NO_DECLARE macro in case callers want to declare lvalues
12870         themselves.
12871
12872         * lread.c (read_syntax_error):
12873         * lread.c (continuable_read_syntax_error):
12874         * lread.c (read_structure):
12875         * lread.c (sequence_reader):
12876         * lread.c (read_list_conser):
12877         * lread.c (read_compiled_function):
12878         Rename syntax_error and continuable_syntax_error to avoid clash
12879         with same-named structured error functions.
12880
12881         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12882         * menubar-msw.c (populate_menu_add_item):
12883         * menubar-msw.c (populate_or_checksum_helper):
12884         [5].
12885         [9].
12886
12887         * menubar-x.c:
12888         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12889         Mule-ize whole file.
12890
12891         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12892
12893         * mule-charset.c (Fmake_charset):
12894         * mule-wnnfns.c (Fwnn_set_param):
12895         [1].
12896
12897         * ntproc.c (create_child):
12898         * ntproc.c (Fwin32_set_current_locale):
12899         Add comments portending doom.
12900
12901         * objects-msw.c:
12902         * objects-msw.c (old_font_enum_callback_2):
12903         * objects-msw.c (font_enum_callback_1):
12904         * objects-msw.c (mswindows_enumerate_fonts):
12905         [5].
12906
12907         * objects-x.c:
12908         * objects-x.c (allocate_nearest_color):
12909         * objects-x.c (x_parse_nearest_color):
12910         * objects-x.c (x_initialize_color_instance):
12911         * objects-x.c (x_print_color_instance):
12912         * objects-x.c (x_finalize_color_instance):
12913         * objects-x.c (x_valid_color_name_p):
12914         * objects-x.c (x_initialize_font_instance):
12915         * objects-x.c (x_print_font_instance):
12916         * objects-x.c (valid_x_font_name_p):
12917         * objects-x.c (truename_via_FONT_prop):
12918         * objects-x.c (truename_via_random_props):
12919         * objects-x.c (truename_via_XListFonts):
12920         * objects-x.c (x_font_truename):
12921         * objects-x.c (x_font_instance_truename):
12922         * objects-x.c (x_font_instance_properties):
12923         * objects-x.c (x_list_fonts):
12924         * objects-x.c (x_find_charset_font):
12925         Mule-ize entire file.
12926         [7].
12927
12928         * objects-x.h:
12929         Mule-verify.
12930
12931         * print.c:
12932         * print.c (std_handle_out_external):
12933         * print.c (debug_print_no_newline):
12934         * print.c (syms_of_print):
12935         Output to all debugger kinds in debug-print.
12936         Fix console-output code under MSWin to actually work.
12937
12938         * process-nt.c (send_signal):
12939         * process-nt.c (nt_create_process):
12940         Use newer Unicode macros.
12941
12942         * process-unix.c (unix_create_process):
12943         * process-unix.c (unix_canonicalize_host_name):
12944         * process-unix.c (unix_open_network_stream):
12945         [7].
12946
12947         * scrollbar-x.c:
12948         Mule-verify.
12949
12950         * search.c (syms_of_search):
12951         [2].
12952
12953         * select-msw.c (mswindows_destroy_selection):
12954         Use LIST_LOOP_2.
12955
12956         * select-x.c (symbol_to_x_atom):
12957         [7].
12958
12959         * select.c (syms_of_select):
12960         [2].
12961
12962         * sound.c (Fplay_sound_file):
12963         [7].
12964
12965         * specifier.c:
12966         * specifier.c (decode_specifier_type):
12967         * specifier.c (Fvalid_specifier_locale_type_p):
12968         * specifier.c (check_valid_locale_or_locale_type):
12969         * specifier.c (decode_locale):
12970         * specifier.c (decode_locale_type):
12971         * specifier.c (decode_locale_list):
12972         * specifier.c (check_valid_domain):
12973         * specifier.c (decode_specifier_tag_set):
12974         * specifier.c (Fcanonicalize_tag_set):
12975         * specifier.c (Fdefine_specifier_tag):
12976         * specifier.c (Fspecifier_tag_predicate):
12977         * specifier.c (check_valid_inst_list):
12978         * specifier.c (check_valid_spec_list):
12979         * specifier.c (decode_how_to_add_specification):
12980         * specifier.c (check_modifiable_specifier):
12981         * specifier.c (specifier_add_spec):
12982         * specifier.c (boolean_validate):
12983         * specifier.c (display_table_validate):
12984         [9].
12985
12986         * specifier.c (syms_of_specifier):
12987         Move some symbols to general-slots.h.
12988         [2].
12989
12990         * symbols.c:
12991         * symbols.c (Fmapatoms):
12992         * symbols.c (Fapropos_internal):
12993         Add GCPROs.
12994
12995         * symbols.c (set_default_buffer_slot_variable):
12996         * symbols.c (set_default_console_slot_variable):
12997         [1].
12998
12999         * symbols.c (defsymbol_massage_name_1):
13000         * symbols.c (defkeyword_massage_name):
13001         * symbols.c (deferror_1):
13002         * symbols.c (deferror):
13003         * symbols.c (deferror_massage_name_and_message):
13004         * symeval.h:
13005         * symeval.h (DEFSYMBOL):
13006         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
13007
13008         * symbols.c (syms_of_symbols):
13009         [2].
13010
13011         * symsinit.h:
13012         * symsinit.h (init_win32): New.
13013         Also new is syms_of_dialog_mswindows.
13014
13015         * syswindows.h:
13016         Add new Unicode macros, missing Cygwin wide-char functions,
13017         convenience conversion macros for Qmswindows_tstr, macros for
13018         encapsulating required MSWin <-> Cygwin filename conversions,
13019         prototype for dynamically-extracted (not in NT 3.51) functions.
13020
13021         * toolbar-x.c:
13022         Mule-verify.
13023
13024         * tooltalk.c (Fadd_tooltalk_message_arg):
13025         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
13026         * tooltalk.c (Fadd_tooltalk_pattern_arg):
13027         [7].
13028
13029         * tooltalk.c (syms_of_tooltalk):
13030         [2].
13031
13032         * unexnt.c:
13033         * unexnt.c (unexec):
13034         Fix up headers, declaration of unexec() to be more standard.
13035
13036 2000-07-20  Martin Buchholz  <martin@xemacs.org>
13037
13038         * offix.h: Revert change to guard macros - they're used in offix.c!
13039
13040 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13041
13042         * lisp.h: Defsubred Fdelete.
13043
13044         * console-msw.h:  (msprinter_default_printer): Added.
13045
13046         * console-msw.c (msprinter_canonicalize_console_connection):
13047         (msprinter_canonicalize_device_connection): Added.
13048
13049         * device-msw.c (msprinter_default_printer):
13050         (Fmswingows_get_default_printer):
13051         (signal_enum_priner_error):
13052         (Fmswingows_printer_list): Added.
13053
13054 2000-07-19  Martin Buchholz <martin@xemacs.org>
13055
13056         * XEmacs 21.2.35 is released.
13057
13058 2000-07-19  Martin Buchholz  <martin@xemacs.org>
13059
13060         * select-x.c (x_handle_selection_request):
13061         Text selected in xemacs and pasted into xterm failed to appear.
13062         Spelling fixes and cosmetic changes.
13063
13064 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13065
13066         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
13067         XEmacs frame (fix for doubling chars in dialog boxes).
13068
13069 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
13070
13071         * select.c (select_convert_in, select_convert_out):
13072         Don't call intern() every time.
13073
13074         * select.c (Qselect_convert_in, Qselect_convert_out): New.
13075         * select.c (vars_of_select): Initialise them.
13076
13077 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
13078
13079         * select.c (selection-coercible-types): New.
13080
13081         * select.c (own-selection-internal):
13082         * select.c (get-selection-internal):
13083         MULE bug fix - these should default to COMPOUND_TEXT and not
13084         STRING for MULE. I think.
13085
13086         * select.c (select_convert_out): Use selection-coercible-types
13087         to find types that we can attempt to perform coercions on.
13088
13089 2000-07-18  Martin Buchholz  <martin@xemacs.org>
13090
13091         * mule-wnnfns.c:
13092         * mule-canna.c:
13093         Add coding: cookie to identify encoding.
13094
13095         * mule-canna.c (CANNA_mode_keys): make static.
13096         Use proper prototypes, even for functions of no arguments.
13097         Remove external prototype for Fding().
13098
13099         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
13100
13101         * select.c (syms_of_select): Add missing DEFSUBR.
13102
13103 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
13104
13105         * select.c (get_selection_internal, own_selection_internal):
13106         Make the type default to STRING, rather than placing a nil type
13107         into Vselection_alist.
13108
13109 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
13110
13111         * gpmevent.c (tty_selection_exists_p):
13112         * gpmevent.c (tty_own_selection):
13113         Updated parameter lists.
13114
13115 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
13116
13117         * select.h (selection-alist): Removed declaration.
13118
13119         * select.h (get_local_selection):
13120         * select.c (get_local_selection):
13121         Made static.
13122
13123         * select.h (convert_selection): Removed declaration.
13124         * select.c (convert_selection): Removed.
13125         This function belongs in Lisp.
13126
13127         * select.h (select_convert_in): Declare.
13128         * select.h (select_convert_out): Declare.
13129         * select.c (select_convert_in): New.
13130         * select.c (select_convert_out): New.
13131         New conversion functions for other files to call.
13132
13133         * select.h (select_notify_buffer_kill): Declare.
13134         * select.c (select_notify_buffer_kill): New.
13135         New functions that get called from kill-buffer.
13136
13137         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
13138         X-specific lisp code.
13139
13140         * select.h: Declare some of the lisp-visible functions for
13141         external use.
13142
13143         * select.c (clean_local_selection_data): Removed. This was
13144         a disgusting function, and previously should have been in
13145         select-x.c in any case. The functionality is now provided
13146         in select-convert-from-integer (select.el).
13147
13148         * select.c (available-selection-types): Fixed stupidity where
13149         INTEGER and ATOM got added twice. Also add STRING when we see an
13150         extent.
13151
13152         * select.c (get-selection-internal): Removed symbol stripping. No
13153         longer causes conversion when data comes from the internal cache.
13154
13155         * select.c (syms_of_select): Added new functions.
13156
13157         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
13158         error checking - previously this called abort!
13159
13160         * select-x.c (x_own_selection): Changed comment.
13161
13162         * select-x.c (x_handle_selection_request): Use select_convert_out.
13163         Don't mess with selection-alist; it's an internal variable of select.c.
13164
13165         * select-x.c (x_get_foreign_selection): Use select_convert_in.
13166
13167         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
13168         rather than messing with selection-alist.
13169
13170         * select-msw.c (mswindows_get_foreign_selection):
13171         Use TO_INTERNAL_FORMAT rather than hacking.
13172
13173 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13174
13175         * process-unix.c (unix_open_multicast_group):
13176         (unix_open_multicast_group): Remove useless casts.
13177
13178 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13179
13180         * sound.c (Fplay_sound): Fix `unused variable' warning.
13181
13182         * emacs.c (main): Use correct type for _environ on SCO5.
13183
13184 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13185
13186         * console.h (own_selection_method):
13187         * console.h (selection_exists_p_method):
13188         * console.h (available_selection_types_method): New.
13189         * console.h (register_selection_data_type_method): New.
13190         * console.h (selection_data_type_name): New.
13191
13192         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13193         function & alist to track GlobalAlloc()'d handles that need
13194         releasing when the clipboard data gets replaced or emptied.
13195
13196         * event-msw.c (mswindows_wnd_proc): Call it.
13197
13198         * lisp.h, general.c (Qappend): New symbol representing a
13199         `how-to-add' mode.
13200
13201         * select.c (own-selection-internal):
13202         * select.c (selection-exists-p):
13203         * select.c (available-selection-types): New.
13204         * select.c (register-selection-data-type): New.
13205         * select.c (selection-data-type-name): New.  New functions to deal
13206         with device-specific selection data formats.
13207         * select.c (selection-converter-out-alist): Renamed.
13208         * select.c (selection-converter-in-alist): New.
13209         * select.c (selection-appender-alist): New.  Added new alists.
13210         * select.c (syms_of_select, vars_of_select): Added new symbols &
13211         variables.
13212         * select.c (get_local_selection): Split.
13213         * select.c: Removed spurious type checking - selections may now be
13214         of any type, not just strings.
13215         * select.c (own-selection-internal):
13216
13217         * select.h, select.c (convert_selection): New. Created
13218         convert_selection() function based on get_local_selection().
13219         * select.h, select.c (QCF_*): New symbols representing mswindows
13220         clipboard formats.
13221         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13222         symbols representing `how-to-add' modes.
13223
13224         * select-msw.c (x_sym_p): New.
13225         * select-msw.c (symbol_to_ms_cf): New.
13226         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13227         symbols & clipboard formats. Can also handle string names.
13228         * select-msw.c (mswindows_own_selection):
13229         * select-msw.c (mswindows_selection_exists_p):
13230         Added `data-type' parameter. Use it.
13231         * select-msw.c (mswindows_available_selection_types): New.
13232         * select-msw.c (mswindows_register_selection_data_type): New.
13233         * select-msw.c (mswindows_selection_data_type_name): New.
13234         * select-msw.c (mswindows_own_selection):
13235         * select-msw.c (mswindows_get_foreign_selection):
13236         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13237         * select-msw.c (console_create_select_mswindows): Added new methods.
13238         * select-msw.c (mswindows_destroy_selection): New.
13239         * select-msw.c (Vhandle_alist): New list.
13240         * select-msw.c (mswindows_own_selection):
13241
13242         * select-x.c (x_own_selection):
13243         * select-x.c (x_selection_exists_p):
13244         * select-x.c: Added some comments about maybe using new
13245         functionality.
13246         * select-x.c (x_own_selection):
13247
13248         * specifier.c: Remove definition of Qappend (now in general.c)
13249         * specifier.c (syms_of_specifier): Remove Qappend.
13250
13251 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13252
13253         * config.h.in: Add socklen_t.
13254
13255         * s/decosf4-0.h: No special compiler flags needed or desired.
13256         In particular, undefine _BSD for DEC OSF 4.0.
13257
13258 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13259
13260         * redisplay-msw.c (msprinter_frame_output_end): Added.
13261         (console_type_create_redisplay_mswindows): Referred the above.
13262
13263         * frame.c (setup_frame_without_minibuffer): Do not create a
13264         default minibuffer frame on a printer device.
13265
13266         * frame-msw.c (apply_dc_geometry): Added.
13267         (msprinter_start_page):
13268         (msprinter_init_frame_3):
13269         (msprinter_eject_page): Use it.
13270
13271         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13272         and removed residual duplex and orientation properties.
13273
13274 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13275
13276         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13277
13278         * unexalpha.c: Remove system prototypes from C sources!
13279
13280 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13281
13282         * eval.c: Remove references to M-x edit-options in DEFUNs for
13283         `defvar' and `defconst'.
13284
13285 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13286
13287         * config.h.in: Remove SMART_INCLUDE hackery.
13288
13289         PostgreSQL hacking:
13290         * config.h.in: Don't use SMART_INCLUDE.
13291
13292         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13293         * inline.c: Simply #include "postgresql.h"
13294         * postgresql.c:
13295         - Don't use SMART_INCLUDE
13296         - Use simply "const".
13297         - Use standard doc string conventions.
13298         - Use correct type for result of PQstatus.
13299
13300 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13301
13302         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13303
13304         C++ compilation changes.
13305         * config.h.in (EXTERN_C): Define.
13306         * config.h.in (not): This is also a C++ keyword.
13307         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13308         * cm.c: Use EXTERN_C.
13309         * redisplay-tty.c: Use EXTERN_C.
13310         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13311
13312 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13313
13314         * general.c: Remove duplicate definition for Qfunction.
13315
13316 2000-07-08  Ben Wing  <ben@xemacs.org>
13317
13318         * device-msw.c (msprinter_init_device):
13319         * device-msw.c (sync_printer_with_devmode):
13320         * device-msw.c (handle_devmode_changes):
13321         * device-msw.c (print_dialog_worker):
13322         * device-msw.c (Fmsprinter_apply_settings):
13323         * device-msw.c (hash_devmode):
13324         * device-msw.c (Fmsprinter_settings_despecialize):
13325         use Qmswindows_tstr, not Qctext.
13326
13327         * vm-limit.c (check_memory_limits):
13328         avoid infinite loop printing warning messages.
13329
13330 2000-07-05  Craig Lanning  <lanning@scra.org>
13331
13332         * Makefile.in.in: Add support for including the Windows resources
13333         when building with the cygwin and mingw targets.
13334
13335         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13336         not set or not correct.
13337         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13338         (init_initial_directory): Don't try to use $PWD on the
13339         WIN32_NATIVE target.
13340
13341         * s\cygwin32.h:
13342         [[Add -mwindows to eliminate console window.]] not required --ben
13343         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13344         (MAIL_USE_POP): removed; now handled by configure.
13345
13346         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13347         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13348         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13349         (MAIL_USE_POP): removed; now handled by configure.
13350         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13351         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13352         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13353         constant string.
13354         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13355         up from <winsock.h> via systime.h.
13356         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13357         (getpagesize): from Dan Holmsand, added.
13358         Added #endif which was left dangling by Ben's mega patch; added
13359         comment to help prevent this in the future.
13360
13361         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13362
13363 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13364
13365         * console-msw.h (struct mswindows_device): Removed unnecessary
13366         cached device geometry values.
13367         Added update_tick and an accessor macro.
13368         (Lisp_Devmode): Added lrecord declaration.
13369         (struct msprinter_device): Contain devmode as a Lisp object.
13370         Added mswindows_get_selected_frame_hwnd();
13371
13372         * console.h (struct console_methods): Indentation nitpicking.
13373
13374         * device-msw.c (mswindows_init_device): Do not initialize geometry
13375         cache. Initialize update tick.
13376         (mswindows_device_system_metrics): Ask the device for its geometry.
13377         (global_free_2_maybe):
13378         (devmode_to_hglobal):
13379         (handle_printer_changes):
13380         (ensure_not_printing):
13381         (print_dialog_worker):
13382         (Fmsprinter_print_setup_dialog):
13383         (Fmsprinter_print_dialog):
13384         (plist_get_margin):
13385         (plist_set_margin):
13386         (Fmsprinter_page_setup_dialog): Added functions.
13387         (sync_printer_with_devmode):
13388         (handle_devmode_changes):
13389         (Fmsprinter_get_settings):
13390         (Fmsprinter_select_settings):
13391         (Fmsprinter_apply_settings):
13392         (allocate_devmode):
13393         (Fmsprinter_settings_copy):
13394         (Fmsprinter_settings_despecialize):
13395         (print_devmode):
13396         (finalize_devmode):
13397         (equal_devmode):
13398         (hash_devmode): Added functions
13399         (syms_of_device_mswindows): Init devmode lrecord class.
13400
13401         * device.h: Added an exfun for find-device.
13402
13403         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13404         geometry; although, recreate the device compatible DC.
13405
13406         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13407         (msprinter_init_frame_3):
13408         (msprinter_frame_property):
13409         (msprinter_internal_frame_property_p):
13410         (msprinter_frame_properties):
13411         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13412         print job properties (will move to device settings).
13413
13414         * lisp.h: Added symbols.
13415
13416         * general.c (syms_of_general): Declared them.
13417
13418         * hash.c (string_hash): Added.
13419
13420         * lrecord.h (lrecord_type): Added devmode lrecord type.
13421
13422 2000-07-02  Mike Sperber <mike@xemacs.org>
13423
13424         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13425         FreeBSD 4.0.
13426
13427 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13428
13429         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13430         integer.
13431
13432 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13433
13434         * data.c (Fstring_to_number): Don't recognize floating point if
13435         base is not 10.
13436
13437 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13438
13439         * glyphs-widget.c (tab_control_query_geometry):
13440         (widget_query_geometry):
13441         (button_query_geometry):
13442         * glyphs.c (text_query_geometry):
13443         Enforce type correctness.
13444
13445 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13446
13447         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13448         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13449
13450 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13451
13452         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13453         conflicts with gcc's fixincluded version of FOO.h.
13454
13455         * glyphs.h (image_instance_geometry): Remove trailing `,'
13456
13457 2000-06-08  Mike Alexander  <mta@arbortext.com>
13458
13459         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13460         (shove_thread): Don't write the same output twice
13461         (make_ntpipe_output_stream): Increase priority of shove thread
13462         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13463         chance to run
13464         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13465         it.
13466
13467 2000-06-12  Ben Wing  <ben@xemacs.org>
13468
13469         * s\mingw32.h (sigset):
13470         * s\windowsnt.h (sigset):
13471         rename msw_ to mswindows_ for consistency with general convention.
13472
13473 2000-06-12  Ben Wing  <ben@xemacs.org>
13474
13475         * console-msw.c:
13476         * console-msw.c (mswindows_get_console_hwnd):
13477         * console-msw.c (mswindows_ensure_console_allocated):
13478         * console-msw.c (mswindows_hide_console):
13479         * console-msw.c (mswindows_show_console):
13480         * console-msw.c (mswindows_ensure_console_buffered):
13481         * console-msw.c (mswindows_output_console_string):
13482         * console-msw.c (mswindows_windows9x_p):
13483         * console-msw.h:
13484         * device-msw.c (mswindows_get_workspace_coords):
13485         * device-msw.c (mswindows_device_system_metrics):
13486         * dialog-msw.c (mswindows_popup_dialog_box):
13487         * event-msw.c (mswindows_wnd_proc):
13488         * frame-msw.c (mswindows_size_frame_internal):
13489         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13490         * menubar-msw.c (displayable_menu_item):
13491         * menubar-msw.c (mswindows_char_is_accelerator):
13492         * nt.c:
13493         * nt.c (mswindows_sigset):
13494         * nt.c (mswindows_sigrelse):
13495         * nt.c (mswindows_sigpause):
13496         * nt.c (mswindows_raise):
13497         * nt.c (timer_proc):
13498         * ntproc.c:
13499         * ntproc.c (find_child_console):
13500         * ntproc.c (sys_kill):
13501         * print.c:
13502         * print.c (std_handle_out_external):
13503         * process-nt.c (find_child_console):
13504         * process-nt.c (send_signal_the_95_way):
13505         * process-nt.c (ensure_console_window_exists):
13506         * process-nt.c (nt_create_process):
13507         * syssignal.h:
13508         rename msw_ to mswindows_ for consistency with general convention.
13509
13510         * emacs.c:
13511         * dumper.c:
13512         include nt.h, not syswindows.h.
13513
13514         * nt.c (mswindows_fstat):
13515         * nt.c (mswindows_stat):
13516         prefix mswindows_ instead of attempting to directly override the
13517         library functions.  fix declarations.
13518
13519         * nt.h:
13520         include syswindows.h.  move some sysdep.h stuff here.
13521
13522         * ntheap.h:
13523         include syswindows.h, not <windows.h>.
13524
13525         * ntplay.c:
13526         clean up headers.
13527
13528         * sysdep.c:
13529         clean up headers.
13530
13531         * sysdep.c (sys_fstat):
13532         * sysdep.c (sys_stat):
13533         call mswindows versions when appropriate.
13534
13535         * sysdep.h:
13536         move mswin decls to nt.h.
13537
13538         * syswindows.h:
13539         add long comment describing appropriate use of the various windows
13540         headers.
13541
13542 2000-06-11  Ben Wing  <ben@xemacs.org>
13543
13544         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13545
13546 2000-06-10  Ben Wing  <ben@xemacs.org>
13547
13548         * Makefile.in.in (release):
13549         Correction to make sure xemacs.exe always dumped when correct.
13550
13551         * alloca.c:
13552         * balloon_help.c:
13553         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13554
13555         * buffer.c (set_buffer_internal):
13556         [[[[2]]]]: Remove HAVE_FEP code.
13557
13558         * buffer.c (init_initial_directory):
13559         [3].
13560
13561         * bytecode.c:
13562         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13563         individual files.
13564
13565         * callproc.c:
13566         * callproc.c (call_process_cleanup):
13567         * callproc.c (Fold_call_process_internal):
13568         * callproc.c (child_setup):
13569         * callproc.c (getenv_internal):
13570         * callproc.c (init_callproc):
13571         * callproc.c (vars_of_callproc):
13572         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13573         __CYGWIN32__ -> CYGWIN.
13574         DOS_NT -> WIN32_NATIVE.
13575         Remove MSDOS support/references, converting to WIN32_NATIVE
13576           where correct.
13577         __MINGW32__ -> MINGW.
13578         Fix windows.h includes.
13579         Remove bogus HAVE_NTGUI.
13580
13581         * config.h.in:
13582         [2].
13583
13584         * console-msw.c:
13585         mswindows_message_outputted added for use in allowing startup
13586         errors on the console to be seen.
13587
13588         * console-msw.c (msw_ensure_console_allocated):
13589         * console-msw.c (msw_output_console_string):
13590         * console-msw.c (DHEADER):
13591         * console-msw.c (DOPAQUE_DATA):
13592         * console-msw.c (DEVENT):
13593         * console-msw.c (DCONS):
13594         * console-msw.c (DCONSCDR):
13595         * console-msw.c (DSTRING):
13596         * console-msw.c (DVECTOR):
13597         * console-msw.c (DSYMBOL):
13598         * console-msw.c (DSYMNAME):
13599         Fix warnings.
13600
13601         * console-stream.c (stream_init_console):
13602         Fix text/binary problems.
13603
13604         * device-msw.c:
13605         * device-msw.c (mswindows_finish_init_device):
13606         * device-msw.c (mswindows_delete_device):
13607         [1].
13608
13609         * device.c (handle_asynch_device_change):
13610         [3].
13611
13612         * dgif_lib.c:
13613         * dgif_lib.c (DGifOpenFileName):
13614         * dgif_lib.c (DGifOpenFileHandle):
13615         * dgif_lib.c (DGifGetLine):
13616         * dgif_lib.c (DGifGetPixel):
13617         Added config.h/lisp.h, fix up includes.
13618         [1].
13619
13620         * dired-msw.c:
13621         [4].
13622
13623         * dired.c:
13624         * dired.c (file_name_completion):
13625         * dired.c (Ffile_attributes):
13626         * dired.c (syms_of_dired):
13627         [1].
13628
13629         * dumper.c:
13630         * dumper.c (pdump_file_unmap):
13631         * dumper.c (pdump_load):
13632         [1].
13633
13634         * editfns.c:
13635         * editfns.c (Ftemp_directory):
13636         * editfns.c (user_login_name):
13637         * editfns.c (Fuser_real_login_name):
13638         * editfns.c (get_home_directory):
13639         [1].
13640
13641         * elhash.c (finish_marking_weak_hash_tables):
13642         [[[[5]]]]: Fix GCC warnings.
13643
13644         * emacs.c:
13645         * emacs.c (mswindows_handle_hardware_exceptions):
13646         * emacs.c (make_arg_list_1):
13647         * emacs.c (main_1):
13648         * emacs.c (Fkill_emacs):
13649         * emacs.c (Fdump_emacs):
13650         [1].
13651         Fix problems with nested crashes, add long comment.
13652
13653         * event-Xt.c (init_event_Xt_late):
13654         [1].
13655
13656         * event-msw.c:
13657         * event-msw.c (mswindows_dde_callback):
13658         * event-msw.c (mswindows_handle_sticky_modifiers):
13659         * event-msw.c (mswindows_wnd_proc):
13660         [1].
13661         [5].
13662
13663         * events.c (character_to_event):
13664         [1].
13665
13666         * fileio.c:
13667         * fileio.c (Ffile_name_directory):
13668         * fileio.c (Ffile_name_nondirectory):
13669         * fileio.c (directory_file_name):
13670         * fileio.c (Fexpand_file_name):
13671         * fileio.c (Fsubstitute_in_file_name):
13672         * fileio.c (Ffile_name_absolute_p):
13673         * fileio.c (check_executable):
13674         * fileio.c (Ffile_readable_p):
13675         * fileio.c (Ffile_accessible_directory_p):
13676         * fileio.c (Ffile_modes):
13677         * fileio.c (Funix_sync):
13678         * fileio.c (vars_of_fileio):
13679         [1]. [4].
13680
13681         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13682
13683         Expand getdefdir defn.
13684         Fix bogus rename() comment.
13685
13686         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13687         to use standard XEmacs include files, e.g. sysfile.h, rather
13688         than system-specific includes.
13689
13690         * fns.c:
13691         * fns.c (Fsubseq):
13692         [5]. [6].
13693
13694         * frame.c (vars_of_frame):
13695         [1].
13696
13697         * getloadavg.c:
13698         * getloadavg.c (getloadavg):
13699         [1]. [6].
13700         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13701         (We don't use it elsewhere in the code; just add a comment.)
13702
13703         * gif_io.c:
13704         [6].
13705         Add config.h.
13706
13707         * glyphs-msw.c:
13708         * glyphs-msw.c (mswindows_resource_instantiate):
13709         [1].
13710
13711         * glyphs-x.c (x_native_layout_instantiate):
13712         [5].
13713
13714         * gui-msw.c (Fmswindows_shell_execute):
13715         [1].
13716
13717         * insdel.c:
13718         [4].
13719
13720         * lisp.h:
13721         [4]. [5].
13722
13723         * lread.c (locate_file_in_directory_mapper):
13724         [1].
13725
13726         * lstream.c:
13727         [4].
13728
13729         * mem-limits.h:
13730         * mem-limits.h (get_lim_data):
13731         [1].
13732
13733         * menubar-msw.c:
13734         [4].
13735
13736         * ndir.h:
13737         [1].
13738
13739         * nt.c:
13740         * nt.c (getwd):
13741         * nt.c (closedir):
13742         * nt.c (rva_to_section):
13743         * nt.c (mswindows_executable_type):
13744         [1]. [6].
13745         Fix closedir() defn.
13746
13747         * nt.h:
13748         [[[[8]]]]: *_OK defs moved to sysfile.h.
13749
13750         * ntproc.c:
13751         [6]. [7].
13752
13753         * objects-x.c:
13754         [4].
13755
13756         * print.c:
13757         * print.c (std_handle_out_external):
13758         [1]. [4].
13759
13760         * process-nt.c:
13761         * process-nt.c (nt_create_process):
13762         [6].
13763         try to fix process quoting somewhat.
13764
13765         * process-unix.c (unix_create_process):
13766         [1].
13767
13768         * process.c:
13769         * process.c (vars_of_process):
13770         Add Vnull_device.
13771
13772         * process.h:
13773         [1].
13774
13775         * realpath.c:
13776         * realpath.c (xrealpath):
13777         [1].
13778
13779         * redisplay-tty.c (init_tty_for_redisplay):
13780         [3].
13781
13782         * redisplay.c:
13783         [4]. [6].
13784
13785         * scrollbar-msw.c:
13786         [4].
13787
13788         * sheap.c:
13789         * sheap.c (more_static_core):
13790         * sheap.c (report_sheap_usage):
13791         [5]. [6].
13792
13793         * signal.c:
13794         * signal.c (alarm_signal):
13795         [1]. [6].
13796
13797         * sound.c:
13798         [6].
13799
13800         * strftime.c:
13801         * strftime.c (zone_name):
13802         [1]. [5].
13803
13804         * symsinit.h (init_sunpro):
13805         [1].
13806
13807         * syscommctrl.h:
13808         commctrl.h not in Cygwin b20.1.
13809
13810         * sysdep.c:
13811         * sysdep.c (endif):
13812         * sysdep.c (sys_subshell):
13813         * sysdep.c (init_baud_rate):
13814         * sysdep.c (emacs_get_tty):
13815         * sysdep.c (emacs_set_tty):
13816         * sysdep.c (tty_init_sys_modes_on_device):
13817         * sysdep.c (init_system_name):
13818         * sysdep.c (sys_open):
13819         * sysdep.c (interruptible_open):
13820         * sysdep.c (sys_fopen):
13821         * sysdep.c (sys_mkdir):
13822         * sysdep.c (sys_rename):
13823         * sysdep.c (get_process_times_1):
13824         [1]. [6].
13825
13826         * sysdep.h:
13827         [1].
13828
13829         * sysdir.h:
13830         * sysdir.h (DIRENTRY_NONEMPTY):
13831         [1]. [6].
13832
13833         * sysdll.c (dll_init):
13834         * sysdll.h:
13835         [1].
13836
13837         * sysfile.h:
13838         [1]. [6]. [8].
13839         added text/binary defs.
13840
13841         * sysfloat.h:
13842         [1].
13843
13844         * sysproc.h:
13845         * sysproc.h (EDESTADDRREQ):
13846         * sysproc.h (poll_fds_for_input):
13847         [1]. [6].
13848
13849         * syspwd.h:
13850         [6].
13851
13852         * syssignal.h:
13853         [1].
13854
13855         * systime.h:
13856         [1]. [6].
13857
13858         * systty.h:
13859         [1].
13860
13861         * syswindows.h:
13862         [1].
13863         Always define WIN32_LEAN_AND_MEAN.
13864
13865         * unexcw.c (unexec):
13866         [5].
13867
13868         * unexec.c:
13869         * unexec.c (copy_text_and_data):
13870         * unexec.c (adjust_lnnoptrs):
13871         [1].
13872
13873         * unexnt.c:
13874         * unexnt.c (_start):
13875         [1].
13876
13877 2000-06-07  Ben Wing  <ben@xemacs.org>
13878
13879         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13880         was used only as a model.  We've long since extracted any useful
13881         logic or code out of this. (I just did an exhaustive search.)
13882
13883         * s\msdos.h: Removed.
13884
13885         * s\windows95.h: Removed.
13886
13887 2000-06-10  Ben Wing  <ben@xemacs.org>
13888
13889         * s\cygwin32.h:
13890         [1]. [5].
13891         Don't use extern with fun defs.
13892
13893         * s\mingw32.h:
13894         [1]. [7].
13895         Remove nt\inc include.
13896         Remove getdisk, getdefdir. (The former is unused, the latter
13897         expanded in fileio.h.)
13898
13899         * s\windowsnt.h:
13900         * s\windowsnt.h (WIN32_NATIVE):
13901         * s\windowsnt.h (HAVE_STRCASECMP):
13902         [1]. [7].
13903         Add long comment about preprocessor changes.
13904         Remove getdisk, getdefdir. (The former is unused, the latter
13905         expanded in fileio.h.)
13906
13907 2000-06-10  Ben Wing  <ben@xemacs.org>
13908
13909         * m\arm.h:
13910         * m\delta.h:
13911         * m\intel386.h:
13912         * m\sequent.h:
13913         * m\template.h:
13914         * m\windowsnt.h:
13915         [1].
13916         Remove bogus/unused NO_SOCK_SIGIO.
13917
13918 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13919
13920         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13921         not an Emchar.
13922
13923 2000-06-04  Mike Sperber <mike@xemacs.org>
13924
13925         * casetab.c (set_case_table): For `set-standard-case-table',
13926         actually deposit the new case tables where the rest of XEmacs can
13927         see them.
13928
13929 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13930
13931         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13932
13933 2000-06-05  Ben Wing  <ben@xemacs.org>
13934
13935         * callproc.c (child_setup): Don't do close_load_descs() under
13936         MS Windows.  Put in a comment explaining why.
13937
13938 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13939
13940         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13941         Toolkit shell" which breaks `kill-compilation' on Windows NT
13942         native, retaining STDERR handling improvements.
13943
13944 2000-06-01  Andreas Jaeger  <aj@suse.de>
13945
13946         * s/s390.h: Support for S390, based on a patch by Martin
13947         Schwidefsky <schwidefsky@de.ibm.com>.
13948
13949 2000-05-30  Andy Piper  <andy@xemacs.org>
13950
13951         * window.c (allocate_window):
13952         (make_dummy_parent):
13953         (Fset_window_configuration): use new hashtable type.
13954
13955         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13956         (struct image_instantiator_methods):
13957         (struct Lisp_Image_Instance): make instance geometry signed.
13958
13959         * glyphs.c (instantiate_image_instantiator):
13960         (image_instance_query_geometry):
13961         (image_instance_layout):
13962         (image_instance_layout):
13963         (query_string_geometry):
13964         (text_query_geometry):
13965         (image_instantiate):
13966         (image_instantiate):
13967         (cache_subwindow_instance_in_frame_maybe):
13968         (subwindow_query_geometry): make instance geometry signed.
13969
13970         * glyphs-widget.c (widget_query_geometry):
13971         (widget_layout):
13972         (button_query_geometry):
13973         (tree_view_query_geometry):
13974         (tab_control_query_geometry):
13975         (layout_query_geometry):
13976         (layout_layout):
13977         (native_layout_layout): make instance geometry signed.
13978
13979 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13980
13981         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13982         constant.
13983
13984         * general.c (syms_of_general): Add Qfull_assoc symbol.
13985
13986         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13987         correctly.
13988         (decode_weak_list_type): Decode full-assoc type.
13989         (encode_weak_list_type): Encode full-assoc type.
13990         (Fmake_weak_list): Update doc string.
13991
13992 2000-05-30  Andy Piper  <andy@xemacs.org>
13993
13994         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13995
13996         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13997         (decode_hash_table_weakness): ditto.
13998         (Fhash_table_weakness): ditto.
13999         (Fhash_table_type): ditto.
14000         (finish_marking_weak_hash_tables): ditto.
14001         (hash_table_weakness_validate): ditto.
14002         (syms_of_elhash): ditto.
14003
14004 2000-05-28  Martin Buchholz <martin@xemacs.org>
14005
14006         * XEmacs 21.2.34 is released.
14007
14008 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
14009
14010         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
14011         start cache.
14012         (updating_line_start_cache): Gone.
14013         (regenerate_window): Replace resetting of VERTICAL_CLIP by
14014         generic code to force a minimum of 1 line laid out in the
14015         CMOTION_DISP case.
14016
14017 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
14018
14019         * glyphs.c (instantiate_image_instantiator): Check for initialized
14020         height & width no longer special cases IMAGE_NOTHING.
14021         (nothing_instantiate): Set height and width of instance.
14022
14023 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14024
14025         * unexelf.c (unexec): Search for ".data" section.
14026         Initialize new_data2_offset from old_data_index.
14027         Remove redundant check for ElfW.
14028
14029 2000-05-23  Andy Piper  <andy@xemacs.org>
14030
14031         * glyphs.c (get_image_instantiator_governing_domain): allow more
14032         specific domains as the governing domain rather than expecting an
14033         exact match. This fixes problems with layouts.
14034
14035 2000-05-22  Andy Piper  <andy@xemacs.org>
14036
14037         * redisplay-output.c (compare_runes): check for non-images
14038
14039         * glyphs.c (set_glyph_dirty_p): ditto.
14040         (update_glyph_cachel_data): ditto.
14041
14042         * glyphs-widget.c (layout_post_instantiate): ditto.
14043         (layout_post_instantiate): ditto.
14044
14045         * event-msw.c (mswindows_wnd_proc): warning removal.
14046
14047 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
14048
14049         * s\mingw32.h: Added #undef for CLASH_DETECTION.
14050
14051         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
14052
14053         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
14054
14055         * nt.c (rva_to_section): mingw32 needs rva_to_section.
14056         (mswindows_executable_type): mingw32 now has enough headers for
14057         this to work.
14058
14059 2000-05-20  Andy Piper  <andy@xemacs.org>
14060
14061         * console-msw.c (mswindows_output_last_error): ; -> ,
14062
14063 2000-05-12  Andy Piper  <andy@xemacs.org>
14064
14065         * console-msw.c (FROB): compare ints with ints.
14066
14067 2000-05-11  Andy Piper  <andy@xemacs.org>
14068
14069         * glyphs-x.c (x_finalize_image_instance): make minimal build
14070         happy.
14071
14072 2000-05-20  Ben Wing  <ben@xemacs.org>
14073
14074         * event-Xt.c:
14075         * event-Xt.c (vars_of_event_Xt):
14076         move modifier-keys-are-sticky to event-stream.c.
14077
14078         * event-msw.c:
14079         * event-msw.c (mswindows_enqueue_mouse_button_event):
14080         * event-msw.c (key_needs_default_processing_p):
14081         * event-msw.c (XEMSW_LCONTROL):
14082         * event-msw.c (mswindows_handle_sticky_modifiers):
14083         * event-msw.c (FROB):
14084         * event-msw.c (clear_sticky_modifiers):
14085         * event-msw.c (output_modifier_keyboard_state):
14086         * event-msw.c (output_alt_keyboard_state):
14087         * event-msw.c (mswindows_wnd_proc):
14088         * event-msw.c (mswindows_modifier_state):
14089         * event-msw.c (emacs_mswindows_handle_magic_event):
14090         implement sticky modifiers.
14091
14092         * event-stream.c:
14093         * event-stream.c (vars_of_event_stream):
14094         move modifier-keys-are-sticky here.
14095
14096         * lisp.h:
14097         add CHECK_FUNCTION.
14098
14099         * rangetab.c:
14100         implement map-range-table.
14101
14102
14103 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
14104
14105         * redisplay-tty.c (reset_tty_modes):
14106         (tty_redisplay_shutdown): Adjust argument type to
14107         tty_frame_output_end.
14108
14109 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14110
14111         * eval.c (Fbacktrace): Don't output a line with only right
14112         parenthesis.
14113
14114 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
14115
14116         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
14117         (Fpq_reset_poll): Ditto.
14118
14119 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
14120
14121         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
14122
14123 2000-05-16  Ben Wing  <ben@xemacs.org>
14124
14125         * buffer.c:
14126         * buffer.c (dfc_convert_to/from_internal_format):
14127         * buffer.c (reinit_vars_of_buffer):
14128         Fix conversion functions to allow reentrancy.
14129
14130         * console-msw.c:
14131         * console-msw.c (mswindows_output_last_error):
14132         New fun, generally useful -- output a human-readable
14133         version of GetLastError() on the console.
14134
14135         * console-msw.h:
14136         * console-msw.h (struct mswindows_frame):
14137         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
14138
14139         * console-stream.c (stream_output_begin):
14140         * console-stream.c (stream_output_end):
14141         * console-stream.c (stream_output_vertical_divider):
14142         * console-stream.c (stream_clear_region):
14143         * console-stream.c (stream_flash):
14144         * console-stream.c (console_type_create_stream):
14145         Delete blank stream methods, not needed.
14146
14147         * console.h (struct console_methods):
14148         Split begin/end methods into window and frame.
14149
14150         * event-msw.c:
14151         * event-msw.c (mswindows_handle_paint):
14152         * event-msw.c (output_alt_keyboard_state):
14153         * event-msw.c (mswindows_wnd_proc):
14154         * event-msw.c (vars_of_event_mswindows):
14155         Comment about problems with ignored-expose.
14156         Define mswindows-debug-events; not really implemented.
14157
14158         * frame-msw.c (mswindows_init_frame_1):
14159         random cleanups.
14160
14161         * glyphs-msw.c:
14162         * glyphs-msw.c (begin_defer_window_pos):
14163         * glyphs-msw.c (mswindows_unmap_subwindow):
14164         * glyphs-msw.c (mswindows_map_subwindow):
14165         * glyphs-msw.c (mswindows_resize_subwindow):
14166         Use DeferWindowPos to reduce flashing when mapping/unmapping.
14167
14168         * glyphs.c (make_image_instance_1):
14169         Fix crash.
14170
14171         * gutter.c (Fredisplay_gutter_area):
14172         Use new begin/end methods.
14173
14174         * lisp.h (Dynarr_new2):
14175         New creation fun.
14176
14177         * redisplay-msw.c:
14178         * redisplay-msw.c (mswindows_frame_output_begin):
14179         * redisplay-msw.c (mswindows_frame_output_end):
14180         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14181         New begin/end methods -- handle DeferWindowPos.
14182
14183         * redisplay-output.c (redisplay_move_cursor):
14184         * redisplay-output.c (redraw_cursor_in_window):
14185         * redisplay-output.c (redisplay_update_line):
14186         * redisplay-output.c (redisplay_output_window):
14187         New begin/end methods.
14188
14189         * redisplay-tty.c:
14190         * redisplay-tty.c (tty_frame_output_begin):
14191         * redisplay-tty.c (tty_frame_output_end):
14192         * redisplay-tty.c (console_type_create_redisplay_tty):
14193         New begin/end methods.
14194
14195         * redisplay-x.c:
14196         * redisplay-x.c (x_window_output_begin):
14197         * redisplay-x.c (x_window_output_end):
14198         * redisplay-x.c (console_type_create_redisplay_x):
14199         New begin/end methods.
14200
14201         * redisplay.c (redisplay_frame):
14202         * redisplay.c (Fredisplay_echo_area):
14203         New begin/end methods.
14204         use MAYBE_DEVMETH for clear_frame; it may not exist.
14205
14206         * window.h (WINDOW_XFRAME):
14207         WINDOW_XFOO macros -- get locale and decode struct pointer.
14208
14209
14210 2000-05-12  Ben Wing  <ben@xemacs.org>
14211
14212         * emacs.c:
14213         * emacs.c (ensure_no_quitting_from_now_on):
14214         * emacs.c (fatal_error_signal):
14215         * emacs.c (mswindows_handle_hardware_exceptions):
14216         * emacs.c (main):
14217         * emacs.c (Fkill_emacs):
14218         * emacs.c (shut_down_emacs):
14219         * emacs.c (assert_failed):
14220         various improvements in fatal error handling.
14221
14222         * eval.c:
14223         move preparing_for_armageddon to emacs.c.
14224
14225         * lisp.h:
14226         declare fatal_error_in_progress.
14227
14228         * print.c:
14229         * print.c (std_handle_out_external):
14230         * print.c (std_handle_out_va):
14231         * print.c (stderr_out):
14232         * print.c (stdout_out):
14233         use console under mswin when no standard output.
14234         don't do code conversion during fatal error.
14235
14236         * scrollbar.c (Fscrollbar_page_up):
14237         * scrollbar.c (Fscrollbar_page_down):
14238         fix missing else.  reindent.
14239
14240 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14241
14242         Emergency fix.
14243
14244         * glyphs.h (GLYPH_CACHEL_DESCENT):
14245         (GLYPH_CACHEL_DESCENT):
14246         (GLYPH_CACHEL_DESCENT):
14247         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14248         used in case these are inline functions.
14249         Use more absurd values to error check.
14250
14251         include window.h for error check functions.
14252
14253 2000-05-11  Ben Wing  <ben@xemacs.org>
14254
14255         * cmdloop.c (Freally_early_error_handler):
14256         Display message box under windows; otherwise, message will disappear
14257         before it can be viewed.
14258
14259         * console-msw.c:
14260         * console-msw.c (Fmswindows_message_box):
14261         * console-msw.c (FROB):
14262         * console-msw.c (syms_of_console_mswindows):
14263         Define new fun `mswindows-message-box'.
14264         #### I will merge this into `popup-dialog-box'; just give me
14265         a bit of time.
14266
14267         * general.c:
14268         * general.c (syms_of_general):
14269         Some new symbols used in `mswindows-message-box'.
14270
14271         * glyphs.c:
14272         * glyphs.c (Fset_image_instance_property):
14273         put warning in this fun.
14274
14275         * glyphs.h:
14276         * glyphs.h (GLYPH_CACHEL_WIDTH):
14277         * glyphs.h (GLYPH_CACHEL_ASCENT):
14278         * glyphs.h (GLYPH_CACHEL):
14279         * glyphs.h (GLYPH_CACHEL_GLYPH):
14280         define error-checking versions to try to catch a bug i've seen --
14281         redisplay gets in an infinite loop because the glyph width of the
14282         continuation glyph is 65535.
14283
14284         * lisp.h:
14285         Extern message-box stuff.
14286
14287         * window.c (allocate_window):
14288         * window.c (make_dummy_parent):
14289         * window.c (Fset_window_configuration):
14290         Use EQUAL not EQ for subwindow caches to make them work a bit
14291         better. (Something is still very broken.)
14292
14293
14294 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14295
14296         * glyphs.c (image_instantiate): Suppress gcc warnings.
14297         (Fmake_image_instance): Fix doc string.
14298         * specifier.c (Fmake_specifier): Ditto.
14299
14300 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14301
14302         * paths.h.in (PATH_LOCK): Removed.
14303         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14304         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14305
14306 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14307
14308         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14309         Document (featurep '(and xemacs 21.02)).
14310
14311 2000-05-09  Ben Wing  <ben@xemacs.org>
14312
14313         * buffer.c (complex_vars_of_buffer):
14314         update modeline-format doc.
14315
14316         * device.h:
14317         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14318
14319         * emacs.c:
14320         timeline of all released versions of Emacs, for use in creating
14321         authorship comments and in synching up.
14322
14323         * glyphs-widget.c (image_instantiator_buttons):
14324         * glyphs-widget.c (image_instantiator_edit_fields):
14325         * glyphs-widget.c (image_instantiator_combo_box):
14326         * glyphs-widget.c (image_instantiator_scrollbar):
14327         * glyphs-widget.c (image_instantiator_progress_guage):
14328         * glyphs-widget.c (image_instantiator_tree_view):
14329         * glyphs-widget.c (image_instantiator_tab_control):
14330         * glyphs-widget.c (image_instantiator_labels):
14331         * glyphs-widget.c (image_instantiator_layout):
14332         * glyphs-widget.c (image_instantiator_native_layout):
14333         rename decode_domain method to governing_domain.
14334
14335         * glyphs.c:
14336         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14337         * glyphs.c (add_entry_to_device_ii_format_list):
14338         make sure we don't put an entry more than once into the list.
14339         * glyphs.c (check_instance_cache_mapper):
14340         *************************************************************
14341         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14342         HAVE BEEN GETTING.
14343         *************************************************************
14344         * glyphs.c (get_image_instantiator_governing_domain):
14345         clean up, expand on new concept of governing domain.
14346         * glyphs.c (instantiate_image_instantiator):
14347         * glyphs.c (allocate_image_instance):
14348         use governing_domain instead of cache_domain in naming.
14349         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14350         * glyphs.c (make_image_instance_1):
14351         * glyphs.c (Fmake_image_instance):
14352         allow for any domain (not just device), and process the
14353         governing domain correctly.  very big doc fix.
14354         * glyphs.c (Fimage_instance_domain):
14355         new primitive, to retrieve the governing domain of an image instance.
14356         * glyphs.c (image_instantiate):
14357         use new governing_domain stuff.  this fixes a crash you could get
14358         by instantiating certain widget glyphs in frame locales. (should
14359         signal an error instead of crashing.)
14360         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14361         * glyphs.c (Fglyphp): clean up doc.
14362         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14363         * glyphs.c (syms_of_glyphs):
14364         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14365         * glyphs.c (image_instantiator_format_create): add some comments about
14366         bogus code.
14367         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14368         for current-display-table. (Apparently Hrjove implemented in 1998 a
14369         design I wrote up in 1996, but didn't update the doc string.)
14370
14371         * glyphs.h: clean up a doc string.
14372         * glyphs.h (governing_domain):
14373         * glyphs.h (struct image_instantiator_methods):
14374         changes for governing_domain stuff.
14375
14376         * gutter.c:
14377         * gutter.c (Fgutter_specifier_p):
14378         * gutter.c (Fgutter_size_specifier_p):
14379         * gutter.c (Fgutter_visible_specifier_p):
14380         * objects.c:
14381         * objects.c (Fcolor_specifier_p):
14382         * objects.c (Ffont_specifier_p):
14383         * objects.c (Fface_boolean_specifier_p):
14384         doc strings moved to make-*-specifier.
14385
14386         * redisplay.c (add_disp_table_entry_runes_1):
14387         * redisplay.c (generate_fstring_runes):
14388         * redisplay.c (screen):
14389         add random comments and doc strings.
14390
14391         * specifier.c:
14392         * specifier.c (Fmake_specifier):
14393         major overhaul of this doc string.
14394
14395         * specifier.c (Fvalid_specifier_domain_p):
14396         comment about the bogosity of image instances being domains.
14397         * specifier.c (decode_domain):
14398         now non-static, used in glyphs.c.
14399         * specifier.c (specifier_instance):
14400         comment about the bogosity of image instances being domains.
14401         * specifier.c (Fgeneric_specifier_p):
14402         move doc string to make-generic-specifier.
14403         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14404         rebackslashify.
14405
14406         * specifier.h:
14407         * specifier.h (DOMAIN_FRAME):
14408         * specifier.h (DOMAIN_LIVE_P):
14409         * specifier.h (DOMAIN_XDEVICE):
14410         rebackslashify.
14411         add comments about problems with these macros.
14412         prototype for decode_domain.
14413
14414         * toolbar.c:
14415         * toolbar.c (Ftoolbar_specifier_p):
14416         move doc string to `make-toolbar-specifier'.
14417
14418         * window.c (window_unmap_subwindows_cache_mapper):
14419         *************************************************************
14420         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14421         HAVE BEEN GETTING.
14422         *************************************************************
14423
14424 2000-05-09  Andy Piper  <andy@xemacs.org>
14425
14426         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14427
14428         * window.c (Fset_window_configuration): reset the frame subwindow
14429         cache and re-initialize the window subwindow caches.
14430
14431         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14432
14433 2000-05-09  Ben Wing  <ben@xemacs.org>
14434
14435         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14436         DWORD.
14437
14438 2000-04-26  Mike Woolley  <mike@bulsara.com>
14439
14440         * ntheap.c: Changed recreate_heap to limit the amount reserved
14441         for the heap to that which is actually available. Also now
14442         displays a message box (with some dignostics) in the event that
14443         it still can't start.
14444
14445 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14446
14447         * callproc.c (Fold_call_process_internal): GCPRO path
14448
14449 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14450
14451         Patch by Bill Perry.
14452
14453         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14454         back data instead of #ifdef.
14455         (Fscrollbar_page_down): ditto.
14456
14457 2000-05-07  Ben Wing  <ben@xemacs.org>
14458
14459         * buffer.h:
14460         Kludge for defining Qmswindows_tstr.
14461
14462         * nt.c:
14463         * nt.c (open_input_file):
14464         * nt.c (open_output_file):
14465         * nt.c (rva_to_section):
14466         * nt.c (mswindows_executable_type):
14467         Move all memory-mapped-file routines here (some were in unexnt.c,
14468         which is bad because they are used by process-nt.c, and unexnt
14469         won't be around when portable dumping).  Synched the above routines
14470         with FSF 20.6.
14471
14472         * nt.h:
14473         Removed ifdef'd out bogus code.
14474         Fixed some prototypes.
14475
14476         * nt.h (file_data):
14477         * nt.h (OFFSET_TO_RVA):
14478         * nt.h (RVA_TO_OFFSET):
14479         * nt.h (RVA_TO_PTR):
14480         Moved the memory-mapped-file structures, macros and prototypes
14481         here, to parallel nt.c.  ntheap.h should really be removed
14482         entirely, and it's a non-portable-dumper specific file.
14483
14484         * ntheap.h (round_to_next):
14485         Moved the memory-mapped-file structures, macros and prototypes
14486         to nt.h.
14487
14488         * ntproc.c (compare_env):
14489         Moved rva_to_section and mswindows_executable_type to nt.c.
14490         Moved compare_env to process-nt.c.
14491         ntproc.c will die, one day.
14492
14493         * ntproc.c (sys_spawnve):
14494         Account for win32_ -> mswindows_.
14495
14496         * process-nt.c:
14497         * process-nt.c (struct nt_process_data):
14498         * process-nt.c (ensure_console_window_exists):
14499         * process-nt.c (compare_env):
14500         * process-nt.c (nt_create_process):
14501         * process-nt.c (nt_kill_process_by_pid):
14502         * process-nt.c (syms_of_process_nt):
14503         * process-nt.c (vars_of_process_nt):
14504         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14505         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14506         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14507         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14508         Move compare_env here from ntproc.c.
14509
14510         * process.c (Fprocess_send_region):
14511         Takes an optional fourth argument, BUFFER, which should fix some
14512         problems with call-process.
14513
14514         * syscommctrl.h:
14515         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14516
14517         * syswindows.h:
14518         Move ICC_BAR_CLASSES to syscommctrl.h.
14519         Add preliminary macros for MSWindows/Mule.  More to come.
14520
14521         * unexnt.c:
14522         * unexnt.c (unexec):
14523         open_output_file moved to nt.c.
14524
14525
14526 2000-05-05  Andy Piper  <andy@xemacs.org>
14527
14528         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14529         instance from the frame cache also since GC may catch up too late
14530         to make frame deletion sane.
14531
14532 2000-05-04  Andy Piper  <andy@xemacs.org>
14533
14534         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14535         (x_finalize_image_instance): ungcpro on deletion.
14536
14537         * glyphs.c (image_instantiator_format_create): give pointers a
14538         query geometry method so that the geometry is at least set.
14539
14540         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14541         initialize layouts if using widgets.
14542
14543 2000-05-03  Andy Piper  <andy@xemacs.org>
14544
14545         * nt.c: remove bogus reference to sysmmsystem.h
14546
14547         * gui-x.c (popup_selection_callback): fix no selection abort.
14548
14549 2000-05-02  Andy Piper  <andy@xemacs.org>
14550
14551         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14552         (mswindows_widget_instantiate): ditto.
14553
14554         * glyphs-widget.c (initialize_widget_image_instance): initialize
14555         children correctly.
14556         (widget_instantiate): cope with children and items in the same
14557         instance.
14558
14559         * glyphs.c (mark_image_instance): cope with children as a first
14560         class member.
14561         (image_instance_equal): ditto.
14562         (image_instance_hash): ditto.
14563         (image_instance_changed): ditto.
14564
14565 2000-04-30  Andy Piper  <andy@xemacs.org>
14566
14567         * glyphs.c (subwindow_query_geometry): new function. Return some
14568         defaults.
14569         (subwindow_instantiate): don't assign dimensions if none have been
14570         given.
14571         (image_instantiator_format_create): add subwindow_query_geometry.
14572         (print_image_instance): cope with layouts as widgets.
14573
14574 2000-04-29  Andy Piper  <andy@xemacs.org>
14575
14576         * frame.c (delete_frame_internal): call
14577         free_frame_subwindow_instance_cache so that all subwindows are
14578         finalized before their parent.
14579         (mark_frame): remove subwindow_cachels.
14580         (Fmake_frame): remove subwindow_cachel manipulation.
14581         (allocate_frame_core): subwindow_instance_cache is a weak list.
14582         (delete_frame_internal): set subwindow_instance_cache to nil.
14583
14584         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14585         finalization safe.
14586         (mswindows_finalize_image_instance): use the device
14587         not the domain as the domain may have died already.
14588
14589         * glyphs-x.c (x_finalize_image_instance): ditto.
14590         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14591         HEIGHT.
14592
14593         * redisplay-output.c (redisplay_unmap_subwindows): update for
14594         subwindow instance cache as a weak list.
14595         (redisplay_unmap_subwindows_maybe): ditto.
14596         (redisplay_unmap_subwindows_except_us): ditto.
14597
14598         * glyphs.c (unmap_subwindow): error checking will check the domain
14599         so don't deal with it here. Don't use cachels anymore.
14600         (map_subwindow): ditto.
14601         (update_subwindow_cachel_data): remove old accessor names.
14602         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14603         (Fresize_subwindow): don't update cachel.
14604         (mark_subwindow_cachels):
14605         (update_subwindow_cachel_data):
14606         (add_subwindow_cachel):
14607         (get_subwindow_cachel_index):
14608         (update_subwindow_cachel):
14609         (reset_subwindow_cachels):
14610         (mark_subwindow_cachels_as_not_updated): deleted.
14611         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14612         subwindow instance to the frame cache.
14613         (find_matching_subwindow): update for subwindow instance cache as
14614         a weak list.
14615         (update_widget_instances): ditto.
14616         (image_instance_type_to_mask):inlined.
14617         (free_frame_subwindow_instance_cache): new function. finalize all
14618         subwindows that are instantiated.
14619
14620         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14621         of cachel information.
14622         (IMAGE_INSTANCE_DISPLAY_X):
14623         (IMAGE_INSTANCE_DISPLAY_Y):
14624         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14625         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14626         (XIMAGE_INSTANCE_DISPLAY_X):
14627         (XIMAGE_INSTANCE_DISPLAY_Y):
14628         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14629         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14630         remove subwindow_cachel structure and function references.
14631         (image_instance_type_to_mask): inline from glyphs.c
14632
14633         * redisplay.c (redisplay_frame): remove subwindow_cachel
14634         references.
14635
14636         * frame.h (struct frame): remove subwindow_cachels.
14637         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14638
14639         * frameslots.h: add subwindow_instance_cache.
14640
14641         * window.c (replace_window): check subwindow cache of replacement.
14642         (window_unmap_subwindows_cache_mapper):
14643         (window_unmap_subwindows): new functions. Unmap all subwindows
14644         cached on this window.
14645         (mark_window_as_deleted): unmap all subwindows.
14646
14647 2000-04-27  Andy Piper  <andy@xemacs.org>
14648
14649         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14650
14651         * glyphs-widget.c (widget_layout): return something.
14652         (layout_layout): return something. Fail if not initialized.
14653         (layout_query_geometry): ditto.
14654         (image_instantiator_native_layout): new function. Initialized the
14655         native layout type.
14656         (widget_instantiate): don't do layout stuff here.
14657
14658         * glyphs.c (instantiate_image_instantiator): reorded calling or
14659         instantiate and post_instantiate with layout in between.
14660         (image_instance_layout): be more selective about deciding whether
14661         the layout has been done or not.
14662
14663         * glyphs.h (struct image_instantiator_methods): return a value
14664         from layout_method.
14665
14666 2000-04-26  Andy Piper  <andy@xemacs.org>
14667
14668         * glyphs.c (allocate_image_instance): make initial width and
14669         height unspecified. Set initialized to 0.
14670
14671         * syscommctrl.h new file. Encapsulates commctrl.h.
14672
14673         * syswindows.h new file. Encapsulates windows.h.
14674
14675         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14676         * nt.c: ditto.
14677         * console-msw.h: ditto.
14678
14679         * redisplay-tty.c (tty_output_display_block): remove layout references.
14680
14681         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14682         window handle rather than just the frame.
14683
14684         * glyphs.c (mark_image_instance): remove layout references.
14685         (print_image_instance): ditto.
14686         (image_instance_equal): ditto.
14687         (image_instance_hash): ditto.
14688         (decode_image_instance_type): ditto.
14689         (encode_image_instance_type): ditto.
14690         (image_instantiate): ditto.
14691         (allocate_glyph): ditto.
14692         (Fimage_instance_height): ditto.
14693         (Fimage_instance_width): ditto.
14694         (update_subwindow): ditto.
14695
14696         * redisplay-x.c (x_output_display_block): recode for layouts as
14697         widgets.
14698
14699         * redisplay-output.c (redisplay_output_layout): recode for layouts
14700         as widgets.
14701         (compare_runes): remove layout references.
14702
14703         * redisplay-msw.c (mswindows_output_display_block): recode for
14704         layouts as widgets.
14705
14706         * glyphs-widget.c (image_instantiator_layout): remove
14707         layout_possible_dest_types.
14708         (layout_possible_dest_types): deleted.
14709
14710         * glyphs.h (image_instance_type): remove layout references.
14711         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14712         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14713         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14714
14715 2000-04-25  Andy Piper  <andy@xemacs.org>
14716
14717         * glyphs-widget.c (image_instantiator_buttons):
14718         (image_instantiator_edit_fields):
14719         (image_instantiator_combo_box):
14720         (image_instantiator_scrollbar):
14721         (image_instantiator_progress_guage):
14722         (image_instantiator_tree_view):
14723         (image_instantiator_tab_control):
14724         (image_instantiator_labels):
14725         (image_instantiator_layout): call default post_instantiate method.
14726         (widget_post_instantiate): new function. Simply lays out the
14727         widgets.
14728
14729         * glyphs.h (struct image_instantiator_methods): add
14730         post_instantiate method.
14731
14732         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14733         method calls.
14734
14735 2000-04-23  Andy Piper  <andy@xemacs.org>
14736
14737         * glyphs.h (struct image_instantiator_methods): add
14738         decode_domain_method.
14739         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14740         derived from the domain.
14741         (IMAGE_INSTANCE_FRAME): new accessor.
14742         (XIMAGE_INSTANCE_FRAME): ditto.
14743
14744         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14745         instead of _SUBWINDOW_FRAME.
14746         (finalize_image_instance): ditto.
14747         (Fimage_instance_foreground): ditto.
14748         (Fimage_instance_background): ditto.
14749         (image_instantiate): ditto.
14750         (update_subwindow_cachel): ditto.
14751         (update_subwindow): ditto.
14752         (unmap_subwindow): ditto.
14753         (map_subwindow): ditto
14754         (subwindow_instantiate): ditto.
14755         * glyphs-msw.c (mswindows_update_widget): ditto.
14756         (mswindows_progress_gauge_instantiate): ditto.
14757         (mswindows_tab_control_update): ditto.
14758         * glyphs-x.c (x_update_widget): ditto.
14759         (x_widget_instantiate): ditto.
14760         (x_tab_control_instantiate): ditto.
14761         (x_tab_control_update): ditto.
14762         * event-msw.c (mswindows_wnd_proc): ditto
14763
14764         * glyphs-widget.c (image_instantiator_layout): use
14765         subwindow_decode_domain.
14766         (image_instantiator_buttons): ditto.
14767         (image_instantiator_edit_fields): ditto.
14768         (image_instantiator_combo_box): ditto.
14769         (image_instantiator_scrollbar): ditto.
14770         (image_instantiator_progress_guage): ditto.
14771         (image_instantiator_tree_view): ditto.
14772         (image_instantiator_tab_control): ditto.
14773         (image_instantiator_labels): ditto.
14774         (image_instantiator_layout): ditto.
14775
14776         * glyphs.c: add instance error checking to many functions.
14777         (instantiate_image_instantiator): decode device from cache_domain.
14778         (image_instantiate): partially rewrite by using
14779         decode_image_instantiator_domain to determine what domain the
14780         instance needs to be cached in.
14781         (decode_image_instantiator_domain): new function. Determine what
14782         domain the image needs to be cached in.
14783         (check_window_subwindow_cache): new error checking function.
14784         (check_instance_cache_mapper): ditto.
14785         (check_image_instance_structure): ditto.
14786         (subwindow_decode_domain): new function. Encodes a window as a
14787         subwindow's cache domain.
14788         (image_instantiator_format_create): use it for text and
14789         subwindows.
14790
14791 2000-04-21  Andy Piper  <andy@xemacs.org>
14792
14793         * glyphs.c (image_instance_device): new function.
14794         (image_instance_frame): new function.
14795         (image_instance_window): new function.
14796         (image_instance_live_p): new function.
14797
14798         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14799         cache to nil.
14800
14801         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14802         (IMAGE_INSTANCE_DOMAIN): new accessor.
14803         (XIMAGE_INSTANCE_DOMAIN): ditto.
14804
14805         * glyphs-x.c (x_finalize_image_instance): device->domain.
14806
14807         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14808         (mswindows_finalize_image_instance): ditto.
14809
14810         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14811         (gif_instantiate): ditto.
14812         (png_instantiate): ditto.
14813         (tiff_instantiate): ditto.
14814
14815         * glyphs.c (instantiate_image_instantiator): use domain rather
14816         than device.
14817         (mark_image_instance): device -> domain.
14818         (print_image_instance): ditto.
14819         (finalize_image_instance): ditto.
14820         (image_instance_equal): ditto.
14821         (allocate_image_instance): ditto.
14822         (Fcolorize_image_instance): ditto.
14823         (query_string_geometry): ditto.
14824         (image_instantiate): ditto
14825         (query_string_font): ditto.
14826         (image_instantiate): ditto.
14827         (update_subwindow): ditto.
14828         (unmap_subwindow): ditto.
14829         (map_subwindow): ditto.
14830         (subwindow_instantiate): ditto.
14831
14832         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14833         (DOMAIN_FRAME): ditto.
14834         (DOMAIN_WINDOW): ditto.
14835         (DOMAIN_LIVE_P): ditto.
14836         (XDOMAIN_DEVICE): ditto.
14837         (XDOMAIN_FRAME): ditto.
14838         (XDOMAIN_WINDOW): ditto.
14839
14840         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14841         a valid specifier domain.
14842
14843 2000-04-19  Andy Piper  <andy@xemacs.org>
14844
14845         * glyphs-widget.c (syms_of_glyphs_widget): remove
14846         widget-callback-current-channel.
14847         (vars_of_glyphs_widget): ditto.
14848         * glyphs.h: ditto
14849
14850         * gui.c (get_gui_callback): revert to previous behaviour.
14851
14852 2000-04-18  Andy Piper  <andy@xemacs.org>
14853
14854         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14855         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14856         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14857
14858         * glyphs.c (image_instance_equal): add margin_width.
14859         (image_instance_hash): ditto.
14860
14861         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14862         (layout_query_geometry): ditto.
14863         (layout_layout): ditto.
14864         (syms_of_glyphs_widget): add margin-width.
14865         (image_instantiator_layout): allow margin-width.
14866
14867         * glyphs.c (update_widget_instances): make a normal function.
14868         (syms_of_glyphs): remove Qupdate_widget_instances.
14869         * glyphs.h: ditto.
14870
14871         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14872         so that we don't corrupt ideas about the last event or
14873         command. Remove widget-callback-current-channel fiddling.
14874         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14875
14876 2000-05-01  Martin Buchholz <martin@xemacs.org>
14877
14878         * XEmacs 21.2.33 is released.
14879
14880 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14881
14882         * make-src-depend: Allow dots in header file name.
14883
14884 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14885
14886         * mule-charset.h (struct charset_lookup): Add
14887         next_allocated_1_byte_leading_byte and
14888         next_allocated_2_byte_leading_byte.
14889         * mule-charset.c: Move above two variables so that those values
14890         will be dumped.
14891
14892 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14893
14894         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14895         when string length is zero.
14896         (find_charsets_in_emchar_string): Ditto.
14897
14898 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14899
14900         * lisp.h: extern Qdialog and Qmenubar.
14901
14902         * gui-x.c: added events.h.
14903                 also fixed typo which made the file uncompilable.
14904
14905         * general.c: Added Qmenubar and Qdialog
14906
14907 2000-04-28  Ben Wing  <ben@xemacs.org>
14908
14909         * frame-msw.c (mswindows_init_frame_1):
14910         * frame-msw.c (mswindows_mark_frame):
14911         * event-msw.c (mswindows_enqueue_dispatch_event):
14912         * console-msw.h:
14913         * console-msw.h (struct mswindows_frame):
14914         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14915         there are now three hash tables for callbacks.
14916         mswindows_enqueue_dispatch_event is no longer static.
14917
14918         * dialog-x.c (maybe_run_dbox_text_callback):
14919         * dialog-x.c (dbox_descriptor_to_widget_value):
14920         switch to new cons3 form for callbacks.
14921
14922         * glyphs-msw.c (mswindows_register_gui_item):
14923         * glyphs-msw.c (mswindows_widget_instantiate):
14924         * glyphs-msw.c (add_tree_item):
14925         * glyphs-msw.c (add_tab_item):
14926         new image instance parameter, so it can be passed to callback-ex.
14927         respect :callback-ex as well as :callback.
14928
14929         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14930         add :callback-ex.
14931
14932         * glyphs.c (print_image_instance):
14933         prettify, e.g. now prints widget type.
14934
14935         * gui-x.h:
14936         certain funs have new image instance parameter.
14937
14938         * gui.c:
14939         * gui.c (get_gui_callback):
14940         * gui.c (gui_item_add_keyval_pair):
14941         * gui.c (gui_item_init):
14942         * gui.c (gui_add_item_keywords_to_plist):
14943         * gui.c (mark_gui_item):
14944         * gui.c (gui_item_hash):
14945         * gui.c (gui_item_equal):
14946         * gui.c (copy_gui_item):
14947         * gui.c (syms_of_gui):
14948         recognize callback-ex in a number of places.
14949         also, fix the annoying "can't get out of yes-no dialog" bug.
14950
14951         * gui.h:
14952         * gui.h (struct Lisp_Gui_Item):
14953         recognize callback-ex in a number of places.
14954
14955         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14956         new parameter in button_item_to_widget_value.
14957
14958         * glyphs-x.c (x_update_widget):
14959         * glyphs-x.c (x_button_instantiate):
14960         * glyphs-x.c (x_button_update):
14961         * glyphs-x.c (x_progress_gauge_instantiate):
14962         * glyphs-x.c (x_edit_field_instantiate):
14963         * glyphs-x.c (x_combo_box_instantiate):
14964         * glyphs-x.c (x_tab_control_instantiate):
14965         * glyphs-x.c (x_label_instantiate):
14966         new image instance parameter in various places.
14967
14968         * event-Xt.c:
14969         * event-Xt.c (enqueue_Xt_dispatch_event):
14970         this fun gets exported.
14971
14972         * gui-msw.c:
14973         * gui-msw.c (mswindows_handle_gui_wm_command):
14974         handle both :callback and :callback-ex, and generate our own
14975         event because it's one of the callback-ex arguments.
14976
14977         * gui-x.c:
14978         * gui-x.c (popup_selection_callback):
14979         handle both :callback and :callback-ex, and generate our own
14980         event because it's one of the callback-ex arguments.
14981         * gui-x.c (button_item_to_widget_value):
14982         * gui-x.c (gui_items_to_widget_values_1):
14983         * gui-x.c (gui_item_children_to_widget_values):
14984         * gui-x.c (gui_items_to_widget_values):
14985         new image instance parameter in various places.
14986
14987         * fns.c (Freplace_list):
14988         fix small typo in doc string.
14989
14990         * lisp.h:
14991         declare enqueue_Xt_dispatch_event.
14992
14993 2000-04-28  Ben Wing  <ben@xemacs.org>
14994
14995         * buffer.c:
14996         * buffer.c (Frecord_buffer):
14997         * buffer.c (syms_of_buffer):
14998         delete record-buffer-hook.
14999
15000         * fns.c:
15001         * fns.c (Freplace_list):
15002         * fns.c (syms_of_fns):
15003         new primitive replace-list.
15004
15005         * frameslots.h:
15006         slot for old buffer-alist.
15007
15008         * lisp.h:
15009         exfun replace-list.
15010
15011         * redisplay.c:
15012         * redisplay.c (redisplay_frame):
15013         * redisplay.c (syms_of_redisplay):
15014         * redisplay.c (vars_of_redisplay):
15015         new hook buffer-list-changed-hook.
15016         call it.
15017
15018 2000-04-27  Ben Wing  <ben@xemacs.org>
15019
15020         * extents.h: extern in_modeline_generation.
15021
15022         * redisplay.c (generate_formatted_string_db): set
15023         in_modeline_generation.
15024
15025         * extents.c (extent_changed_for_redisplay): don't mark redisplay
15026         flags if in modeline generation.  otherwise frame-modified-tick
15027         is ticked far too often.
15028         Declare in_modeline_generation.
15029
15030 2000-04-26  Ben Wing  <ben@xemacs.org>
15031
15032         * emacs.c (vars_of_emacs): document quick-build "error-checking"
15033         option.
15034         (vars_of_emacs): add quick-build as an error-checking option.
15035         A bit kludgy, but there doesn't seem much point in creating
15036         a real var for this.
15037
15038         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
15039
15040 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15041
15042         * redisplay.h (struct display_line): Add a new variable,
15043         line_continuation.
15044
15045         * redisplay.c (create_text_block): Set dl->line_continuation if
15046         the line continues.
15047         (create_string_text_block): Ditto.
15048         (regenerate_window_incrementally): Use line_continuation instead
15049         of searching continuation glyph.
15050         (add_margin_runes): Call add_glyph_rune.
15051         (add_glyph_rune): Handle margin glyph.
15052
15053 2000-04-20  Martin Buchholz  <martin@xemacs.org>
15054
15055         * filelock.c (fill_in_lock_file_name):
15056         ANSIfy.
15057         Check for IS_ANY_SEP instead of '/'.
15058         (lock_file_1):
15059         Avoid generating gratuitous garbage.  Call user_login_name() directly.
15060         Never check errno without first seeing that system call failed.
15061         (unlock_file): Add GCPRO.
15062         (Flock_buffer): Fix docstring.
15063         (Ffile_locked_p): Fix docstring.  Add GCPRO.
15064
15065 2000-04-19  Martin Buchholz  <martin@xemacs.org>
15066
15067         * sysdep.c (get_pty_max_bytes):
15068         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
15069         strings longer than 252 bytes.
15070
15071         * md5.c: Unconditionally include ANSI header <limits.h>
15072
15073         * glyphs-x.c (convert_EImage_to_XImage):
15074         * lisp-union.h (union Lisp_Object):
15075         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
15076
15077 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
15078
15079         * filelock.c (current_lock_owner): Remove unused variable o, p.
15080
15081 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
15082
15083         * callint.c: Remove multiply defined symbol Qlet
15084         (syms_of_callint): ditto.
15085
15086 2000-04-14  Andy Piper  <andy@xemacs.org>
15087
15088         * general.c (syms_of_general): add last-command, this-command, let
15089         and funcall.
15090
15091         * lisp.h: declare various symbols.
15092
15093         * glyphs.h: declare Qwidget_callback_current_channel;
15094
15095         * glyphs-widget.c (syms_of_glyphs_widget): add
15096         Qgui_callback_current_channel.
15097         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
15098
15099         * gui-msw.c (mswindows_handle_gui_wm_command): bind
15100         widget-callback-current-channel when invoking the interactive
15101         arg. Also bind last-command and next-command when invoking the
15102         widget updates.
15103         * gui-x.c (popup_selection_callback): ditto.
15104
15105         * gui.c (get_gui_callback): massage args so that we are always
15106         calling eval. This allows us to add our own variable bindings
15107         outside.
15108
15109         * glyphs-x.c (x_button_instantiate): use
15110         gui_items_to_widget_values since this is GC safe.
15111         (x_progress_gauge_instantiate): ditto.
15112         (x_edit_field_instantiate): ditto.
15113         (x_label_instantiate): ditto.
15114
15115         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
15116         (emacs_Xt_event_widget_focus_out): new function
15117         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
15118         focus.
15119         (emacs_Xt_event_add_widget_actions): new function. add focus
15120         functions as actions.
15121         (init_event_Xt_late): use it.
15122
15123 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
15124
15125         * event-stream.c (Fdispatch_event): Doc fix.
15126
15127 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
15128
15129         * postgresql.c: Remove all references to PQsetenv*.
15130
15131         * postgresql.h: Remove references to PGsetenvHandler object.
15132         * lrecord.h (lrecord_type): Ditto.
15133
15134 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15135
15136         * glyphs-msw.h (struct mswindows_image_instance_data): Added
15137         real_heigh and real_width members, and accessor macros for these.
15138
15139         * glyphs-msw.c (init_image_instance_geometry): New function.
15140         (init_image_instance_from_dibitmap): Use it.
15141         (mswindows_resource_instantiate): Use it.
15142         (init_image_instance_from_xbm_inline): Use it.
15143         (mswindows_initialize_image_instance_mask): Use real bitmap
15144         geometry.
15145         (mswindows_create_resized_bitmap): Ditto.
15146         (mswindows_create_resized_mask): Ditto.
15147
15148         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
15149         and bitmap to their surface size.
15150
15151 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
15152
15153         * process-unix.c (unix_send_process): Guard against process MIA
15154         after Faccept_process_output.
15155
15156 2000-04-11  Ben Wing  <ben@xemacs.org>
15157
15158         * eval.c (unbind_to_hairy): fix brokenness introduced by
15159         nanosecond speed improvements.
15160
15161 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
15162
15163         * sunplay.c (init_device): To play sounds correctly, the device
15164         apparently needs to be initialized at least once by XEmacs.  Make
15165         it so.
15166
15167 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15168
15169         * redisplay.c (add_margin_runes): Add text image glyph
15170           handling.
15171
15172 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15173
15174         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15175         gcc is newer than 2.5.
15176
15177 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15178
15179         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15180
15181         * fns.c (size_bit_vector):
15182         * alloc.c (size_vector):
15183         (make_vector_internal):
15184         (make_bit_vector_internal):
15185         (sweep_bit_vectors_1):
15186         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15187
15188 2000-04-06  Andy Piper  <andy@xemacs.org>
15189
15190         * gmalloc.c (malloc): undo previous change.
15191         (malloc): ditto.
15192         (free): ditto.
15193         (realloc): ditto.
15194
15195 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15196
15197         * line-number.c (buffer_line_number): Revert to former version.
15198
15199 2000-04-06  Andy Piper  <andy@xemacs.org>
15200
15201         * gmalloc.c (malloc): add error checking.
15202         (malloc): ditto.
15203         (free): ditto.
15204         (realloc): ditto.
15205
15206         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15207         button_item_to_widget_value arg.
15208
15209         * glyphs-x.c (x_button_instantiate): add extra
15210         button_item_to_widget_value arg.
15211         (x_progress_gauge_instantiate): ditto.
15212         (x_edit_field_instantiate): ditto.
15213         (x_label_instantiate): ditto.
15214
15215         * gui-x.c (gui_items_to_widget_values_1): add extra
15216         button_item_to_widget_value arg.
15217         (button_item_to_widget_value): add extra menu_item_p arg.
15218
15219         * gui-x.h: change signature of button_item_to_widget_value.
15220
15221         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15222         button_item_to_widget_value arg.
15223
15224 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15225
15226         * buffer.h (struct buffer): auto_save_modified should be long.
15227
15228 2000-04-05  Andy Piper  <andy@xemacs.org>
15229
15230         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15231         type.
15232         (button_query_geometry): give a little more room so that athena
15233         buttons fit.
15234
15235 2000-04-05  Andy Piper  <andy@xemacs.org>
15236
15237         * faces.c (complex_vars_of_faces): The widget face should inherit
15238         the font of the gui-element face.
15239
15240 2000-04-04  Andy Piper  <andy@xemacs.org>
15241
15242         * glyphs-x.c (x_button_update): new function. unconditionally
15243         update a button's state when the instance is dirty.
15244         (image_instantiator_format_create_glyphs_x): add x_button_update.
15245         (x_widget_instantiate): remove old resize cruft.
15246
15247 2000-04-02  Andy Piper  <andy@xemacs.org>
15248
15249         * frame.c (change_frame_size_1): The introduction of gutters means
15250         that we need to allow 0 as a potential frame dimension.
15251
15252 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15253
15254         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15255         image glyph if allow_cursor.
15256         (add_hscroll_rune): Don't allow cursor to border glyph.
15257         (create_text_block): Ditto.
15258
15259         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15260         text not in buffer.
15261         (redisplay_output_layout): Call ensure_face_cachel_complete for
15262         text image glyph.
15263
15264
15265 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15266
15267         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15268
15269         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15270         not in buffer
15271
15272         * redisplay-tty.c (tty_output_display_block): Delete the routine
15273         for text image glyph
15274         * redisplay-x.c (x_output_display_block): ditto
15275         * redisplay-msw.c (mswindows_output_display_block): ditto
15276
15277 2000-02-02  Mike Alexander  <mta@arbortext.com>
15278
15279         Note: Some of these were committed by accident as part of other
15280         patches.
15281
15282         * regex.c (regex_compile): Avoid compiler warnings.
15283
15284         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15285
15286         * nt.h: Declare term_ntproc correctly.
15287
15288         * nt.c: Remove incorrect declaration of get_home_directory which
15289         is declared correctly in lisp.h.
15290
15291         * keymap.c (get_keyelt): Avoid compiler warnings.
15292         (raw_lookup_key_mapper): Avoid compiler warnings.
15293
15294         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15295
15296         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15297
15298         * filemode.c (mode_string): Avoid compiler warnings.
15299
15300         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15301         avoid warning.
15302
15303         * events-mod.h: Undef some things that winuser.h defines differently.
15304
15305         * data.c (Faset): Avoid compiler warnings.
15306
15307         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15308
15309 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15310
15311         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15312         Fall through to simple beep on error.
15313         Replace "extern" by real header file.
15314
15315         * linuxplay.c: Use nativesound.h
15316         (play_sound_data): Return error code. Be less verbose on error.
15317
15318         * sunplay.c: Use nativesound.h
15319         (play_sound_data): Return error code. Be less verbose on error.
15320
15321         * ntplay.c: Use nativesound.h
15322         (play_sound_data): Return fake error code
15323
15324         * sgiplay.c: Use nativesound.h
15325         (play_sound_data): Return error code
15326
15327         * hpplay.c: Use nativesound.h, partially implement
15328         new error code. Break compilation until finished.
15329         (play_sound_data): error code.
15330
15331         * nativesound.h (play_sound_file):
15332           (play_sound_data): Prototype in new header.
15333
15334 2000-03-31  Andy Piper  <andy@xemacs.org>
15335
15336         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15337         for toggle and radio buttons.
15338         (image_instantiator_buttons): use it.
15339
15340 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15341
15342         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15343         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15344         found. Scrollbar event probably belonged to some old config.
15345
15346 2000-03-31  Andy Piper  <andy@xemacs.org>
15347
15348         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15349         than 1.
15350         (initialize_widget_image_instance): default layout to
15351         LAYOUT_HORIZONTAL rather than 0.
15352         (widget_instantiate): reverse the item list at the end rather than
15353         every iteration.
15354         (layout_layout): re-code for the border text at the front of the
15355         item list rather than at the end.
15356         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15357         provided by the user.
15358         (widget_query_geometry): comment.
15359
15360 2000-03-30  Andy Piper  <andy@xemacs.org>
15361
15362         * glyphs-widget.c (image_instantiator_layout): allow standard
15363         widget keywords in layouts.
15364
15365         * gutter.c (output_gutter): cope with nil gutter contents.
15366
15367         * frame.c (Fset_frame_properties): add gutter docs.
15368
15369 2000-03-29  Andy Piper  <andy@xemacs.org>
15370
15371         * toolbar-msw.c (TBSTYLE_FLAT): add.
15372         (mswindows_output_toolbar): minor fiddling.
15373
15374 2000-03-29  Andy Piper  <andy@xemacs.org>
15375
15376         * gutter.c (output_gutter): force gutter size recalculation if
15377         what we are trying to display won't fit.
15378         (update_gutter_geometry): new function. A per-gutter version of
15379         update_frame_gutter_geometry.
15380         (update_frame_gutter_geometry): use it.
15381         (redraw_exposed_gutter): add extra debugging output.
15382
15383 2000-03-28  Mike Alexander  <mta@arbortext.com>
15384
15385         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15386         (pdump_file_unmap): Implement it on Windows
15387         (pdump_file_get): Save alocated handles for pdump_file_unmap
15388
15389 2000-03-28  Andy Piper  <andy@xemacs.org>
15390
15391         * gui.c (get_gui_callback): treat Quit specially.
15392
15393 2000-03-27  Andy Piper  <andy@xemacs.org>
15394
15395         * glyphs.c (image_instantiate): be careful to check in the same
15396         way we assigned.
15397
15398 2000-03-27  Didier Verna  <didier@xemacs.org>
15399
15400         * config.h.in: define the proper SMART_INCLUDE macro.
15401         handle renaming of `foo_h_path' to `foo_h_file'.
15402
15403         * database.c: ditto.
15404
15405         * emacs.c: ditto.
15406
15407         * linuxplay.c: ditto.
15408
15409         * terminfo.c: ditto.
15410
15411         * tooltalk.h: ditto.
15412
15413 2000-03-27  Andy Piper  <andy@xemacs.org>
15414
15415         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15416         gets updated whenever the face might have changed.
15417
15418 2000-03-26  Mike Alexander  <mta@arbortext.com>
15419
15420         * dumper.c (pdump_resource_free): Fix the comment.
15421
15422 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15423
15424         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15425
15426 2000-03-22  Mike Alexander  <mta@arbortext.com>
15427
15428         * dumper.c: Include Windows headers on Windows
15429         (pdump_resource_free): Add a body to the function
15430         (pdump_load): exe_name -> exe_path and add some comments.
15431
15432 2000-03-25  Mike Alexander  <mta@arbortext.com>
15433
15434         * gui.c (copy_gui_item_tree): Return a value in all cases
15435
15436 2000-03-21  Didier Verna  <didier@xemacs.org>
15437
15438         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15439         lwlib/config.h.in.
15440         (SMART_INCLUDE): new macro.
15441         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15442         the proper location.
15443
15444         * postgresql.c: use it.
15445
15446         * inline.c: ditto.
15447
15448 2000-03-24  Andy Piper  <andy@xemacs.org>
15449
15450         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15451         do this.
15452
15453 2000-03-24  Andy Piper  <andy@xemacs.org>
15454
15455         * redisplay-output.c (compare_runes): use image_instance_changed
15456         to detect changes. Do not depend on glyphs_changed, only depend on
15457         dirtiness.
15458          (redisplay_output_layout): add debug messages.
15459         (compare_runes): ditto.
15460
15461         * glyphs.h: declare new functions.
15462         (struct Lisp_Image_Instance): remove percent and associated
15463         accessors.
15464
15465         * gui.h: declare new copying functions.
15466
15467         * gui.c (copy_gui_item_tree): new function.
15468         (copy_gui_item): new function.
15469         (gui_item_id_hash): revert to standard hash.
15470         (gui_item_hash): ditto.
15471         (gui_item_hash_internal): deleted.
15472         (mark_gui_item): mark value.
15473         (gui_item_add_keyval_pair): add value.
15474         (gui_item_init): ditto.
15475         (gui_add_item_keywords_to_plist): ditto.
15476         (gui_item_equal): ditto.
15477         (syms_of_gui): add Q_value.
15478
15479         * glyphs-x.c (x_progress_gauge_update): use pending items and
15480         value for setting the state.
15481         (x_update_widget): don't set items from pending here.
15482
15483         * glyphs-widget.c (update_widget): update items here.
15484         (progress_gauge_set_property): use items for storing value. Put
15485         new value in pending items.
15486
15487         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15488         items for new value. Convert percent -> value.
15489         (mswindows_tab_control_update): don't update items here.
15490
15491         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15492         (update_subwindow): ditto.
15493         (image_instance_changed): new function. Compare hash values and
15494         past and present widget items.
15495         (image_instantiate): We more careful about where we instantiate
15496         things.
15497         (image_instantiate): add error checking.
15498
15499         * gutter.c (syms_of_gutter): use -hook.
15500
15501 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15502
15503         * console-tty.c (Fset_console_tty_input_coding_system): Use
15504         Qkeyboard.
15505         (Fset_console_tty_output_coding_system): Use Qterminal.
15506         (tty_init_console): Use Qkeyboard and Qterminal.
15507
15508 2000-03-21  Ben Wing  <ben@xemacs.org>
15509
15510         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15511         From Mike Alexander <mta@arbortext.com>.
15512
15513 2000-03-21  Ben Wing  <ben@xemacs.org>
15514
15515         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15516         process brokenness.  Proper implementation to come.
15517         * callproc.c:
15518         Rename call-process-internal to old-call-process-internal.
15519         New impl. in process.el.
15520
15521 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15522
15523         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15524
15525 2000-03-20  Andy Piper  <andy@xemacs.org>
15526
15527         * glyphs.c (full_list_hash): make hashes of the same elements in
15528         different orders return different values.
15529
15530 2000-03-20  Martin Buchholz <martin@xemacs.org>
15531
15532         * XEmacs 21.2.32 is released.
15533
15534 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15535
15536         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15537         (DFC_MALLOC_USE_CONVERTED_DATA):
15538         Add aliasing-safe casts to allow use with char* or unsigned char*
15539         lvalues.
15540
15541         * eldap.c (Fldap_open):
15542         (Fldap_search_basic):
15543         (Fldap_add):
15544         (Fldap_modify):
15545         Make C++-compilable.
15546         Make sure GCPRO'ed variables are initialized.
15547         Use temp variables to avoid repeated calls to Flength.
15548
15549 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15550
15551         * sysfile.h:
15552         Make sure PATH_MAX is always defined.
15553         Include limits.h for PATH_MAX.
15554         Deprecate use of MAXPATHLEN.
15555
15556 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15557
15558         * emacs.c: Add reinit_vars_of_fileio.
15559         * symsinit.h: Add reinit_vars_of_fileio.
15560         * fileio.c (reinit_vars_of_fileio): New.
15561         * fileio.c (Fmake_temp_name):
15562         Initialize temp_name random number from microseconds to make
15563         collisions even less likely.  Initialize always at process startup
15564         time.  (make-temp-name) used to return the same file name twice in
15565         a row when PDUMP.
15566         Random stylistic fiddling.
15567         Comment fixes.
15568
15569 2000-03-20  Andy Piper  <andy@xemacs.org>
15570
15571         * glyphs.c (image_instantiate): allow text glyphs to be
15572         instantiated in the minibuffer window.
15573
15574 2000-03-19  Andy Piper  <andy@xemacs.org>
15575
15576         * glyphs.c (image_instance_hash): be careful about which items we
15577         hash on.
15578
15579         * glyphs-widget.c (tab_control_set_property): record into pending
15580         items rather than the actual items.
15581
15582         * glyphs-x.c (x_update_widget): use pending items to update with.
15583
15584         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15585         to update with.
15586
15587         * glyphs.c (mark_image_instance): mark pending items.
15588
15589         * window.c (Fset_window_configuration): record the buffer.
15590         (Fselect_window): totally revert previous change which breaks many
15591         things.
15592
15593 2000-03-18  Andy Piper  <andy@xemacs.org>
15594
15595         * glyphs-msw.c (mswindows_tab_control_update): force selected
15596         item.
15597
15598         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15599         window domain cache, otherwise we get inconsistencies at
15600         startup. There is something fishy at startup which can lead to the
15601         minibuffer being the selected window when the gutter content is
15602         instantiated.
15603
15604         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15605         gcpros.
15606         (parse_gui_item_tree_children): ditto.
15607         (parse_gui_item_tree_item): ditto.
15608
15609         * glyphs.c (Fupdate_widget_instances): return something.
15610
15611 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15612
15613         * window.c (Fselect_window): Undo 2000-03-17 change.
15614
15615 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15616
15617         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15618         against v7.0 libraries.  Insta-coredump city until the postgres
15619         folks fix it.
15620
15621 2000-03-17  Andy Piper  <andy@xemacs.org>
15622
15623         * faces.c (complex_vars_of_faces): don't give the widget face an
15624         inherited background pixmap.
15625
15626         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15627         selected item.
15628
15629         * event-stream.c (Fdispatch_non_command_events): return something.
15630
15631         * gutter.c (output_gutter): use widget face.
15632         (clear_gutter): ditto.
15633
15634         * NEWS: adjust again.
15635
15636         * window.c (Fselect_window): make sure this runs to completion to
15637         avoid oddities with Fset_window_configuration.
15638         (Fcurrent_window_configuration): in general do not save the
15639         minibuffer as the selected window.
15640
15641         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15642
15643 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15644
15645         * emacs.c (Frunning_temacs_p): Revert previous patch.
15646         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15647
15648 2000-03-16  Andy Piper  <andy@xemacs.org>
15649
15650         * glyphs-x.c (x_tab_control_update): if no widget values then
15651         return.
15652
15653         * NEWS: update for new features.
15654
15655         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15656         synthetic event to the native system.
15657         (reinit_vars_of_event_Xt): set force_event_pending to
15658         emacs_Xt_force_event_pending.
15659
15660         * events.h (struct event_stream): add force_event_pending.
15661
15662         * specifier.c (recompute_one_cached_specifier_in_window): add
15663         comment.
15664
15665         * redisplay.c (redisplay_frame): don't call
15666         update_frame_subwindows. Reset subwindow cachels when
15667         subwindows_changed, removing this was an optimization too far.
15668
15669         * redisplay-output.c (compare_runes): reorganize so that we catch
15670         glyph changes when we want them. Set optimize_output when this
15671         would help layouts.
15672         (redisplay_output_layout): remove frame_really_changed, use
15673         optimize_output instead.
15674
15675         * redisplay-msw.c (mswindows_output_display_block): reset
15676         optimize_output after outputting a glyph.
15677         * redisplay-x.c (x_output_display_block): ditto.
15678         * redisplay-tty.c (tty_output_display_block): ditto.
15679
15680         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15681         functions.
15682         (gutter_specs_changed): do specific gutter positions.
15683         (top_gutter_specs_changed): new function. Only update the
15684         specified gutter specs.
15685         (bottom_gutter_specs_changed): ditto.
15686         (left_gutter_specs_changed): ditto.
15687         (right_gutter_specs_changed): ditto.
15688
15689         * gui.c (gui_item_hash_internal): new function, does a real hash.
15690         (gui_item_id_hash): use it.
15691         (gui_item_hash): hash the eval'ed gui_item.
15692
15693         * gui-x.c (popup_selection_callback): send an eval event to call
15694         Fupdate_widget_instances.
15695
15696         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15697         to call Fupdate_widget_instances.
15698
15699         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15700         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15701
15702         * glyphs.c: (update_frame_subwindows): deleted.
15703         (Fupdate_widget_instances): new function for updating the dirty
15704         state of widgets that might have changed.
15705         (syms_of_glyphs): add Qupdate_widget_instances.
15706         (full_list_hash): hash a list completely.
15707         (image_instance_hash): use it for items and properties.
15708
15709         * frame-msw.c (mswindows_size_frame_internal): remove unused
15710         variable.
15711
15712         * faces.h (struct face_cachel): fix comment.
15713
15714         * event-stream.c (Fdispatch_non_command_events): new
15715         function. Process non-command events, forcing an event cycle
15716         beforehand.
15717         (syms_of_event_stream): declare.
15718         (event_stream_force_event_pending): new function. Force an event
15719         on the native event queue so that an event cycle will occur next
15720         time we check.
15721
15722         * event-msw.c:
15723         (struct ntpipe_shove_stream):
15724         (mswindows_enqueue_dispatch_event):
15725         (mswindows_dequeue_dispatch_event):
15726         (mswindows_cancel_dispatch_event):
15727         (mswindows_pump_outstanding_events):
15728         (mswindows_drain_windows_queue):
15729         (mswindows_handle_paint):
15730         (mswindows_wnd_proc):
15731         (mswindows_key_to_emacs_keysym):
15732         (get_process_input_waitable):
15733         (emacs_mswindows_delete_stream_pair): re-indent file.
15734         (mswindows_need_event): do not process further fds if the windows
15735         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15736         fixes the 100% cpu problem.
15737         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15738
15739 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15740
15741         * alloc.h: New.
15742         * dumper.h: New.
15743         * dumper.c: New.
15744
15745         * emacs.c: Moved dump file searching to dumper.c.
15746         (Frunning_temacs_p): Fixed.
15747
15748         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15749         last_lrecord_type_index_assigned.
15750
15751 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15752
15753         * symsinit.h: Added reinit parameter to init_console_stream
15754         declaration.
15755
15756         * lisp.h: Added file parameter to pdump_load declaration.
15757
15758         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15759         support.  Added dump file searching.
15760
15761         * config.h.in: Added EMACS_PROGNAME.
15762
15763         * console-stream.c (init_console_stream): Fix reinitialisation
15764         when running from temacs.
15765
15766         * alloc.c (pdump): Add id support.
15767         (pdump_load): Add file parameter and signature/id support.
15768
15769         * Makefile.in.in: Add full pdump support.
15770
15771 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15772
15773         * postgresql.c: Update documentation to reflect latest code
15774         status.
15775         (print_result): Show tuple counts in printed representation when
15776         appropriate.
15777         (Fpq_put_nbytes): MULE-ize.
15778         (Fpq_get_line_async): Ditto.
15779
15780 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15781
15782         * postgresql.c (Fpq_lo_import): Fix return value.
15783         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15784
15785 2000-03-13  Ben Wing  <ben@xemacs.org>
15786
15787         * alloc.c (pdump_load):
15788         Fix compile warning under mswin.
15789
15790 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15791
15792         * postgresql.c: Mule-ization, bug fixes.
15793         Use PG_CODING to encapsulate coding system name changes.
15794         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15795         (pg-coding-system): Create.
15796
15797         (Fpq_conn_defaults): Mule-ize.
15798         (Fpq_connectdb): Mule-ize & bug fix.
15799         (Fpq_connect_start): Mule-ize.
15800         (Fpq_set_client_encoding): Mule-ize.
15801         (Fpq_finish): Document `DEAD' connection status.
15802         (Fpq_clear): Ditto.
15803         (Fpq_pgconn): Mule-ize.
15804         (Fpq_exec): Mule-ize & bug fix.
15805         (Fpq_send_query): Ditto.
15806         (Fpq_get_result): Ditto.
15807         (Fpq_res_status): Mule-ize.
15808         (Fpq_result_error_message): Mule-ize.
15809         (Fpq_ntuples): fix comments.
15810         (Fpq_fname): Mule-ize.
15811         (Fpq_fnumber): Mule-ize.
15812         (Fpq_ftype): fix comments.
15813         (Fpq_get_value): Mule-ize.
15814         (Fpq_cmd_status): Ditto.
15815         (Fpq_cmd_tuples): Ditto.
15816         (Fpq_oid_value): Ditto.
15817         (Fpq_notifies): Ditto.
15818         (Fpq_lo_import): Ditto.
15819         (Fpq_lo_export): Ditto.
15820         (Fpq_get_line): Ditto.
15821         (Fpq_put_line): Mule-ize and bug fix.
15822         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15823
15824 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15825
15826         * postgresql.c (vars_of_postgresql): Mule-ize.
15827         (Fpq_conn_defaults): Ditto.
15828
15829 2000-03-12  Ben Wing  <ben@xemacs.org>
15830
15831         * alloc.c (Fmake_byte_code):
15832         * alloc.c (debug_string_purity_print):
15833         * alloc.c (pdump_backtrace):
15834         * alloc.c (pdump_get_indirect_count):
15835         * alloc.c (pdump_register_sub):
15836         * alloc.c (pdump_register_object):
15837         * alloc.c (pdump_register_struct):
15838         * alloc.c (pdump_dump_data):
15839         * alloc.c (pdump_reloc_one):
15840         Minor cleanups.
15841
15842         * console-msw.c:
15843         * console-msw.c (GetConsoleHwnd):
15844         * console-msw.c (msw_hide_console):
15845         * console-msw.c (msw_show_console):
15846         * console-msw.c (msw_ensure_console_buffered):
15847         * console-msw.c (msw_output_console_string):
15848         * console-msw.c (console_type_create_mswindows):
15849
15850         a) Added functions to manipulate the console window for use with
15851         shell support.
15852
15853         b) Added support for writing text to the console, which is now
15854         used under Windows when xemacs is not being run non-interactively,
15855         to write text that would otherwise be destined for stdout because
15856         under these circumstances, text written to stdout tends to
15857         disappear and not be seen.
15858
15859         * console-msw.h:
15860         * event-Xt.c:
15861         * event-Xt.c (x_event_to_emacs_event):
15862         * event-Xt.c (describe_event_window):
15863         * events-mod.h (XEMACS_MOD_CONTROL):
15864         * events.c:
15865         * events.c (Fmake_event):
15866         * events.c (character_to_event):
15867         * events.c (event_to_character):
15868         * events.c (format_event_object):
15869         * events.c (Fevent_modifiers):
15870         * events.h:
15871         * events.h (struct key_data):
15872         * events.h (struct button_data):
15873         * events.h (struct misc_user_data):
15874         * frame-x.c (Fcde_start_drag_internal):
15875         * frame-x.c (Foffix_start_drag_internal):
15876         * gpmevent.c (Freceive_gpm_event):
15877         * keymap.c:
15878         * keymap.c (bucky_sym_to_bucky_bit):
15879         * keymap.c (control_meta_superify):
15880         * keymap.c (make_key_description):
15881         * keymap.c (keymap_lookup_directly):
15882         * keymap.c (create_bucky_submap):
15883         * keymap.c (keymap_store):
15884         * keymap.c (define_key_check_and_coerce_keysym):
15885         * keymap.c (define_key_parser):
15886         * keymap.c (define_key_alternate_name):
15887         * keymap.c (Fdefine_key):
15888         * keymap.c (raw_lookup_key_mapper):
15889         * keymap.c (struct map_keymap_unsorted_closure):
15890         * keymap.c (map_keymap_unsorted_mapper):
15891         * keymap.c (map_keymap_sort_predicate):
15892         * keymap.c (map_keymap_sorted):
15893         * keymap.c (accessible_keymaps_mapper_1):
15894         * keymap.c (where_is_recursive_mapper):
15895         * keymap.c (describe_map_mapper):
15896         * keymap.c (describe_map_sort_predicate):
15897         * keymap.c (describe_map):
15898         * keymap.c (complex_vars_of_keymap):
15899         And a number of other files, the key modifier preprocessor
15900         constants that xemacs uses have names that conflict with constants
15901         defined under MS Windows for other purposes, so they were renamed
15902         to begin with the prefix XEMACS_. The variables that hold such
15903         modifiers were changed to consistently be of type int to fix
15904         various compile warnings.
15905
15906         * console.c (complex_vars_of_console):
15907         * device.c:
15908         * device-msw.c:
15909         * device-msw.c (mswindows_finish_init_device):
15910         * device-msw.c (msw_get_workspace_coords):
15911         * device-msw.c (mswindows_device_system_metrics):
15912         and various other files, added support for a new
15913         device property called offset-workspace which returns the position
15914         of the upper left corner of the workspace area and goes along with
15915         the existing size-workspace property.
15916
15917         * dialog-msw.c:
15918         * dialog-msw.c (push_bufbyte_string_as_unicode):
15919         * dialog-msw.c (mswindows_popup_dialog_box):
15920         Added support for XEmacs-style accelerator specifications in
15921         button text.  Note: I didn't add support for this under X Windows,
15922         and somebody needs to do this.
15923
15924         * dialog.c:
15925         * dialog.c (Fpopup_dialog_box):
15926         Documented the support for accelerators that was just mentioned.
15927
15928         editfns.c (get_home_directory): Changed behavior under Windows
15929         when HOME not defined; former behavior was irretrievably broken.
15930
15931         * emacs.c:
15932         * emacs.c (main_1):
15933         * emacs.c (main):
15934         * minibuf.c (clear_echo_area_internal):
15935         * minibuf.c (echo_area_append):
15936         * print.c:
15937         * print.c (std_handle_out_external):
15938         * print.c (std_handle_out_va):
15939         * print.c (fatal):
15940         * print.c (write_string_to_stdio_stream):
15941         * print.c (output_string):
15942         * print.c (debug_print):
15943         * print.c (debug_backtrace):
15944         * print.c (debug_short_backtrace):
15945         Cleaned up the code that prints text to stdout so that this can be
15946         changed to output into a console window instead under MS Windows,
15947         as described above.
15948
15949         * eval.c:
15950         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15951         * eval.c (internal_catch):
15952         * eval.c (unwind_to_catch):
15953         * eval.c (throw_or_bomb_out):
15954         * eval.c (condition_case_1):
15955         * eval.c (signal_1):
15956         * eval.c (check_error_state_sanity):
15957         * eval.c (call_with_suspended_errors_1):
15958         * eval.c (call_with_suspended_errors):
15959         * eval.c (reinit_vars_of_eval):
15960         Added code to catch throw loops and check for a pesky bug that may
15961         be gone now.
15962
15963         * event-msw.c:
15964         * event-msw.c (key_needs_default_processing_p):
15965         * event-msw.c (mswindows_wnd_proc):
15966         * event-msw.c (mswindows_modifier_state):
15967         * event-msw.c (emacs_mswindows_quit_p):
15968         * event-msw.c (vars_of_event_mswindows):
15969         a) Added support for using the alt key to select menu items as is
15970         standard under MS Windows.  This is controlled using the variable
15971         menu-accelerator-enabled, just like under X Windows.  There is an
15972         option on the options menu to turn this support on.  I really
15973         think that it should be on by default under Windows, but I'm not
15974         going to make this change yet.
15975
15976         b)  Added support for dynamic display size changes under Windows.
15977
15978         * event-stream.c:
15979         * event-stream.c (maybe_echo_keys):
15980         * event-stream.c (Fnext_event):
15981         * event-stream.c (command_builder_find_leaf):
15982         * event-stream.c (lookup_command_event):
15983         * event-stream.c (execute_command_event):
15984         * event-stream.c (pre_command_hook):
15985         * event-stream.c (post_command_hook):
15986         * event-stream.c (syms_of_event_stream):
15987         * event-stream.c (vars_of_event_stream):
15988         * event-stream.c (complex_vars_of_event_stream):
15989         * events.h (struct command_builder):
15990
15991         a) Tried to clean up a little bit the horribly written x-specific
15992         accelerator code that crept into this file.  I moved this code
15993         into menubar-x.c where it belongs. I also needed to move the
15994         command builder structure into the file events.h because it is
15995         accessed directly by this accelerator code.  What I didn't do, but
15996         which should be done at some point, is to properly abstract this
15997         code using device methods instead of the kludgy way that it
15998         currently hooks into the event code.
15999
16000         b) Added the lisp variables this-command-properties and
16001         last-command- properties, which should be used to synchronize two
16002         adjacent commands in preference to playing games with the variable
16003         this-command, which is typically what happens.
16004
16005         c) Added some slightly nasty code to hook into the lisp support
16006         for shifted- motion-key selection.  This is actually necessary for
16007         somewhat complicated reasons, which are described in
16008         simple.el. (NB: I think the proper thing would be to have the code
16009         that calls the pre and post command hooks also call out to generic
16010         lisp functions in simple.el, where all built-in stuff could be
16011         added.  I will think about this more.)
16012
16013         * event-unixoid.c (poll_fds_for_input):
16014         * lread.c (readchar):
16015         * redisplay-tty.c (tty_clear_frame):
16016         * redisplay-x.c (x_get_gc):
16017         * signal.c (interrupt_signal):
16018         And a whole bunch of other files: fixed up places that printed
16019         directly to stderr to instead call the function stderr_out so that
16020         the changes I made under Windows work correctly.
16021
16022         * filemode.c (mode_string):
16023         Warning fixes.
16024
16025         * frame-msw.c:
16026         * frame-msw.c (mswindows_size_frame_internal):
16027         Fixed the computation of frame size and position to keep the frame
16028         within the workspace area, rather than within the physical
16029         dimensions of the screen, so that the frame doesn't overlap window
16030         manager decorations, such as the start menu and toolbar, typically
16031         at the bottom of the screen.
16032
16033         * frame.c (vars_of_frame):
16034         Changed the default frame title format under MS Windows to consist
16035         of buffername-XEmacs, which is standard under MS Windows.  I think
16036         it might be a good idea to change this everywhere because I think
16037         it is superior to the current frame title format, but this is the
16038         kind of change that is likely to cause some people to get annoyed,
16039         so I'm not making it.
16040
16041         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
16042
16043         * gui-msw.c (mswindows_handle_gui_wm_command):
16044         Fixed compile warnings.
16045
16046         * gui-x.c:
16047         * gui-x.c (strdup_and_add_accel):
16048         * gui-x.c (button_item_to_widget_value):
16049         * gui-x.h:
16050         Added code to automatically put an accelerator onto the beginning
16051         of menu items that don't have one as is now the standard, and is
16052         described more later.  Also fixed things so that the menu item
16053         name can be an evaluated expression, again a new standard.
16054
16055         * gui.c:
16056         * gui.c (gui_item_add_keyval_pair):
16057         * gui.c (make_gui_item_from_keywords_internal):
16058         * gui.c (gui_add_item_keywords_to_plist):
16059         * gui.c (gui_item_accelerator):
16060         * gui.c (gui_name_accelerator):
16061         * gui.c (gui_item_included_p):
16062         * gui.c (gui_item_display_flush_left):
16063         * gui.c (gui_item_display_flush_right):
16064         * gui.c (parse_gui_item_tree_item):
16065         * gui.c (parse_gui_item_tree_children):
16066         * gui.c (parse_gui_item_tree_list):
16067         Mule-ized.  Cleanup.  GCPRO addition.
16068
16069         * line-number.c (buffer_line_number):
16070         * lisp.h:
16071         * lisp.h (EMACS_INT_MAX):
16072         Added the manifest constant EMACS_INT_MIN corresponding to the
16073         existing constant EMACS_INT_MAX.  This is partially to fix compile
16074         warnings under Windows, and partly for cleanliness.
16075
16076         * menubar-msw.c:
16077         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
16078         * menubar-msw.c (msw_translate_menu_or_dialog_item):
16079         * menubar-msw.c (displayable_menu_item):
16080         * menubar-msw.c (populate_menu_add_item):
16081         * menubar-msw.c (populate_or_checksum_helper):
16082         * menubar-msw.c (populate_menu):
16083         * menubar-msw.c (update_frame_menubar_maybe):
16084         * menubar-msw.c (prune_menubar):
16085         * menubar-msw.c (msw_char_is_accelerator):
16086         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
16087         * menubar-msw.c (mswindows_handle_wm_command):
16088         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
16089         * menubar-msw.c (mswindows_handle_wm_initmenu):
16090         * menubar-msw.c (mswindows_update_frame_menubars):
16091         * menubar-msw.c (mswindows_free_frame_menubars):
16092         * menubar-msw.c (mswindows_popup_menu):
16093         Fixed a bug in handling accelerators where an extra character
16094         would be displayed in the menu item.  Also generalized the
16095         function displayable_menu_item because it is now used by the
16096         dialog box code as well.  And finally, added code in the functions
16097         that create the menubar to extract a list of accelerators for the
16098         top level menubar, which is used in the event code to determine
16099         whether a particular alt-key combination should be used to invoke
16100         a menu item, or should be passed through to access the standard
16101         XEmacs keymap binding for this key combination.
16102
16103         Much needed GCPROing.
16104
16105         * menubar-x.c:
16106         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
16107         * menubar-x.c (menu_item_descriptor_to_widget_value):
16108         * menubar-x.c (restore_in_menu_callback):
16109         * menubar-x.c (x_popup_menu):
16110         * menubar-x.c (menu_move_up):
16111         * menubar-x.c (menu_move_down):
16112         * menubar-x.c (menu_move_left):
16113         * menubar-x.c (menu_move_right):
16114         * menubar-x.c (menu_select_item):
16115         * menubar-x.c (command_builder_operate_menu_accelerator):
16116         * menubar-x.c (menu_accelerator_junk_on_error):
16117         * menubar-x.c (command_builder_find_menu_accelerator):
16118         * menubar-x.c (Faccelerate_menu):
16119         * menubar.h:
16120         Moved a whole bunch of code here that was previously in
16121         event-stream.c as described above.  There is also code connected
16122         to the new standard of adding an accelerator to the beginning of
16123         menu items that don't have one as described above and below.
16124
16125         * menubar.c:
16126         * menubar.c (menu_parse_submenu_keywords):
16127         * menubar.c (Fmenu_find_real_submenu):
16128         * menubar.c (Fnormalize_menu_item_name):
16129         * menubar.c (syms_of_menubar):
16130         * menubar.c (vars_of_menubar):
16131         * menubar.c (complex_vars_of_menubar):
16132
16133         a) Cleaned up a bunch of documentation and improved it.
16134
16135         b) XEmacs now automatically adds an accelerator onto the beginning
16136         of any menu items that don't have one.  I did this because there
16137         will inevitably be some menu items on the main menubar that don't
16138         have accelerators on them because the package that adds that
16139         particular menu item hasn't yet been fixed up to have accelerators
16140         in them and it looked rather strange to have some items with and
16141         some items without accelerators, especially since even in items
16142         without accelerators, you can, at least under windows, still
16143         access the item through an accelerator corresponding to the first
16144         character in the item's name.  If people don't like this behavior,
16145         I can add a variable to turn it off optionally, but I'm not sure
16146         this is a good idea because we really do need to have accelerators
16147         on all of the menu items, and if a package doesn't like the
16148         accelerators being put on the first character, then it should put
16149         the accelerators where they belong.
16150
16151         c) I made a behavior change, which is that the descriptor that
16152         specifies the text of the menu item, which formerly was just a
16153         string, can now also be an evaluated expression.  This makes this
16154         descriptor parallel with all of the others, which could also be
16155         evaluated expressions.  This also obviates the need for the
16156         keyword :label, which was previously listed in the documentation
16157         as unimplemented, and which was for the same purpose.
16158
16159         d) GCPROing.
16160
16161         * ntproc.c:
16162         * ntproc.c (new_child):
16163         * ntproc.c (sys_spawnve):
16164         * ntproc.c (find_child_console):
16165         * ntproc.c (sys_kill):
16166         Fixed compile warnings.  By the way, this file should really go
16167         away entirely, and this will happen as soon as Kirill makes his
16168         final round of process cleanups, which affect the function
16169         call-process.
16170
16171         * process-nt.c:
16172         * process-nt.c (struct nt_process_data):
16173         * process-nt.c (find_process_from_pid):
16174         * process-nt.c (send_signal_the_nt_way):
16175         * process-nt.c (enable_child_signals):
16176         * process-nt.c (find_child_console):
16177         * process-nt.c (send_signal_the_95_way):
16178         * process-nt.c (nt_finalize_process_data):
16179         * process-nt.c (ensure_console_window_exists):
16180         * process-nt.c (nt_create_process):
16181         * process-nt.c (nt_kill_child_process):
16182         * process-nt.c (nt_kill_process_by_pid):
16183         * process-nt.c (nt_open_network_stream):
16184         * process-nt.c (vars_of_process_nt):
16185         Copied over code from Emacs 20.5 to correctly send signals to sub-
16186         processes under Windows 95.  Also added code to automatically
16187         create and hide console window when a sub-process is created under
16188         Windows 95, which obviates the need for the separate runemacs.exe
16189         executable, and finally implemented some variables that were
16190         implemented in Emacs 20.5, but previously not in XEmacs.  These
16191         include mswindows- start-process-share-console and
16192         mswindows-start-process-inherit-error-mode. (Both of these only
16193         apply to Windows 95.)
16194
16195         * regex.c (regex_compile): Fixed a compile warning.
16196
16197         * select-msw.c:
16198         * select-msw.c (mswindows_own_selection):
16199         * select-msw.c (mswindows_get_foreign_selection):
16200         * select-msw.c (mswindows_disown_selection):
16201         * select-msw.c (console_type_create_select_mswindows):
16202         * select-msw.c (syms_of_select_mswindows):
16203         Cleaned up the file and implemented the device method
16204         selection_exists_p, which had accidentally been left out.  Also
16205         removed four lisp functions that were remnants from before the
16206         time when the selection code was properly device abstracted.
16207         These functions are no longer needed because there are generic
16208         equivalents, and because they were added recently and don't exist
16209         in FSF Emacs, I don't think there's any problem with just deleting
16210         them.
16211
16212         * sysdep.c:
16213         * sysdep.c (sys_subshell):
16214         Fixed a compile warning, although in this case there's probably
16215         something wrong with this code, and it ought to be looked into
16216         more thoroughly by somebody who understands it.
16217
16218         * window.c:
16219         * window.c (Fwindow_text_area_height):
16220         * window.c (Fwindow_width):
16221         * window.c (Fwindow_full_width):
16222         * window.c (Fwindow_pixel_width):
16223         * window.c (debug_print_window):
16224         * window.c (syms_of_window):
16225         Added functions window-text-area-height and window-full-width,
16226         which are functions for returning various width and height
16227         characteristics of a window. (One of these functions is necessary
16228         for making the file dialog box work correctly, and the other one
16229         was added for completeness.)  Also added a table to the
16230         documentation for window-height which describes the entire scheme
16231         for accessing width and height characteristics of a window.
16232
16233 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16234
16235         * nt.c (fstat): Added a comment for another problem with
16236         non-encapsulated [f]stat(), reported by Adrian Aichner
16237         <aichner@ecf.teradyne.com>.
16238
16239 2000-03-11  Andy Piper  <andy@xemacs.org>
16240
16241         * window.c (make_dummy_parent): initialize subwindow instance
16242         cache.
16243         (Fset_window_configuration): zero extent_modiff.
16244
16245 2000-03-10  Andy Piper  <andy@xemacs.org>
16246
16247         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16248         more changes can be triggered.
16249         (Fredisplay_frame): ditto.
16250         (Fredraw_device): ditto.
16251         (Fredisplay_device): ditto.
16252         (redisplay_frame): make non-static.
16253         (redisplay_frame): call update_frame_gutter_geometry outside of
16254         display proper.
16255
16256         * gutter.h: declare update_frame_gutter_geometry.
16257
16258         * redisplay.h: declare redisplay_frame.
16259
16260         * gutter.c (update_frame_gutter_geometry): move geometry changes
16261         in update_frame_gutters here. Geometry changes can only occur
16262         outside of redisplay.
16263         (update_frame_gutters): remove geometry change code.
16264         (Fredisplay_gutter_area): make sure that we are in display when we
16265         update and that we have flushed any size changes.
16266
16267 2000-03-11  Andy Piper  <andy@xemacs.org>
16268
16269         * alloc.c (pdump_dump_data): remove i & count shadows.
16270
16271 2000-02-27  Mike Alexander  <mta@arbortext.com>
16272
16273         * sysdep.h: Declare pdump_read_file
16274
16275         * sysdep.c (pdump_read_file): New function
16276
16277         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16278         dump data
16279
16280 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16281
16282         * lrecord.h: add `lrecord_type_pgsetenv'.
16283
16284 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16285
16286         * symsinit.h: declare (vars|syms)_of* functions.
16287         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16288
16289 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16290
16291         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16292
16293         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16294         GCCs.
16295
16296         * emacs.c (main_1): Call postgres initialization code.
16297
16298         * postgresql.h: New file.  PostgreSQL RDBMS support.
16299         * postgresql.c: New file.
16300
16301 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16302
16303         * redisplay-output.c (redisplay_output_display_block): Disable
16304         redundant code.
16305
16306 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16307
16308         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16309         (Fcanna_henkan_next): Ditto.
16310         (Fcanna_bunsetu_henkou): Ditto.
16311         (Fcanna_henkan_kakutei): Ditto.
16312         (Fcanna_henkan_end): Ditto.
16313         (Fcanna_henkan_quit): Ditto.
16314         (Fcanna_henkan_next): Set retun value correctly.
16315         (c2mu): Use unsigned char instead of signed char.
16316
16317 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16318
16319         * emacs.c (main_1): Always call syms_of_gui.
16320         * inline.c: include gui.h
16321
16322 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16323
16324         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16325         converted to Lisp_Object.
16326         (Qtop_bottom): New variable.
16327         (syms_of_redisplay): Initialize it.
16328         * redisplay.h (Vvisible_bell): Ditto.
16329         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16330         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16331         only flash top and bottom.
16332
16333 2000-03-08  Andy Piper  <andy@xemacs.org>
16334
16335         * buffer.c (Frename_buffer): record new buffer name the right way.
16336
16337 2000-03-08  Andy Piper  <andy@xemacs.org>
16338
16339         * glyphs.c (update_subwindow): increase hash depth so that widget
16340         items get picked up properly.
16341
16342         * redisplay-output.c (compare_runes): increase hash depth so that
16343         widget items get picked up properly.
16344
16345 2000-03-08  Andy Piper  <andy@xemacs.org>
16346
16347         * gutter.c (output_gutter): add some debug.
16348
16349         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16350         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16351         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16352
16353         * redisplay-output.c (compare_runes): use display_hash to
16354         determine if glyphs really are not the same.
16355
16356         * glyphs.c (update_subwindow): check display_hash to see if
16357         anything really needs to be updated. If not then do
16358         nothing. Record the display_hash after updating.
16359         (image_instance_equal): compare the image_instance face also.
16360
16361 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16362
16363         * redisplay.h: Fix comment style.
16364
16365 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16366
16367         * consle-msw.h (struct mswindows_frame):
16368         Added new member paint_pending to indicate whether a WM_PAINT
16369         magic event has been queued for this frame.
16370
16371         * event-msw.c (mswindows_drain_windows_queue):
16372         Don't queue a WM_PAINT magic event if one is already queued.
16373         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16374
16375         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16376
16377 2000-03-07  Didier Verna  <didier@xemacs.org>
16378
16379         * dired.c: #include `regex.h' after `sysfile.h'.
16380
16381 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16382
16383         * sound.c (init_nas_sound): Fix compiler warning.
16384
16385         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16386         (FREE_STRUCT_P):
16387         (MARK_STRUCT_AS_FREE):
16388         (MARK_STRUCT_AS_NOT_FREE):
16389         Make `gcc -fstrict-aliasing' work properly.
16390
16391 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16392
16393         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16394         (mswindows_delete_device): Call CoUnnitialize().
16395
16396         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16397
16398 2000-02-25    <CraigL@DyCon.com>
16399
16400         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16401         <errno.h>.
16402
16403         * sysdep.c: This extern declaration for environ prevents MinGW
16404         from finding the variable in CRTDLL.DLL.
16405
16406         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16407         windows headers.
16408         (SHGFI_EXETYPE): ..
16409         (WM_MOUSEWHEEL): ..
16410         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16411         definitions.
16412         (MMRESULT): Removed, now defined in cygwin's windows headers.
16413         (TIMECAPS): ..
16414         (uid_t,gid_t,pid_t,ssize_t): ..
16415         (_timeb): Removed, MinGW defines both _timeb and timeb.
16416         (HAVE_H_ERRNO): Added.
16417         (HAVE_TZNAME): Added, configure is not detecting this.
16418
16419 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16420
16421         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16422         * syntax.c (syntax_match): Use it.
16423
16424         * cmds.c: Import auto-fill-chars from FSF Emacs.
16425         (Vauto_fill_chars): New variables.
16426         (internal_self_insert): Check Vauto_fill_chars.
16427         (vars_of_cmds):
16428         Declare auto-fill-chars as a Lisp variable and initialize it.
16429
16430 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16431
16432         * fileio.c (Fmake_symbolic_link):
16433         (Ffile_symlink_p):
16434         Run handlers even if local machine doesn't have symlinks.
16435
16436 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16437
16438         * event-msw.c (mswindows_drain_windows_queue):
16439         Don't generate paint magic events for non-XEmacs frames.
16440
16441 2000-03-05  Andy Piper  <andy@xemacs.org>
16442
16443         * redisplay.c (redisplay_frame): generate_displayable_area and
16444         friends assumes that we are not in GC, we therefore have to make
16445         sure that this doesn't happen.
16446
16447         * gutter.c (calculate_gutter_size): generate_displayable_area
16448         assumes that we are not in GC, we therefore have to make sure that
16449         this doesn't happen.
16450
16451 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16452
16453         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16454
16455 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16456
16457         * redisplay.c (regenerate_window): Make sure we set a sane value
16458         for end_pos even if we jump out of the loop.
16459         (regenerate_window): Answer Ben's question :-).
16460         (start_end_of_last_line): Add may_error argument.
16461         (start_of_last_line):
16462         (end_of_last_line): Pass may_error = 0.
16463         (end_of_last_line_may_error): New function.
16464         (pixel_to_glyph_translation): Use it, so we don't crash in
16465         event_to_glyph.
16466
16467 2000-03-04  Andy Piper  <andy@xemacs.org>
16468
16469         * window.h (struct window): add gutter_extent_modiff.
16470
16471         * window.c (allocate_window): zero out gutter_extent_modiff.
16472
16473         * redisplay.h: declare sync_display_line_structs.
16474
16475         * redisplay.c (add_glyph_rune): add a better comment.
16476
16477         * redisplay-output.c (sync_display_line_structs): made non-static.
16478         (compare_runes): remove unneccesary glyph cachel access.
16479
16480         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16481
16482         * gutter.c (output_gutter): don't output the gutter if extent
16483         changes only involve extents in buffers. use 4 sets of display
16484         lines.
16485         (gutter_extent_signal_changed_region_maybe): new function. Mark
16486         extents in gutters as changed.
16487         (update_frame_gutters): use 4 sets of display lines.
16488         (reset_gutter_display_lines): ditto.
16489         (free_frame_gutters): ditto.
16490         (redraw_exposed_gutter): force output of gutters.
16491
16492         * frame.h (struct frame): add 4 sets of gutter display lines.
16493
16494         * extents.c: (extent_changed_for_redisplay): signal changes to
16495         extents in strings in the gutter as well as extents in buffers.
16496
16497 2000-03-02  Andy Piper  <andy@xemacs.org>
16498
16499         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16500
16501         * frame.c (Fmake_frame): make sure the gutters get initialized
16502         after the frame is visible.
16503         (set_frame_selected_window): re-arrange compilation macros a
16504         little.
16505         (change_frame_size_1): mark gutters changed.
16506
16507         * device.c (Fset_device_class): mark gutters changed.
16508
16509 2000-03-01  Andy Piper  <andy@xemacs.org>
16510
16511         * window.c (window_top_frame_gutter_height): deleted.
16512         (window_bottom_frame_gutter_height): ditto.
16513         (window_left_frame_gutter_height): ditto.
16514         (window_right_frame_gutter_height): ditto.
16515         (window_top_gutter_height): don't use them.
16516         (window_bottom_gutter_height): ditto.
16517         (window_left_gutter_width): ditto.
16518         (window_right_gutter_width): ditto.
16519         (Fsplit_window): ditto.
16520         (Fwindow_pixel_edges): don't use border dimensions here.
16521
16522         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16523         (update_scrollbar_instance): ditto.
16524
16525         * redisplay.c (generate_modeline): don't take gutters into account.
16526         (generate_modeline): ditto.
16527         (redisplay_frame): small gutter display optimization.
16528
16529         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16530
16531         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16532         gutters into account.
16533
16534         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16535         for window position and type.
16536
16537         * gutter.c (get_gutter_coords): fix for frame gutters.
16538         (update_frame_gutters): update frame geometry if the gutters have
16539         changed.
16540         (init_frame_gutters): record current gutter geometries.
16541
16542         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16543         var.
16544         (mswindows_widget_instantiate): ditto.
16545
16546         * frame.h (struct frame): add current_gutter_bounds.
16547
16548         * frame.c (change_frame_size_1): position window and minibuffer
16549         appropriately taking into account the frame gutters.
16550
16551         * frame-x.c: (x_initialize_frame_size): take into account the
16552         frame gutters.
16553
16554 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16555
16556         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16557
16558 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16559
16560         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16561
16562 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16563
16564         * file-coding.c (reset_decoding_stream): Clear previous
16565         detection state when autodetect.
16566
16567 2000-02-29  Didier Verna  <didier@xemacs.org>
16568
16569         * extents.c (set_extent_glyph_1): don't require extents to be
16570         attached.
16571
16572 2000-02-27  Andy Piper  <andy@xemacs.org>
16573
16574         * gutter.c (Fset_default_gutter_position): don't default left and
16575         right gutter visibility to t.
16576         (Fset_default_gutter_position): run
16577         default-gutter-position-changed-hook.
16578         (syms_of_gutter): add default-gutter-position-changed-hook.
16579
16580 2000-02-26  Andy Piper  <andy@xemacs.org>
16581
16582         * specifier.c (Fmake_specifier): add gutter references.
16583
16584         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16585
16586         * lisp.h: declare Fvalid_plist_p.
16587
16588         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16589         as changed.
16590         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16591         well as its visibility so that it gets reconstructed.
16592         (construct_window_gutter_spec): new function. Construct a string
16593         to be displayed in the gutter from a plist of strings. Take care
16594         to only use elements that are declared as visible.
16595         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16596         WINDOW_GUTTER.
16597         (gutter_validate): allow plists of strings in the specifier.
16598         (gutter_specs_changed): construct the real_gutter from the gutter
16599         specs using construct_window_gutter_spec.
16600         (gutter_visible_validate): gutter-visible is a new specifier type.
16601         (Fgutter_visible_specifier_p): new function for the new specifier.
16602         (syms_of_gutter): declare gutter-visible and
16603         Fgutter_visible_specifier_p.
16604         (specifier_type_create_gutter): intitalize new gutter-visible
16605         specifier.
16606         (reinit_specifier_type_create_gutter): ditto.
16607         (specifier_vars_of_gutter): use new specifier type for gutter
16608         visibility.
16609         (init_frame_gutters): construct real_gutter correctly.
16610         (Fgutter_specifier_p): beef up documentation.
16611         (Fgutter_size_specifier_p): ditto.
16612
16613         * winslots.h: add real_gutter slots.
16614
16615 2000-02-25  Andy Piper  <andy@xemacs.org>
16616
16617         * device-msw.c: Be kind to older cygwin versions. From Raymond
16618         Toy <toy@rtp.ericsson.se>.
16619
16620         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16621         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16622
16623 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16624
16625         * elhash.c (MARK_OBJ): Practice macro hygiene.
16626
16627 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16628
16629         * miscplay.c: s/__inline__/inline/g;
16630         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16631         (get_device_compdc): INLINE ==> static inline
16632         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16633         find -name '*.h' | \
16634         xargs global-replace \
16635         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16636
16637 2000-02-25  Andy Piper  <andy@xemacs.org>
16638
16639         * window.c (window_top_frame_gutter_height): new function.
16640         (window_top_window_gutter_height): ditto.
16641         (window_top_gutter_height): use them.
16642         (window_bottom_frame_gutter_height): new function.
16643         (window_bottom_window_gutter_height): ditto.
16644         (window_bottom_gutter_height): use them.
16645         (window_left_window_gutter_width): new function.
16646         (window_left_frame_gutter_width): ditto.
16647         (window_left_gutter_width): use them.
16648         (window_right_window_gutter_width): new function.
16649         (window_right_frame_gutter_width): ditto.
16650         (window_right_gutter_width): use them.
16651         (window_pixel_height): new function. calulate window pixel height
16652         with frame gutter involvement.
16653         (Fsplit_window): calculate new sizes taking frame gutters into
16654         account.
16655         (window_char_height_to_pixel_height): don't include frame gutters.
16656         (window_char_height): use window_pixel_height.
16657         (window_pixheight): rename from window_pixel_height.
16658         (change_window_height): use it.
16659         (window_pixel_height_to_char_height): don't include frame gutters.
16660         (window_char_width_to_pixel_width): ditto.
16661
16662 2000-02-25  Andy Piper  <andy@xemacs.org>
16663
16664         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16665         if it is.
16666
16667 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16668
16669         * alloc.c (staticpro):
16670         (staticpro_nodump):
16671         (dumpstruct):
16672         (dumpopaque):
16673         (pdump_wire):
16674         (pdump_wire_list):
16675         (compact_string_chars):
16676         (pdump_dump_wired):
16677         Convert:  if (foo) abort();  ==>  assert (! foo);
16678
16679         * eldap.c (Fldap_search_basic):
16680         (Fldap_add):
16681         (Fldap_modify):
16682         (Fldap_delete):
16683         Fix compiler warnings, and possible crashes if (random) return
16684         value were to be used.
16685
16686 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16687
16688         * device-msw.c: Workaround ResetDC failure.
16689
16690         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16691         applying a devmode.
16692
16693         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16694         (mswindows_text_width): Do not start printer page.
16695
16696         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16697
16698         * glyphs-msw.c: Added image methods to msprinter console and
16699         msprinter-specific image instantiation.
16700
16701 2000-02-20  Mike Alexander  <mta@arbortext.com>
16702
16703         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16704         to avoid crashes when selection-sets-clipboard is on
16705         (mswindows_own_selection): ditto
16706
16707 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16708
16709         * glyphs-msw.c:
16710         * redisplay-msw.c (get_frame_dc):
16711         (get_frame_compdc):
16712         * console-msw.h:
16713         * device-msw.c (mswindows_init_device):
16714         (mswindows_delete_device):
16715         (msprinter_init_device):
16716         (msprinter_delete_device):
16717         * frame-msw.c (mswindows_init_frame_1):
16718         (mswindows_delete_frame):
16719         (msprinter_init_frame_3):
16720         (msprinter_delete_frame): Move compatible DC to device object from
16721         frame object, for both mswindows and msprinter. Only one at a time
16722         is needed, it is a real waste to have one per frame!
16723
16724 2000-02-23  Andy Piper  <andy@xemacs.org>
16725
16726         * glyphs.c: add dynamic width and height elements.
16727         (image_instance_equal): ditto.
16728
16729         * glyphs-widget.c (widget_query_geometry): calculate width and
16730         height dynamically if required.
16731         (initialize_widget_image_instance): initialize dynamic dimensions.
16732         (widget_instantiate): pick-up dynamic dimensions.
16733
16734         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16735         dynamic determination. Add appropriate macros.
16736
16737         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16738         dimensions safe.
16739         (WINDOW_GUTTER_SIZE): ditto.
16740         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16741
16742         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16743         inline.
16744         (get_frame_dc): ditto.
16745
16746         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16747         here.
16748
16749 2000-02-23  Martin Buchholz <martin@xemacs.org>
16750
16751         * XEmacs 21.2.31 is released.
16752
16753 2000-02-22  Ben Wing <ben@xemacs.org>
16754
16755         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16756
16757 2000-02-22  Andy Piper  <andy@xemacs.org>
16758
16759         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16760
16761 2000-02-21  Mike Sperber <mike@xemacs.org>
16762
16763         * .dbxrc:
16764         * .gdbinit:
16765         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16766         variables.
16767
16768 2000-02-21  Mike Sperber <mike@xemacs.org>
16769
16770         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16771
16772 2000-02-21  Martin Buchholz <martin@xemacs.org>
16773
16774         * XEmacs 21.2.30 is released.
16775
16776 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16777
16778         Performance hacking.
16779         * *.c (syms_of_*):
16780         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16781         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16782         * emacs.c (main_1):
16783         * lisp.h (DEFUN):
16784         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16785         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16786         * symeval.h (DEFVAR_SYMVAL_FWD):
16787         * symbols.c (guts_of_unbound_marker):
16788         Make all c_readonly objects also lisp_readonly and marked for life.
16789         * lrecord.h (struct lrecord_implementation):
16790         Document flags better.
16791         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16792         * lrecord.h (DECLARE_LRECORD):
16793         * lrecord.h (XSETRECORD):
16794         * lrecord.h (RECORDP):
16795         * lrecord.h (RECORD_TYPEP):
16796         * lrecord.h (RECORD_MARKER): New.
16797         * lrecord.h (error_check_*):
16798         * lrecord.h (CONCHECK_NONRECORD):
16799         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16800         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16801         * lrecord.h (set_lheader_implementation):
16802         * lrecord.h (enum lrecord_type): New.
16803         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16804         * alloc.c (disksave_object_finalization_1):
16805         * alloc.c (mark_object):
16806         * alloc.c (lrecord_type_index):
16807         * alloc.c (tick_lcrecord_stats):
16808         * alloc.c (Fgarbage_collect):
16809         * alloc.c (init_alloc_once_early):
16810         * alloc.c (pdump_load):
16811         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16812         * alloc.c (lrecord_type_index): Delete.
16813         Make lisp object type indexes be constant.
16814           Makes (byte-compile) 5% faster.
16815         Put all marker functions into their own array.
16816           Makes (garbage-collect) 5% faster.
16817         Optimize SYMBOL_VALUE_MAGIC_P.
16818           Makes (byte-compile) 2-3% faster.
16819         * config.h.in (gc_checking_assert): New.
16820         * alloc.c: Use gc_checking_assert().
16821         * .dbxrc: Make compatible with new object type implementation.
16822         * .gdbinit: Make compatible with new object type implementation.
16823         * alloc.c: Delete all symbols defined only for debugging, such as
16824         Lisp_Type_Vector and lrecord_charset.
16825
16826 2000-02-21  Andy Piper  <andy@xemacs.org>
16827
16828         * gui-msw.c (Fmswindows_shell_execute): fix file location
16829         problems.
16830
16831         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16832         unshowing so that set_window_buffer doesn't undo
16833         kill_buffer_hook's hard work.
16834
16835         * glyphs-widget.c (tab_control_query_geometry): don't count the
16836         first item when calculating geometry.
16837
16838         * glyphs.c (map_subwindow): remove redundant code.
16839         (update_frame_subwindows): be more circumspect about when to
16840         update subwindows.
16841
16842         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16843         when items haven't changed. Update faces if faces have changed as
16844         well as just the widget face.
16845         (x_tab_control_update): Update faces if faces have changed as well
16846         as just the widget face.
16847
16848 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16849
16850         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16851         registration.
16852         (build_syscolor_string): Use mswindows_color_to_string to try to
16853         get a named color.
16854         (mswindows_device_system_metrics): Reverse the foreground and
16855         background colors so that they match the documentation.
16856
16857         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16858         they match the default Windows palette.
16859         (mswindows_color_to_string): New function.
16860
16861 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16862
16863         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16864
16865 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16866
16867         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16868         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16869
16870         * symbols.c (init_symbols_once_early): Removed obsolete
16871         DATA_SEG_BITS related kludge.
16872         (defvar_magic): Ditto.
16873
16874         * malloc.c: Removed obsolete DATA_SEG_BITS
16875         * ralloc.c: Ditto.
16876         * mem-limits.h: Ditto.
16877
16878         * Makefile.in.in: Removed obsolete HAVE_SHM
16879         * emacs.c: Ditto.
16880
16881 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16882
16883         *  device-msw.c (mswindows_delete_device): Free DDE string
16884         handles.
16885
16886 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16887
16888         * keymap.c (get_keyelt):
16889         * unexnt.c (unexec):
16890         * vm-limit.c (memory_warnings):
16891         * ntheap.c (recreate_heap):
16892         * ntheap.h (UNINIT_PTR):
16893         * select-msw.c (Fmswindows_get_clipboard):
16894         (Fmswindows_set_clipboard):
16895         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16896         * objects-msw.c:
16897         * menubar-msw.c (displayable_menu_item):
16898         * glyphs-msw.c:
16899         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16900         * sysdep.c (sys_subshell):
16901         * process-nt.c (nt_create_process):
16902         * nt.c (normalize_filename):
16903         (dostounix_filename):
16904         (unixtodos_filename):
16905         * ntproc.c (win32_executable_type):
16906         * ntplay.c (play_sound_data_1):
16907         (play_sound_file):
16908         * editfns.c (get_home_directory):
16909         * event-msw.c (struct winsock_stream):
16910         (mswindows_dde_callback):
16911         * device-msw.c (msprinter_init_device):
16912         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16913
16914         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16915         mswindows_clear_toolbar were swapped!
16916
16917         * objects-msw.c:(colormap_t):
16918         (fontmap_t):
16919         * emacs.c (struct standard_args): Fixed const jumble.
16920
16921         * glyphs-widget.c (update_widget): Fixed comparison notation.
16922
16923         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16924
16925         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16926         __declspec(noreturn) syntax.
16927
16928 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16929
16930         * eldap.c (Fldap_open):
16931         (Fldap_search_basic):
16932         (Fldap_add):
16933         (Fldap_modify):
16934         Use new coding system conversion macros.
16935
16936 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16937
16938         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16939
16940 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16941
16942         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16943         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16944
16945         * eldap.c (Qadd, Qreplace): New constant symbols
16946         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16947         interruptions by XEmacs signals
16948         Remove unnecessary calls to slow_down_interrupts and
16949         speed_up_interrupts
16950         (Fldap_search_basic): Renamed from Fldap_search_internal
16951         Added new optional parameter VERBOSE that triggers the
16952         display of progress messages
16953         Remove unnecessary calls to slow_down_interrupts and
16954         speed_up_interrupts
16955         LDAP result code analysis rewritten
16956         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16957         (syms_of_eldap): Define the new symbols and functions
16958
16959
16960 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16961
16962         * realpath.c: Determine PATH_MAX maximally portably.
16963
16964         * insdel.c (bytecount_to_charcount): Optimize.
16965         The function used to be optimized for entirely ASCII sequences.
16966         Now it is optimized for successive characters from the same
16967         charset.  This also wins big for _mostly_ ASCII sequences.
16968
16969         * fileio.c (Ffile_truename): convert return from realpath() using
16970         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16971         - Rewrite GCPROing slightly.
16972
16973         * sysdep.c (sys_open): Do filename conversion, like all other
16974         sys_* functions.  Fixes bug:
16975         (let ((file-name-coding-system 'iso-8859-2))
16976            (write-region x y latin2-name))
16977         ==> writes filename using internal encoding.
16978
16979 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16980
16981         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16982         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16983         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16984         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16985         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16986         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16987         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16988         (CONST_IF_NOT_DEBUG): Delete.
16989         * alloc.c (this_one_is_unmarkable): Delete.
16990         (mark_object): Don't check for this_one_is_unmarkable. Use the
16991         c_readonly flag instead.
16992         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16993
16994 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16995
16996         * event-msw.c (mswindows_drain_windows_queue):
16997         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16998         away redundant repaint events.
16999
17000 2000-02-17  Andy Piper  <andy@xemacs.org>
17001
17002         * redisplay.h: declare mark_redisplay_structs.
17003
17004         * redisplay.c (redisplay_window):
17005         (redisplay_frame): don't check subwindows_state_changed.
17006         (mark_redisplay): mark gutters here.
17007
17008         * glyphs.c: (instantiate_image_instantiator): always layout if we
17009         haven't done so already.
17010         (allocate_image_instance): don't mark as dirty.
17011         (update_subwindow): bind inhibit_quit.
17012
17013         * gutter.c (mark_gutters): new function.
17014
17015         * glyphs-x.c (x_update_widget): Always resize to get round a
17016         widget bug.
17017
17018         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
17019         breaking absolutely everything.
17020
17021         * gutter.h: declare mark_gutters.
17022
17023 2000-02-16  Martin Buchholz <martin@xemacs.org>
17024
17025         * XEmacs 21.2.29 is released.
17026
17027 2000-02-15  Olivier Galibert  <galibert@pobox.com>
17028
17029         * fns.c (size_bit_vector): Fix computation of the size.
17030
17031 2000-02-15  Martin Buchholz  <martin@xemacs.org>
17032
17033         * *.[ch]: Change CONST to const globally.
17034         find -name '*.[ch]' | \
17035         xargs global-replace \
17036         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
17037         - Remove vestigial references to CONST_IS_LOSING
17038
17039 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
17040
17041         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
17042         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
17043         events instead of dispatching them directly.
17044         (mswindows_handle_paint): New function to do repainting.
17045         (mswindows_wnd_proc):
17046         (emacs_mswindows_handle_magic_event): Call above function.
17047
17048 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
17049
17050         * objects-msw.c (mswindows_create_font_variant): Return the new
17051         font handle.
17052         (initialize_font_instance): Get font metrics from the underlined
17053         variant of the font to cope with the case where the underlined
17054         font has a bigger descent.
17055
17056 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17057
17058         * gui.c (gui_item_accelerator): Return the first underlined
17059         character in item name.
17060
17061 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17062
17063         * lisp.h: Added Qprinter.
17064
17065         * general.c (syms_of_general): Initialized it.
17066
17067         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
17068         (get_frame_dc):
17069         (get_frame_compdc): Made inline.
17070
17071         * console.h (struct console_methods): Added eject_page method.
17072
17073         * frame.h: Added FRAME_DISPLAY_P and friends.
17074         Aligned backslahes in many macros in more readable fashion.
17075         Added page_number to struct frame, and an accessor macro
17076         for it.
17077
17078         * defice.h: Added DEVICE_DISPLAY_P and friends.
17079
17080         * device.c (Fdevice_printer_p): Used these.
17081
17082         * frame.c (allocate_frame_core): Initialize page number.
17083         (Fprint_job_page_number):
17084         (Fprint_job_eject_page): Implemented.
17085
17086         * frame-msw.c (msprinter_eject_page): Added method.
17087         (msprinter_start_page): Added.
17088
17089         * window.c (Fwindow_truncated_p): Fixed docstring.
17090         (Fwindow_last_line_visible_height): Implemented.
17091
17092 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
17093
17094         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
17095
17096 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17097
17098         * syntax.c (scan_words): Always advance at least one character.
17099
17100 2000-02-13  Andy Piper  <andy@xemacs.org>
17101
17102         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
17103         to make sure the glyph is in the cachels.
17104
17105         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
17106         global image instance flag.
17107         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
17108         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
17109
17110         * glyphs.c (allocate_image_instance): set dirty bits correctly.
17111         (Fset_image_instance_property): mark layout as changed.
17112         (invalidate_glyph_geometry_maybe): mark layout as changed.
17113         (glyph_width): use new NEEDS_LAYOUT macro.
17114         (glyph_ascent): ditto.
17115         (glyph_descent): ditto.
17116         (glyph_height): ditto.
17117         (image_instance_layout): mark layout as clean after laying out.
17118         (update_subwindow): don't mark layout as clean here.
17119
17120         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
17121         should no longer be needed.
17122
17123         * glyphs-x.c (x_update_widget): sanitize asserts.
17124         (x_finalize_image_instance): sanitize assignment to widgets.
17125
17126         * glyphs-widget.c (widget_instantiate): don't need to clear the
17127         layout flag here.
17128
17129 2000-02-13  Martin Buchholz  <martin@xemacs.org>
17130
17131         * sysdep.c (getcwd): Use standard prototype.
17132         * sysdep.h (getcwd): Use standard prototype.
17133
17134         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
17135         (sequence, start, end).
17136         Remove redundant type checking.
17137         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
17138         view of `caller-protects') to avoid a crash where the real fix was
17139         found elsewhere.
17140
17141 2000-02-12  Martin Buchholz  <martin@xemacs.org>
17142
17143         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
17144
17145         * s/sol2.h: Remove feature macro initialization.
17146
17147         * alloc.c (alloc_lcrecord): Add more type checking assertions.
17148         (vector_hash): New.  Code from internal_hash.
17149         * lrecord.h:
17150         Fix up allocation subsystem comments.
17151
17152         * config.h.in: Add __EXTENSIONS__ for Solaris.
17153
17154         * systime.h (EMACS_GETTIMEOFDAY): New.
17155         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
17156         Remove Solaris-specific code.
17157         Use void* for the (ignored) second arg for gettimeofday().
17158
17159         * elhash.c (hash_table_hash): Implement it, finally.
17160         * elhash.c:  Use hashcode_t.
17161
17162         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
17163         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
17164
17165         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
17166         * fns.c (size_bit_vector):
17167         * alloc.c (size_vector):
17168         (make_vector_internal):
17169         (make_bit_vector_internal):
17170         (sweep_bit_vectors_1):
17171         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
17172
17173 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17174
17175         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17176         Include strings.h to avoid warnings for bzero and strcasecmp.
17177
17178 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17179
17180         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17181         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17182
17183         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17184         sequence.
17185
17186 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17187
17188         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17189         use a value field instead.
17190         (symbol_value_forward_forward): Use value field.
17191         (DEFVAR_SYMVAL_FWD): Use value field.
17192         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17193         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17194         (DEFVAR_CONST_INT): Ditto.
17195         (DEFVAR_BOOL): Ditto.
17196         (DEFVAR_CONST_BOOL): Ditto.
17197         (DEFVAR_INT_MAGIC): Ditto.
17198         (DEFVAR_BOOL_MAGIC): Ditto.
17199
17200         * symbols.c (guts_of_unbound_marker): Use value field.
17201         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17202         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17203
17204         * lisp.h: Declare dumpopaque and noninteractive1.
17205
17206         * alloc.c (dumpopaque): Added.
17207         (pdump_dump_opaquevec): Added.
17208         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17209         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17210         noninteractive.
17211
17212 2000-02-10  Andy Piper  <andy@xemacs.org>
17213
17214         * glyphs.c (image_instance_layout): if the size changes, mark it
17215         as such.
17216
17217         * redisplay-output.c (redisplay_output_layout): Update the
17218         subwindow here.
17219         (redisplay_output_subwindow): ditto.
17220
17221         * glyphs.c (update_subwindow): make sure we reset flags for
17222         layouts as well as everything else.
17223
17224         * glyphs-widget.c (layout_layout): don't need to set the instances
17225         dimensions here.
17226
17227 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17228
17229         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17230         not HAVE_DLOPEN, which is a lower-level thing.
17231
17232         * .cvsignore: Ignore gmon.out
17233
17234 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17235
17236         * .cvsignore: Ignore portable dumper xemacs.dmp file
17237
17238 2000-02-09  Andy Piper  <andy@xemacs.org>
17239
17240         * redisplay-output.c (redisplay_output_layout): be more clever
17241         about when we output based on the changed flags.
17242
17243         * glyphs.h (struct image_instantiator_methods): add update_method.
17244         (struct Lisp_Image_Instance): add changed flags. Declare new
17245         macros for manipulating them.
17246
17247         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17248         (image_instance_parent_glyph): find an image_instance's parent
17249         glyph or image_instance.
17250         (image_instance_layout): mark the size as changed.
17251         (set_image_instance_dirty_p): new function. mark an image
17252         instance, plus all of its parents, as dirty.
17253         (Fset_image_instance_property): use it.
17254         (Fglyph_animated_timeout_handler): use it.
17255         (update_subwindow): call update_widget and device methods for
17256         update_subwindow. Mark all changed flags as clean.
17257         (Fresize_subwindow): mark size as changed.
17258
17259         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17260         failures.
17261         (x_update_subwindow): only resize subwindows here.
17262         (x_update_widget): new function. Update all changed properties of
17263         a widget.
17264         (x_resize_subwindow): deleted.
17265         (x_widget_set_property): deleted.
17266         (x_progress_gauge_set_property): deleted.
17267         (x_progress_gauge_update): new function. Implement recorded
17268         changes.
17269         (x_tab_control_update): ditto.
17270         (x_tab_control_set_property): deleted.
17271         (console_type_create_glyphs_x): declare new functions.
17272         (image_instantiator_format_create_glyphs_x): ditto.
17273
17274         * glyphs-widget.c (widget_set_property): mark text changed.
17275         (update_widget): new function. Update properties of a widget.
17276         (widget_instantiate): for layouts make sure we set their
17277         children's parent correctly.
17278         (tab_control_set_property): new function. Record changes that will
17279         take place under redisplay's control.
17280         (progress_gauge_set_property): ditto.
17281         (image_instantiator_progress_guage): declare new functions.
17282         (image_instantiator_tab_control): ditto.
17283
17284         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17285         now.
17286         (mswindows_update_widget): new function. Update all properties on
17287         a widget that have changed.
17288         (mswindows_button_update): new function. Update a button's set
17289         state.
17290         (mswindows_tab_control_update): new function. Update the items in
17291         a tab.
17292         (mswindows_tab_control_set_property): deleted.
17293         (mswindows_progress_gauge_update): new function. Update the
17294         progress gauge's progress.
17295         (mswindows_widget_set_property): deleted. This is all done
17296         asynchronously now.
17297         (mswindows_progress_gauge_set_property): ditto.
17298         (console_type_create_glyphs_mswindows): declare new methods.
17299         (image_instantiator_format_create_glyphs_mswindows): ditto.
17300
17301         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17302         (msprinter_set_frame_properties): ditto.
17303
17304         * console.h (struct console_methods): Add update_widget_method.
17305
17306 2000-02-09  Andy Piper  <andy@xemacs.org>
17307
17308         * gui-msw.c (Fmswindows_shell_execute): Make
17309         mswindows-shell-execute industrial strength.
17310
17311 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17312
17313         * lrecord.h: Make macro argument `props' match member function `plist'.
17314         * fns.c (Fget):
17315         * fns.c (Fput):
17316         * fns.c (Fremprop):
17317         * fns.c (Fobject_plist):
17318         * alloc.c:
17319         * symbols.c:
17320         Object property list frobbing cleanup.
17321         - Allow any lisp object (compared with `eq'), not just symbols, as
17322           keys in object plists.
17323         - Move symbol plist frobbing into symbols.c, where it belongs.
17324         - Move string plist frobbing into alloc.c, where it belongs.
17325         - Everything's an lrecord now, so no need to test for symbolp, etc.
17326         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17327
17328         * extents.c: Reorder code to remove declarations.
17329
17330         * frame.h (store_in_alist): Remove useless declaration.
17331
17332 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17333
17334         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17335         * config.h.in: Add HAVE_XCONVERTCASE.
17336
17337 2000-02-07  Andy Piper  <andy@xemacs.org>
17338
17339         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17340         it breaks many things.
17341
17342 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17343
17344         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17345         actually can start a common comment type.
17346         * src/syntax.h (SYNTAX_END_P): ditto for end.
17347
17348 2000-02-07  Martin Buchholz <martin@xemacs.org>
17349
17350         * XEmacs 21.2.28 is released.
17351
17352 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17353
17354         * event-Xt.c (x_keysym_to_character): New.
17355         (maybe_define_x_key_as_self_inserting_character): New.
17356         (x_has_keysym): New.
17357         Auto-define all keys on the keyboard as self-insert-key.
17358
17359 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17360
17361         * menubar.c (vars_of_menubar): A small code simplification.
17362
17363         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17364
17365         * ExternalShell.c:
17366         * ExternalClient.c:
17367         * EmacsShell-sub.c:
17368         * EmacsManager.c:
17369         * EmacsFrame.c:
17370         Use consistent style for specifying X resources.
17371
17372         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17373         This makes (dontusethis-set-symbol-value-handler) actually usable.
17374
17375         * lrecord.h (lrecord_decription_type):
17376         * alloc.c (pdump_register_sub):
17377         (pdump_dump_data):
17378         (pdump_reloc_one):
17379         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17380         Comply with XEmacs coding style.
17381         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17382         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17383
17384         * keymap.c (Faccessible_keymaps):
17385         Make (accessible-keymaps map "\C-h") do the Right Thing.
17386         Make (accessible-keymaps map []) do the Right Thing.
17387         Make (accessible-keymaps map "") do the Right Thing.
17388         (check_keymap_definition_loop): New function.
17389         (keymap_store_internal): Keep luser from shooting self in foot,
17390           via (define-key ctl-x-4-map "p" global-map).
17391         Remove fullness slot from struct Lisp_Keymap, since hash tables
17392         are now reliable.
17393         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17394
17395 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17396
17397         * redisplay.c (init_redisplay): Fix small memory leak.
17398         * elhash.h:
17399         * elhash.c (pdump_reorganize_hash_table):
17400         Rename from reorganize_hash_table. Change prototype.
17401         Reuse the original memory for hentries.  Save 100k.
17402         * alloc.c (PDUMP_READ): new macro.
17403         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17404         * alloc.c: No need to #ifndef before #undef.
17405
17406         * print.c: Allow debug_print() to print readably by modifying
17407         debug_print_readably.  Use consistent variable names.
17408
17409         * .dbxrc: Try to get things to work even if stopped in a function
17410         without source available by explicitly specifying source files.
17411 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17412
17413         * unexnt.c (_start): Removed bogus code which caused loading heap
17414         from differrent executable file.
17415         Removed bogus assignment to _fmode, which caused inconsistencies.
17416
17417 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17418
17419         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17420         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17421         Do not preliminary `#define signal sigset'.
17422
17423         * systime.h: Do not prototype environ on windows nt and cygwin,
17424         this conflicts with system header.
17425
17426         * syssignal.h: Use correct define for WINDOWSNT
17427
17428         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17429         with system header.
17430
17431         * sysdep.c (near start of file): Fixed commentary and rearranged
17432         ifdefs in readable order.
17433         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17434         (start_of_text):
17435         (end_of_text):
17436         (end_of_data): Do not compile in if using PDUMP.
17437
17438         * symsinit.h: Prototyped vars_of_nt().
17439
17440         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17441         (find_child_console): Use it.
17442         (sys_kill): Use it.
17443
17444         * ntheap.h: Do not extern os_subtype.
17445
17446         * ntheap.c (cache_system_info): Do not cache unneeded:
17447         nt_major_version, nt_minor_version and os_subtype.
17448         (recreate_heap): Do not compile in when PDUMPing.
17449
17450         * nt.c (geteuid and friends): Use the new varibale
17451         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17452         (init_user_info): Removed the above mentioned hackery.
17453         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17454         stat has been fixed in the C runtime.
17455         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17456
17457         * file-coding.c (struct file_coding_dump): Do not define
17458         ucs_to_mule_table in the struct if not MULE.
17459         (struct struct lrecord_description fcd_description_1): Do not dump
17460         the above.
17461
17462         * emacs.c (main_1): Call vars_of_nt().
17463         (right before Fdump_emacs_data): Don't need lastfile if using both
17464         portabe dumper and system malloc.
17465
17466         * alloc.c (Fmemory_limit): Conditionalized out.
17467         (pdump): Use OPEN_BINARY for the portable dump file.
17468         (pdump_load): Ditto.
17469
17470 2000-02-02  Mike Alexander  <mta@arbortext.com>
17471
17472         * nt.c (convert_time): Set tm_isdst before calling mktime and
17473         avoid calling it at all if the compiler supports 64 bit integers.
17474         Also initialize utc_base_ft before using it.
17475
17476 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17477
17478         * frame.c (change_frame_size_1): Take f->internal_border_width
17479         into consideration when calculating the width of the frame.
17480
17481 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17482
17483         * window.c (frame_min_height):
17484         (frame_size_valid_p):
17485         (frame_pixsize_valid_p): Added.
17486         (check_frame_size): Generalized.
17487
17488         * window.h: Prototyped the above.
17489
17490         * lisp.h:
17491         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17492         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17493         Deleted Vwin32_* and Vbinary_process_* unused variables.
17494
17495         * device-msw.c (msprinter_init_device): Do not get printer font
17496         list; Added DEVMODE functions.
17497
17498         * frame-msw.c: Added lots of printer code.
17499
17500         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17501         general.c.
17502
17503         * console-msw.h: Added more msprinter device private slots.
17504
17505 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17506
17507         * event-msw.c (key_needs_default_processing_p): Added.
17508         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17509
17510 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17511
17512         * glyphs.c (image_instance_layout): Mark image instance as clean
17513         after layout.
17514         (glyph_dirty_p): Removed redundant function.
17515         (invalidate_glyph_geometry_maybe): Added.
17516         (update_glyph_cachel_data): Call it.
17517
17518         * glyphs.h: Prototyped it.
17519
17520         * redisplay.c (add_glyph_rune): Call it.
17521         (redisplay_window): Reset glyphs cachels when frame faces have
17522         changed, thus forcing recomputation of built-in border glyphs.
17523
17524 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17525
17526         * Makefile.in.in: Make portable dumper and purify play well together.
17527         Add imperfect, but better than nothing, support for pdump.
17528         Remove xemacs.dmp when temacs is re-generated.
17529         Don't ignore errors when dumping xemacs.
17530
17531         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17532
17533 2000-01-28  Andy Piper  <andy@xemacs.org>
17534
17535         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17536         (setup_normal_frame): ditto.
17537         (setup_frame_without_minibuffer): ditto.
17538         (setup_minibuffer_frame): ditto.
17539         (delete_frame_internal): ditto.
17540         (Fmake_frame_invisible): ditto.
17541         (Ficonify_frame): ditto.
17542
17543         * window.h: change Fset_window_buffer signature.
17544
17545         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17546         (Fset_window_buffer): allow recording of buffer if the window is
17547         the selected window.
17548         (window_loop): Use new Fset_window signature.
17549
17550 2000-01-23  Daniel Pittman  <daniel@danann.net>
17551
17552         * config.h.in: Added template for `HAVE_ATHENA_3D'
17553
17554 2000-01-29  Andy Piper  <andy@xemacs.org>
17555
17556         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17557
17558         * gutter.c (output_gutter): Don't output if the window isn't live.
17559
17560 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17561
17562         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17563         of 01/12/00: Moved SetFocus back here where it belongs.
17564
17565 2000-01-23  Andy Piper  <andy@xemacs.org>
17566
17567         * s/cygwin32.h: declare printer things.
17568
17569 2000-01-26  Andy Piper  <andy@xemacs.org>
17570
17571         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17572         Alexander.
17573
17574 2000-01-24  Andy Piper  <andy@xemacs.org>
17575
17576         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17577         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17578
17579         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17580
17581         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17582
17583         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17584
17585         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17586         (mswindows_output_display_block): Avoid local shadows.
17587
17588         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17589         (mswindows_enqueue_mouse_button_event): ditto.
17590         (mswindows_handle_gui_wm_command): remove declaration.
17591
17592         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17593         warnings.
17594
17595         * console-msw.h: Avoid shadows.
17596         (mswindows_get_toolbar_button_text):
17597         (emacs_mswindows_create_stream_pair):
17598         (emacs_mswindows_delete_stream_pair):
17599         (mswindows_handle_toolbar_wm_command): declare.
17600
17601         * device-msw.c (build_syscolor_string): Avoid shadows.
17602
17603 2000-01-23  Andy Piper  <andy@xemacs.org>
17604
17605         * glyphs-widget.c (widget_instantiate): reverse the items for
17606         layouts so that children are in the expected order.
17607
17608 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17609
17610         * ralloc.c: safe_bcopy ==> memmove
17611         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17612         * s/msdos.h: Remove BCOPY macros.
17613         * insdel.c (gap_right): Remove BCOPY conditional code.
17614         * insdel.c (gap_left): Remove BCOPY conditional code.
17615         XEmacs demands a working ANSI C compiler - hence memmove.
17616
17617         * regex.c (regex_compile): Remove accidental use of trigraphs.
17618
17619 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17620
17621         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17622         event timestamp.
17623
17624 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17625
17626         * event-msw.c (mswindows_drain_windows_queue): Added the
17627         parameter.
17628         (mswindows_need_event): Commented the call to
17629         mswindows_drain_windows_queue().
17630         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17631         only.
17632
17633         * console-msw.h: Moved a few function prototypes here from
17634         event-msw.c.
17635
17636         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17637         parameter from unsigned short to unsigned long.
17638         (Fmswindows_shell_execute): Added return value.
17639
17640 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17641
17642         * sysdep.c (init_system_name):
17643           process-unix.c (unix_canonicalized_host_name):
17644         Don't call freeaddrinfo() if getaddrinfo() fails.
17645
17646         * process-unix.c (unix_open_unix_network_stream):
17647         Moved the code to get a port # into address loop.
17648
17649 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17650
17651         * buffer.c (reinit_vars_of_buffer):
17652         The right place to initialize conversion_in_dynarr and
17653         conversion_out_dynarr.
17654
17655         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17656
17657         * process-unix.c (unix_canonicalize_host_name): Muleize.
17658         (unix_open_network_stream): Muleize.
17659
17660         * buffer.h: Fix up prototypes for ralloc.c functions.
17661
17662 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17663         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17664         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17665                 instead of gethostbyname()
17666         * process-unix.c: In unix_canonicalize_host_name() and
17667                 unix_open_network_stream(), add code to use getaddrinfo()
17668                 instead of gethostbyname().
17669
17670 2000-01-27  Daniel Pittman <daniel@danann.net>
17671
17672         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17673         libs when built with flat Athena.
17674
17675 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17676
17677         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17678         Use coding standards for function prototypes.
17679
17680 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17681
17682         * dialog-msw.c (push_lisp_string_as_unicode):
17683         * doc.c (unparesseuxify_doc_string):
17684         * dired.c (Fuser_name_completion_1):
17685         * dired.c (Fuser_name_all_completions):
17686         * dired.c (free_user_cache):
17687         * dired.c (user_name_completion):
17688         * console-x.c (get_display_arg_connection):
17689         * minibuf.c (clear_echo_area_internal):
17690         * minibuf.c (echo_area_append):
17691         * eldap.c (Fldap_open):
17692         * eldap.c (Fldap_search_internal):
17693         * frame-x.c (x_set_frame_text_value):
17694         * frame-x.c (x_set_frame_properties):
17695         * frame-x.c (x_create_widgets):
17696         * redisplay-tty.c (term_get_fkeys_1):
17697         * objects-x.c (x_parse_nearest_color):
17698         * objects-x.c (x_valid_color_name_p):
17699         * objects-x.c (x_initialize_font_instance):
17700         * objects-x.c (x_list_fonts):
17701         * objects-x.c (x_find_charset_font):
17702         * tooltalk.c (Fadd_tooltalk_message_arg):
17703         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17704         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17705         * process-unix.c (unix_create_process):
17706         * ntproc.c (sys_spawnve):
17707         * sound.c (Fplay_sound_file):
17708         * sound.c (Fplay_sound):
17709         * buffer.c (init_initial_directory):
17710         * buffer.c (init_buffer):
17711         * editfns.c (init_editfns):
17712         * editfns.c (Ftemp_directory):
17713         * editfns.c (Fuser_full_name):
17714         * editfns.c (uncache_home_directory):
17715         * editfns.c (get_home_directory):
17716         * editfns.c (Fuser_home_directory):
17717         * editfns.c (Fformat_time_string):
17718         * editfns.c (Fcurrent_time_string):
17719         * gui-x.c (button_item_to_widget_value):
17720         * database.c (Fopen_database):
17721         * event-Xt.c (x_to_emacs_keysym):
17722         * event-Xt.c (x_event_to_emacs_event):
17723         * event-Xt.c (describe_event_window):
17724         * event-msw.c (mswindows_wnd_proc):
17725         * glyphs-eimage.c (jpeg_instantiate):
17726         * glyphs-eimage.c (gif_instantiate):
17727         * glyphs-eimage.c (png_instantiate):
17728         * glyphs-eimage.c (tiff_instantiate):
17729         * glyphs-x.c (xbm_instantiate_1):
17730         * glyphs-x.c (x_xbm_instantiate):
17731         * glyphs-x.c (x_xface_instantiate):
17732         * glyphs-x.c (autodetect_instantiate):
17733         * glyphs-x.c (cursor_font_instantiate):
17734         * glyphs-x.c (x_widget_instantiate):
17735         * glyphs-x.c (x_widget_set_property):
17736         * glyphs-x.c (x_widget_property):
17737         * glyphs-x.c (BUILD_GLYPH_INST):
17738         * print.c (write_string_to_stdio_stream):
17739         * print.c (output_string):
17740         * print.c (Falternate_debugging_output):
17741         * print.c (Fexternal_debugging_output):
17742         * glyphs-msw.c (extract_xpm_color_names):
17743         * glyphs-msw.c (mswindows_xpm_instantiate):
17744         * glyphs-msw.c (bmp_instantiate):
17745         * glyphs-msw.c (resource_name_to_resource):
17746         * glyphs-msw.c (mswindows_resource_instantiate):
17747         * glyphs-msw.c (xbm_instantiate_1):
17748         * glyphs-msw.c (mswindows_xbm_instantiate):
17749         * glyphs-msw.c (mswindows_xface_instantiate):
17750         * glyphs-msw.c (mswindows_widget_instantiate):
17751         * glyphs-msw.c (add_tree_item):
17752         * glyphs-msw.c (add_tab_item):
17753         * glyphs-msw.c (mswindows_combo_box_instantiate):
17754         * glyphs-msw.c (mswindows_widget_property):
17755         * glyphs-msw.c (mswindows_combo_box_property):
17756         * glyphs-msw.c (mswindows_widget_set_property):
17757         * console.c (stuff_buffered_input):
17758         * objects-msw.c (mswindows_initialize_color_instance):
17759         * objects-msw.c (mswindows_valid_color_name_p):
17760         * objects-msw.c (mswindows_list_fonts):
17761         * objects-msw.c (mswindows_font_instance_truename):
17762         * bytecode.c (optimize_compiled_function):
17763         * select-x.c (symbol_to_x_atom):
17764         * select-x.c (x_atom_to_symbol):
17765         * select-x.c (hack_motif_clipboard_selection):
17766         * select-x.c (selection_data_to_lisp_data):
17767         * select-x.c (lisp_data_to_selection_data):
17768         * select-x.c (Fx_get_cutbuffer_internal):
17769         * select-x.c (Fx_store_cutbuffer_internal):
17770         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17771         * buffer.h (TO_INTERNAL_FORMAT): New function.
17772         * emacs.c (make_arg_list_1):
17773         * emacs.c (make_argc_argv):
17774         * emacs.c (main_1):
17775         * emacs.c (Fdump_emacs):
17776         * emacs.c (split_string_by_emchar_1):
17777         * file-coding.h:
17778         * lisp.h:
17779         * lstream.h:
17780         * symsinit.h:
17781         * device-x.c (x_init_device):
17782         * device-x.c (Fx_valid_keysym_name_p):
17783         * device-x.c (Fx_get_font_path):
17784         * device-x.c (Fx_set_font_path):
17785         * glyphs.c (bitmap_to_lisp_data):
17786         * glyphs.c (pixmap_to_lisp_data):
17787         * alloc.c (make_ext_string): Use coding system arguments.  Update
17788         all callers.
17789         * alloc.c (build_string):
17790         * callproc.c (child_setup):
17791         * callproc.c (init_callproc):
17792         * fileio.c (lisp_strerror):
17793         * fileio.c (directory_file_name):
17794         * fileio.c (Fexpand_file_name):
17795         * fileio.c (Ffile_truename):
17796         * fileio.c (Fsysnetunam):
17797         * fileio.c (Fdo_auto_save):
17798         * sysdep.c (sys_readdir):
17799         * tests.c: New file.  Allow adding C tests.
17800         Replace GET_* macros with a more comprehensible and flexible
17801         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17802         Modify all calls.
17803         Any coding system can be used to do format conversion.
17804         Eliminate enum external_data_format.
17805         Eliminate convert_to_external_format.
17806         Eliminate convert_to_internal_format.
17807         Make sure file-name, keyboard, terminal, and ctext are always
17808         defined as coding systems or aliases.  Make
17809         file-name-coding-system, terminal-coding-system, and
17810         keyboard-coding-system magical variables that are equivalent to
17811         defining the corresponding coding system aliases.
17812
17813         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17814         * file-coding.c (Fcoding_system_alias_p): New function.
17815         * file-coding.c (Fcoding_system_aliasee): New function.
17816         * file-coding.c (append_suffix_to_symbol): New function.
17817         * file-coding.c (dangling_coding_system_alias_p): New function.
17818         * file-coding.c (Ffind_coding_system):
17819         * file-coding.c (Fcopy_coding_system):
17820         * file-coding.c (encode_coding_no_conversion):
17821         * file-coding.c (syms_of_file_coding):
17822         * file-coding.c (vars_of_file_coding):
17823         Rewrite coding system alias code.
17824         Allow nested aliases, like symbolic links.
17825         Allow redefinition of coding system aliases.
17826         Prevent existence of dangling coding system aliases.
17827
17828         * dired.c (Fuser_name_completion_1):
17829         * dired.c (Fuser_name_all_completions):
17830         A crash would happen if user did QUIT in the middle of building
17831         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17832
17833         * lisp.h:
17834         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17835
17836         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17837         an unsigned char *.  Update all callers.
17838
17839 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17840
17841         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17842
17843 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17844
17845         * elhash.c (hentry_description): Use more portable definition.
17846         (resize_hash_table): Initialize new hentries using
17847         xnew_array_and_zero, thereby simplifying the code.
17848
17849         * mule-charset.c (make_charset): Make sure entire object is
17850         initialized, to avoid Purify warnings.
17851
17852         * alloc.c (resize_string): Fix unlikely crash with big strings.
17853
17854 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17855
17856         * realpath.c (xrealpath):
17857         Don't call getwd().
17858
17859 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17860
17861         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17862
17863 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17864
17865         * unexelfsgi.c (unexec): Change the way we decide which segment
17866         should be extended.
17867
17868         Assumption that .bss section should be outside the PT_LOADable
17869         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17870         it's present) is inside the 'data' segment. This would fail the
17871         test which was used to find a segment to grow and cover new
17872         heap. Instead of this assumption, I created another one - on IRIX
17873         the segment to grow should start below .bss and it's address
17874         should extent above the end of .bss. Once this segment is
17875         identified, it's grown to accommodate the new heap and new
17876         zero-length .bss section is added at the end of .data2.
17877
17878 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17879
17880         * eval.c (Feval): Wrong number of arguments should use original
17881         function, not the indirect_function version of it.
17882
17883 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17884
17885         * glyphs-x.c (x_button_instantiate): Don't add image if
17886         it is not a pixmap.
17887         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17888         is relative.
17889
17890 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17891
17892         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17893         declaration.
17894         (DEFVAR_INT_MAGIC): Ditto.
17895         (DEFVAR_BOOL_MAGIC): Ditto.
17896         * glyphs.h: Reindent backslash.
17897
17898 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17899
17900         * glyphs-widget.c (layout_query_geometry):
17901         (layout_layout): Use correct types for gheight, gwidth.
17902
17903 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17904
17905         * EmacsManager.c (QueryGeometry): Purified.
17906
17907 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17908
17909         * alloc.c (make_float): Make sure entire object is initialized, to
17910         avoid Purify warnings.
17911         (pdump_register_sub): Remove useless assignment.
17912         (pdump): Use xmalloc, not malloc.
17913         (pdump_load): Use xmalloc, not malloc.
17914
17915 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17916
17917         * callproc.c:
17918         * dired-msw.c:
17919         * fileio.c:
17920         * process-nt.c:
17921         * redisplay-msw.c:
17922         * sysdep.c: Removed redundant #include <windows.h>
17923
17924 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17925
17926         * frame.c (delete_frame_internal): Do not delete device when its
17927         implementation so declares.
17928         (delete_frame_internal): Set device selected frame to nil when
17929         last frame goes away.
17930
17931         * device-msw.c (msprinter_device_system_metrics): Implemented.
17932         (mswindows_device_system_metrics): Added 'device-dpi property.
17933
17934         * device.c: (Fdevice_printer_p): Added.
17935         Added 'offset-workspace device metric.
17936
17937         * console.h (device_metrics): Declared DM_offset_workspace.
17938
17939 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17940
17941         * fileio.c (Ffile_truename): Remove pointless and confusing
17942         initialization of elen.
17943
17944         * glyphs-widget.c: Compiler warning fixes.
17945
17946 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17947
17948         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17949         instead of a Lisp_Object as argument to make it consistent with
17950         the other LIVE_P macros.
17951         (CHECK_LIVE_PROCESS): New macro.
17952
17953         * process.c: Declare Qprocess_live_p.
17954         (Fprocess_live_p): New function.
17955         (create_process): Use PROCESS_LIVE_P.
17956         (read_process_output): Ditto.
17957         (set_process_filter): Ditto.
17958         (Fdelete_process): Ditto.
17959         (kill_buffer_processes): Ditto
17960         (process_send_signal): Use CHECK_LIVE_PROCESS.
17961         (Fprocess_input_coding_system): Check whether process is still
17962         alive (fix PR#1061).
17963         (Fprocess_output_coding_system): Ditto.
17964         (Fprocess_coding_system): Ditto.
17965         (Fset_process_input_coding_system): Ditto.
17966         (Fset_process_output_coding_system): Ditto.
17967
17968 2000-01-23  Andy Piper  <andy@xemacs.org>
17969
17970         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17971         layout and widget.
17972
17973         * glyphs.c (mark_image_instance): take into account changed
17974         image_instance format.
17975         (image_instance_equal): ditto.
17976         (image_instance_hash): ditto.
17977
17978         * glyphs-widget.c (widget_instantiate): Incorporate layout
17979         instantiation here. Delay layout of the layout until later.
17980         (layout_instantiate): deleted.
17981         (layout_query_geometry): new function. get the geometry of a
17982         layout.
17983         (layout_layout): layout a layout dynamically.
17984         (image_instantiator_widget): New function - splitting up
17985         image_instantiator_format_create_glyphs_widget for netwinder
17986         compilation.
17987         (image_instantiator_buttons):
17988         (image_instantiator_edit_fields):
17989         (image_instantiator_combo_box):
17990         (image_instantiator_scrollbar):
17991         (image_instantiator_progress_guage):
17992         (image_instantiator_tree_view):
17993         (image_instantiator_tab_control):
17994         (image_instantiator_labels):
17995         (image_instantiator_layout): ditto.
17996         (image_instantiator_format_create_glyphs_widget): Call preceding
17997         functions.
17998
17999 2000-01-22  Martin Buchholz  <martin@xemacs.org>
18000
18001         * process.c (Fset_process_coding_system):
18002         * device-x.c (Fx_keysym_hash_table):
18003         Docstring fixes.
18004
18005         * lstream.c (Lstream_write): Return documented value, not 0.
18006
18007         * fileio.c (directory_file_name):
18008         (Fsubstitute_in_file_name):
18009         (Fsubstitute_insert_file_contents_internal):
18010         (Fwrite_region_internal):
18011         * emacs.c:
18012         * sysdep.c:
18013         * getloadavg.c:
18014         * systty.h:
18015         Remove vestigial APOLLO-conditional code.
18016
18017 2000-01-21  Martin Buchholz  <martin@xemacs.org>
18018
18019         * getpagesize.h: Add guard macros.
18020         * libsst.h: Add guard macros.
18021         * libst.h: Add guard macros.
18022         * line-number.h: Add guard macros.
18023         * ndir.h: Add guard macros.
18024         * sysfloat.h: Add guard macros.
18025         * sysfile.h: Add guard macros.
18026         * sysproc.h: Add guard macros.
18027         * syswait.h: Add guard macros.
18028         * xintrinsic.h: Add guard macros.
18029         * xintrinsicp.h: Add guard macros.
18030         * xmmanager.h: Add guard macros.
18031         * xmmanagerp.h: Add guard macros.
18032         * xmprimitive.h: Add guard macros.
18033         * xmu.h: Add guard macros.
18034         * gpmevent.h: Add copyright statement. Add guard macros.
18035         * miscplay.h: Add guard macros.
18036         * *.h: Use consistent C-standards-approved guard macro names.
18037
18038         * opaque.c (make_opaque): Switch parameter order.
18039         * opaque.h (make_opaque): Switch parameter order.
18040         Update all callers.
18041         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
18042
18043         * config.h.in (type_checking_assert): Added.
18044         (bufpos_checking_assert): Added.
18045
18046 2000-01-21  Martin Buchholz  <martin@xemacs.org>
18047
18048         * alloc.c: Harmless pdump changes.
18049         - Use countof().
18050         - spell alignment correctly.
18051         * sysdep.c: Use countof()
18052
18053 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18054
18055         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
18056         initially_selected_for_input() console method, default to 0.
18057         (semi_canonicalize_console_connection): Try to delegate to
18058         canonicalize_console_connection if no such console method.
18059         (canonicalize_console_connection): Vice versa.
18060         (print_console): Do not print nil connection.
18061
18062         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
18063         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
18064         (XDEVIMPF_FRAMELESS_OK): Added.
18065         (CONSOLE_INHERITS_METHOD): Added.
18066
18067         * console-msw.c (mswindows_canonicalize_console_connection):
18068         Added.
18069         (mswindows_canonicalize_device_connection): Added.
18070
18071         * console-msw.h (struct msprinter_device): Added this struct and
18072         accessor macros.
18073         (mswindows_device): Made fontlist a lisp object.
18074
18075         * device.c (semi_canonicalize_device_connection):  Try to delegate
18076         to canonicalize_device_connection if no such console method.
18077         (canonicalize_device_connection): Vice versa.
18078         (print_device): Do not print nil connection.
18079
18080         * device-msw.c (mswindows_init_device): Call InitCommonControls
18081         when have widgets.
18082         (mswindows_delete_device): Removed fontlist deallocation.
18083         (mswindows_mark_device): Added.
18084
18085         * events.c (event_equal): Added abort() at unreached code.
18086         (event_hash): Ditto.
18087
18088         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
18089         fallback tags of Windows devices.
18090
18091         * general.c (syms_of_general): Initialized Qmsprinter.
18092
18093         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
18094         of fallback tags of Windows devices.
18095
18096         * lisp.h: Declared Qmsprinter.
18097
18098         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
18099         of strings.
18100         (mswindows_list_fonts): Ditto.
18101         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
18102         that it can be used by both mswindows and msprinter devices.
18103         (initialize_font_instance): Added.
18104         (mswindows_initialize_font_instance): Use it.
18105         (msprinter_initialize_font_instance): Added.
18106
18107         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
18108         and implementation flags check.
18109         (redisplay_without_hooks): Changed the call to the above.
18110         (Fredraw_device): Ditto.
18111         (Fredisplay_device): Ditto.
18112
18113         * redisplay-msw.c (get_frame_dc): Implemented.
18114         (get_frame_compdc): Implemented.
18115         (many functions): Use the two functions above to get device
18116         contexts, ether for a window or a printer.
18117
18118 2000-01-21  Olivier Galibert  <galibert@pobox.com>
18119
18120         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
18121         initialization here.
18122         (init_symbols_once_early): Call it.
18123         * emacs.c (main_1): Call it.
18124         * symsinit.h: Declare it.
18125
18126 2000-01-19  Olivier Galibert  <galibert@pobox.com>
18127
18128         * alloc.c: Use a lrecord_header * in the backtrace instead of a
18129         Lisp_Object.
18130         (pdump_backtrace): Ditto.
18131         (pdump_register_object): Ditto.  Cleanup use of the pointers.
18132         (pdump_get_entry): Abort if trying to register a null pointer.
18133         (pdump_dump_data): Cleanup types when relocating.
18134         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
18135         (pdump_dump_rtables): Remove bad casts.
18136         (pdump_load): Cleanup relocation w.r.t union type.  Use a
18137         Lisp_Object instead of a EMACS_INT for the hashtable
18138         reorganization.
18139
18140 2000-01-20  Martin Buchholz  <martin@xemacs.org>
18141
18142         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
18143
18144         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
18145
18146         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
18147
18148         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
18149
18150 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18151
18152         * faces.h (FACE_STRIKETHRU_P): Added.
18153
18154         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
18155         of font variants.
18156
18157         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
18158         (mswindows_set_dc_font): New function, aware of font variants,
18159         separated from mswindows_update_dc.
18160
18161         * objects-msw.h (struct mswindows_font_instance_data): Added
18162         definition.
18163
18164         * objects-msw.c (mswindows_finalize_font_instance): Delete all
18165         cached fonts and the data structure.
18166         (mswindows_initialize_font_instance): Added creation of font data
18167         structure.
18168         (mswindows_print_font_instance): Print at least something.
18169         (mswindows_create_font_variant): Implemented.
18170         (mswindows_get_hfont): Implemented.
18171
18172 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18173
18174         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18175         prototyping problem with msvc.
18176
18177         * emacs.c (main_1): added syms_of_gui_mswindows() call
18178
18179         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18180         syms_of_gui_mswindows() function
18181
18182         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18183
18184 2000-01-18  Martin Buchholz <martin@xemacs.org>
18185
18186         * XEmacs 21.2.27 is released.
18187
18188 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18189
18190         * glyphs-eimage.c (struct tiff_error_struct):
18191         (tiff_error_func):
18192         (tiff_warning_func):
18193         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18194
18195         * unexmips.c:
18196         * unexhp9k3.c:
18197         * unexfreebsd.c:
18198         * unexec.c: Remove vestigial Lucid C code.
18199         * unexalpha.c:
18200         * unexaix.c:
18201         * termcap.c:
18202         * libsst.c: Ansify.
18203         Remove declarations of errno and strerror().
18204
18205         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18206
18207         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18208
18209 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18210
18211         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18212         Optimize.
18213
18214 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18215
18216         * md5.c:
18217         * file-coding.c:
18218         * file-coding.h:
18219         Change enum eol_type to eol_type_t.
18220
18221 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18222
18223         * gui.c (get_gui_callback): Check cons before accessing car.
18224
18225 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18226
18227         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18228         (XSETSPECIFIER_TYPE): Ditto.
18229
18230 2000-01-17  Didier Verna  <didier@xemacs.org>
18231
18232         * redisplay.c (generate_fstring_runes): compute string size in
18233         characters, not bytes.
18234
18235 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18236
18237         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18238
18239 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18240
18241         * print.c (print_error_message): Call print_prepare().
18242
18243 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18244
18245         * .dbxrc: Renamed from dbxrc.
18246
18247         * events.c (event_to_character):
18248         Use `assert (foo)' instead of `if (!foo) abort()'
18249
18250         * .gdbinit (xtype): Add documentation.
18251         * .gdbinit (check-temacs): New function.
18252         * .gdbinit (check-xemacs): New function.
18253         * dbxrc (check-xemacs): New function.
18254         * dbxrc (check-xemacs): New function.
18255
18256 2000-01-14  Andy Piper  <andy@xemacs.org>
18257
18258         * glyphs-widget.c (widget_query_geometry): Make sure that we
18259         calculate default dimensions correctly.
18260
18261 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18262
18263         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18264
18265         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18266         pdump_wire'd variable.
18267
18268         * emacs.c: (main_1): Conditionalized calls to
18269         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18270
18271 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18272
18273         * window.c (Fset_window_configuration):
18274         * sysdep.c (_start):
18275         * input-method-motif.c (res):
18276         * event-Xt.c (Xt_process_to_emacs_event):
18277         Simple compiler warning fixes.
18278
18279         * bytecode.c (funcall_compiled_function): Use the original
18280         function symbol on the backtrace list in preference to the
18281         compiled_function object in error messages.
18282
18283 2000-01-13  Andy Piper  <andy@xemacs.org>
18284
18285         * glyphs-x.c (update_widget_face): Make sure we update the widget
18286         background as well as foreground.
18287
18288 2000-01-13  Andy Piper  <andy@xemacs.org>
18289
18290         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18291         fields to subwindow.
18292         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18293         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18294         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18295         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18296
18297         * glyphs-widget.c (check_valid_tab_orientation): new function.
18298         (initialize_widget_image_instance): zero orientation and
18299         justification.
18300         (widget_instantiate): pick up orientation.
18301         (tab_control_query_geometry): return appropriate values for
18302         vertical tabs.
18303
18304         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18305         appropriate creation flags for left, right and bottom tabs.
18306
18307         * s/cygwin32.h: add tab definitions.
18308
18309 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18310
18311         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18312         frame upon hiding a subwindow.
18313         (mswindows_button_instantiate): Changed the push button style to
18314         BS_PUSHBUTTON.
18315         (mswindows_button_instantiate): Removed button BS_NOTIFY
18316         style.
18317         (mswindows_button_instantiate): Removed redundant check for
18318         a disabled gui item.
18319         (mswindows_button_instantiate): Made use of WS_TABSTOP
18320         consistent: "operable" controls (edit, button, tree, scroll) have
18321         this style, "display-only" ones (static, progress gauge) do
18322         not. This style is currently ignored by XEmacs though. Also,
18323         removed the WS_EX_CONTROLPARENT style - it is not for children,
18324         it is for their parents!
18325         (mswindows_edit_field_instantiate): Ditto.
18326         (mswindows_progress_gauge_instantiate): Ditto.
18327         (mswindows_tree_view_instantiate): Ditto.
18328         (mswindows_tab_control_instantiate): Ditto.
18329         (mswindows_scrollbar_instantiate): Ditto.
18330         (mswindows_combo_box_instantiate): Ditto.
18331         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18332         style to the "clip" window.
18333         (mswindows_button_instantiate): Removed compilation warning by
18334         equally typing terms of the ?: operator.
18335
18336 2000-01-12  Didier Verna  <didier@xemacs.org>
18337
18338         * redisplay.c (generate_fstring_runes): new parameter holding the
18339         last modeline-format extent.
18340         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18341         extent, fill the glyph block with it.
18342         (generate_fstring_runes): handle these parameters.
18343         (generate_formatted_string_db): ditto.
18344
18345         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18346         glyphs'extents in the modeline.
18347
18348 1999-01-11  Mike Woolley  <mike@bulsara.com>
18349
18350         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18351         256Mb, as a workaround for the non-starting problem many people
18352         have experienced.
18353
18354 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18355
18356         * console-tty.c (Fset_console_tty_output_coding_system):
18357         Force redrawing tty frame.
18358
18359 2000-01-10  Didier Verna  <didier@xemacs.org>
18360
18361         * redisplay.c (generate_fstring_runes): fix size computation bug.
18362
18363 2000-01-09  William M. Perry <wmperry@aventail.com>
18364
18365         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18366
18367 2000-01-09  Andy Piper  <andy@xemacs.org>
18368
18369         * glyphs-msw.c: index -> i to avoid shadows.
18370         (xbm_create_bitmap_from_data): make static.
18371         (check_valid_string_or_int): deleted.
18372         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18373
18374         * glyphs-x.c (x_update_subwindow): remove unused args.
18375
18376         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18377         back pointer - this is done in allocate_image_instance.
18378         (query_string_font): return Qnil to make the compiler happy.
18379         (unmap_subwindow): set to ~0 to make the compiler happy.
18380         (glyph_query_geometry): comment out until used.
18381         (glyph_layout): ditto.
18382
18383 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18384
18385         * insdel.c (signal_after_change): Remove extraneous unbind_to().