(U+5364-itaiji-002): New character.
[chise/xemacs-chise.git.1] / 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 (USE_CONCORD_OBJECT_SYSTEM): New macro; use it instead
8         of `HAVE_LIBCHISE' to detect to use Concord Object System.
9         (USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE): New macro.
10
11         * text-coding.c: Use `USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE'
12         instead of `HAVE_LIBCHISE' to detect to use Concord Object System
13         for character composing.
14
15         * mule-charset.c (charset_code_point): Use
16         `USE_CONCORD_OBJECT_SYSTEM' instead of `HAVE_LIBCHISE' to detect
17         to use Concord Object System.
18
19 2016-11-16  MORIOKA Tomohiko  <tomo.git@chise.org>
20
21         * chartab.c: Use `USE_CONCORD_OBJECT_SYSTEM' instead of
22         `HAVE_LIBCHISE' to detect to use Concord Object System.
23
24 2016-07-23  MORIOKA Tomohiko  <tomo.git@chise.org>
25
26         * text-coding.c (Fmake_coding_system): Accept property
27         `charset-g3' for CODESYS_UTF8.
28         (char_encode_utf8): Refer `charset-g3'.
29
30 2015-11-25  MORIOKA Tomohiko  <tomo.git@chise.org>
31
32         * chartab.c (Fchar_feature): When argument ATTRIBUTE is a CCS and
33         whose name is =>FOO, don't try to find =FOO; fix problem when
34         argument ATTRIBUTE is ==>FOO.
35
36 2013-05-19  MORIOKA Tomohiko  <tomo.git@chise.org>
37
38         * text-coding.c (COMPOSE_ADD_CHAR): Use
39         `concord_object_get_attribute' instead of
40         `concord_object_get_feature_value'.
41
42         * chartab.c (char_table_get_db_cos): Use
43         `concord_object_get_attribute' instead of
44         `concord_object_get_feature_value'.
45
46 2013-05-02  MORIOKA Tomohiko  <tomo.git@chise.org>
47
48         * chartab.h (get_char_id_table_ce): Use
49         `load_char_attribute_maybe_cos' instead of
50         `load_char_attribute_maybe'.
51
52         * chartab.c (load_char_attribute_maybe_cos): Return NULL instead
53         of Qunbound as the default value.
54
55 2013-05-01  MORIOKA Tomohiko  <tomo.git@chise.org>
56
57         * chartab.h (load_char_attribute_maybe_cos): New prototype when
58         HAVE_LIBCHISE is defined.
59         (get_char_id_table_ce): New inline function when HAVE_LIBCHISE is
60         defined.
61
62         * mule-charset.c (charset_code_point): Use `get_char_id_table_ce'
63         instead of `get_char_id_table' when HAVE_LIBCHISE is defined.
64         (load_char_decoding_entry_maybe): Don't use
65         `decoding_table_put_char' to avoid GC.
66
67         * text-coding.c (concord_setup_env_maybe): Abolished.
68         (COMPOSE_ADD_CHAR): Use `open_chise_data_source_maybe' instead of
69         `concord_setup_env_maybe'.
70
71 2013-05-01  MORIOKA Tomohiko  <tomo.git@chise.org>
72
73         * chartab.c (open_chise_data_source_maybe): New implementation;
74         don't use `build_string' and `Fexpand_file_name' to avoid GC.
75         (char_table_get_db_cos): New function when HAVE_LIBCHISE is
76         defined.
77         (load_char_attribute_maybe_cos): Likewise.
78
79 2013-04-23  MORIOKA Tomohiko  <tomo.git@chise.org>
80
81         * text-coding.c (struct decoding_stream): Use COS_object instead
82         of Lisp_Object for `combining_table' if HAVE_LIBCHISE is defined.
83         (reset_decoding_stream): Likewise.
84         (COMPOSE_FLUSH_CHARS): Likewise.
85         (concord_setup_env_maybe): New function.
86         (COMPOSE_ADD_CHAR): Use COS API for `str->combining_table' if
87         HAVE_LIBCHISE is defined.
88
89 2013-02-16  MORIOKA Tomohiko  <tomo.git@chise.org>
90
91         * chartab.c (find_char_feature_in_family): New implementation;
92         don't support multiple parents; support non-list mother.
93
94 2012-06-11  MORIOKA Tomohiko  <tomo.git@chise.org>
95
96         * text-coding.c (Qenable_decomposition): New variable in XEmacs
97         CHISE.
98         (Fmake_coding_system): Add new property `enable-decomposition' in
99         XEmacs CHISE.
100         (char_encode_utf8): Don't decompose character if
101         CODING_SYSTEM_ENABLE_DECOMPOSITION (str->codesys) is false.
102         (syms_of_file_coding): Add new symbol `enable-decomposition' in
103         XEmacs CHISE.
104         (complex_vars_of_file_coding): Define new coding-system-property
105         `enable-decomposition' in XEmacs CHISE.
106
107         * file-coding.h (struct Lisp_Coding_System): Add
108         `enable_decomposition' in XEmacs CHISE.
109         (CODING_SYSTEM_ENABLE_DECOMPOSITION): New macro in XEmacs CHISE.
110         (XCODING_SYSTEM_ENABLE_DECOMPOSITION): New macro in XEmacs CHISE.
111
112 2012-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
113
114         * text-coding.c (DECODE_ADD_UCS_CHAR): Add `static'.
115
116 2012-02-11  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
117
118         * text-coding.c (DECODE_ADD_UCS_CHAR): Don't use `INLINE_HEADER'.
119
120         * chartab.c (UINT8_DECODE): Don't use `INLINE_HEADER'.
121         (UINT16_DECODE): Ditto.
122
123         * glyphs-eimage.c (png_instantiate):
124         - Use `png_get_image_height (png_ptr, info_ptr)' instead of
125           `info_ptr->height'.
126         - Use `png_get_image_width (png_ptr, info_ptr)' instead of
127           `info_ptr->width'.
128         - Use `png_get_color_type(png_ptr, info_ptr)' instead of
129           `info_ptr->color_type'.
130         - Use `png_get_bit_depth(png_ptr, info_ptr)' instead of
131           `info_ptr->bit_depth'.
132
133 2011-07-20  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
134
135         * mule-charset.c (charset_code_point): If nil is specified as a
136         feature-value, don't find in mother and return -1.
137
138 2011-07-22  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
139
140         * chartab.c (Fput_char_attribute): Accept nil as a value of
141         CCS-feature [it means that specified object does not have
142         code-point of the CCS-feature].
143
144 2011-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
145
146         * mule-charset.c (complex_vars_of_mule_charset): Use "jisx0208"
147         instead of "jisx0208\\.1990" as the X-registry of `=jis-x0208'.
148
149 2011-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
150
151         * text-coding.c (char_encode_as_entity_reference): Don't use
152         `DECODE_CHAR' to detect isolated characters.
153
154         * mule-charset.c (charset_code_point): Change the third argument
155         `defined_only' to `accepted_mode'; `accepted_mode' can be
156         CHAR_ISOLATED_ONLY, CHAR_ALL or CHAR_DEFINED_ONLY.
157
158         * char-ucs.h (CHAR_ISOLATED_ONLY): New macro.
159         (CHAR_ALL): New macro.
160         (CHAR_DEFINED_ONLY): New macro.
161
162 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
163
164         * chartab.c (Fchar_feature_base_name_eq): New function when
165         UTF2000 is enabled.
166         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
167         (syms_of_chartab): Add new builtin function
168         `char-feature-base-name=' when UTF2000 is enabled.
169
170 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
171
172         * text-coding.c (Vdecomposition_feature_list): New variable when
173         UTF2000 is defined.
174         (char_encode_utf8): Refer variable `decomposition-feature-list'
175         instead of `=decomposition' feature.
176         (vars_of_file_coding): Add new variable
177         `decomposition-feature-list' when UTF2000 is defined.
178
179 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
180
181         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
182         `=decomposition' feature.
183
184 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
185
186         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
187         coded-charsets with builtin characters.
188
189 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
190
191         * text-coding.c (Qrep_decomposition): New extern.
192         (char_encode_utf8): Try to encode as combing sequence (or IVS).
193
194 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
197         "#endif" for code to refer Vchise_system_db_directory.
198
199 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
202         (Fconcord_object_adjoin): New function.
203         (Fconcord_object_adjoinX): New function.
204         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
205         `Fconcord_object_adjoinX'.
206
207 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * concord.c:
210         - Include "elconcord.h".
211         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
212           and `Fconcord_object_get' to elconcord.h.
213         (Lisp_CONCORD_DS): Moved to elconcord.h.
214         (struct Lisp_CONCORD_DS): Ditto.
215         (XCONCORD_DS): Ditto.
216         (XSET_CONCORD_DS): Ditto.
217         (CONCORD_DS_P): Ditto.
218         (CHECK_CONCORD_DS): Ditto.
219         (CONCHECK_CONCORD_DS): Ditto.
220         (Lisp_CONCORD_Object): Ditto.
221         (struct Lisp_CONCORD_Object): Ditto.
222         (XCONCORD_OBJECT): Ditto.
223         (XSET_CONCORD_OBJECT): Ditto.
224         (CONCORD_OBJECT_P): Ditto.
225         (CHECK_CONCORD_OBJECT): Ditto.
226         (CONCHECK_CONCORD_OBJECT): Ditto.
227         (CONCORD_OBJECT_GENRE): Ditto.
228         (CONCORD_OBJECT_ID): Ditto.
229         (XCONCORD_OBJECT_ID): Ditto.
230         (XCONCORD_OBJECT_GENRE): Ditto.
231         (concord_object_equal): New function.
232         (LRECORD_IMPLEMENTATION of "concord_object"): Use
233         `concord_object_equal'.
234
235         * elconcord.h: New file.
236
237 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * concord.c (print_concord_object): Use readable form even if
240         `print-readably' is nil.
241
242 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
243
244         * concord.c (print_concord_object): Don't display location of
245         data-source when `print-readably' is nil.
246
247 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
250         the default location of data-source.
251         (complex_vars_of_concord): Use Vchise_system_db_directory to
252         assign genre `character' and `feature'.
253
254         * chartab.h (Vchise_system_db_directory): New extern when
255         HAVE_CONCORD is defined.
256
257 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
260         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
261         (Qfeature): Ditto.
262         (Fconcord_object_genre): New function.
263         (syms_of_concord):
264         - Add new builtin symbols `character' and `feature' when
265           HAVE_LIBCHISE is defined.
266         - Add Add new builtin function `concord-object-genre'.  
267         (complex_vars_of_concord): New function; assign genres `character'
268         and `feature' when HAVE_LIBCHISE is defined.
269
270 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
271
272         * emacs.c (main_1): Call `complex_vars_of_concord' when
273         HAVE_CONCORD is defined.
274
275         * symsinit.h (complex_vars_of_concord): New prototype.
276
277 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
278
279         * chartab.c (allocate_character): Add `static'.
280
281 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (allocate_character): New function.
284         (Fdefine_char): Use allocate_character().
285
286 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
287
288         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
289         (ÅŒkawara).
290
291 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.c (save_uint8_byte_table): Fixed problem when a property
294         is unloaded.
295         (save_uint16_byte_table): Likewise.
296
297 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * chartab.c (Fchar_feature_property): New function when LIBCHISE
300         is enabled.
301         (Fput_char_feature_property): Likewise.
302         (syms_of_chartab): Add new builtin functions
303         `char-feature-property' and `put-char-feature-property' when
304         LIBCHISE is enabled.
305
306 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
307
308         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
309         '=>iso-ir.
310         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
311
312 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
315         (make_charset): Add new argument `iso_ir'.
316         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
317         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
318         XEmacs CHISE.
319         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
320         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
321         XEmacs CHISE.
322         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
323         function `make_charset'.
324
325         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
326         (struct Lisp_Charset): Add new member `iso_ir'.
327         (CHARSET_ISO_IR): New macro.
328
329 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
332         code-point by GL charset.
333
334 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * concord.c (concord_id_validate): New function.
337         (structure_type_create_concord): Use `concord_id_validate' instead
338         of `concord_name_validate' to accept integer and character as =id.
339
340 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * concord.c (func_for_each_object): Fix bug about GC-protection.
343
344 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * concord.c (Fconcord_object_put): Check argument FEATURE is a
347         symbol.
348
349 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
350
351         * text-coding.c (struct decoding_stream): Add new member
352         `bom_flag' in XEmacs CHISE.
353         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
354         in XEmacs CHISE.
355
356 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * mule-charset.c: Move definition of `=jis-x0208@1978' to
359         lisp/mule/mule-conf.el.
360
361 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
364         (make_charset): Add new argument `partial'.
365         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
366         (Fmake_reverse_direction_charset): Modify for `make_charset'.
367         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
368         CHISE.
369         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
370         `=jis-x0208' as a partial coded-charset.
371
372 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * text-coding.c (decode_add_er_char): Fix problem when a character
375         represented by an entity-reference is not defined.
376
377 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
380         Qrep_*.
381
382 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
383
384         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
385         (Kasagi).
386
387 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
388
389         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
390         is a relation feature.
391
392 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
393
394         * chartab.c (syms_of_chartab): Define
395         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
396
397         * chartab.h (Q_denotational): New extern when UTF2000 or
398         HAVE_CONCORD is defined.
399         (Q_denotational_from): Likewise.
400         (Q_subsumptive): Likewise.
401         (Q_subsumptive_from): Likewise.
402
403 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
404
405         * concord.c (concord_object_put): New function.
406         (Fconcord_object_put): Use `concord_object_put'.
407
408 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
409
410         * concord.c (Fconcord_define_object): New function.
411         (syms_of_concord): Add new builtin function
412         `concord-define-object'.
413
414 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
415
416         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
417         (Kamo).
418
419 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * concord.c: Add EXFUN for Fconcord_object_get.
422         (Vconcord_genre_object_hash_table): New variable.
423         (concord_genre_cache_get_object): New function.
424         (concord_genre_cache_put_object): New function.
425         (Fconcord_make_object): Use object cache; put object-ID into `=id'
426         feature.
427         (Fconcord_object_put): Call `concord_index_sync' after
428         `concord_index_strid_put_obj'.
429         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
430
431 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * concord.c (Fconcord_decode_object): Do GCPRO for
434         Fconcord_make_object.
435         (func_for_each_object): Likewise; do GCPRO for
436         for_each_object_closure->function.
437         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
438         for_each_object_closure->function, for_each_object_closure->genre,
439         for_each_object_closure->ds and for_each_object_closure->ret.
440         (concord_object_validate): Do GCPRO for Fconcord_make_object.
441
442 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
443
444         * concord.c: Add EXFUNs for Fconcord_decode_object and
445         Fconcord_object_put.
446         (Fconcord_make_object): Change order of arguments.
447         (Fconcord_decode_object): Modify for Fconcord_make_object.
448         (func_for_each_object): Likewise.
449         (concord_object_validate): Likewise.
450         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
451
452 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
455
456 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * concord.c (Fconcord_decode_object): Try to use readable print
459         form as a key of Concord-index.
460         (Fconcord_object_get): Try to use readable print form as an ID of
461         Concord-object.
462         (Fconcord_object_put): Try to use readable print form as an ID of
463         Concord-object and a feature value.
464         (Fconcord_object_spec): Try to use readable print form as an ID of
465         Concord-object.
466
467 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * concord.c (print_concord_object): Support readable form.
470
471 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
472
473         * emacs.c (main_1): Call `structure_type_create_concord' when
474         HAVE_CONCORD is defined.
475
476         * symsinit.h (structure_type_create_concord): New prototype.
477
478         * concord.c (Qconcord_object): New variable.
479         (Qgenre): Likewise.
480         (Q_id): Likewise.
481         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
482         for directory.
483         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
484         char*> for genre-name.
485         (Fconcord_feature_list): Likewise.
486         (Fconcord_make_object): Likewise.
487         (Fconcord_decode_object): Likewise; use <char*> instead of
488         <unsigned char*> for feature_name and strid.
489         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
490         c_obj and feature_name.
491         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
492         char*> for c_value.
493         (struct closure_for_object_spec): Use <char*> instead of <unsigned
494         char*> for member `object_id'.
495         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
496         char*> for feature-name.
497         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
498         for c_obj.
499         (func_for_each_object): Cast to avoid warnings.
500         (Fconcord_foreach_object_in_feature): Use <char*> instead of
501         <unsigned char*> for genre_name and feature_name.
502         (concord_name_validate): New function.
503         (concord_object_validate): Likewise.
504         (concord_object_instantiate): Likewise.
505         (syms_of_concord): Add new builtin symbols `concord-object',
506         `genre' and `=id'.
507         (structure_type_create_concord): New function.
508
509 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
510
511         * concord.c (Vconcord_ds_hash_table): New variable.
512         (Vconcord_genre_hash_table): New variable.
513         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
514         (Fconcord_ds_directory): New function.
515         (Fconcord_assign_genre): New function.
516         (Fconcord_genre_directory): New function.
517         (Fconcord_genre_ds): New function.
518         (Fconcord_feature_list): Allow to omit `ds'.
519         (Fconcord_make_object): Likewise.
520         (Fconcord_decode_object): Likewise.
521         (Fconcord_foreach_object_in_feature): Likewise.
522         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
523         Fconcord_assign_genre, Fconcord_genre_directory and
524         Fconcord_genre_ds.
525         (vars_of_concord): Setup Vconcord_ds_hash_table and
526         Vconcord_genre_hash_table.
527
528 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
529
530         * concord.c (struct closure_for_each_object): Add new member
531         `ret'.
532         (func_for_each_object): Setup the return value to
533         `for_each_object_closure->ret'.
534         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
535         returns the value instead of Qt.
536
537 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * concord.c: New file.
540
541 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
544         `lrecord_type_concord_object'.
545
546 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * symsinit.h (syms_of_concord): New prototype.
549         (vars_of_concord): New prototype.
550
551         * emacs.c (main_1): Setup symbols and variable about concord if
552         HAVE_CONCORD is defined.
553
554         * config.h.in (HAVE_CONCORD): New macro.
555
556 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * chartab.c (Fput_char_attribute): For each character relation
559         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
560
561 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * chartab.c (Fput_char_attribute): Use
564         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
565         calling `put_char_composition'.
566
567 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
568
569         * chartab.c (Q_halfwidth_of): New variable.
570         (put_char_composition): Return `<-halfwidth' instead of
571         `=decomposition' for compatibility mapping to single character
572         tagged `narrow'.
573         (Fput_char_attribute): Convert char-specs in value of
574         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
575         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
576         for `<-halfwidth'.
577         (syms_of_chartab): Add new symbol `<-halfwidth'.
578
579 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * chartab.c (put_char_composition): Return
582         `<-formed@{isolated|initial|medial|final}' for compatibility
583         mapping to single character tagged
584         `{isolated|initial|medial|final}'.
585
586 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
587
588         * chartab.c (Q_compat_of): Deleted.
589         (put_char_composition): Return `<-FOO' for compatibility mapping
590         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
591         of `symbol_name (XSYMBOL(...))'.
592         (Fput_char_attribute): Convert char-specs in value of
593         `{<-|->}font[^*]*' to characters and put reverse links.
594         (Fsave_char_attribute_table): Don't refer Q_compat_of.
595         (syms_of_chartab): Delete builtin symbol `<-compat'.
596
597 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * chartab.c (Q_circled_of): New variable.
600         (put_char_composition): Return `<-circled' instead of
601         `=decomposition' for compatibility mapping to single character
602         tagged `circle'.
603         (Fput_char_attribute): Convert char-specs in value of
604         `{<-|->}circled[^*]*' to characters and put reverse links.
605         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
606         for `<-circled'.
607         (syms_of_chartab): Add new symbol `<-circled'.
608
609 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * chartab.c (Qto_decomposition_at_circled): New variable.
612         (put_char_composition): Return `=>decomposition@circled' instead
613         of `=decomposition' for compatibility decomposition mapping tagged
614         `circle'.
615         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
616
617 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
618
619         * chartab.c (Q_subscript_of): New variable.
620         (put_char_composition): Return `<-subscript' instead of
621         `=decomposition' for compatibility mapping to single character
622         tagged `sub'.
623         (Fput_char_attribute): Convert char-specs in value of
624         `{<-|->}subscript[^*]*' to characters and put reverse links.
625         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
626         for `<-subscript'.
627         (syms_of_chartab): Add new symbol `<-subscript'.
628
629 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * chartab.c (Q_superscript_of): New variable.
632         (put_char_composition): Return `<-superscript' instead of
633         `=decomposition' for compatibility mapping to single character
634         tagged `super'.
635         (Fput_char_attribute): Convert char-specs in value of
636         `{<-|->}superscript[^*]*' to characters and put reverse links.
637         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
638         for `<-superscript'.
639         (syms_of_chartab): Add new symbol `<-superscript'.
640
641 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * chartab.c (Qto_decomposition_at_compat): Deleted.
644         (Qto_decomposition_at_superscript): New variable.
645         (put_char_composition): Use `=>decomposition@superscript' instead
646         of `=decomposition' for compatibility decomposition mapping tagged
647         `super'.
648         (Fput_char_attribute): Fix condition about `put_char_composition'.
649         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
650         add news symbol `=>decomposition@superscript'.
651
652 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
655         for compatibility decomposition mapping tagged FOO.
656         (Fput_char_attribute): Modify for `put_char_composition'.
657
658 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * chartab.c (Qto_decomposition_at_compat): New variable.
661         (Q_compat_of): Renamed from `Q_compatibility_of'.
662         (put_char_composition): Rename `Q_compatibility_of' to
663         `Q_compat_of'; return `=>decomposition@compat' for compatibility
664         decomposition mapping.
665         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
666         `Q_compat_of'.
667         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
668         `<-compatibility' to `<-compat'.
669
670 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
671
672         * chartab.c (Q_compatibility_of): New variable.
673         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
674         object is proved to be a cons cell; return `<-compatibility' if
675         the first element of argument `value' is `compat'.
676         (Fput_char_attribute): Eliminate the first value if
677         `put_char_composition' returns `<-compatibility'.
678         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
679         for `<-compatibility'.
680         (syms_of_chartab): Add new symbol `<-compatibility'.
681
682 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * chartab.c (Q_canonical): New variable.
685         (put_char_composition): Return a feature name: return
686         `->canonical' if argument `value' specifies single character.
687         (Fput_char_attribute): Use `put_char_composition' to determine
688         feature name for `=decomposition' or `->denotational'.
689         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
690         for `->canonical'.
691         (syms_of_chartab): Add new symbol `->canonical'.
692
693 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
694
695         * chartab.c (Qmap_decomposition): New variable.
696         (Fput_char_attribute): Convert `->decomposition' to
697         `=decomposition'.
698         (syms_of_chartab): Add new symbol `=decomposition'.
699
700 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
701
702         * chartab.c (Fget_range_char_table): Fix serious problem when
703         `range' is nil.
704
705 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
706
707         * chartab.c (char_table_get_db): Use `read_from_c_string'.
708
709 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
710
711         * lread.c (read_from_c_string): New function.
712
713         * lisp.h (read_from_c_string): New prototype.
714
715 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * chartab.c (Fput_char_attribute): Convert char-specs in value of
718         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
719         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
720         for `{<-|->}Oracle-Bones[^*]*'.
721
722 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
723
724         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
725         (Kizu).
726
727 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
728
729         * text-coding.c (Qccs_priority_list): New variable in XEmacs
730         CHISE.
731         (Fmake_coding_system): Support new property `ccs-priority-list' in
732         XEmacs CHISE.
733         (Fcoding_system_property): Likewise.
734         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
735         Vdefault_coded_charset_priority_list in XEmacs CHISE.
736         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
737         XEmacs CHISE.
738         (complex_vars_of_file_coding): Define new coding-system-property
739         `ccs-priority-list' in XEmacs CHISE.
740
741         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
742
743 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
746         changed to normal function.
747         (encode_char_2): Likewise.
748
749         * mule-charset.c (decoding_table_put_char): Copied from
750         char-ucs.h; changed to normal function.
751         (encode_char_2): Likewise.
752
753 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
756         New extern.
757         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
758         (encode_char_2_search_children): New inline function.
759         (encode_char_2): Refer
760         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
761         and use `encode_char_2_search_children'.
762
763 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * mule-charset.c
766         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
767         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
768         (vars_of_mule_charset): Add new variable
769         `display-coded-charset-priority-use-inheritance' and
770         `display-coded-charset-priority-use-hierarchy-order'.
771
772 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * char-ucs.h (Q_subsumptive): New extern.
775         (Q_denotational): Likewise.
776         (encode_char_2): Search children specified by `->subsumptive' and
777         `->denotational'.
778
779 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
780
781         * mule-charset.c (complex_vars_of_mule_charset): Modify the
782         X-registry of `ucs-bmp'.
783
784 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * chartab.c (char-variants): Refer `->subsumptive',
787         `->denotational' and `->identical' as same as `->ucs-unified'.
788
789 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
790
791         * chartab.c (Fput_char_attribute): Convert char-specs in value of
792         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
793         links.
794
795 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
796
797         * text-coding.c: Add EXFUN for `Fregexp_quote'.
798         (decode_add_er_char): Fix problem about infinite loop when a CCS
799         specified in `coded-charset-entity-reference-alist' is not
800         existed.
801
802 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * mule-charset.c (syms_of_mule_charset): Rename
805         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
806
807 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * fns.c (simplify_char_spec): Don't allocate new character-object
810         if specified char_spec does not have any CCS-features.
811
812         * chartab.h: Add EXFUN for Fdefine_char.
813
814         * chartab.c: Delete EXFUN for Fdefine_char.
815
816 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * fns.c (simplify_char_spec): Use Fdefine_char instead of
819         Ffind_char for char-spec.
820
821 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * lisp-disunion.h (XCHARVAL): Fix condition about
824         SIZEOF_EMACS_INT.
825
826 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
827
828         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
829         <int> for `code'.
830         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
831         point; use <Emchar> instead of <int> for character-id.
832
833 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
834
835         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
836         (make_char): Likewise.
837         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
838         environment.
839         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
840         instead of <int> as the type of return value; use <Lisp_Object>
841         instead of <Emchar> as the type of argument.
842         (XCHARVAL[macro version]): Cast the result into <Emchar>.
843
844         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
845         syntaxcode> instead of <int>.
846
847 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
848
849         * chartab.c (put_char_composition): Use DECODE_CHAR to get
850         character corresponding with UCS code point.
851         (Fput_char_attribute): Likewise.
852
853         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
854         character in the UCS decoding-table if the char-id is not equal to
855         the UCS code point.
856
857 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
858
859         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
860         for aliases; write `description'; write
861         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
862         not 0.
863
864 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
865
866         * chartab.c (Fsave_char_attribute_table): Don't use
867         `save_charset_properties'.
868
869         * mule-charset.c (Fsave_charset_properties): Renamed from
870         `save_charset_properties' and changed to Lisp function again;
871         write property `type' as `CCS'; write properties `final-byte' and
872         `mother' if they exists.
873         (syms_of_mule_charset): Revive builtin function
874         `save-charset-properties' when HAVE_LIBCHISE is defined.
875
876 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
877
878         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
879         instead of Vexec_directory.
880         (char_attribute_system_db_file): Likewise.
881
882 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
883
884         * chartab.c (Fsave_char_attribute_table): Use
885         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
886         defined.
887
888         * mule-charset.c (save_charset_properties): Renamed from
889         `Fsave_charset_properties'; changed to non-Lisp function.
890         (syms_of_mule_charset): Abolish builtin function
891         `save-charset-properties'.
892
893 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * mule-charset.c (Fsave_charset_properties): New function when
896         HAVE_LIBCHISE is defined.
897         (syms_of_mule_charset): Add new builtin function
898         `save-charset-properties' when HAVE_LIBCHISE is defined.
899
900 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * chartab.c (Fput_char_attribute): Convert char-specs in value of
903         `{<-|->}ancient[^*]*' to characters and put reverse links.
904         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
905         for `{<-|->}ancient[^*]*'.
906
907 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
908
909         * chartab.c (Fput_char_attribute): Convert char-specs in value of
910         `{<-|->}original[^*]*' to characters and put reverse links.
911         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
912         for `{<-|->}original[^*]*'.
913
914 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
917
918 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * mule-charset.c (Qsystem_char_id): New variable.
921
922         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
923         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
924
925 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
926
927         * chartab.c (Fput_char_attribute): When processing a reference of
928         a character, put into the end of the reversed reference of each
929         target character.
930
931 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
932
933         * chartab.c (Q_same): Deleted.
934         (Q_same_of): Deleted.
935         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
936         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
937         for `{<-|->}same'.
938         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
939
940 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * chartab.c (Q_vulgar): Deleted.
943         (Q_vulgar_of): Deleted.
944         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
945         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
946         for `{<-|->}vulgar'.
947         (syms_of_chartab): Don't define `{<-|->}vulgar'.
948
949 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * chartab.c (Fput_char_attribute): Convert char-specs in value of
952         `{<-|->}wrong[^*]*' to characters and put reverse links.
953         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
954         for `{<-|->}wrong[^*]*'.
955
956 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
957
958         * chartab.c (Q_vulgar): New variable.
959         (Q_vulgar_of): New variable.
960         (Fput_char_attribute): Convert char-specs in value of
961         `{->|<-}vulgar' to characters and put reverse links.
962         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
963         for `{->|<-}vulgar'.
964         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
965
966 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
967
968         * text-coding.c (decode_add_er_char): Must to quote prefix string
969         as regexp.
970
971 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
972
973         * mule-charset.c (put_char_ccs_code_point): Store characters of
974         =ucs whose code_points >= 0xF0000.
975
976 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
977
978         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
979         CHISE.
980         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
981         CHISE.
982         (complex_vars_of_mule_charset): Add new coded-charset
983         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
984         builtin characters over 0xEFFFF.
985
986         * chartab.c (syms_of_chartab): Don't define symbol
987         `system-char-id' in every case.
988
989         * char-ucs.h (Qsystem_char_id): New extern variable.
990         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
991
992 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
993
994         * text-coding.c (char_encode_utf8): Try to use entity-references
995         for U-000F0000 ...  U-0010FFFF.
996
997 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
998
999         * text-coding.c (ER_BUF_SIZE): New macro.
1000         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
1001         `er_buf'.
1002         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
1003         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
1004
1005 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1006
1007         * chartab.c (find_char_feature_in_family): New function.
1008         (Fchar_feature): Use `find_char_feature_in_family' with
1009         `->identical', `<-subsumptive' and `<-denotational'.
1010
1011 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * text-coding.c (char_encode_as_entity_reference): Allow prefix
1014         within 8 characters; fix infinite loop.
1015
1016 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1017
1018         * chartab.c (Q_same): New variable.
1019         (Q_same_of): New variable.
1020         (Fput_char_attribute): Convert char-specs in value of
1021         `{->|<-}same' to characters and put reverse links.
1022         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
1023         for `{->|<-}same'.
1024         (syms_of_chartab): Add new symbols `{->|<-}same'.
1025
1026 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1027
1028         * chartab.c (Q_component): New variable.
1029         (Q_component_of): Likewise.
1030         (Fput_char_attribute): Convert char-specs in value of
1031         `{->|<-}ideographic-component-forms' to characters and put reverse
1032         links.
1033         (syms_of_chartab): Add new symbols
1034         `{->|<-}ideographic-component-forms'.
1035
1036 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1037
1038         * chartab.c (Q_identical): New variable.
1039         (Q_identical_from): New variable.
1040         (Fchar_feature): Regard `->identical' as a feature to find
1041         ancestors.
1042         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
1043         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
1044         for `{->|<-}identical'.
1045         (syms_of_chartab): Add new symbols `{->|<-}identical'.
1046
1047 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1048
1049         * char-ucs.h (encode_char_2): New inline function.
1050         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
1051
1052 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1053
1054         * chartab.c (Fput_char_attribute): Convert char-specs to
1055         characters in value of `ideographic-structure'.
1056         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
1057         for `{<-|->}simplified(@...)'.
1058         (Fdefine_char): Try to use predefined character's id.
1059
1060 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1061
1062         * fns.c (simplify_char_spec): Try to convert builtin chars to
1063         defined chars.
1064
1065 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * chartab.c (Fput_char_attribute): Convert char-specs in value of
1068         `<-simplified[^*]*' to characters and put reverse links.
1069
1070 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1071
1072         * chartab.c (Q_subsumptive): Renamed from Q_unified.
1073         (Q_subsumptive_from): Renamed from Q_unified_from.
1074         (Fchar_feature): Use `Q_subsumptive_from' instead of
1075         `Q_unified_from'.
1076         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
1077         `Q_unified'.
1078         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
1079         `<-unified' to `<-subsumptive'.
1080
1081 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1082
1083         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
1084         inheritance itself; fix typo; stop recursive search if cyclic
1085         inheritance is found.
1086
1087 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1088
1089         * chartab.c (Q_denotational): New variable.
1090         (Q_denotational_from): New variable.
1091         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
1092         (put_char_attribute): New function.
1093         (Fput_char_attribute): Use `put_char_attribute'; regard
1094         `->denotational' and `<-denotational' as same as `->unified' and
1095         `<-unified'.
1096         (syms_of_chartab): Add new symbols `->denotational' and
1097         `<-denotational'.
1098
1099 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1100
1101         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
1102         `Fget_char_attribute'.
1103         (Fchar_variants): Likewise.
1104         (get_char_table): Likewise.
1105         (Fchar_feature): New function.
1106         (put_char_composition): Use `Fchar_feature' instead of
1107         `Fget_char_attribute'.
1108         (Fput_char_attribute): Likewise; don't put the target character
1109         into its `->unified' value.
1110         (syms_of_chartab): Add new builtin function `char-feature'.
1111
1112 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1113
1114         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
1115         `Fget_char_attribute'.
1116         (char_encode_utf8): Likewise.
1117
1118         * chartab.h: Add an EXFUN for `Fchar_feature'.
1119
1120 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * chartab.c (Vnext_defined_char_id): New variable.
1123         (Fput_char_attribute): Accept characters in `->unified'.
1124         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
1125         new characters which are not related with builtin char-id ranges.
1126         (vars_of_chartab): Add new variable `next-defined-char-id'.
1127
1128 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1129
1130         * chartab.c (Q_unified): New variable.
1131         (Q_unified_from): New variable.
1132         (Fput_char_attribute): Add code for `->unified'.
1133         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
1134         XEmacs CHISE.
1135
1136 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * mule-charset.c (decode_ccs_conversion): New function.
1139         (decode_defined_char): Use `decode_ccs_conversion'.
1140         (decode_builtin_char): Likewise.
1141
1142 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * char-ucs.h: Change some charset-ids of private coded-charsets.
1145
1146 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1147
1148         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
1149         (char_encode_as_entity_reference): Likewise.
1150         (decode_coding_big5): Modify for `decode_defined_char' and
1151         `DECODE_CHAR'.
1152         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
1153         avoid compiler warning.
1154         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
1155
1156         * mule-charset.c (decode_defined_char): Add new argument
1157         `without_inheritance'.
1158         (Fdecode_char): Add new optional argument `without_inheritance'.
1159         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1160
1161         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1162         (simplify_char_spec): Likewise.
1163
1164         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1165         setting.
1166
1167         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1168         (map_char_table): Likewise.
1169         (Fdefine_char): Use `Fdecode_char' without inheritance.
1170         (Ffind_char): Modify for `Fdecode_char'.
1171
1172         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1173
1174         * char-ucs.h (decode_defined_char): Add new argument
1175         `without_inheritance'.
1176         (DECODE_CHAR): Likewise.
1177         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1178
1179 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1180
1181         * chartab.c (Vchise_system_db_directory): New variable.
1182         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1183
1184 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1185
1186         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1187         (print_chartab_range): Don't define when `UTF2000' is defined.
1188         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1189         `CHISE_DS_open'.
1190
1191 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1194         and optional argument `rehash' is specified, call
1195         `open_chise_data_source_maybe' before
1196         `chise_ds_foreach_char_feature_name' is called.
1197
1198 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1199
1200         * chartab.c (char_attribute_list_reset_map_func): New function
1201         when HAVE_LIBCHISE is defined.
1202         (Fchar_attribute_list): Add new optional argument `rehash' when
1203         HAVE_LIBCHISE is defined.
1204         (open_chise_data_source_maybe): Use "chise-db" instead of
1205         "char-db".
1206         (char_attribute_system_db_file): Likewise.
1207         (Fload_char_attribute_table): Use
1208         `chise_feature_foreach_char_with_value' instead of
1209         `chise_char_feature_value_iterate'.
1210
1211 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1212
1213         * chartab.c (Vchise_db_directory): New variable.
1214         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1215
1216 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1219         instead of HAVE_CHISE to specify using with libchise.
1220
1221         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1222
1223         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1224
1225         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1226         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1227         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1228         is defined.
1229         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1230         HAVE_CHISE to specify using with libchise.
1231         (syms_of_chartab): Don't define symbol `system-char-id' when
1232         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1233
1234 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1237         specify CHISE DB support.
1238         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1239         of `char_attribute_system_db_file' to check feature DB file.
1240
1241         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1242         HAVE_CHISE_CLIENT to specify CHISE DB support.
1243
1244         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1245         specify CHISE DB support.
1246         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1247         not defined.
1248         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1249         instead of `char_attribute_system_db_file' to check feature DB
1250         file.
1251
1252 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1255         `HAVE_CHISE_CLIENT'.
1256
1257 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1260         (Fsave_charset_mapping_table): Don't use
1261         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1262
1263         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1264         (HAVE_LIBCHISE): New macro.
1265
1266         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1267
1268         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1269         (Fsave_char_attribute_table): Don't use
1270         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1271
1272 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1273
1274         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1275         defined.
1276         (save_uint16_byte_table): Likewise.
1277         (save_byte_table): Likewise.
1278         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1279         instead of `chise_char_load_feature_value'.
1280         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1281
1282 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * chartab.h (struct Lisp_Char_Table): Delete member
1285         `feature_table' if CHISE is defined.
1286
1287         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1288         (Fcopy_char_table): Likewise.
1289         (char_table_open_db_maybe): Likewise.
1290         (char_table_close_db_maybe): Likewise.
1291         (char_table_get_db): Likewise.
1292         (Fmount_char_attribute_table): Likewise.
1293         (Fload_char_attribute_table): Likewise.
1294
1295 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * mule-charset.c (load_char_decoding_entry_maybe): Use
1298         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1299         `chise_ccs_decode'.
1300
1301 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1302
1303         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1304         instead of `chise_open_data_source'.
1305         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1306         `chise_ds_close'.
1307
1308 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1309
1310         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1311         instead of `chise_ds_open_feature_table'.
1312         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1313
1314 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1315
1316         * mule-charset.c (Fsave_charset_mapping_table): Use
1317         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1318         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1319         `chise_ccs_sync' instead of `chise_ccst_close'.
1320         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1321
1322         * chartab.c (open_chise_data_source_maybe): Modify for
1323         `chise_open_data_source'.
1324         (char_table_open_db_maybe): Modify for
1325         `chise_ds_open_feature_table'.
1326
1327 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1328
1329         * mule-charset.c (load_char_decoding_entry_maybe): Use
1330         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1331         `chise_ccst_close'.
1332
1333 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1334
1335         * mule-charset.c (Fsave_charset_mapping_table): Use
1336         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1337         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1338         `chise_dt_put_char' and `chise_dt_close'.
1339         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1340         `chise_ccs_decode' and `chise_ccst_close' instead of
1341         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1342         `chise_dt_close'.
1343
1344         * chartab.c (char_table_get_db): Use
1345         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1346         (load_char_attribute_table_map_func): Modify for
1347         `chise_char_feature_value_iterate'.
1348         (Fload_char_attribute_table): Use
1349         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1350
1351 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1352
1353         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1354
1355 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1356
1357         * chartab.c (put_char_table): Modify for inherited coded-charsets
1358         in XEmacs CHISE.
1359
1360 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1361
1362         * chartab.c (Fput_char_table_map_function): Fixed.
1363         (word_boundary_p): Don't check charset in XEmacs CHISE.
1364
1365 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1366
1367         * mule-charset.c (Fsave_charset_mapping_table): Use
1368         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1369         instead of `chise_open_decoding_table'; refer
1370         `default_chise_data_source'; use `chise_dt_close' instead of
1371         `chise_close_decoding_table'.
1372         (load_char_decoding_entry_maybe): Likewise.
1373
1374         * chartab.c (default_chise_data_source): New variable when `CHISE'
1375         is defined.
1376         (Fcopy_char_table): `ct->ds' is deleted.
1377         (open_chise_data_source_maybe): New function.
1378         (Fclose_char_data_source): New function.
1379         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1380         use `chise_ds_open_feature_table' instead of
1381         `chise_open_feature_table'.
1382         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1383         `chise_close_feature_table'; `cit->ds' is deleted.
1384         (syms_of_chartab): Add new builtin function
1385         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1386
1387         * chartab.h (default_chise_data_source): New extern variable.
1388         (open_chise_data_source_maybe): New prototype.
1389         (struct Lisp_Char_Table): Delete `ds'.
1390
1391 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1392
1393         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1394         `CHISE' is defined.
1395
1396 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1397
1398         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1399         not defined; add code for non-libchise setting.
1400         (char_table_close_db_maybe): Likewise.
1401         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1402         defined.
1403         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1404         even if `CHISE' is not defined.
1405         (Freset_char_attribute_table): Likewise.
1406         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1407         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1408         `char_table_get_db'.
1409         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1410         `char_table_close_db_maybe' even if `CHISE' is not defined.
1411
1412 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * chartab.c (char_table_open_db_maybe): New function.
1415         (char_table_close_db_maybe): New function.
1416         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1417         (Freset_char_attribute_table): Likewise.
1418         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1419         `char_table_close_db_maybe'.
1420         (Fload_char_attribute_table): Likewise.
1421
1422 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * chartab.c: Don't include <chise.h> because it is included in
1425         chartab.h.
1426         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1427         defined.
1428         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1429         `CHISE' is defined.
1430         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1431         `CHISE' is defined.
1432         (Fclose_char_attribute_table): Close `ct->feature_table' and
1433         `ct->ds' when `CHISE' is defined.
1434         (Freset_char_attribute_table): Likewise.
1435         (load_char_attribute_maybe): Use `cit->ds' and
1436         `cit->feature_table' when `CHISE' is defined.
1437         (Fload_char_attribute_table): Likewise.
1438
1439         * chartab.h: Include <chise.h> when `CHISE' is defined.
1440         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1441         when `CHISE' is defined.
1442
1443 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1444
1445         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1446         is defined.
1447         (char_table_description): Likewise.
1448         (Fmake_char_table): Likewise.
1449         (Fcopy_char_table): Likewise.
1450         (Fmount_char_attribute_table): Likewise.
1451         (Fclose_char_attribute_table): Likewise.
1452         (Freset_char_attribute_table): Likewise.
1453         (load_char_attribute_maybe): Likewise.
1454         (Fload_char_attribute_table): Likewise.
1455
1456         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1457         defined.
1458
1459 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1460
1461         * chartab.c (load_char_attribute_table_map_func): New function
1462         when CHISE is defined.
1463         (Qload_char_attribute_table_map_function): Don't define when CHISE
1464         is defined.
1465         (Fload_char_attribute_table_map_function): Likewise.
1466         (Fload_char_attribute_table): Use libchise when `CHISE' is
1467         defined.
1468         (syms_of_chartab): Don't define
1469         `load-char-attribute-table-map-function' when CHISE is defined.
1470
1471 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1472
1473         * chartab.c: Include <chise.h> when `CHISE' is defined.
1474         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1475
1476 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * mule-charset.c (charset_code_point): Fix problem when searching
1479         in mother CCS fails with `defined_only' mode.
1480
1481 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1482
1483         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1484         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1485         (put_char_composition): Likewise.
1486         (Fput_char_attribute): Likewise.
1487         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1488
1489 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1490
1491         * chartab.c (Q_ucs): Deleted.
1492         (Fput_char_attribute): Don't refer `->ucs'.
1493         (Fdefine_char): Likewise.
1494         (Ffind_char): Likewise.
1495         (syms_of_chartab): Delete `->ucs'.
1496
1497 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1498
1499         * mule-charset.c (Qmap_cns11643_2): Renamed from
1500         `Qchinese_cns11643_2'.
1501         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1502         `chinese-cns11643-2'.
1503         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1504         `=cns11643-2'.
1505
1506 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1507
1508         * mule-charset.c (Qmap_cns11643_1): Renamed from
1509         `Qchinese_cns11643_1'.
1510         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1511         `chinese-cns11643-1'.
1512         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1513         `=cns11643-1'.
1514
1515 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1516
1517         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1518         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1519         `chinese-gb12345'.
1520         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1521         `=gb12345'.
1522
1523 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1524
1525         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1526         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1527         `chinese-gb2312'.
1528         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1529         `=gb2312'.
1530
1531 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1532
1533         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1534         (syms_of_mule_charset): Add new symbol `=big5' instead of
1535         `chinese-big5'.
1536         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1537
1538 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1539
1540         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1541         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1542         `korean-ksc5601'.
1543         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1544         `=ks-x1001'.
1545
1546 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1547
1548         * mule-charset.c (Qmap_jis_x0212): Renamed from
1549         `Qjapanese_jisx0212'.
1550         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1551         `japanese-jisx0212'.
1552         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1553         `=jis-x0212'.
1554
1555 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1556
1557         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1558         `Qjapanese_jisx0208'.
1559         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1560         of `japanese-jisx0208'.
1561         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1562         `=jis-x0208-1983'.
1563
1564 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1565
1566         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1567         `Qjapanese_jisx0208_1978'.
1568         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1569         of `japanese-jisx0208-1978'.
1570         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1571         `=jis-x0208-1978'.
1572
1573 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1574
1575         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1576         only for XEmacs CHISE.
1577
1578 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1579
1580         * char-ucs.h: Compact non-ISO-IR charset-ids.
1581         (LEADING_BYTE_UCS): Changed to -177.
1582         (LEADING_BYTE_CONTROL_1): Changed to -77.
1583         (LEADING_BYTE_UCS_BMP): Changed to -176.
1584         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1585
1586 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * mule-charset.c (Qiso_ir): New variable.
1589         (Fmake_charset): Recognise new property `iso-ir'.
1590         (syms_of_mule_charset): Add new symbol `iso-ir'.
1591
1592 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1593
1594         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1595         n to -n; charset-id of non ISO-IR sets are changed to positive
1596         numbers.
1597
1598 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1599
1600         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1601         for &MCS-XXXXXXXX; values.
1602
1603 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1604
1605         * mule.c (Vxemacs_chise_version): Renamed from
1606         `Vutf_2000_version'.
1607         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1608         `utf-2000-version' as an alias for `xemacs-chise-version'.
1609
1610 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1611
1612         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1613         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1614         defined.
1615
1616         * config.h.in (CHISE): New macro.
1617
1618 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1619
1620         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1621         of `ucs'.
1622         (Qmap_ucs): New variable.
1623         (syms_of_mule_charset): Add new symbol `=ucs'.
1624         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1625
1626         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1627         (simplify_char_spec): Likewise.
1628
1629         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1630
1631         * char-ucs.h (Qmap_ucs): New extern variable.
1632
1633 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1634
1635         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1636         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1637         don't define it when UTF2000 is not defined.
1638         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1639         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1640         when UTF2000 is not defined.
1641         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1642         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1643
1644 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1645
1646         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1647
1648         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1649         (Qucs_gb): Deleted.
1650         (syms_of_mule_charset): Delete `ucs-gb'.
1651         (complex_vars_of_mule_charset): Likewise.
1652
1653 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1654
1655         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1656
1657         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1658         (Qucs_cns): Deleted.
1659         (syms_of_mule_charset): Delete `ucs-cns'.
1660         (complex_vars_of_mule_charset): Likewise.
1661
1662 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1665
1666         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1667         (Qucs_jis): Deleted.
1668         (syms_of_mule_charset): Delete `ucs-jis'.
1669         (complex_vars_of_mule_charset): Likewise.
1670
1671 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1672
1673         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1674
1675         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1676         (Qucs_ks): Deleted.
1677         (syms_of_mule_charset): Delete `ucs-ks'.
1678         (complex_vars_of_mule_charset): Likewise.
1679
1680 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1681
1682         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1683         (Qideograph_daikanwa_2): Deleted.
1684         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1685         (complex_vars_of_mule_charset): Likewise.
1686
1687         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1688         (LEADING_BYTE_DAIKANWA_1): Deleted.
1689         (LEADING_BYTE_DAIKANWA_2): Deleted.
1690         (MIN_CHAR_DAIKANWA): Deleted.
1691         (MAX_CHAR_DAIKANWA): Deleted.
1692
1693 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1694
1695         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1696         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1697         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1698
1699         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1700         (Vcharset_ideograph_daikanwa): Deleted.
1701         (Qideograph_hanziku_{1..12}): Deleted.
1702         (Qideograph_daikanwa): Deleted.
1703         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1704         Vcharset_ideograph_daikanwa.
1705         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1706         `ideograph-hanziku-{1..12}'.
1707         (complex_vars_of_mule_charset): Likewise.
1708
1709 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1710
1711         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1712
1713         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1714         (Qideograph_gt_pj_{1..11}): Deleted.
1715         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1716         (complex_vars_of_mule_charset): Likewise.
1717
1718 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1719
1720         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1721         (Vcharset_ideograph_gt): Deleted.
1722         (Qucs_big5): Deleted.
1723         (Qideograph_gt): Deleted.
1724         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1725         `ideograph-gt'.
1726         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1727         and `ideograph-gt'.
1728
1729         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1730         (LEADING_BYTE_GT): Deleted.
1731         (MIN_CHAR_GT): Deleted.
1732         (MAX_CHAR_GT): Deleted.
1733
1734 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1735
1736         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1737
1738 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1741         (save_uint16_byte_table): Likewise.
1742         (save_byte_table): Likewise; convert values by it.
1743         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1744         for `ideographic-structure'.
1745         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1746         as the filter for `ideographic-structure'.
1747
1748 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1749
1750         * chartab.c (put_char_composition): New function.
1751         (Fput_char_attribute): Use `put_char_composition'; use
1752         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1753
1754         * fns.c (simplify_char_spec): New function.
1755         (char_ref_simplify_spec): New function.
1756         (Fchar_refs_simplify_char_specs): New function.
1757         (syms_of_fns): Add new builtin function
1758         `char-refs-simplify-char-specs'.
1759
1760 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1761
1762         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1763         (Qideograph_cbeta): Deleted.
1764         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1765         (complex_vars_of_mule_charset): Likewise.
1766
1767         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1768         (MIN_CHAR_CBETA): Comment out.
1769         (MAX_CHAR_CBETA): Likewise.
1770
1771 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1772
1773         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1774         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1775         CHISE client feature.
1776
1777 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1778
1779         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1780
1781 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1782
1783         * mule-charset.c (charset_lookup_description_1): Use
1784         `NUM_LEADING_BYTES' in UTF-2000.
1785
1786 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1787
1788         * char-ucs.h (GC_CHARSETP): Deleted.
1789
1790 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1791
1792         * char-ucs.h (MAX_CHAR_GT): Updated.
1793
1794 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1795
1796         * text-coding.c: Sync with XEmacs 21.4.10.
1797
1798 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1799
1800         * mule-charset.c (Vcharset_china3_jef): Deleted.
1801         (Qchina3_jef): Deleted.
1802         (syms_of_mule_charset): Don't define `china3-jef'.
1803         (complex_vars_of_mule_charset): Likewise.
1804
1805         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1806         (MIN_CHAR_CHINA3_JEF): Comment out.
1807         (MAX_CHAR_CHINA3_JEF): Comment out.
1808
1809 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * mule-charset.c (Vcharset_ucs_gb): New variable.
1812         (Qucs_gb): New variable.
1813         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1814         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1815
1816         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1817
1818 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1819
1820         * mule-charset.c (charset_code_point): if a coded-charset has a
1821         final-byte, don't inherit the builtin range of the mother CCS.
1822
1823 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1824
1825         * mule-charset.c (charset_code_point): Fix problem about
1826         inheritance.
1827
1828 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1829
1830         * mule-charset.c (decode_builtin_char): Reorganized.
1831
1832 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1833
1834         * text-coding.c (char_encode_as_entity_reference): Modify for
1835         `charset_code_point'.
1836         (char_encode_shift_jis): Likewise.
1837         (char_encode_big5): Likewise.
1838         (char_encode_utf8): Likewise.
1839         (char_encode_iso2022): Likewise.
1840
1841         * mule-charset.c (charset_code_point): Add new argument
1842         `defined_only'.
1843         (Fencode_char): Add new optional argument `defined_only'.
1844
1845         * chartab.c (put_char_table): Modify for `charset_code_point'.
1846
1847         * char-ucs.h (charset_code_point): Add new argument
1848         `defined_only'.
1849         (encode_char_1): Modify for `charset_code_point'.
1850
1851 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1852
1853         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1854         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1855
1856 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1857
1858         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1859         (Qjis_x0208): Likewise.
1860         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1861         XCHARSET_FINAL(charset).
1862         (charset_code_point): Modify condition for final-byte based
1863         builtin-chars.
1864         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1865         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1866         in UTF-2000; specify `=jis-x0208' as the mother of
1867         `japanese-jisx0208-1978', `japanese-jisx0208' and
1868         `japanese-jisx0208-1990' in UTF-2000.
1869
1870 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1871
1872         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1873
1874 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * text-coding.c (decode_coding_utf16): Support UTF-16.
1877         (char_encode_utf16): Fixed.
1878
1879 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * text-coding.c (Qutf16): New variable in MULE.
1882         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1883         (Fcoding_system_type): Add `utf-16' in MULE.
1884         (struct detection_state): Add a structure for utf16 in MULE.
1885         (detect_coding_type): Setup st->utf16.mask in MULE.
1886         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1887         MULE.
1888         (reset_encoding_stream): Use `char_encode_utf16' and
1889         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1890         (detect_coding_utf16): New function [incomplete].
1891         (decode_coding_utf16): New function [support only UCS-2].
1892         (char_encode_utf16): New function.
1893         (char_finish_utf16): New function.
1894         (syms_of_file_coding): Add new symbol `utf-16'; setup
1895         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1896
1897         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1898         UTF-2000.
1899         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1900         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1901
1902 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1903
1904         * chartab.c (put_char_table): When a charset is specified as a
1905         range in UTF-2000, don't support builtin characters.
1906
1907 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1908
1909         * mule-charset.c (decode_defined_char): Don't refer external
1910         database if Qunbound or Qnil are found.
1911         (Fsave_charset_mapping_table): Don't define it if
1912         HAVE_CHISE_CLIENT is not defined.
1913         (Freset_charset_mapping_table): New function.
1914         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1915         found in external database.
1916         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1917         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1918         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1919
1920 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1921
1922         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1923         not.
1924
1925 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1926
1927         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1928         Q_lowercase, Q_uppercase in UTF-2000.
1929
1930         * chartab.c (get_char_table): Add special code for the standard
1931         case table to use character attribute `->downcase' and
1932         `->uppercase' for case operations in UTF-2000.
1933
1934         * casetab.c (Qflippedcase): New variable in UTF-2000.
1935         (Q_lowercase): Likewise.
1936         (Q_uppercase): Likewise.
1937         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1938         and `->uppercase' in UTF-2000.
1939         (complex_vars_of_casetab): Assign attribute name `downcase' to
1940         downcase and CANON table of Vstandard_case_table in UTF-2000;
1941         assign attribute name `flippedcase' to upcase and EQV table of
1942         Vstandard_case_table in UTF-2000.
1943
1944 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1945
1946         * text-coding.c (decode_add_er_char): Support isolated-chars.
1947         (char_encode_as_entity_reference): Likewise.
1948
1949 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1950
1951         * emacs.c (Vutf_2000_lisp_directory): New variable.
1952         (Vconfigure_utf_2000_lisp_directory): Likewise.
1953         (complex_vars_of_emacs): Add new variable
1954         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1955
1956 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1957
1958         * char-ucs.h (DECODE_CHAR): Delete special code for
1959         `chinese-big5-1' and `chinese-big5-2'.
1960
1961         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1962         (Qbig5_2): Likewise.
1963         (decode_defined_char): Support CONVERSION_BIG5_1 and
1964         CONVERSION_BIG5_2.
1965         (decode_builtin_char): Likewise.
1966         (charset_code_point): Likewise.
1967         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1968         'conversion in UTF-2000.
1969         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1970         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1971         `chinese-big5-2' as children of `chinese-big5'.
1972
1973         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1974         (CONVERSION_BIG5_2): New macro.
1975
1976 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1977
1978         * text-coding.c (char_encode_big5): Support entity-reference.
1979
1980 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1981
1982         * text-coding.c (char_encode_as_entity_reference): New function.
1983         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1984
1985 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1986
1987         * text-coding.c (decode_coding_big5): Support entity-reference
1988         decoding feature.
1989
1990 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * text-coding.c (allocate_coding_system): Initialize initial
1993         charsets for CODESYS_UTF8.
1994         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1995         charset-g2 for CODESYS_UTF8.
1996         (decode_coding_utf8): Use charset-g0.
1997         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1998         to force variants to map to UCS.
1999
2000 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2001
2002         * text-coding.c (Qutf_8_mcs): New variable.
2003         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
2004         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
2005         instead of `utf-8' in UTF-2000.
2006
2007 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2008
2009         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
2010         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
2011         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
2012         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
2013         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
2014         CONVERSION_96x96x96x96 are introduced.
2015         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
2016         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
2017         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
2018
2019         * char-ucs.h (CONVERSION_94): New macro.
2020         (CONVERSION_96): New macro.
2021         (CONVERSION_94x94): New macro.
2022         (CONVERSION_96x96): New macro.
2023         (CONVERSION_94x94x94): New macro.
2024         (CONVERSION_96x96x96): New macro.
2025         (CONVERSION_94x94x94x60): New macro.
2026         (CONVERSION_94x94x94x94): New macro.
2027         (CONVERSION_96x96x96x96): New macro.
2028
2029 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2030
2031         * chartab.c (Vcharacter_variant_table): Deleted.
2032         (Fchar_variants): Use character-attribute `->ucs-variants' instead
2033         of `Vcharacter_variant_table'.
2034         (Fput_char_attribute): Likewise.
2035         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
2036         (complex_vars_of_chartab): Likewise.
2037
2038 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2039
2040         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
2041
2042         * fns.c (Qideographic_structure): New variable.
2043         (Qkeyword_char): New variable.
2044         (ids_format_unit): New function.
2045         (Fideographic_structure_to_ids): New function.
2046         (syms_of_fns): Add new symbols `ideographic-structure' and
2047         `:char'; add new builtin function `ideographic-structure-to-ids'.
2048
2049         * data.c (Fchar_ref_p): New function.
2050         (syms_of_data): Add new builtin function `char-ref-p'.
2051
2052         * chartab.h: Add an EXFUN for `Ffind_char'.
2053
2054 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * text-coding.c (Vcharacter_composition_table): Deleted.
2057         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
2058         in every UTF-2000.
2059
2060         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
2061         UTF-2000.
2062         (Vcharacter_composition_table): Deleted.
2063         (Fget_composite_char): Use the implementation for external-DB
2064         support in every UTF-2000.
2065         (Fput_char_attribute): Likewise.
2066         (char_attribute_system_db_file): Don't define if external-DB
2067         feature is not available.
2068         (Fsave_char_attribute_table): Likewise.
2069         (Fmount_char_attribute_table): Likewise.
2070         (Fclose_char_attribute_table): Likewise.
2071         (Freset_char_attribute_table): Likewise.
2072         (Fload_char_attribute_table): Likewise.
2073         (syms_of_chartab): Don't define `save-char-attribute-table',
2074         `mount-char-attribute-table', `reset-char-attribute-table',
2075         `close-char-attribute-table' and `load-char-attribute-table' if
2076         external-DB feature is not available.
2077         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
2078
2079 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2080
2081         * text-coding.c (Qcomposition): Add extern if external-DB feature
2082         is supported.
2083         (Vcharacter_composition_table): Don't add extern if external-DB
2084         feature is supported.
2085         (COMPOSE_ADD_CHAR): Modify for new data-representation of
2086         character composition rule if external-DB feature is supported.
2087
2088         * chartab.c (Vcharacter_composition_table): Don't define if
2089         external-DB feature is supported.
2090         (Qcomposition): New variable.
2091         (Fget_composite_char): New implementation for external-DB support.
2092         (Fput_char_attribute): Use `composition' property of each
2093         character instead of `Vcharacter_composition_table' to store
2094         character-composition rules if external-DB feature is supported.
2095         (syms_of_chartab): Add new symbol `composition'.
2096         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
2097         external-DB feature is supported.
2098
2099 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2100
2101         * chartab.c (Vchar_db_stingy_mode): New variable.
2102         (load_char_attribute_maybe): Close database if
2103         Vchar_db_stingy_mode is not NIL.
2104         (Fload_char_attribute_table_map_function): Use
2105         `get_char_id_table_0' instead of `get_char_id_table'.
2106         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
2107
2108         * chartab.h (get_char_id_table_0): New inline function.
2109         (get_char_id_table): Use `get_char_id_table_0'.
2110
2111 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2112
2113         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
2114         and `COMPOSE_ADD_CHAR'.
2115         (decode_coding_iso2022): Use `decode_flush_er_chars'.
2116
2117 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2118
2119         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
2120         instead of `DECODE_ADD_UCS_CHAR'.
2121         (COMPOSE_ADD_CHAR): Likewise.
2122
2123 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2124
2125         * text-coding.c (decode_flush_er_chars): New inline function.
2126         (decode_add_er_char): New function.
2127         (decode_coding_utf8): Use `decode_flush_er_chars' and
2128         `decode_add_er_char'.
2129
2130 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2131
2132         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
2133         done before `decode_output_utf8_partial_char'.
2134
2135         * mule-charset.c (complex_vars_of_mule_charset): Specify
2136         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
2137         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
2138
2139 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2140
2141         * mule-charset.c (decode_defined_char): New function; search
2142         mother.
2143         (decode_builtin_char): Don't search mother if
2144         XCHARSET_MAX_CODE(charset) == 0.
2145         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
2146         == 0 even if code >= XCHARSET_MAX_CODE(charset).
2147         (Fdecode_char): Use `decode_defined_char' instead of
2148         `DECODE_DEFINED_CHAR'.
2149         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
2150         mother of `Vcharset_ucs_jis'.
2151
2152         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
2153         instead of `DECODE_DEFINED_CHAR'.
2154
2155         * char-ucs.h (decode_defined_char): Renamed from
2156         `DECODE_DEFINED_CHAR'; changed to normal function.
2157         (DECODE_CHAR): Use `decode_defined_char' instead of
2158         `DECODE_DEFINED_CHAR'.
2159
2160         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2161
2162 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2163
2164         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2165
2166         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2167         variable.
2168         (Quse_entity_reference): New variable.
2169         (Qd): New variable.
2170         (Qx): New variable.
2171         (QX): New variable.
2172         (coding_system_description): Add description for
2173         `ccs_priority_list'.
2174         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2175         (allocate_coding_system): Initialize `ccs_priority_list' in
2176         UTF-2000.
2177         (Fmake_coding_system): Add description about
2178         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2179         (codesys).
2180         (Fcoding_system_property): Accept `disable-composition' and
2181         `use-entity-reference' in UTF-2000.
2182         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2183         in UTF-2000.
2184         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2185         (decode_coding_utf8): Decode entity-reference if
2186         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2187         (char_encode_utf8): Encode non-Unicode characters as
2188         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2189         (str->codesys).
2190         (syms_of_file_coding): Add new symbols `use-entity-reference',
2191         `d', `x', `X'.
2192         (vars_of_file_coding): Add new variable
2193         `coded-charset-entity-reference-alist'.
2194         (complex_vars_of_file_coding): Declare `disable-composition' and
2195         `use-entity-reference' to be coding-system-properties in UTF-2000.
2196
2197         * file-coding.h (struct Lisp_Coding_System): Add new member
2198         `use_entity_reference' and `ccs_priority_list'.
2199         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2200         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2201         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2202
2203 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2204
2205         * chartab.c (save_uint8_byte_table): Don't clear the table.
2206         (save_uint16_byte_table): Likewise.
2207         (save_byte_table): Likewise.
2208         (Fmount_char_attribute_table): New function.
2209         (syms_of_chartab): Add new builtin function
2210         `mount-char-attribute-table'.
2211
2212 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2213
2214         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2215         "w+" mode.
2216         (load_char_decoding_entry_maybe): Open database as read-only mode.
2217
2218         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2219         open database as "w+" mode.
2220         (load_char_attribute_maybe): Open database as read-only mode.
2221         (Fload_char_attribute_table): Likewise.
2222
2223 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2224
2225         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2226         (char_table_description): Delete member `db_file'.
2227         (Fmake_char_table): Don't refer `ct->db_file'.
2228         (Fcopy_char_table): Likewise.
2229         (Fsave_char_attribute_table): Likewise.
2230         (Fclose_char_attribute_table): Likewise.
2231         (Freset_char_attribute_table): Likewise.
2232         (load_char_attribute_maybe): Likewise.
2233         (Fload_char_attribute_table): Likewise.
2234
2235         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2236
2237 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2238
2239         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2240         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2241         `ct->db' is living.
2242         (load_char_attribute_maybe): Likewise.
2243         (Fload_char_attribute_table): Likewise.
2244
2245 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2246
2247         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2248         `ct->db_file' unconditionally.
2249
2250 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2251
2252         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2253         UTF-2000.
2254         (char_table_description): Add description for `db_file' and `db'
2255         in UTF-2000.
2256         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2257         UTF-2000.
2258         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2259         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2260         (Fclose_char_attribute_table): New function.
2261         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2262         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2263         and `cit->db'.
2264         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2265         (syms_of_chartab): Add new builtin function
2266         `Fclose_char_attribute_table'.
2267
2268 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2269
2270         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2271         `db' in UTF-2000.
2272         (load_char_attribute_maybe): Change interface.
2273         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2274
2275 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2276
2277         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2278
2279 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2280
2281         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2282         instead of `DECODE_CHAR' for mother; don't use special code for
2283         chinese-big5 to use code space of chinese-big5-1 and
2284         chinese-big5-2.
2285         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2286         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2287
2288         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2289         (MAX_CHAR_BIG5_CDP): Revival.
2290
2291 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2294         the XLFD registry-encoding name of `chinese-big5'.
2295
2296 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2297
2298         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2299         (Qchinese_big5_cdp): Deleted.
2300         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2301         (complex_vars_of_mule_charset): Delete coded-charset
2302         `chinese-big5-cdp'.
2303
2304         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2305         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2306         `CHARSET_ID_OFFSET - n' for private CCS.
2307         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2308         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2309         of `MIN_LEADING_BYTE'.
2310         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2311         `(CHARSET_ID_OFFSET - 97)'.
2312         (MIN_CHAR_BIG5_CDP): Deleted.
2313         (MAX_CHAR_BIG5_CDP): Deleted.
2314
2315 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2316
2317         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2318
2319 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2320
2321         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2322         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2323         chartab.c].
2324
2325         * chartab.c (Vutf_2000_version): Moved to mule.c.
2326         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2327
2328 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2329
2330         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2331         when HAVE_CHISE_CLIENT is not defined.
2332
2333         * mule.c (vars_of_mule): Provide feature `chise' when
2334         HAVE_CHISE_CLIENT is defined.
2335
2336 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2337
2338         * config.h.in (UTF2000): Add comment.
2339         (HAVE_CHISE_CLIENT): New macro.
2340
2341 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2342
2343         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2344         CONSP.
2345         (Fput_char_attribute): Likewise.
2346         (char_attribute_system_db_file): Encode file-name of attribute.
2347         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2348         the initial value.
2349
2350 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2351
2352         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2353         (Fsave_charset_mapping_table): Use
2354         `char_attribute_system_db_file'.
2355         (load_char_decoding_entry_maybe): Likewise.
2356
2357         * chartab.h (Qsystem_char_id): New external variable.
2358         (char_attribute_system_db_file): New prototype.
2359
2360         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2361         (char_attribute_system_db_file): New function.
2362         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2363         (Freset_char_attribute_table): Likewise.
2364         (load_char_attribute_maybe): Likewise.
2365         (Fload_char_attribute_table): Likewise.
2366         (syms_of_chartab): Add new symbol `system-char-id'.
2367
2368 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2369
2370         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2371         `XCHARSET_GRAPHIC(ccs)'.
2372
2373 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2374
2375         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2376
2377 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2378
2379         * chartab.c (Q_ucs_variants): New variable.
2380         (syms_of_chartab): Add new symbol `->ucs-variants'.
2381         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2382         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2383         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2384
2385         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2386
2387         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2388         `HAVE_DATABASE' is defined.
2389         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2390         `HAVE_DATABASE' is defined.
2391
2392 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2393
2394         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2395         attribute-table.
2396         (Freset_char_attribute_table): New function.
2397         (syms_of_chartab): Add new builtin function
2398         `reset-char-attribute-table'.
2399
2400 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2401
2402         * chartab.c (load_char_attribute_maybe): Don't make directories.
2403
2404 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2405
2406         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2407
2408         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2409         for decoding-table.
2410
2411 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2412
2413         * mule-charset.c (Fsave_charset_mapping_table): Use
2414         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2415
2416         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2417         instead of `XCHARSET_CHARS'.
2418
2419 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2420
2421         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2422         (XCHARSET_BYTE_SIZE): Likewise.
2423
2424         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2425         mule-charset.c].
2426         (XCHARSET_BYTE_SIZE): Likewise.
2427
2428 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2429
2430         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2431         data-directory to store database.
2432         (Fsave_char_attribute_table): Likewise.
2433         (load_char_attribute_maybe): Likewise.
2434         (Fload_char_attribute_table): Likewise.
2435
2436 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2437
2438         * mule-charset.c (Fsave_charset_mapping_table): New function.
2439         (syms_of_mule_charset): Add new builtin function
2440         `save-charset-mapping-table'.
2441
2442 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2443
2444         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2445         (get_ccs_octet_table): New inline function.
2446         (put_ccs_octet_table): Likewise.
2447         (decoding_table_put_char): Use `get_ccs_octet_table' and
2448         `put_ccs_octet_table'.
2449         (decoding_table_remove_char): Use `decoding_table_put_char'.
2450         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2451
2452         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2453         into encoding_table.
2454         (make_charset): Use Qunbound instead Qnil as initial value of
2455         decoding_table.
2456
2457 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2458
2459         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2460         element is Qunloaded.
2461         (map_over_uint16_byte_table): Likewise.
2462         (map_over_byte_table): Likewise.
2463         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2464         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2465         database support, load encoding-table of the specified
2466         coded-charset if it is not loaded yet.
2467         (save_uint8_byte_table): New function of UTF-2000 with external
2468         database support.
2469         (save_uint16_byte_table): Likewise.
2470         (save_byte_table): Likewise.
2471         (Fput_char_attribute): Don't store value into external database
2472         even if the external database feature is supported in UTF-2000;
2473         set `attribute' as name of char-table if the external database
2474         feature is supported.
2475         (Fsave_char_attribute_table): New function in UTF-2000.
2476         (syms_of_chartab): Add new builtin function
2477         `save-char-attribute-table' in UTF-2000.
2478
2479 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2480
2481         * chartab.c (char_attribute_table_to_put): New variable in
2482         UTF-2000.
2483         (Qput_char_table_map_function): Likewise.
2484         (value_to_put): Likewise.
2485         (Fput_char_table_map_function): New function in UTF-2000.
2486         (put_char_table): Use `Fmap_char_attribute' for
2487         CHARTAB_RANGE_CHARSET in UTF-2000.
2488         (Fput_char_attribute): Store symbol instead of string in
2489         `XCHAR_TABLE_NAME (table)'.
2490         (load_char_attribute_maybe): Likewise.
2491         (syms_of_chartab): Add new symbol/function
2492         `put-char-table-map-function'.
2493
2494 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2495
2496         * database.h: Add new EXFUN for `Fmap_database'.
2497
2498         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2499         (syms_of_database): Likewise.
2500
2501         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2502         UTF-2000.
2503         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2504         (XCHAR_TABLE_UNLOADED): Likewise.
2505
2506         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2507         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2508         HAVE_DATABASE is defined.
2509         (char_attribute_table_to_load): New variable of UTF-2000 with
2510         external database support.
2511         (Qload_char_attribute_table_map_function): Likewise.
2512         (Fload_char_attribute_table_map_function): New function of
2513         UTF-2000 with external database support.
2514         (Fload_char_attribute_table): New function of UTF-2000.
2515         (Fmap_char_attribute): Call Fload_char_attribute_table if
2516         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2517         (syms_of_chartab): Add new symbol and function
2518         `load-char-attribute-table-map-function' in UTF-2000 with external
2519         database support; add new function `load-char-attribute-table' in
2520         UTF-2000.
2521
2522 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2523
2524         * chartab.h (load_char_attribute_maybe): New prototype for
2525         UTF-2000 with DATABASE support.
2526         (get_char_id_table): Use `load_char_attribute_maybe' if
2527         HAVE_DATABASE is defined.
2528
2529         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2530         with DATABASE support.
2531
2532 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2533
2534         * chartab.c (Fput_char_attribute): Use S-expression as key of
2535         external database.
2536
2537         * chartab.h (get_char_id_table): Use S-expression as key of
2538         external database.
2539
2540 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2541
2542         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2543         if an element is not loaded, load the corresponding attributes
2544         from an external database.
2545         (map_over_uint16_byte_table): Likewise.
2546         (map_over_byte_table): Likewise.
2547         (map_char_table): Modify for `map_over_uint8_byte_table',
2548         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2549         element is not loaded, load the corresponding attributes from an
2550         external database.
2551         (Fput_char_attribute): Change initial values to Qunloaded.
2552
2553         * chartab.h (get_char_id_table): If a character attribute is not
2554         loaded and the attribute value is not found in an external
2555         database, store Qunbound as the attribute value.
2556
2557 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2558
2559         * chartab.c (BT_UINT8_unloaded): New macro.
2560         (UINT8_VALUE_P): Accept Qunloaded.
2561         (UINT8_ENCODE): Likewise.
2562         (UINT8_DECODE): Likewise.
2563         (BT_UINT16_unloaded): New macro.
2564         (UINT16_VALUE_P): Accept Qunloaded.
2565         (UINT16_ENCODE): Likewise.
2566         (UINT16_DECODE): Likewise.
2567         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2568         BT_UINT16_unloaded.
2569         (mark_char_table): Mark `ct->name' in UTF-2000.
2570         (char_table_description): Add `name' in UTF-2000.
2571         (Fmake_char_table): Initialize `ct->name'.
2572         (Fcopy_char_table): Copy `ct->name'.
2573         (Fput_char_attribute): Store value into an external database if
2574         HAVE_DATABASE is defined.
2575
2576         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2577         UTF-2000.
2578         (CHAR_TABLE_NAME): New macro in UTF-2000.
2579         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2580         (get_char_id_table): Try to read an external database if Qunloaded
2581         is stored in a table.
2582
2583         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2584         Qunloaded.
2585
2586 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2587
2588         * database.h: Add EXFUN definitions for Fopen_database,
2589         Fput_database, Fget_database and Fclose_database.
2590
2591         * data.c (Qunloaded): New variable in UTF-2000.
2592
2593         * lisp.h (Qunloaded): New variable in UTF-2000.
2594
2595 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2596
2597         * mule-charset.c (put_char_ccs_code_point): Modify for
2598         `decoding_table_remove_char' and `decoding_table_put_char'.
2599         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2600
2601         * char-ucs.h (decoding_table_remove_char): Change arguments to
2602         hide decoding_table vector.
2603         (decoding_table_put_char): Likewise.
2604
2605 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2606
2607         * mule-charset.c (decoding_table_remove_char): Moved to
2608         char-ucs.h.
2609         (decoding_table_put_char): Likewise.
2610
2611         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2612         from mule-charset.c].
2613         (decoding_table_remove_char): New inline function [moved from
2614         mule-charset.c].
2615         (decoding_table_put_char): Likewise.
2616
2617 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2618
2619         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2620         extension.
2621
2622 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2623
2624         * mule-charset.c (decode_builtin_char): Support mother charsets.
2625
2626 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2627
2628         * mule-charset.c (Q94x94x60): New variable.
2629         (charset_code_point): Support conversion `94x94x60'.
2630         (Fmake_charset): Likewise.
2631         (syms_of_mule_charset): Add new symbol `94x94x60'.
2632
2633         * char-ucs.h (CONVERSION_94x94x60): New macro.
2634
2635 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2636
2637         * mule-charset.c (charset_code_point): Unify code about
2638         `code-offset'.
2639
2640 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2641
2642         * mule-charset.c (charset_code_point): Merge code about builtin
2643         characters into code about mother charsets; don't use
2644         `range_charset_code_point'.
2645         (range_charset_code_point): Deleted.
2646
2647 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2648
2649         * mule-charset.c (Qcode_offset): New variable.
2650         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2651         `max-code'; accept new property `code-offset'.
2652         (syms_of_mule_charset): Add new symbol `code-offset'.
2653
2654 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2655
2656         * mule-charset.c (range_charset_code_point): Fixed.
2657
2658 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2659
2660         * mule-charset.c (decode_builtin_char): Change semantics of
2661         code-offset of coded-charset.
2662         (charset_code_point): Likewise.
2663         (range_charset_code_point): Likewise.
2664         (complex_vars_of_mule_charset): Modify for the change.
2665
2666 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * mule-charset.c (Fencode_char): Reverse arguments.
2669
2670         * mule-charset.c (charset_code_point): Fixed.
2671
2672 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2673
2674         * mule-charset.c (Vcharset_mojikyo): Deleted.
2675         (Vcharset_mojikyo_2022_1): Deleted.
2676         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2677         (Qmin_code): New variable in UTF-2000.
2678         (Qmax_code): Likewise.
2679         (Qmother): Likewise.
2680         (Qconversion): Likewise.
2681         (Q94x60): Likewise.
2682         (Qmojikyo): Deleted.
2683         (Qmojikyo_2022_1): Deleted.
2684         (Qmojikyo_pj_{1..22}): Deleted.
2685         (mark_charset): Mark `cs->mother'.
2686         (charset_description): Add description for `mother'.
2687         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2688         new arguments `mother' and `conversion'; use
2689         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2690         (charset_code_point): Moved from char-ucs.h; support `mother'
2691         charset feature.
2692         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2693         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2694         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2695         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2696         allow 2 as the value of `graphic' in UTF-2000; add new properties
2697         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2698         require `final' in UTF-2000; modify for `make_charset'.
2699         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2700         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2701         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2702         (Fencode_char): New function.
2703         (syms_of_mule_charset): Add new builtin function `encode-char' in
2704         UTF-2000; add new symbols `min-code', `max-code', `mother',
2705         `conversion' and `94x60'; delete symbols `mojikyo',
2706         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2707         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2708         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2709         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2710
2711         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2712         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2713
2714         * char-ucs.h (Vcharset_mojikyo): Deleted.
2715         (Vcharset_mojikyo_2022_1): Deleted.
2716         (LEADING_BYTE_MOJIKYO): Deleted.
2717         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2718         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2719         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2720         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2721         add new member `mother'; add new member `conversion'.
2722         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2723         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2724         (CHARSET_MOTHER): New macro.
2725         (CHARSET_CONVERSION): New macro.
2726         (CONVERSION_IDENTICAL): New macro.
2727         (CONVERSION_94x60): New macro.
2728         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2729         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2730         (XCHARSET_MOTHER): New macro.
2731         (XCHARSET_CONVERSION): New macro.
2732         (MIN_CHAR_MOJIKYO): Deleted.
2733         (MAX_CHAR_MOJIKYO): Deleted.
2734         (DECODE_MOJIKYO_2022): Deleted.
2735         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2736         (charset_code_point): Changed to non-inline function.
2737         (encode_char_1): Use `charset_code_point'.
2738         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2739
2740 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * lread.c (read_compiled_function): Fix prototype.
2743         (read_vector): Likewise.
2744
2745 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2746
2747         * lrecord.h (struct lrecord_header): Delete `older'.
2748         (set_lheader_implementation): Delete code for `older'.
2749         (set_lheader_older_implementation): Deleted.
2750         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2751         (OLDER_RECORD_P): Deleted.
2752         (OLDER_RECORD_HEADER_P): Deleted.
2753         (alloc_older_lcrecord): Deleted.
2754         (alloc_older_lcrecord_type): Deleted.
2755
2756         * alloc.c (all_older_lcrecords): Deleted.
2757         (alloc_older_lcrecord): Deleted.
2758         (disksave_object_finalization_1): Delete code for older objects.
2759         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2760         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2761
2762 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2763
2764         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2765         instead of `make_older_vector'.
2766         (put_char_ccs_code_point): Likewise.
2767         (mark_charset): Mark `cs->decoding_table'.
2768         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2769
2770         * lisp.h (make_older_vector): Deleted.
2771         (make_vector_newer): Deleted.
2772
2773         * config.h.in (HAVE_GGC): Deleted.
2774
2775         * alloc.c (make_older_vector): Deleted.
2776         (make_vector_newer_1): Deleted.
2777         (make_vector_newer): Deleted.
2778
2779 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2780
2781         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2782         (Qideograph_daikanwa_2): New variable.
2783         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2784         (complex_vars_of_mule_charset): Add new coded-charset
2785         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2786         `LEADING_BYTE_DAIKANWA'.
2787
2788         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2789         (LEADING_BYTE_DAIKANWA_1): New macro.
2790         (LEADING_BYTE_DAIKANWA_2): New macro.
2791         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2792
2793 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2794
2795         * mule-charset.c (complex_vars_of_mule_charset): Change
2796         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2797         the second revised version.
2798
2799 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2800
2801         * mule-charset.c (Vcharset_ucs_smp): New variable.
2802         (Vcharset_ucs_sip): New variable.
2803         (Qucs_smp): New variable.
2804         (Qucs_sip): New variable.
2805         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2806         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2807         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2808         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2809         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2810         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2811
2812         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2813         (LEADING_BYTE_UCS_SIP): New macro.
2814         (MIN_CHAR_SMP): New macro.
2815         (MAX_CHAR_SMP): New macro.
2816         (MIN_CHAR_SIP): New macro.
2817         (MAX_CHAR_SIP): New macro.
2818
2819 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2820
2821         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2822         utf-2000.
2823
2824 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2825
2826         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2827         value; don't store value into `encoding_table' of `Lisp_Charset'.
2828         (mark_charset): `encoding_table' was deleted.
2829         (charset_description): Likewise.
2830         (make_charset): Likewise.
2831         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2832         `put_char_ccs_code_point'.
2833
2834         * chartab.h (Fput_char_attribute): New EXFUN.
2835
2836         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2837         is unified with normal symbol space.
2838         (Fget_char_attribute): Likewise.
2839         (Fput_char_attribute): Likewise; behavior of
2840         `put_char_ccs_code_point' is changed.
2841
2842         * char-ucs.h: Include "elhash.h".
2843         (Vchar_attribute_hash_table): New external variable.
2844         (struct Lisp_Charset): Delete `encoding_table'.
2845         (CHARSET_ENCODING_TABLE): New implementation; refer
2846         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2847         `Lisp_Charset'.
2848
2849 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2850
2851         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2852         (cs) == 0.
2853
2854 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2855
2856         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2857         `chinese-big5'.
2858
2859 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2860
2861         * chartab.c (uint8_byte_table_description): New constant.
2862         (uint8-byte-table): Use `uint8_byte_table_description'.
2863         (uint16_byte_table_description): New constant.
2864         (uint16-byte-table): Use `uint16_byte_table_description'.
2865
2866 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2867
2868         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2869         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2870
2871 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2872
2873         * mule-charset.c (Vcharset_ucs_ks): New variable.
2874         (Qucs_ks): New variable.
2875         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2876         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2877
2878         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2879
2880 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2881
2882         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2883         (Fdecode_char): Likewise.
2884
2885         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2886         chartab.h.
2887         (Fdefine_char): Modify for Fdecode_char.
2888         (Ffind_char): Likewise.
2889
2890         * mule-charset.c (Fdecode_char): Add new optional argument
2891         `defined-only'.
2892         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2893
2894 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2895
2896         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2897         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2898         (allocate_coding_system): Initialize initial-charsets of
2899         CODESYS_BIG5 in XEmacs UTF-2000.
2900         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2901         CODESYS_BIG5 in XEmacs UTF-2000.
2902         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2903         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2904
2905         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2906         variables.
2907         (Qideograph_hanziku_{1 .. 12}): Likewise.
2908         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2909         .. 12}'.
2910         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2911         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2912         `ideograph-hanziku-{1 .. 12}'.
2913
2914         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2915         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2916         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2917         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2918         (DECODE_DEFINED_CHAR): New inline function.
2919         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2920
2921 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2922
2923         * mule-charset.c (Vcharset_china3_jef): Renamed from
2924         `Vcharset_japanese_jef_china3'.
2925         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2926         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2927         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2928         (syms_of_mule_charset): Rename `china3-jef' from
2929         `japanese-jef-china3'.
2930         (complex_vars_of_mule_charset): Likewise; rename
2931         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2932
2933         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2934         `LEADING_BYTE_JEF_CHINA3'.
2935         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2936         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2937
2938 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2939
2940         * mule-charset.c (encode_builtin_char_1): Comment out special code
2941         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2942
2943         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2944         (MAX_CHAR_MOJIKYO_0): Comment out.
2945         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2946         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2947         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2948         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2949
2950 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2951
2952         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2953         (Qideograph_cbeta): New variable.
2954         (encode_builtin_char_1): Comment out special code for
2955         coded-charset `mojikyo' and `japanese-jef-china3'.
2956         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2957         (complex_vars_of_mule_charset): Add new coded-charset
2958         `ideograph-cbeta'.
2959
2960         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2961         (MIN_CHAR_CBETA): New macro.
2962         (MAX_CHAR_CBETA): New macro.
2963
2964 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2965
2966         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2967         (LEADING_BYTE_JEF_CHINA3): New macro.
2968         (MIN_CHAR_JEF_CHINA3): New macro.
2969         (MAX_CHAR_JEF_CHINA3): Likewise.
2970         (DECODE_CHAR): Fixed.
2971
2972 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2973
2974         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2975         (Qjapanese_jef_china3): New variable.
2976         (encode_builtin_char_1): Support `japanese-jef-china3'.
2977         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2978         (complex_vars_of_mule_charset): Add new coded-charset
2979         `japanese-jef-china3'.
2980
2981 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2982
2983         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2984         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2985         94^4, 96^3, 96^4, 128^n and 256^n set.
2986         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2987         (map_char_table): Likewise.
2988
2989 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2990
2991         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2992         UTF-2000.
2993
2994 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2995
2996         * chartab.h (get_char_id_table): New inline function.
2997
2998         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2999         function.
3000
3001 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3002
3003         * chartab.h (decode_char_table_range): New prototype in XEmacs
3004         UTF-2000.
3005         (put_char_id_table): New inline function in XEmacs UTF-2000.
3006
3007         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
3008         function.
3009         (decode_char_table_range): Delete static declaration in XEmacs
3010         UTF-2000.
3011
3012 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3013
3014         * chartab.c (put_char_id_table): Use `put_char_table'.
3015
3016 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3017
3018         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
3019         (map_over_uint16_byte_table): Likewise.
3020         (map_over_byte_table): Likewise.
3021         (map_char_table): Modify for `map_over_uint8_byte_table',
3022         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
3023         UTF-2000.
3024
3025 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3026
3027         * chartab.c (struct map_char_table_for_charset_arg): New
3028         structure.
3029         (map_char_table_for_charset_fun): New function.
3030         (map_char_table): Use `map_char_table' for encoding_table of
3031         `range->charset'.
3032
3033 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3034
3035         * chartab.c (map_char_table): Check a character is found in
3036         range->charset instead of non default value is defined in
3037         char-table when range is CHARTAB_RANGE_ROW.
3038
3039 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3040
3041         * chartab.c (map_char_id_table): Deleted.
3042         (Fmap_char_attribute): Use `map_char_table' instead of
3043         `map_char_id_table'.
3044
3045 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3046
3047         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
3048         UTF-2000.
3049         (update_syntax_table): Deleted in XEmacs UTF-2000.
3050
3051         * syntax.c (find_defun_start): Use `syntax_table' instead of
3052         `mirror_syntax_table' in XEmacs UTF-2000.
3053         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
3054         UTF-2000.
3055         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
3056         XEmacs UTF-2000.
3057         (Fmatching_paren): Likewise.
3058         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
3059         in XEmacs UTF-2000.
3060         (find_start_of_comment): Likewise.
3061         (find_end_of_comment): Likewise.
3062         (Fforward_comment): Likewise.
3063         (scan_lists): Likewise.
3064         (char_quoted): Likewise.
3065         (Fbackward_prefix_chars): Likewise.
3066         (scan_sexps_forward): Likewise.
3067         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
3068         (update_syntax_table): Likewise.
3069
3070         * search.c (skip_chars): Use `syntax_table' instead of
3071         `mirror_syntax_table' in XEmacs UTF-2000.
3072         (wordify): Likewise.
3073         (Freplace_match): Likewise.
3074
3075         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
3076         `mirror_syntax_table' in XEmacs UTF-2000.
3077         (WORDCHAR_P_UNSAFE): Likewise.
3078         (re_match_2_internal): Likewise.
3079
3080         * font-lock.c (find_context): Use `buf->syntax_table' instead of
3081         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3082
3083         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
3084         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
3085
3086         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
3087         XEmacs UTF-2000.
3088
3089         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
3090         UTF-2000.
3091         (print_char_table): Print `default_value' in XEmacs UTF-2000.
3092         (char_table_description): Delete `mirror_table' in XEmacs
3093         UTF-2000.
3094         (fill_char_table): Don't call `update_syntax_table' in XEmacs
3095         UTF-2000.
3096         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
3097         (Fcopy_char_table): Likewise.
3098         (put_char_table): Don't call `update_syntax_table' in XEmacs
3099         UTF-2000.
3100
3101         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
3102         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3103         (casify_region_internal): Likewise.
3104
3105         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
3106
3107         * buffer.c (common_init_complex_vars_of_buffer): Don't use
3108         `mirror_syntax_table' in XEmacs UTF-2000.
3109
3110         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
3111         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3112         (Fexpand_abbrev): Likewise.
3113
3114 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3115
3116         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
3117
3118 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3119
3120         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
3121         (map_over_uint16_byte_table): Likewise.
3122         (map_over_byte_table): Likewise.
3123         (get_char_id_table): Refer `cit->default_value'.
3124         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3125         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
3126         of character-id ranges.
3127         (mark_char_table): Mark `ct->default_value'.
3128         (char_table_description): Add `default_value'.
3129         (fill_char_table): Use `default_value'.
3130         (decode_char_table_range): Decode `nil' as
3131         `CHARTAB_RANGE_DEFAULT'.
3132         (get_char_id_table): Refer `cit->default_value'.
3133         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3134         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
3135         temporary hack; check value of char-table is bound or not.
3136         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
3137
3138         * chartab.h (struct Lisp_Char_Table): Add new member
3139         `default_value' in XEmacs UTF-2000.
3140         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
3141         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
3142         UTF-2000.
3143
3144 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3145
3146         * chartab.h (Lisp_Char_ID_Table): Deleted.
3147
3148         * chartab.c (char_table_description): Fix typo.
3149         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
3150         `Lisp_Char_ID_Table'.
3151
3152 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3153
3154         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
3155         `CHAR_ID_TABLE_P'.
3156
3157         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
3158         `CHAR_ID_TABLE_P'.
3159
3160         * chartab.h (XCHAR_ID_TABLE): Deleted.
3161         (XSETCHAR_ID_TABLE): Deleted.
3162         (CHAR_ID_TABLE_P): Deleted.
3163
3164         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3165         `CHAR_ID_TABLE_P'.
3166         (Fget_composite_char): Likewise.
3167         (put_char_table): Likewise.
3168         (add_char_attribute_alist_mapper): Fixed.
3169         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3170         `CHAR_ID_TABLE_P'.
3171         (Fget_char_attribute): Likewise.
3172         (Fget_char_attribute): Likewise.
3173         (Fmap_char_attribute): Likewise.
3174
3175         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3176         `CHAR_ID_TABLE_P'.
3177         (encode_char_1): Likewise.
3178
3179 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3180
3181         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3182         `XCHAR_ID_TABLE'.
3183
3184         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3185         instead of `XCHAR_ID_TABLE'.
3186         (remove_char_ccs): Likewise.
3187
3188         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3189         `XCHAR_ID_TABLE'.
3190         (Fget_composite_char): Likewise.
3191         (Fchar_variants): Likewise.
3192         (put_char_table): Likewise.
3193         (add_char_attribute_alist_mapper): Likewise.
3194         (Fchar_attribute_alist): Likewise.
3195         (Fget_char_attribute): Likewise.
3196         (Fput_char_attribute): Likewise.
3197         (Fmap_char_attribute): Likewise.
3198         (Fmap_char_attribute): Likewise.
3199
3200         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3201         `XCHAR_ID_TABLE'.
3202         (encode_char_1): Likewise.
3203
3204 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3205
3206         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3207         `Lisp_Char_ID_Table'.
3208         (mark_char_id_table): Deleted.
3209         (print_char_id_table): Likewise.
3210         (char_id_table_equal): Likewise.
3211         (char_id_table_hash): Likewise.
3212         (char_id_table_description): Likewise.
3213         (char_id_table): Likewise.
3214         (make_char_id_table): Use `Fmake_char_table' and
3215         `fill_char_table'.
3216         (get_char_id_table): Use `Lisp_Char_Table' instead of
3217         `Lisp_Char_ID_Table'.
3218         (put_char_id_table): Likewise.
3219         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3220         `XCHAR_ID_TABLE'.
3221         (Fremove_char_attribute): Likewise.
3222         (syms_of_chartab): Don't define type `char-id-table'.
3223
3224         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3225         (char_id_table): Likewise.
3226         (GC_CHAR_ID_TABLE_P): Likewise.
3227         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3228         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3229         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3230         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3231         (get_char_id_table): Use `Lisp_Char_Table' instead of
3232         `Lisp_Char_ID_Table'.
3233         (put_char_id_table_0): Likewise.
3234         (put_char_id_table): Likewise.
3235
3236 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3237
3238         * chartab.h: Lisp_Byte_Table related codes are moved from
3239         chartab.h.
3240
3241         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3242
3243 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3244
3245         * chartab.h: Don't include "chartab.h".
3246         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3247         (Lisp_Char_ID_Table): Likewise.
3248         (char_id_table): Likewise.
3249         (XCHAR_ID_TABLE): Likewise.
3250         (XSETCHAR_ID_TABLE): Likewise.
3251         (CHAR_ID_TABLE_P): Likewise.
3252         (GC_CHAR_ID_TABLE_P): Likewise.
3253         (get_char_id_table): Likewise.
3254
3255         * char-ucs.h: Include "chartab.h".
3256         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3257         (Lisp_Char_ID_Table): Likewise.
3258         (char_id_table): Likewise.
3259         (XCHAR_ID_TABLE): Likewise.
3260         (XSETCHAR_ID_TABLE): Likewise.
3261         (CHAR_ID_TABLE_P): Likewise.
3262         (GC_CHAR_ID_TABLE_P): Likewise.
3263         (get_char_id_table): Likewise.
3264
3265 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3266
3267         * chartab.c (copy_uint8_byte_table): New function.
3268         (copy_uint16_byte_table): New function.
3269         (copy_byte_table): New function.
3270         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3271         characters to call.
3272         (map_over_uint16_byte_table): Likewise.
3273         (map_over_byte_table): Likewise.
3274         (get_byte_table): Move prototype to chartab.h.
3275         (put_byte_table): Likewise.
3276         (put_char_id_table_0): Moved to chartab.h.
3277         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3278         (char_table_entry_equal): Likewise.
3279         (char_table_entry_hash): Likewise.
3280         (char_table_entry_description): Likewise.
3281         (char_table_entry): Likewise.
3282         (make_char_table_entry): Likewise.
3283         (copy_char_table_entry): Likewise.
3284         (get_non_ascii_char_table_value): Likewise.
3285         (map_over_charset_ascii): Likewise.
3286         (map_over_charset_control_1): Likewise.
3287         (map_over_charset_row): Likewise.
3288         (map_over_other_charset): Likewise.
3289         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3290         (print_char_table): Likewise.
3291         (char_table_equal): Likewise.
3292         (char_table_hash): Likewise.
3293         (char_table_description): Likewise.
3294         (fill_char_table): Likewise.
3295         (Fcopy_char_table): Likewise.
3296         (get_char_table): Likewise.
3297         (Fget_range_char_table): Likewise.
3298         (put_char_table): Likewise.
3299         (map_char_table): Likewise.
3300         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3301         UTF-2000.
3302
3303 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3304
3305         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3306         `Vauto_fill_chars' in XEmacs UTF-2000.
3307
3308         * chartab.h (get_byte_table): New prototype [moved from
3309         chartab.c].
3310         (put_byte_table): Likewise [moved from chartab.c].
3311         (put_char_id_table_0): New inline function [moved from chartab.c].
3312         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3313         (Lisp_Char_Table_Entry): Likewise.
3314         (char_table_entry): Likewise.
3315         (XCHAR_TABLE_ENTRY): Likewise.
3316         (XSETCHAR_TABLE_ENTRY): Likewise.
3317         (CHAR_TABLE_ENTRYP): Likewise.
3318         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3319         (NUM_ASCII_CHARS): Likewise.
3320         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3321         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3322
3323 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3324
3325         * chartab.c (get_char_id_table): Change interface.
3326         (put_char_id_table_0): New function.
3327         (put_char_id_table): Change interface; new implementation.
3328         (Fget_composite_char): Modify for interface change of
3329         `get_char_id_table'.
3330         (Fchar_variants): Likewise.
3331         (add_char_attribute_alist_mapper): Likewise.
3332         (Fchar_attribute_alist): Likewise.
3333         (Fget_char_attribute): Likewise.
3334         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3335         as same as character as the first argument like `put-char-table';
3336         modify for interface change of `put_char_id_table'.
3337         (Fremove_char_attribute): Modify for interface change of
3338         `put_char_id_table'.
3339
3340 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3341
3342         * text-coding.c: Sync up with XEmacs 21.2.41.
3343         (COMPOSE_ADD_CHAR): Modify for interface change of
3344         `get_char_id_table'.
3345
3346         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3347         change of `put_char_id_table'.
3348         (remove_char_ccs): Likewise.
3349
3350         * chartab.h (put_char_id_table): Change interface.
3351
3352         * char-ucs.h (get_char_id_table): Change interface.
3353         (charset_code_point): Modify for interface change of
3354         `get_char_id_table'.
3355         (encode_char_1): Likewise.
3356
3357 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3358
3359         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3360         argument `ccs'.
3361         (map_over_uint16_byte_table): Likewise.
3362         (map_over_byte_table): Likewise.
3363         (map_char_id_table): Add new argument `range' like
3364         `map_char_table'.
3365         (Fmap_char_attribute): Add new argument `range' like
3366         `Fmap_char_table'.
3367
3368 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3369
3370         * chartab.c (map_over_uint8_byte_table): Change interface of
3371         mapping function to use struct chartab_range instead of Emchar.
3372         (map_over_uint16_byte_table): Likewise.
3373         (map_over_byte_table): Likewise.
3374         (map_char_id_table): Likewise.
3375         (struct slow_map_char_id_table_arg): Deleted.
3376         (slow_map_char_id_table_fun): Deleted.
3377         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3378         function `slow_map_char_table_fun' instead of struct
3379         `slow_map_char_id_table_arg' and function
3380         `slow_map_char_id_table_fun'.
3381
3382 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3383
3384         * mule-charset.c: Move char-it-table related codes to chartab.c.
3385         (Vutf_2000_version): Moved to chartab.c.
3386         (Fdefine_char): Likewise.
3387         (Ffind_char): Likewise.
3388         (syms_of_mule_charset): Move types `uint8-byte-table',
3389         `uint16-byte-table', `byte-table' and `char-id-table' to
3390         chartab.c; move functions `char_attribute_list,
3391         `find_char_attribute_table, `char_attribute_alist,
3392         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3393         `map_char_attribute, `define_char, `find_char, `char_variants and
3394         `get_composite_char to chartab.c; move symbols `=>ucs',
3395         `->decomposition', `compat', `isolated', `initial', `medial',
3396         `final', `vertical', `noBreak', `fraction', `super', `sub',
3397         `circle', `square', `wide', `narrow', `small' and `font' to
3398         chartab.c.
3399         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3400         setting codes for `Vcharacter_composition_table' and
3401         `Vcharacter_variant_table' to chartab.c.
3402         (complex_vars_of_mule_charset): Move setting code for
3403         `Vchar_attribute_hash_table' to chartab.c.
3404
3405         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3406         (make_char_id_table): New prototype.
3407         (put_char_id_table): Likewise.
3408         (Fget_char_attribute): Likewise.
3409
3410         * chartab.c: Move char-id-table related code from mule-charset.c.
3411         (Vutf_2000_version): Moved from mule-charset.c.
3412
3413         * char-ucs.h (Qucs): New external variable.
3414         (put_char_ccs_code_point): New prototype.
3415         (remove_char_ccs): Likewise.
3416
3417 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3418
3419         * mule-charset.c (Vcharset_ucs_jis): New variable.
3420         (Qucs_jis): Likewise.
3421         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3422         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3423
3424         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3425
3426 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3427
3428         * mule-charset.c (map_over_uint8_byte_table): New function.
3429         (map_over_uint16_byte_table): Likewise.
3430         (map_over_byte_table): Likewise.
3431         (map_char_id_table): Likewise.
3432         (slow_map_char_id_table_fun): Likewise.
3433         (Fmap_char_attribute): Likewise.
3434         (syms_of_mule_charset): Add new function `map-char-attribute'.
3435
3436 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3437
3438         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3439         (syms_of_mule_charset): Add new function `find-char'.
3440
3441 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3442
3443         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3444         XEmacs UTF-2000.
3445         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3446         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3447         XEmacs UTF-2000.
3448         (complex_vars_of_mule_charset): Add new coded-charset
3449         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3450         `ideograph-gt-pj-*'.
3451
3452         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3453
3454 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3455
3456         * mule-charset.c (encode_builtin_char_1): Purge codes about
3457         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3458         {MIN|MAX}_CHAR_HEBREW.
3459         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3460         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3461
3462         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3463         (MAX_CHAR_GREEK): Purged.
3464         (MIN_CHAR_CYRILLIC): Purged.
3465         (MAX_CHAR_CYRILLIC): Purged.
3466         (MIN_CHAR_HEBREW): Commented out.
3467         (MAX_CHAR_HEBREW): Likewise.
3468
3469 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3470
3471         * mule-charset.c (Qto_ucs): New variable.
3472         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3473         (Fdefine_char): Likewise.
3474         (syms_of_mule_charset): Add new symbol `=>ucs'.
3475
3476 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3477
3478         * mule-charset.c (Fdecode_char): Fixed.
3479
3480 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3481
3482         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3483         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3484         "tcvn5712-1".
3485
3486 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3487
3488         * mule-charset.c (Vcharset_ucs_big5): New variable.
3489         (Qucs_big5): Likewise.
3490         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3491         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3492
3493         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3494
3495 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3496
3497         * mule-charset.c (decode_builtin_char): Check Big5 code range
3498         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3499
3500 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3501
3502         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3503         (Qchinese_gb12345): Likewise.
3504         (Fdecode_builtin_char): Fixed.
3505         (syms_of_mule_charset): Add `chinese-gb12345'.
3506         (complex_vars_of_mule_charset): Add coded-charset
3507         `chinese-gb12345'.
3508
3509         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3510         (LEADING_BYTE_CHINESE_GB12345): New macro.
3511
3512 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3513
3514         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3515         and `latin-viscii-upper' for `latin-viscii'.
3516
3517 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3518
3519         * mule-charset.c (Fdecode_builtin_char): Comment out
3520         regularization code for ISO-IR GR representation.
3521
3522 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3523
3524         * mule-charset.c (decode_builtin_char): New function; renamed from
3525         `make_builtin_char'; return -1 instead of signal.
3526         (Fdecode_builtin_char): Use `decode_builtin_char'.
3527
3528         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3529         `make_builtin_char'.
3530         (DECODE_CHAR): Use `decode_builtin_char' instead of
3531         `make_builtin_char'; use mapping table of `chinese-big5' for
3532         `chinese-big5-{1,2}'.
3533
3534 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3535
3536         * text-coding.c (char_encode_big5): New function.
3537         (char_finish_big5): Likewise.
3538         (reset_encoding_stream): Use `char_encode_big5' and
3539         `char_finish_big5' for CODESYS_BIG5.
3540         (mule_encode): Don't use `encode_coding_big5'.
3541         (encode_coding_big5): Deleted.
3542
3543 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3544
3545         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3546         0x81- in XEmacs UTF-2000.
3547         (detect_coding_big5): Likewise.
3548
3549 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3550
3551         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3552         generate character-id if the CCS property does not have
3553         corresponding predefined character.
3554         (make_builtin_char): Return -1 if corresponding predefined
3555         character is not found.
3556         (Fdecode_char): Return nil if corresponding character is not
3557         found.
3558         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3559         don't map to builtin ucs space.
3560
3561 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3562
3563         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3564         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3565
3566 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3567
3568         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3569         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3570         (Qideograph_gt): Likewise.
3571         (Qideograph_gt_pj_{1..11}): Likewise.
3572         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3573         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3574         `ideograph-gt-pj-11'.
3575         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3576         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3577         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3578
3579         * char-ucs.h (LEADING_BYTE_GT): New macro.
3580         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3581         (MIN_CHAR_GT): Likewise.
3582         (MAX_CHAR_GT): Likewise.
3583
3584 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3585
3586         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3587         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3588
3589         * doprnt.c (unsigned_int_converters): Add `c'.
3590         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3591
3592         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3593         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3594         `MIN_CHAR_MOJIKYO'.
3595         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3596         (MAX_CHAR_MOJIKYO_0): New macro.
3597         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3598
3599 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3600
3601         * mule-charset.c (Fdefine_char): Delete cemented out code.
3602         (encode_builtin_char_1): Modify for new allocation of builtin
3603         Mojikyo characters.
3604
3605         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3606
3607 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3608
3609         * mule-charset.c (Vcharset_ucs_cns): New variable.
3610         (Qucs_cns): New variable.
3611         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3612         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3613
3614 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3615
3616         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3617
3618 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3619
3620         * search.c (search_buffer): Make `charset_base_code' as
3621         character-id >> 6 to eliminate the corresponding last byte in
3622         UTF-8 representation [I'm not sure it is right thing].
3623         (boyer_moore): Likewise.
3624
3625 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3626
3627         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3628         representation in MULE.
3629
3630 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3631
3632         * text-coding.c (Fmake_coding_system): Use
3633         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3634         `EXTERNAL_PROPERTY_LIST_LOOP'.
3635
3636 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3637
3638         * text-coding.c (decode_output_utf8_partial_char): New function.
3639         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3640
3641 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3642
3643         * text-coding.c (decode_coding_utf8): Output original byte
3644         sequence if it is broken; change order of conditions.
3645
3646         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3647         of conditions.
3648
3649         * mb-multibyte.h (BYTE_ASCII_P):
3650         Use bit ops for char-signedness safety.
3651         (BYTE_C0_P): Use bit ops for char-signedness safety.
3652         (BYTE_C1_P): Use bit ops for char-signedness safety.
3653
3654         * character.h: (XCHAR_OR_CHAR_INT):
3655         Always use inline function.
3656         Remove redundant type checking assert() - XINT will abort quite
3657         nicely.
3658
3659 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3660
3661         * text-coding.c: (Fencode_shift_jis_char):
3662         (Fencode_big5_char):
3663         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3664         Replace 0 with '\0' when working with bytes.
3665         Replace initial "(" with "\(" in docstrings.
3666
3667         (Fmake_coding_system):
3668         When type is ccl and value is vector, register it with a proper
3669         symbol.  And checks whether the given ccl program is valid.
3670         (mule_decode): When calling ccl_driver, if src indicates
3671         NULL pointer, set an empty string instead.
3672         (mule_encode): Likewise.
3673
3674         (detect_eol_type):
3675         (detect_coding_sjis):
3676         (decode_coding_sjis):
3677         (detect_coding_big5):
3678         (decode_coding_big5):
3679         (detect_coding_ucs4):
3680         (decode_coding_ucs4):
3681         (detect_coding_utf8):
3682         (decode_coding_utf8):
3683         (detect_coding_iso2022):
3684         (decode_coding_iso2022):
3685         (decode_coding_no_conversion):
3686         (mule_decode):
3687         Make all detecting and decoding functions take an Extbyte * arg.
3688         (text_encode_generic):
3689         (encode_coding_big5):
3690         (encode_coding_no_conversion):
3691         (mule_encode):
3692         Make all encoding functions take a Bufbyte * arg.
3693         Use size_t instead of unsigned int for memory sizes.
3694         Only cast to unsigned char whenever dereferencing Extbyte *.
3695
3696         (struct lrecord_description fcd_description_1): Use countof.
3697         (complex_vars_of_file_coding):
3698         Use countof instead of sizeof.
3699         Use CHECK_NATNUM instead of CHECK_INT.
3700
3701 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3702
3703         * mule-charset.c (Fget_char_attribute): Add new optional argument
3704         `default-value'.
3705         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3706         (remove_char_ccs): Likewise.
3707
3708 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3709
3710         * text-coding.c (char_encode_shift_jis): New implementation in
3711         UTF-2000.
3712         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3713         ...)'.
3714
3715         * mule-charset.c (Vcharset_chinese_big5): New variable in
3716         UTF-2000.
3717         (Qchinese_big5): New variable in UTF-2000.
3718         (BIG5_SAME_ROW): New macro in UTF-2000.
3719         (make_builtin_char): Use builtin characters of
3720         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3721         characters of `Vcharset_chinese_big5'.
3722         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3723         (complex_vars_of_mule_charset): Add new coded-charset
3724         `chinese-big5' in UTF-2000.
3725
3726         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3727         (Vcharset_chinese_big5): New external variable declaration.
3728         (Vcharset_japanese_jisx0208_1990): Likewise.
3729
3730 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3731
3732         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3733         function.
3734         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3735
3736 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3737
3738         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3739         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3740         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3741         `mojikyo-pj-*'.
3742
3743 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3744
3745         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3746
3747 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3748
3749         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3750         to 0.17.
3751
3752 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3753
3754         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3755         for `CHARSET_BY_ATTRIBUTES'.
3756         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3757         `CHARSET_BY_ATTRIBUTES'.
3758
3759         * text-coding.c (struct decoding_stream): Rename member `CH' to
3760         `CPOS'.
3761         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3762         (decode_coding_sjis): Likewise.
3763         (decode_coding_big5): Likewise.
3764         (decode_coding_ucs4): Likewise.
3765         (decode_coding_utf8): Likewise.
3766         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3767         `CHARSET_BY_ATTRIBUTES'.
3768         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3769         `str->counter'; decode 3, 4 bytes sets.
3770         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3771         sets.
3772         (decode_coding_no_conversion): Use `str->cpos' instead of
3773         `str->ch'.
3774
3775         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3776         (Qmojikyo_2022_1): New variable.
3777         (make_charset): Don't use `CHARSET_TYPE_*'.
3778         (range_charset_code_point): Support coded-charset
3779         `mojikyo-2022-1'.
3780         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3781         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3782         `CHARSET_BY_ATTRIBUTES'.
3783         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3784         `CHARSET_BY_ATTRIBUTES'.
3785         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3786         (complex_vars_of_mule_charset): Add new coded-charset
3787         `mojikyo-2022-1'.
3788
3789         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3790         interface; changed to inline function.
3791
3792         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3793         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3794         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3795         (CHARSET_TYPE_94): Deleted.
3796         (CHARSET_TYPE_94X94): Deleted.
3797         (CHARSET_TYPE_96): Deleted.
3798         (CHARSET_TYPE_96X96): Deleted.
3799         (CHARSET_TYPE_128): Deleted.
3800         (CHARSET_TYPE_128X128): Deleted.
3801         (CHARSET_TYPE_256): Deleted.
3802         (CHARSET_TYPE_256X256): Deleted.
3803         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3804         to inline function.
3805         (DECODE_MOJIKYO_2022): New inline function.
3806         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3807         `Vcharset_mojikyo_2022_1'.
3808
3809 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3810
3811         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3812         instead of `EQ'.
3813         (put_byte_table): Likewise.
3814         (char_id_table_equal): Use `get_byte_table' [new implementation].
3815
3816 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3817
3818         * mule-charset.c: Include <limits.h> in UTF-2000.
3819         (BT_UINT8_MIN): New macro in UTF-2000.
3820         (BT_UINT8_MAX): New macro in UTF-2000.
3821         (BT_UINT8_t): New macro in UTF-2000.
3822         (BT_UINT8_nil): New macro in UTF-2000.
3823         (BT_UINT8_unbound): New macro in UTF-2000.
3824         (INT_UINT8_P): New inline function in UTF-2000.
3825         (UINT8_VALUE_P): New inline function in UTF-2000.
3826         (UINT8_ENCODE): New inline function in UTF-2000.
3827         (UINT8_DECODE): New inline function in UTF-2000.
3828         (mark_uint8_byte_table): New function in UTF-2000.
3829         (print_uint8_byte_table): New function in UTF-2000.
3830         (uint8_byte_table_equal): New function in UTF-2000.
3831         (uint8_byte_table_hash): New function in UTF-2000.
3832         (make_uint8_byte_table): New function in UTF-2000.
3833         (uint8_byte_table_same_value_p): New function in UTF-2000.
3834         (BT_UINT16_MIN): New macro in UTF-2000.
3835         (BT_UINT16_MAX): New macro in UTF-2000.
3836         (BT_UINT16_t): New macro in UTF-2000.
3837         (BT_UINT16_nil): New macro in UTF-2000.
3838         (BT_UINT16_unbound): New macro in UTF-2000.
3839         (INT_UINT16_P): New inline function in UTF-2000.
3840         (UINT16_VALUE_P): New inline function in UTF-2000.
3841         (UINT16_ENCODE): New inline function in UTF-2000.
3842         (UINT16_DECODE): New inline function in UTF-2000.
3843         (UINT8_TO_UINT16): New inline function in UTF-2000.
3844         (mark_uint16_byte_table): New function in UTF-2000.
3845         (print_uint16_byte_table): New function in UTF-2000.
3846         (uint16_byte_table_equal): New function in UTF-2000.
3847         (uint16_byte_table_hash): New function in UTF-2000.
3848         (make_uint16_byte_table): New function in UTF-2000.
3849         (uint16_byte_table_same_value_p): New function in UTF-2000.
3850         (print_byte_table): New function in UTF-2000.
3851         (byte-table): Use `print_byte_table' as printer.
3852         (make_byte_table): Delete second argument `older'.
3853         (byte_table_same_value_p): New function in UTF-2000.
3854         (copy_byte_table): Deleted.
3855         (get_byte_table): New function in UTF-2000.
3856         (put_byte_table): New function in UTF-2000.
3857         (print_char_id_table): New function in UTF-2000.
3858         (char-id-table): Use `print_char_id_table' as printer.
3859         (make_char_id_table): Delete second argument `older'.
3860         (get_char_id_table): Use `get_byte_table [new implementation].
3861         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3862         implementation].
3863         (Ffind_char_attribute_table): New function in UTF-2000.
3864         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3865         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3866         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3867         (syms_of_mule_charset): Add new function
3868         `find-char-attribute-table' in UTF-2000.
3869
3870         * lrecord.h (enum lrecord_type): Add
3871         `lrecord_type_uint16_byte_table' and
3872         `lrecord_type_uint8_byte_table'.
3873
3874         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3875         (Lisp_Uint8_Byte_Table): New type.
3876         (XUINT8_BYTE_TABLE): New macro.
3877         (XSETUINT8_BYTE_TABLE): New macro.
3878         (UINT8_BYTE_TABLE_P): New macro.
3879         (GC_UINT8_BYTE_TABLE_P): New macro.
3880         (struct Lisp_Uint16_Byte_Table): New structure.
3881         (Lisp_Uint16_Byte_Table): New type.
3882         (XUINT16_BYTE_TABLE): New macro.
3883         (XSETUINT16_BYTE_TABLE): New macro.
3884         (UINT16_BYTE_TABLE_P): New macro.
3885         (GC_UINT16_BYTE_TABLE_P): New macro.
3886
3887 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3888
3889         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3890         (Vcharacter_ideographic_strokes_table): Deleted.
3891         (Vcharacter_total_strokes_table): Deleted.
3892         (Vcharacter_morohashi_daikanwa_table): Deleted.
3893         (Vcharacter_decomposition_table): Deleted.
3894         (Qname): Deleted because it is duplicated.
3895         (Qideographic_radical): Deleted.
3896         (Qideographic_strokes): Deleted.
3897         (Qtotal_strokes): Deleted.
3898         (Qmorohashi_daikanwa): Deleted.
3899         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3900         `ideographic-radical', `ideographic-strokes', `total-strokes',
3901         `morohashi-daikanwa' and `->decomposition'.
3902         (Fget_char_attribute): Likewise.
3903         (Fput_char_attribute): Likewise; use `make-vector' instead of
3904         `make_older_vector' for `->decomposition' value.
3905         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3906         `ideograph-daikanwa'.
3907         (syms_of_mule_charset): Delete builtin symbols `name',
3908         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3909         `morohashi-daikanwa'.
3910         (vars_of_mule_charset): Don't setup
3911         `Vcharacter_ideographic_radical_table',
3912         `Vcharacter_ideographic_strokes_table',
3913         `Vcharacter_total_strokes_table',
3914         `Vcharacter_morohashi_daikanwa_table' and
3915         `Vcharacter_decomposition_table'.
3916
3917 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3918
3919         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3920         `make_older_vector', `make_vector_newer_1' and
3921         `make_vector_newer'.
3922
3923         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3924         `make_older_vector' and `make_vector_newer'.
3925
3926         * config.h.in (HAVE_GGC): New macro.
3927
3928 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3929
3930         * mule-charset.c (struct char_attribute_list_closure): New
3931         structure in UTF-2000.
3932         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3933         (Fchar_attribute_list): Likewise.
3934         (Fset_charset_mapping_table): Use `make_vector_newer'.
3935         (Fdecode_builtin_char): New function in UTF-2000.
3936         (syms_of_mule_charset): Add new function `char-attribute-list' and
3937         `decode-builtin-char' in UTF-2000.
3938
3939         * lisp.h (make_vector_newer): New prototype.
3940
3941         * alloc.c (make_vector_newer_1): New function.
3942         (make_vector_newer): New function.
3943
3944 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3945
3946         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3947         50100)'.
3948
3949 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3950
3951         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3952         (Vcharacter_attribute_table): Deleted.
3953         (Vcharacter_name_table): Deleted.
3954         (put_char_attribute): Deleted.
3955         (remove_char_attribute): Deleted.
3956         (struct char_attribute_alist_closure): New structure.
3957         (add_char_attribute_alist_mapper): New function.
3958         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3959         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3960         (Fget_char_attribute): Likewise.
3961         (Fput_char_attribute): Likewise.
3962         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3963         of `remove_char_attribute'.
3964         (Fdefine_char): Return character.
3965         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3966         and `Vcharacter_name_table'.
3967         (complex_vars_of_mule_charset): Likewise
3968         `Vchar_attribute_hash_table'.
3969
3970 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3971
3972         * character.h (CHARC_CHARSET): New macro.
3973         (CHARC_CHARSET_ID): New macro.
3974         (CHARC_CODE_POINT): New macro.
3975         (CHARC_COLUMNS): New macro.
3976         (CHARC_TO_CHAR): New inline function.
3977         (CHARC_EQ): New inline function.
3978         (CHARC_ASCII_EQ): New inline function.
3979         (CHARC_IS_SPACE): New inline function.
3980         (ASCII_TO_CHARC): New inline function.
3981
3982         * char-ucs.h (encode_char_2): Deleted.
3983         (ENCODE_CHAR): Use `encode_char_1' again.
3984         (breakup_char_1): Likewise.
3985         (CHAR_TO_CHARC): New inline function.
3986
3987         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3988
3989 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3990
3991         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3992         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3993         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3994         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3995         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3996         `CHARC_IS_SPACE'.
3997         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3998
3999         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
4000         `CHARC_CODE_POINT'.
4001         (x_output_display_block): Use `CHARC_CHARSET' and
4002         `CHARC_ASCII_EQ'.
4003
4004         * redisplay-tty.c (tty_output_display_block): Use
4005         `CHARC_ASCII_EQ'.
4006         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
4007
4008         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
4009
4010         * insdel.c (find_charsets_in_charc_string): Use
4011         `CHARC_CHARSET_ID'.
4012         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
4013         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
4014         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
4015         (convert_charc_string_into_malloced_string): Likewise.
4016
4017 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4018
4019         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
4020         instead of <Emchar_dynarr *> for buf; use
4021         `convert_bufbyte_string_into_charc_dynarr' instead of
4022         `convert_bufbyte_string_into_emchar_dynarr'; use
4023         `find_charsets_in_charc_string' instead of
4024         `find_charsets_in_emchar_string'.
4025
4026         * redisplay.h:
4027         - Include "character.h".
4028         (struct rune): New member `cglyph'; delete member `chr'.
4029
4030         * redisplay.c (redisplay_text_width_charc_string): New function;
4031         delete `redisplay_text_width_emchar_string'.
4032         (rtw_charc_dynarr): New variable; renamed from
4033         `rtw_emchar_dynarr'.
4034         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
4035         `rtw_emchar_dynarr'; use
4036         `convert_bufbyte_string_into_charc_dynarr' instead of
4037         `convert_bufbyte_string_into_emchar_dynarr'; use
4038         `redisplay_text_width_charc_string' instead of
4039         `redisplay_text_width_emchar_string'.
4040         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
4041         instead of `rtw_emchar_dynarr'; use
4042         `convert_bufbyte_string_into_charc_dynarr' instead of
4043         `convert_bufbyte_string_into_emchar_dynarr'.
4044         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
4045         `redisplay_text_width_charc_string' instead of
4046         `redisplay_text_width_emchar_string'.
4047         (create_text_block): Modify for <struct rune> change.
4048         (generate_formatted_string_db): Likewise.
4049         (create_string_text_block): Likewise.
4050         (pixel_to_glyph_translation): Likewise.
4051
4052         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
4053         instead of <const Emchar *>.
4054         (x_text_width): Likewise.
4055         (x_output_display_block): Use <Charc_dynarr *> instead
4056         <Emchar_dynarr *>; modify for <structure rune> change.
4057         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
4058         *>.
4059
4060         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
4061         <const Emchar *>; use `charc_string_displayed_columns' instead of
4062         `emchar_string_displayed_columns'.
4063         (tty_output_display_block): Use <Charc_dynarr *> instead of
4064         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
4065         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
4066         (tty_output_charc_dynarr_dynarr): New variable; renamed from
4067         `tty_output_emchar_dynarr_dynarr'.
4068         (tty_output_charc_dynarr): New function; delete
4069         `tty_output_charc_dynarr'.
4070
4071         * redisplay-output.c (compare_runes): Modify for `struct rune'.
4072         (redisplay_output_layout): Use <Charc_dynarr *> instead of
4073         <Emchar_dynarr *> for buf; use
4074         `convert_bufbyte_string_into_charc_dynarr' instead of
4075         `convert_bufbyte_string_into_emchar_dynarr'.
4076
4077         * frame.c (title_string_charc_dynarr): New variable; renamed from
4078         `title_string_emchar_dynarr'.
4079         (generate_title_string): Use `title_string_charc_dynarr' instead
4080         of `title_string_emchar_dynarr'; use
4081         `convert_charc_string_into_malloced_string' instead of
4082         `convert_emchar_string_into_malloced_string'.
4083         (init_frame): Use `title_string_charc_dynarr' instead of
4084         `title_string_emchar_dynarr'.
4085
4086         * console.h:
4087         - Include "character.h".
4088         (struct console_methods): Use <const Charc *> instead of <const
4089         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
4090         <Emchar_dynarr *> in output_string_method.
4091
4092         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
4093         <Emchar_dynarr *>.
4094
4095         * console-stream.c (stream_text_width): Use <const Charc *>
4096         instead of <const Emchar *>.
4097
4098         * character.h (Charc_dynarr): New type.
4099
4100         * char-ucs.h (structure Charc): New structure; define new type
4101         `Charc'.
4102
4103         * char-lb.h (DECODE_CHAR): New inline function.
4104         (encode_char_1): New inline function.
4105         (ENCODE_CHAR): New macro.
4106         (structure Charc): New structure; define new type `Charc'.
4107
4108         * char-1byte.h (Vcharset_control_1): New macro.
4109         (Vcharset_latin_iso8859_1): New macro.
4110         (DECODE_CHAR): New inline function.
4111         (encode_char_1): New inline function.
4112         (ENCODE_CHAR): New macro.
4113         (structure Charc): New structure; define new type `Charc'.
4114
4115         * insdel.c (find_charsets_in_charc_string): New function; delete
4116         `find_charsets_in_emchar_string'.
4117         (charc_string_displayed_columns): New function; delete
4118         `emchar_string_displayed_columns'.
4119         (convert_bufbyte_string_into_charc_dynarr): New function; delete
4120         `convert_bufbyte_string_into_emchar_dynarr'.
4121         (convert_charc_string_into_bufbyte_dynarr): New function; delete
4122         `convert_charc_string_into_bufbyte_dynarr'.
4123         (convert_charc_string_into_malloced_string): New function; delete
4124         `convert_charc_string_into_malloced_string'.
4125
4126         * buffer.h (find_charsets_in_charc_string): New prototype; delete
4127         `find_charsets_in_emchar_string'.
4128         (charc_string_displayed_columns): New prototype; delete
4129         `emchar_string_displayed_columns'.
4130         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
4131         `convert_charc_string_into_bufbyte_dynarr'.
4132         (convert_charc_string_into_malloced_string): New prototype; delete
4133         `convert_charc_string_into_malloced_string'.
4134
4135 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4136
4137         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
4138
4139 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4140
4141         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
4142
4143         * char-ucs.h: Use <short> for <Charset_ID>.
4144
4145         * mule-charset.h, char-1byte.h: Use <unsigned char> for
4146         <Charset_ID>.
4147
4148 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4149
4150         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4151         to 0.16.
4152
4153 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4154
4155         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
4156         variable.
4157         (Qmorohashi_daikanwa): New variable.
4158         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
4159         for `morohashi-daikanwa' attribute.
4160         (Fget_char_attribute): Likewise.
4161         (Fput_char_attribute): Likewise.
4162         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4163         has the same value of `ideograph-daikanwa'.
4164         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4165         (vars_of_mule_charset): Setup
4166         `Vcharacter_morohashi_daikanwa_table'.
4167
4168 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4169
4170         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4171         attributes.
4172         (add_charset_to_list_mapper): Add `key' instead of
4173         `XCHARSET_NAME (value)' to return aliases.
4174
4175 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4176
4177         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4178         variable.
4179         (Vcharacter_ideographic_strokes_table): New variable.
4180         (Qideographic_radical): New variable.
4181         (Qideographic_strokes): New variable.
4182         (Fchar_attribute_alist): Use
4183         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4184         attribute; use `Vcharacter_ideographic_strokes_table' for
4185         `ideographic-strokes' attribute.
4186         (Fget_char_attribute): Likewise.
4187         (Fput_char_attribute): Likewise.
4188         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4189         `ideographic-strokes'.
4190         (vars_of_mule_charset): Setup
4191         `Vcharacter_ideographic_radical_table' and
4192         `Vcharacter_ideographic_strokes_table'.
4193
4194 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4195
4196         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4197         (Qtotal_strokes): New variable.
4198         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4199         `total-strokes' attribute.
4200         (Fget_char_attribute): Likewise.
4201         (Fput_char_attribute): Likewise.
4202         (syms_of_mule_charset): Add new symbol `total-strokes'.
4203         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4204
4205 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4206
4207         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4208         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4209         are found.
4210         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4211         `->decomposition' attribute.
4212         (Fput_char_attribute): Likewise.
4213         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4214
4215 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4216
4217         * mule-charset.c (decoding_table_check_elements): New function.
4218         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4219
4220 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4221
4222         * mule-charset.c (Fset_charset_mapping_table): Use
4223         `put_char_ccs_code_point'.
4224
4225 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4226
4227         * mule-charset.c (decoding_table_put_char): New inline function.
4228         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4229
4230 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4231
4232         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4233         (XCHARSET_BYTE_SIZE): New macro.
4234         (decoding_table_remove_char): New inline function.
4235         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4236         `decoding_table_remove_char'.
4237         (remove_char_ccs): Use `decoding_table_remove_char'.
4238         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4239
4240 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4241
4242         * mule-charset.c (Vcharacter_name_table): New variable.
4243         (Qname): New variable.
4244         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4245         attribute.
4246         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4247         `Vcharacter_name_table' for `name' attribute.
4248         (Fremove_char_attribute): Use function `remove_char_ccs'.
4249         (put_char_ccs_code_point): New function.
4250         (remove_char_ccs): New function.
4251         (syms_of_mule_charset): Add new symbol `name'.
4252         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4253
4254 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4255
4256         * mule-charset.c (make_byte_table): Add new argument `older'.
4257         (make_char_id_table): Likewise.
4258         (copy_char_id_table): Comment out because it is not used.
4259         (put_char_id_table): Modify for `make_byte_table'.
4260         (Fput_char_attribute): Make encoding_table as older object;
4261         inherit older bit of `Vcharacter_composition_table'.
4262         (mark_charset): Don't mark `cs->encoding_table'.
4263         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4264         normal object; make `Vcharacter_composition_table' as an older
4265         object; delete staticpro for `Vcharacter_composition_table'; make
4266         `Vcharacter_variant_table' as a normal object.
4267
4268         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4269         (mark_object): Don't check older object in UTF-2000.
4270
4271         * lrecord.h (struct lrecord_header): Add new member `older' in
4272         UTF-2000.
4273         (set_lheader_implementation): Setup `SLI_header->older' in
4274         UTF-2000.
4275         (set_lheader_older_implementation): New macro in UTF-2000.
4276         (OLDER_RECORD_P): New macro in UTF-2000.
4277         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4278         (alloc_older_lcrecord): New prototype in UTF-2000.
4279         (alloc_older_lcrecord_type): New macro in UTF-2000.
4280
4281 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4282
4283         * mule-charset.c (byte_table_description): Use
4284         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4285         (char_id_table_description): Delete bogus `, 1'.
4286         (Fget_char_attribute): Refer encoding_table of each coded-charset
4287         to get value of coded-charset attribute of a character.
4288         (Fput_char_attribute): Use `make_older_vector' instead of
4289         `make_vector'; use encoding_table of each coded-charset to store
4290         value of coded-charset attribute of a character.
4291         (Fremove_char_attribute): Use encoding_table of each coded-charset
4292         to store value of coded-charset attribute of a character.
4293         (mark_charset): Mark `cs->encoding_table'; don't mark
4294         `cs->decoding_table'.
4295         (charset_description): Add description of new member
4296         `encoding_table'.
4297         (make_charset): Initialize `encoding_table'.
4298
4299         * char-ucs.h (struct Lisp_Charset): Add new member
4300         `encoding_table'.
4301         (CHARSET_ENCODING_TABLE): New macro.
4302         (XCHARSET_ENCODING_TABLE): New macro.
4303         (charset_code_point): New implementation.
4304         (encode_char_1): Likewise.
4305
4306         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4307         (disksave_object_finalization_1): Call finalizers of
4308         `all_older_lcrecords' in UTF-2000.
4309         (make_older_vector): New function in UTF-2000.
4310         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4311         UTF-2000.
4312
4313         * lisp.h (make_older_vector): New prototype in UTF-2000.
4314
4315 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4316
4317         * lrecord.h (enum lrecord_type): Rename
4318         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4319
4320         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4321         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4322         `get_char_code_table'.
4323
4324         * mule-charset.c (mark_char_id_table): Renamed from
4325         `mark_char_code_table'.
4326         (char_id_table_equal): Renamed from `char_code_table_equal'.
4327         (char_id_table_hash): Renamed from `char_code_table_hash'.
4328         (make_char_id_table): Renamed from `make_char_code_table'.
4329         (copy_char_id_table): Renamed from `copy_char_code_table'.
4330         (get_char_id_table): Renamed from `get_char_code_table'.
4331         (put_char_id_table): Renamed from `put_char_code_table'.
4332         (to_char_id): Renamed from `to_char_code'.
4333
4334         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4335         `Lisp_Char_Code_Table'.
4336         (char_id_table): Renamed from `char_code_table'.
4337         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4338         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4339         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4340         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4341         (get_char_id_table): Renamed from `get_char_code_table'.
4342
4343 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4344
4345         * lrecord.h (enum lrecord_type): Rename
4346         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4347
4348         * mule-charset.c (mark_byte_table): Renamed from
4349         `mark_char_byte_table'.
4350         (byte_table_equal): Renamed from `char_byte_table_equal'.
4351         (byte_table_hash): Renamed from `byte_table_hash'.
4352         (make_byte_table): Renamed from `make_byte_table'.
4353         (copy_byte_table): Renamed from `copy_char_byte_table'.
4354
4355         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4356         `Lisp_Char_Byte_Table'.
4357         (byte_table): Renamed from `char_byte_table'.
4358         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4359         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4360         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4361         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4362
4363 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4364
4365         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4366         (dfc_convert_to_internal_format): Likewise.
4367         
4368         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4369         * text-coding.c (Fcoding_system_alias_p): New function.
4370         * text-coding.c (Fcoding_system_aliasee): New function.
4371         * text-coding.c (append_suffix_to_symbol): New function.
4372         * text-coding.c (dangling_coding_system_alias_p): New function.
4373         * text-coding.c (Ffind_coding_system):
4374         * text-coding.c (Fcopy_coding_system):
4375         * text-coding.c (encode_coding_no_conversion):
4376         * text-coding.c (syms_of_file_coding):
4377         * text-coding.c (vars_of_file_coding):
4378         Rewrite coding system alias code.
4379         Allow nested aliases, like symbolic links.
4380         Allow redefinition of coding system aliases.
4381         Prevent existence of dangling coding system aliases.
4382         Eliminate convert_to_external_format.
4383         Eliminate convert_to_internal_format.
4384         
4385         * text-coding.c: Change enum eol_type to eol_type_t.
4386
4387 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4388
4389         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4390         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4391
4392         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4393         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4394
4395 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4396
4397         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4398         `ideograph-daikanwa'.
4399
4400         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4401         (Vcharset_ucs_bmp): Likewise.
4402         (Vcharset_mojikyo): Add new extern variable definition.
4403         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4404         (Vcharset_latin_iso8859_3): Likewise.
4405         (Vcharset_latin_iso8859_4): Likewise.
4406         (Vcharset_latin_iso8859_9): Likewise.
4407         (Vcharset_latin_viscii_lower): Likewise.
4408         (Vcharset_latin_viscii_upper): Likewise.
4409         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4410         `mojikyo' code-point is used to decode.
4411         (encode_char_2): New function [to convert `mojikyo' code-point to
4412         Mojikyo font encoding].
4413         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4414         (breakup_char_1): Likewise.
4415         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4416
4417 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4418
4419         * text-coding.c (Fmake_coding_system): Add document about
4420         `disable-composition' property.
4421
4422 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4423
4424         * text-coding.c (Qdisable_composition): New variable; delete
4425         `Qcomposite'.
4426         (Fmake_coding_system): Add new property `disable-composite';
4427         delete property `composite'.
4428         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4429         instead of `!CODING_SYSTEM_COMPOSITE'.
4430         (syms_of_file_coding): Add new symbol `disable-composition';
4431         delete symbol `composite'.
4432
4433         * file-coding.h (struct Lisp_Coding_System): Add
4434         `disable_composition'; delete `enable_composition'.
4435         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4436         `CODING_SYSTEM_COMPOSITE'.
4437         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4438         `XCODING_SYSTEM_COMPOSITE'.
4439
4440 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4441
4442         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4443         to 0.15.
4444
4445 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4446
4447         * text-coding.c (Qcomposite): New variable.
4448         (Fmake_coding_system): Add new property `composite'.
4449         (struct decoding_stream): Add `combined_char_count',
4450         `combined_chars' and `combining_table' in UTF-2000.
4451         (COMPOSE_FLUSH_CHARS): New macro.
4452         (COMPOSE_ADD_CHAR): New macro.
4453         (reset_decoding_stream): Reset `str->combined_char_count' and
4454         `str->combining_table' in UTF-2000.
4455         (decode_coding_iso2022): Modify for character-decomposition.
4456         (syms_of_file_coding): Add new symbol `composite'.
4457
4458 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4459
4460         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4461         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4462         of `Vcharacter_composition_table' if `->decomposition' property
4463         has only 1 element.
4464         (Qlatin_tcvn5712): New variable.
4465         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4466         (complex_vars_of_mule_charset): Add new coded-charset
4467         `latin-tcvn5712'.
4468
4469         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4470
4471 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4472
4473         * file-coding.h (struct Lisp_Coding_System): Add
4474         `enable_composition'.
4475         (CODING_SYSTEM_COMPOSITE): New macro.
4476         (XCODING_SYSTEM_COMPOSITE): New macro.
4477
4478 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4479
4480         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4481
4482 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4483
4484         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4485         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4486
4487 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4488
4489         * mule-charset.c (Vcharset_mojikyo): New variable.
4490         (Fdefine_char): Don't use coded-charset which does not have
4491         non-builtin character range to allocate character-id.
4492         (Qmojikyo): New variable.
4493         (syms_of_mule_charset): Add new symbol `mojikyo'.
4494         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4495
4496         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4497         (LEADING_BYTE_MOJIKYO): New macro.
4498         (MIN_CHAR_MOJIKYO): New macro.
4499         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4500         (MAX_CHAR_MOJIKYO): New macro.
4501
4502 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4503
4504         * mule-charset.c (remove_char_attribute): Fixed.
4505
4506 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4507
4508         * mule-charset.c (remove_char_attribute): New function.
4509         (Fremove_char_attribute): New function.
4510         (encode_builtin_char_1): Comment out builtin-support for
4511         greek-iso8859-7 and cyrillic-iso8859-5.
4512         (Fdecode_char): Check `code' is an integer.
4513         (syms_of_mule_charset): Add `remove-char-attribute'.
4514         (MIN_CHAR_GREEK): Deleted.
4515         (MAX_CHAR_GREEK): Likewise.
4516         (MIN_CHAR_CYRILLIC): Likewise.
4517         (MAX_CHAR_CYRILLIC): Likewise.
4518         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4519         MAX_CHAR_GREEK for `greek-iso8859-7'.
4520
4521         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4522         (MAX_CHAR_GREEK): Likewise.
4523         (MIN_CHAR_CYRILLIC): Likewise.
4524         (MAX_CHAR_CYRILLIC): Likewise.
4525
4526 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4527
4528         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4529         format is used without `ucs' property.
4530         (Fdecode_char): Fix problem with GR representation.
4531         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4532         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4533
4534 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4535
4536         * mule-charset.c (make_builtin_char): New function.
4537         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4538         (Fset_charset_mapping_table): Modify for new representation of
4539         code-point.
4540         (Fdecode_char): New function.
4541         (syms_of_mule_charset): Add new builtin function `decode-char' in
4542         UTF-2000.
4543
4544         * char-ucs.h (make_builtin_char): New prototype.
4545         (DECODE_CHAR): New inline function.
4546         (MAKE_CHAR): Use `DECODE_CHAR'.
4547
4548 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4549
4550         * text-coding.c (parse_charset_conversion_specs): Use
4551         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4552         `XCHARSET_TYPE'.
4553         (iso2022_designate): Likewise.
4554
4555         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4556         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4557
4558         * mule-charset.c (Vcharset_ucs): New variable.
4559         (print_charset): Change design; use `CHARSET_CHARS' and
4560         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4561         (make_charset): Change signature to specify `chars' and
4562         `dimension' instead of `type'.
4563         (range_charset_code_point): Modify for 256^n-set.
4564         (encode_builtin_char_1): Encode as `ucs' in default.
4565         (Fmake_charset): Modify for `make_charset'.
4566         (Fmake_reverse_direction_charset): Likewise.
4567         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4568         UTF-2000.
4569         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4570         for `make_charset'.
4571
4572         * char-ucs.h (Vcharset_ucs): New variable.
4573         (LEADING_BYTE_UCS): New macro.
4574         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4575         and `chars' to `unsigned short' from `unsigned int'.
4576         (CHARSET_TYPE): Deleted.
4577         (XCHARSET_TYPE): Deleted.
4578
4579 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4580
4581         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4582
4583         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4584         (ENCODE_CHAR): New macro.
4585
4586 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4587
4588         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4589         to 0.14 (Kawachi-Katakami).
4590
4591 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4592
4593         * text-coding.c (char_encode_shift_jis): Modify for
4594         `charset_code_point'.
4595         (char_encode_iso2022): Likewise.
4596
4597         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4598         (integer) instead of list of <Lisp_Object>s (integers) as the
4599         format of code-point of a coded-charset.
4600         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4601         (encode_builtin_char_1): New function; delete
4602         `split_builtin_char'.
4603         (charset_code_point): Return <int> instead of <Lisp_Object>.
4604         (Fsplit_char): Don't use `SPLIT_CHAR'.
4605
4606         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4607         prototype for `split_builtin_char'.
4608         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4609         (charset_code_point): Likewise.
4610         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4611         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4612
4613 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4614
4615         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4616         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4617
4618 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4619
4620         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4621
4622         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4623         (MAX_CHAR_OBS_94x94): Deleted.
4624
4625 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4626
4627         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4628
4629         * char-ucs.h (MAX_CHAR_BMP): New macro.
4630
4631 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4632
4633         * text-coding.c: Sync with r21-2-24.
4634
4635 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4636
4637         * file-coding.c: Modify for UTF-2000.
4638
4639 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4640
4641         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4642         to 0.13 (Takaida).
4643
4644 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4645
4646         * mule-charset.c (split_builtin_char): Delete builtin support for
4647         `katakana-jisx0201'.
4648         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4649         BMP area in builtin representation.
4650
4651         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4652         `Vcharset_katakana_jisx0201'.
4653
4654 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4655
4656         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4657         (Qisolated): New variable.
4658         (Qinitial): New variable.
4659         (Qmedial): New variable.
4660         (Qfinal): New variable.
4661         (Qvertical): New variable.
4662         (Qsmall): New variable.
4663         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4664         `Qvertical' and `Qsmall'.
4665         (Qmojikyo_pj_[1 .. 21]): New variable.
4666         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4667         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4668         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4669         .. 21]'.
4670
4671 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4672
4673         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4674         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4675         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4676
4677 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4678
4679         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4680         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4681         BMP.
4682         (Qjapanese_jisx0208_1990): New variable.
4683         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4684         (complex_vars_of_mule_charset): Add new coded-charset
4685         `japanese-jisx0208-1990'.
4686
4687         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4688         (MIN_CHAR_JIS_X0208_1990): New macro.
4689         (MAX_CHAR_JIS_X0208_1990): New macro.
4690
4691 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4692
4693         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4694         coded-charset is not found.
4695
4696 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4697
4698         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4699         (Fdefine_char): Use `Fmake_char'.
4700
4701 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4702
4703         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4704         (Vcharset_hiragana_jisx0208): Deleted.
4705         (Vcharset_katakana_jisx0208): Deleted.
4706         (Qideograph_daikanwa): New variable.
4707         (Qhiragana_jisx0208): Deleted.
4708         (Qkatakana_jisx0208): Deleted.
4709         (split_builtin_char): Split `ideograph-daikanwa'.
4710         (Fsplit_char): New implementation for UTF-2000.
4711         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4712         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4713         (complex_vars_of_mule_charset): Add new coded-charset
4714         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4715         `katakana-jisx0208'.
4716
4717         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4718         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4719         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4720         (MIN_CHAR_DAIKANWA): New macro.
4721         (MAX_CHAR_DAIKANWA): New macro.
4722
4723 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4724
4725         * data.c (Fstring_to_number): Don't recognize floating point if
4726         base is not 10.
4727
4728 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4729
4730         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4731
4732 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4733
4734         * mule-charset.c (Qsquare): New variable.
4735         (to_char_code): Add `Qsquare'.
4736         (syms_of_mule_charset): Add new symbol `square'.
4737
4738 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4739
4740         * mule-charset.c (Qcircle): New variable.
4741         (to_char_code): Add `Qcircle'.
4742         (syms_of_mule_charset): Add new symbol `circle'.
4743
4744 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4745
4746         * mule-charset.c (Qfont): New variable.
4747         (to_char_code): Add `Qfont'.
4748         (syms_of_mule_charset): Add new symbol `font'.
4749
4750 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4751
4752         * mule-charset.c (Qsub): New variable.
4753         (to_char_code): Add `Qsub'.
4754         (syms_of_mule_charset): Add new symbol `sub'.
4755
4756 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4757
4758         * mule-charset.c (Fput_char_attribute): Convert each element of
4759         VALUE to GL position if ATTRIBUTE is a GR-set,
4760
4761 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4762
4763         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4764         coded-charset is a GR-set.
4765
4766 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4767
4768         * mule-charset.c (Fput_char_attribute): Check each element of
4769         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4770
4771 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4772
4773         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4774         UTF-2000.
4775         (Qethiopic_ucs): New variable in UTF-2000.
4776         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4777         (complex_vars_of_mule_charset): Add new coded-charset
4778         `ethiopic-ucs' in UTF-2000.
4779
4780         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4781         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4782         9)'.
4783         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4784         10)'.
4785         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4786
4787 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4788
4789         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4790         `ascii'.
4791
4792 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4793
4794         * mule-charset.c (Vcharacter_variant_table): New variable.
4795         (Q_ucs): New variable.
4796         (Fchar_variants): New function.
4797         (Fput_char_attribute): Register `->ucs' value to
4798         `Vcharacter_variant_table'.
4799         (syms_of_mule_charset): Add new function `char-variants' and new
4800         symbol `->ucs'.
4801         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4802
4803 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4804
4805         * mule-charset.c (get_char_code_table): Allow negative character
4806         code.
4807         (put_char_code_table): Likewise.
4808         (Vcharacter_composition_table): New variable.
4809         (Q_decomposition): New variable.
4810         (Qwide): New variable.
4811         (Qnarrow): New variable.
4812         (Qcompat): New variable.
4813         (QnoBreak): New variable.
4814         (Qsuper): New variable.
4815         (Qfraction): New variable.
4816         (to_char_code): New function.
4817         (Fget_composite_char): New function.
4818         (Fput_char_attribute): Register `->decomposition' value to
4819         `Vcharacter_composition_table'.
4820         (syms_of_mule_charset): Add new function `get-composite-char', new
4821         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4822         `super' and `fraction'.
4823         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4824
4825 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4826
4827         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4828         character; copy the return value.
4829
4830 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4831
4832         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4833
4834         * mule-charset.c (range_charset_code_point): Must use make_int.
4835         (split_builtin_char): New function.
4836
4837 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4838
4839         * mule-charset.c (char_byte_table): Change name from
4840         "char-code-table" to "char-byte-table".
4841         (mark_char_code_table): New function.
4842         (char_code_table_equal): New function.
4843         (char_code_table_hash): New function.
4844         (char_code_table_description): New constant.
4845         (char_code_table): New type.
4846         (make_char_code_table): New function.
4847         (copy_char_code_table): New function.
4848         (get_char_code_table): Modify for `char_code_table' type.
4849         (put_char_code_table): Likewise.
4850         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4851         (Kashiwara).
4852
4853         * char-ucs.h (char_code_table): New type.
4854         (XCHAR_CODE_TABLE): New macro.
4855         (XSETCHAR_CODE_TABLE): New macro.
4856         (CHAR_CODE_TABLE_P): New macro.
4857         (GC_CHAR_CODE_TABLE_P): New macro.
4858         (struct Lisp_Char_Code_Table): New structure.
4859
4860 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4861
4862         * mule-charset.c (Fmake_charset): Setup byte_offset for
4863         {94|96}^n-set.
4864
4865 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4866
4867         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4868         character.
4869
4870 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4871
4872         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4873         is found.
4874
4875 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4876
4877         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4878         charset, it is regarded as a charset.
4879         (put_char_attribute): New function in UTF-2000.
4880         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4881         charset, mapping-table of the charset is modified.
4882         (Fdefine_char): New function in UTF-2000.
4883         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4884         `Fput_char_attribute'.
4885         (syms_of_mule_charset): Add new function `define-char' and new
4886         symbol `ucs' in UTF-2000.
4887         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4888
4889 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4890
4891         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4892         non-UTF-2000 configuration.
4893
4894 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4895
4896         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4897         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4898
4899         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4900         deleted.
4901         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4902         (Fset_charset_mapping_table): Likewise.
4903
4904         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4905         (CHARSET_ENCODING_TABLE): Delete.
4906         (XCHARSET_ENCODING_TABLE): Delete.
4907         (charset_code_point): New interface.
4908
4909 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4910
4911         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4912         instead of `charset_get_byte1' and `charset_get_byte2'.
4913
4914         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4915         (charset_get_byte2): Deleted.
4916
4917 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4918
4919         * char-ucs.h (SPLIT_CHAR): New inline function.
4920         (breakup_char_1): Use `SPLIT_CHAR'.
4921
4922         * mule-charset.c (range_charset_code_point): New function.
4923         (charset_code_point): New function.
4924
4925         * char-ucs.h (range_charset_code_point): New interface.
4926         (breakup_char_1): Use `range_charset_code_point'.
4927
4928 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4929
4930         * mule-charset.c (Fmake_charset): Delete unused local variable
4931         `code_offset'.
4932
4933         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4934         (breakup_char_1): Find a charset and code-point in
4935         `Vcharacter_attribute_table'.
4936
4937 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4938
4939         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4940         to 0.10 (Yao).
4941
4942 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4943
4944         * mule-charset.c (Vcharacter_attribute_table): New variable.
4945         (Fchar_attribute_alist): New function.
4946         (Fget_char_attribute): New function.
4947         (Fput_char_attribute): New function.
4948         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4949         too.
4950         (syms_of_mule_charset): Add new function `char-attribute-alist',
4951         `get-char-attribute' and `put-char-attribute'.
4952         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4953
4954 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4955
4956         * mule-charset.c (Fmake_charset): Just use
4957         `get_unallocated_leading_byte'.
4958
4959         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4960         sets; don't use final-byte based number for private sets.
4961
4962 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4963
4964         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4965         integer.
4966
4967 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4968
4969         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4970         to 0.9.
4971
4972 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4973
4974         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4975         of `CHAR_LEADING_BYTE' in UTF-2000.
4976
4977         * insdel.c (find_charsets_in_bufbyte_string): Use
4978         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4979         (find_charsets_in_emchar_string): Likewise.
4980
4981         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4982         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4983
4984         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4985         (CHAR_CHARSET_ID): New macro.
4986
4987 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4988
4989         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4990         charset-id - MIN_LEADING_BYTE.
4991         (put_char_table): Likewise.
4992
4993 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4994
4995         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4996         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4997         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4998         (CHARSET_ID_OFFSET): New macro.
4999         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
5000         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
5001         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
5002         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
5003         4).
5004         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
5005         5).
5006         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
5007         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
5008         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
5009         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
5010         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
5011
5012 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5013
5014         * mule-charset.c (next_allocated_leading_byte): New variable in
5015         UTF-2000.
5016         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
5017         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
5018         (get_unallocated_leading_byte): Simply use
5019         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
5020         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
5021         UTF-2000.
5022
5023         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
5024         (MAX_LEADING_BYTE_PRIVATE): New macro.
5025         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
5026         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
5027
5028 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5029
5030         * mule-charset.c (Fmake_charset): Allocate final-byte based
5031         charset-id for 94-set, 96-set and 94x94-set.
5032
5033 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
5036         ambiguous `else'.
5037         (Fmake_charset): Likewise.
5038         (complex_vars_of_mule_charset): Modify the font registry of
5039         `ucs-bmp' not to match `Ethiopic-Unicode'.
5040
5041 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5042
5043         * mule-charset.c (complex_vars_of_mule_charset): Add font
5044         registory of `ucs-bmp'.
5045
5046 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5047
5048         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
5049         coded-charsets in `default-coded-charset-priority-list' when
5050         breaking up a character.
5051
5052         * mule-charset.c (Vcharset_latin_viscii): New variable.
5053         (Qlatin_viscii): New variable.
5054         (make_charset): Don't use `decoding_table'.
5055         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
5056         byte_offset.
5057         (Fset_charset_mapping_table): New implementation.
5058         (syms_of_mule_charset): Add new symbol `latin-viscii'.
5059         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
5060         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
5061         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
5062         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
5063         charset `latin_viscii'.
5064
5065         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
5066         (CHARSET_TYPE_94X94): Change to 1 from 2.
5067         (CHARSET_TYPE_96): Change to 2 from 1.
5068         (CHARSET_TYPE_128): New macro.
5069         (CHARSET_TYPE_128X128): Change to 5 from 4.
5070         (CHARSET_TYPE_256): New macro.
5071         (CHARSET_TYPE_256X256): Change to 7 from 5.
5072         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
5073
5074 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5075
5076         * text-coding.c (char_encode_shift_jis): Refer
5077         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
5078         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
5079
5080         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
5081         (char_byte_table_equal): New function in UTF-2000.
5082         (char_byte_table_hash): New function in UTF-2000.
5083         (char_byte_table_description): New constant in UTF-2000.
5084         (char_byte_table): New type in UTF-2000.
5085         (make_char_byte_table): New function in UTF-2000.
5086         (copy_char_byte_table): New function in UTF-2000.
5087         (make_char_code_table): New macro in UTF-2000.
5088         (get_char_code_table): New function in UTF-2000.
5089         (put_char_code_table): New function in UTF-2000.
5090         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
5091         (charset_description): Add setting in UTF-2000.
5092         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
5093         `CHARSET_TO_BYTE1_TABLE(cs)'.
5094         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
5095         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
5096         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
5097         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
5098         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
5099         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
5100         `CHARSET_TO_BYTE2_TABLE(cs)'.
5101
5102         * char-ucs.h (char_byte_table): New type.
5103         (XCHAR_BYTE_TABLE): New macro.
5104         (XSETCHAR_BYTE_TABLE): New macro.
5105         (CHAR_BYTE_TABLE_P): New macro.
5106         (GC_CHAR_BYTE_TABLE_P): New macro.
5107         (struct Lisp_Char_Byte_Table): New structure.
5108         (get_char_code_table): New interface.
5109         (Emchar_to_byte_table): Deleted.
5110         (get_byte_from_character_table): Deleted.
5111         (struct Lisp_Charset): Add `encoding_table'; delete
5112         `to_byte1_table' and `to_byte2_table'.
5113         (CHARSET_ENCODING_TABLE): New macro.
5114         (CHARSET_TO_BYTE1_TABLE): Deleted.
5115         (CHARSET_TO_BYTE2_TABLE): Deleted.
5116         (XCHARSET_ENCODING_TABLE): New macro.
5117         (XCHARSET_TO_BYTE1_TABLE): Deleted.
5118         (XCHARSET_TO_BYTE2_TABLE): Deleted.
5119
5120 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5121
5122         * mule-charset.c (syms_of_mule_charset): Delete charset alias
5123         `vietnamese-viscii-*'.
5124
5125 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5126
5127         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
5128         (Qvietnamese_viscii_upper): New variable.
5129         (Fdefine_charset_alias): New function.
5130         (syms_of_mule_charset): Add new function `define-charset-alias'.
5131         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
5132         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
5133         `latin-viscii-*'.
5134
5135 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
5136
5137         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
5138         (MAX_CHAR_OBS_94x94): New macro.
5139         (breakup_char_1): Support obsolete XEmacs-UCS private code space
5140         for 94x94 sets.
5141
5142         * mule-charset.c (put_byte_from_character_table): Change unit size
5143         from 128 to 256.
5144         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
5145         not defined.
5146         (Fmake_reverse_direction_charset): Modify dummy argument of
5147         `make_charset' for non-UTF-2000 environment.
5148
5149 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5150
5151         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
5152
5153         * mule-charset.c (destroy_byte_from_character_table): New macro.
5154         (latin_jisx0201_to_ucs): Deleted.
5155         (latin_iso8859_2_to_ucs): Deleted.
5156         (latin_iso8859_3_to_ucs): Deleted.
5157         (latin_iso8859_4_to_ucs): Deleted.
5158         (latin_iso8859_9_to_ucs): Deleted.
5159         (latin_viscii_lower_to_ucs): Deleted.
5160         (latin_viscii_upper_to_ucs): Deleted.
5161         (mark_charset): Mark `cs->decoding_table'.
5162         (Fcharset_mapping_table): Fix DOC-string.
5163         (Fset_charset_mapping_table): New function.
5164         (syms_of_mule_charset): Add nwe function
5165         `set-charset-mapping-table'.
5166         (complex_vars_of_mule_charset): Don't setup and use
5167         `latin_*_to_ucs'.
5168
5169 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5170
5171         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5172         charset.
5173
5174 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5175
5176         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5177         (Vcharset_katakana_jisx0208): New variable.
5178         (Qhiragana_jisx0208): New variable.
5179         (Qkatakana_jisx0208): New variable.
5180         (make_charset): Add new argument `byte_offset'.
5181         (charset_get_byte1): Modify for new coded-charset definition; use
5182         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5183         `XCHARSET_BYTE_OFFSET'.
5184         (Fmake_charset): Modify for `make_charset'.
5185         (Fmake_reverse_direction_charset): Likewise.
5186         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5187         `katakana-jisx0208'.
5188         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5189         `.'  in font registry of charset `katakana-jisx0201',
5190         `latin-jisx0201', `vietnamese-viscii-lower' and
5191         `vietnamese-viscii-upper'; modify DOC-string of charset
5192         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5193         registry of charset `japanese-jisx0208' not to use font for JIS
5194         X0208:1990; add new charset `hiragana-jisx0208' and
5195         `katakana-jisx0208'.
5196
5197         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5198         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5199         (struct Lisp_Charset): Add `byte_offset'.
5200         (CHARSET_BYTE_OFFSET): New macro.
5201         (XCHARSET_UCS_MIN): New macro.
5202         (XCHARSET_UCS_MAX): New macro.
5203         (XCHARSET_CODE_OFFSET): New macro.
5204         (XCHARSET_BYTE_OFFSET): New macro.
5205         (MIN_CHAR_HIRAGANA): New macro.
5206         (MAX_CHAR_HIRAGANA): New macro.
5207         (MIN_CHAR_KATAKANA): New macro.
5208         (MAX_CHAR_KATAKANA): New macro.
5209         (MAKE_CHAR): Modify for new coded-charset definition; use
5210         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5211         `XCHARSET_BYTE_OFFSET'.
5212
5213 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5214
5215         * mule-charset.c (CHAR96): Deleted.
5216         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5217         <Lisp_Object>.
5218         (latin_iso8859_2_to_ucs): Likewise.
5219         (latin_iso8859_3_to_ucs): Likewise.
5220         (latin_iso8859_4_to_ucs): Likewise.
5221         (latin_iso8859_9_to_ucs): Likewise.
5222         (latin_viscii_lower_to_ucs): Likewise.
5223         (latin_viscii_upper_to_ucs): Likewise.
5224         (latin_tcvn5712_to_ucs): Commented out.
5225         (make_charset): Change type of argument `decoding_table' from
5226         <Emchar*> to <Lisp_Object> [vector of characters].
5227         (Fmake_charset): Modify for `make_charset'.
5228         (Fmake_reverse_direction_charset): Likewise.
5229         (Fcharset_mapping_table): New function in UTF-2000.
5230         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5231         UTF-2000.
5232         (complex_vars_of_mule_charset): Modify for type change of
5233         `*_to_ucs'; modify for `make_charset'.
5234
5235         * char-ucs.h (struct Lisp_Charset): Change type of
5236         `decoding_table' from <Emchar*> to <Lisp_Object>.
5237         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5238
5239 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5240
5241         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5242         error with non-UTF-2000-Mule.
5243
5244 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5245
5246         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5247         in lisp again].
5248         (Vcharset_chinese_cns11643_4): Likewise.
5249         (Vcharset_chinese_cns11643_5): Likewise.
5250         (Vcharset_chinese_cns11643_6): Likewise.
5251         (Vcharset_chinese_cns11643_7): Likewise.
5252         (Qchinese_cns11643_3): Likewise.
5253         (Qchinese_cns11643_4): Likewise.
5254         (Qchinese_cns11643_5): Likewise.
5255         (Qchinese_cns11643_6): Likewise.
5256         (Qchinese_cns11643_7): Likewise.
5257         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5258         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5259         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5260         (complex_vars_of_mule_charset): Likewise.
5261
5262 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5263
5264         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5265         96-set.
5266         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5267         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5268
5269 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5270
5271         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5272         0xFF60.
5273         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5274         (breakup_char_1): Likewise.
5275
5276         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5277         one of them includes the specified character.
5278
5279 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5280
5281         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5282
5283 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5284
5285         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5286
5287 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5288
5289         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5290         definition for non-UTF-2000 Mule.
5291         (latin_iso8859_3_to_ucs): Likewise.
5292         (latin_iso8859_4_to_ucs): Likewise.
5293         (latin_iso8859_9_to_ucs): Likewise.
5294         (latin_jisx0201_to_ucs): Likewise.
5295         (MIN_CHAR_THAI): Likewise.
5296         (MAX_CHAR_THAI): Likewise.
5297         (MIN_CHAR_GREEK): Likewise.
5298         (MAX_CHAR_GREEK): Likewise.
5299         (MIN_CHAR_HEBREW): Likewise.
5300         (MAX_CHAR_HEBREW): Likewise.
5301         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5302         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5303         (MIN_CHAR_CYRILLIC): Likewise.
5304         (MAX_CHAR_CYRILLIC): Likewise.
5305
5306 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5307
5308         * char-ucs.h (breakup_char_1): Use
5309         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5310         thai-tis620 and katakana-jisx0201 area.
5311
5312 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5313
5314         * char-ucs.h (breakup_char_1): Use
5315         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5316         area.
5317
5318         * text-coding.c (reset_encoding_stream): Fixed.
5319         (char_encode_ucs4): Delete `& 255'.
5320
5321         * char-ucs.h (breakup_char_1): Use
5322         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5323
5324 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5325
5326         * file-coding.c (Fmake_coding_system): Don't set up
5327         `codesys->fixed.size'.
5328         (encode_coding_no_conversion): Don't refer
5329         `str->codesys->fixed.size'.
5330
5331 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5332
5333         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5334         (latin_a_char_to_byte1): Deleted.
5335         (latin_a_char_to_byte2): Deleted.
5336
5337 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5338
5339         * mule-charset.c (make_charset): Add new argument `ucs_min',
5340         `ucs_max' and `code_offset'.
5341         (charset_get_byte1): New implementation [delete specific charset
5342         depended implementations].
5343         (Fmake_charset): Modify for `make_charset'.
5344         (Fmake_reverse_direction_charset): Likewise.
5345         (complex_vars_of_mule_charset): Likewise.
5346
5347         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5348         `code_offset'.
5349         (CHARSET_UCS_MIN): New macro.
5350         (CHARSET_UCS_MAX): New macro.
5351         (CHARSET_CODE_OFFSET): New macro.
5352         (MAKE_CHAR): Delete charset depended definitions [except
5353         katakana-jisx0201].
5354
5355 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5356
5357         * char-ucs.h (breakup_char_1): Use
5358         `Vdefault_coded_charset_priority_list' for C0-Controls,
5359         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5360
5361 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5362
5363         * char-ucs.h (charset_get_byte1): New function.
5364         (XCHARSET_GET_BYTE1): Deleted.
5365         (charset_get_byte2): New function.
5366         (XCHARSET_GET_BYTE2): Deleted.
5367         (Vdefault_coded_charset_priority_list): New external variable.
5368         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5369         `Vdefault_preferred_coded_charset_list'.
5370
5371         * mule-charset.c (charset_get_byte1): New function.
5372         (charset_get_byte2): New function.
5373         (Vdefault_coded_charset_priority_list): New variable.
5374         (vars_of_mule_charset): Add new variable
5375         `default-coded-charset-priority-list'.
5376
5377 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5378
5379         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5380         (XCHARSET_GET_BYTE2): New inline function.
5381         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5382         `XCHARSET_GET_BYTE2'.
5383
5384 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5385
5386         * mule-charset.c (make_charset): Initialize
5387         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5388         NULL if table is not defined.
5389
5390 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5391
5392         * text-coding.c (char_encode_shift_jis): Use
5393         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5394         `ucs_to_latin_jisx0201'.
5395
5396         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5397         (ucs_to_latin_iso8859_2): Deleted.
5398         (ucs_to_latin_iso8859_3): Deleted.
5399         (ucs_to_latin_iso8859_4): Deleted.
5400         (ucs_to_latin_iso8859_9): Deleted.
5401         (ucs_to_latin_viscii_lower): Deleted.
5402         (ucs_to_latin_viscii_upper): Deleted.
5403         (ucs_to_latin_tcvn5712): Deleted.
5404         (make_charset): Add new argument `decoding_table'; set up
5405         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5406         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5407         `decoding_table' is defined in UTF-2000.
5408         (Fmake_charset): Modify for `make_charset'.
5409         (Fmake_reverse_direction_charset): Likewise.
5410         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5411         and `GENERATE_96_SET'.
5412
5413         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5414         (ucs_to_latin_jisx0201): Deleted.
5415         (latin_iso8859_2_to_ucs): Deleted.
5416         (ucs_to_latin_iso8859_2): Deleted.
5417         (latin_iso8859_3_to_ucs): Deleted.
5418         (ucs_to_latin_iso8859_3): Deleted.
5419         (latin_iso8859_4_to_ucs): Deleted.
5420         (ucs_to_latin_iso8859_4): Deleted.
5421         (latin_iso8859_9_to_ucs): Deleted.
5422         (ucs_to_latin_iso8859_9): Deleted.
5423         (latin_viscii_lower_to_ucs): Deleted.
5424         (ucs_to_latin_viscii_lower): Deleted.
5425         (latin_viscii_upper_to_ucs): Deleted.
5426         (ucs_to_latin_viscii_upper): Deleted.
5427         (struct Lisp_Charset): Renamed `encoding_table' to
5428         `to_byte1_table'; add `to_byte2_table'.
5429         (CHARSET_DECODING_TABLE): New macro.
5430         (CHARSET_TO_BYTE1_TABLE): New macro.
5431         (CHARSET_TO_BYTE2_TABLE): New macro.
5432         (XCHARSET_DECODING_TABLE): New macro.
5433         (XCHARSET_TO_BYTE1_TABLE): New macro.
5434         (XCHARSET_TO_BYTE2_TABLE): New macro.
5435         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5436         tables.
5437         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5438         don't use `ucs_to_*' tables.
5439
5440 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5441
5442         * text-coding.c (Fmake_coding_system): Don't set up
5443         `codesys->fixed.size'.
5444         (encode_coding_no_conversion): Use `if' instead of `switch'.
5445
5446         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5447
5448 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5449
5450         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5451         (Fmake_charset): Modify for `make_charset'.
5452         (Fmake_reverse_direction_charset): Likewise.
5453         (complex_vars_of_mule_charset): Likewise.
5454
5455 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5456
5457         * text-coding.c (char_encode_shift_jis): Use table
5458         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5459
5460 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5461
5462         * text-coding.c (text_encode_generic): Use `if' instead of
5463         `switch'.
5464         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5465         decode JIS-Latin.
5466
5467 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5468
5469         * text-coding.c (encode_coding_sjis): Deleted.
5470         (char_encode_shift_jis): New function.
5471         (char_finish_shift_jis): New function.
5472         (reset_encoding_stream): Set up `encode_char' and `finish' for
5473         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5474         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5475         (char_encode_utf8): Treat `eol_type'.
5476
5477 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5478
5479         * file-coding.c (decode_coding_iso2022): Use
5480         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5481
5482 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5483
5484         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5485         to 0.7 (Hirano).
5486
5487 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5488
5489         * char-lb.h (CHAR_COLUMNS): New macro.
5490
5491 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5492
5493         * text-coding.c (char_encode_ucs4): New function.
5494         (char_finish_ucs4): New function.
5495         (encode_coding_ucs4): Deleted.
5496         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5497         (text_encode_generic): Delete local variable `charset' and `half'.
5498         (ucs_to_mule_table): Deleted.
5499         (mule_to_ucs_table): Deleted.
5500         (Fset_ucs_char): Deleted.
5501         (ucs_to_char): Deleted.
5502         (Fucs_char): Deleted.
5503         (Fset_char_ucs): Deleted.
5504         (Fchar_ucs): Deleted.
5505         (decode_ucs4): Deleted.
5506         (mule_char_to_ucs4): Deleted.
5507         (encode_ucs4): Deleted.
5508         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5509         (decode_coding_utf8): Likewise.
5510         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5511         (char_encode_iso2022): Fixed.
5512         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5513         `Fset_char_ucs' and `Fchar_ucs'.
5514         (complex_vars_of_file_coding): Don't initialize
5515         `ucs_to_mule_table'.
5516
5517         * objects-tty.c (tty_initialize_font_instance): Don't use
5518         `XCHARSET_COLUMNS'.
5519
5520         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5521         UTF-2000.
5522
5523         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5524         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5525
5526         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5527         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5528         (emchar_string_displayed_columns): Likewise.
5529
5530         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5531         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5532         (string_column_at_point): Likewise.
5533         (Fmove_to_column): Likewise.
5534
5535         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5536         `encoding_table' and `decoding_table'.
5537         (CHARSET_REP_BYTES): Deleted.
5538         (XCHARSET_REP_BYTES): Deleted.
5539         (XCHARSET_COLUMNS): Deleted.
5540         (CHAR_COLUMNS): New macro.
5541         (lookup_composite_char): Deleted unconditionally.
5542         (composite_char_string): Likewise.
5543
5544 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5545
5546         * char-ucs.h (Emchar_to_byte_table): New type.
5547         (get_byte_from_character_table): New function interface.
5548         (Vcharset_latin_jisx0201): New variable.
5549         (latin_jisx0201_to_ucs): New variable.
5550         (ucs_to_latin_jisx0201): New variable.
5551         (Vcharset_latin_iso8859_2): New variable.
5552         (latin_iso8859_2_to_ucs): New variable.
5553         (ucs_to_latin_iso8859_2): New variable.
5554         (Vcharset_latin_iso8859_3): New variable.
5555         (latin_iso8859_3_to_ucs): New variable.
5556         (ucs_to_latin_iso8859_3): New variable.
5557         (Vcharset_latin_iso8859_4): New variable.
5558         (latin_iso8859_4_to_ucs): New variable.
5559         (ucs_to_latin_iso8859_4): New variable.
5560         (Vcharset_latin_iso8859_9): New variable.
5561         (latin_iso8859_9_to_ucs): New variable.
5562         (ucs_to_latin_iso8859_9): New variable.
5563         (Vcharset_latin_viscii_lower): New variable.
5564         (latin_viscii_lower_to_ucs): New variable.
5565         (ucs_to_latin_viscii_lower): New variable.
5566         (Vcharset_latin_viscii_upper): New variable.
5567         (latin_viscii_upper_to_ucs): New variable.
5568         (ucs_to_latin_viscii_upper): New variable.
5569         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5570         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5571         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5572         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5573         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5574         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5575         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5576         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5577         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5578         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5579
5580         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5581         (Vcharset_latin_viscii_upper): New variable.
5582         (make_byte_from_character_table): New function.
5583         (put_byte_from_character_table): New function.
5584         (get_byte_from_character_table): New function.
5585         (CHAR96): New macro.
5586         (ucs_to_latin_jisx0201): New variable.
5587         (latin_jisx0201_to_ucs): New variable.
5588         (ucs_to_latin_iso8859_2): New variable.
5589         (latin_iso8859_2_to_ucs): New variable.
5590         (ucs_to_latin_iso8859_3): New variable.
5591         (latin_iso8859_3_to_ucs): New variable.
5592         (ucs_to_latin_iso8859_4): New variable.
5593         (latin_iso8859_4_to_ucs): New variable.
5594         (ucs_to_latin_iso8859_9): New variable.
5595         (latin_iso8859_9_to_ucs): New variable.
5596         (ucs_to_latin_viscii_lower): New variable.
5597         (latin_viscii_lower_to_ucs): New variable.
5598         (ucs_to_latin_viscii_upper): New variable.
5599         (latin_viscii_upper_to_ucs): New variable.
5600         (ucs_to_latin_tcvn5712): New variable.
5601         (latin_tcvn5712_to_ucs): New variable.
5602         (Qlatin_viscii_lower): New variable.
5603         (Qlatin_viscii_upper): New variable.
5604         (syms_of_mule_charset): Set up new symbol
5605         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5606         (complex_vars_of_mule_charset): Set up new charset
5607         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5608         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5609         `ucs_to_<CHARSET>' tables.
5610
5611 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5612
5613         * text-coding.c: New file.
5614
5615 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5616
5617         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5618
5619         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5620         (MAKE_CHAR): Modify for `ucs-bmp'.
5621         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5622         non-MULE characters of BMP.
5623
5624 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5625
5626         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5627         to 0.6.
5628
5629 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5630
5631         * lstream.h:
5632         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5633         - Include character.h for `CHAR_ASCII_P'.
5634
5635         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5636
5637         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5638         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5639
5640         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5641         (BYTE_C0_P): Likewise.
5642         (BYTE_C1_P): Likewise.
5643         (Lstream_get_emchar_1): Likewise.
5644         (Lstream_fput_emchar): Likewise.
5645         (Lstream_funget_emchar): Likewise.
5646         (copy_internal_to_external): Likewise.
5647         (copy_external_to_internal): Likewise.
5648
5649         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5650         (BYTE_C0_P): Likewise.
5651         (BYTE_C1_P): Likewise.
5652         (Lstream_get_emchar_1): Likewise.
5653         (Lstream_fput_emchar): Likewise.
5654         (Lstream_funget_emchar): Likewise.
5655         (copy_internal_to_external): Likewise.
5656         (copy_external_to_internal): Likewise.
5657
5658         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5659         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5660
5661         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5662         (BYTE_ASCII_P): Moved to mb-1byte.h.
5663
5664 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5665
5666         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5667
5668         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5669         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5670         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5671         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5672         (VALIDATE_CHARPTR_FORWARD): Likewise.
5673         (simple_charptr_emchar): Moved to mb-multibyte.h.
5674         (simple_set_charptr_emchar): Likewise.
5675         (simple_charptr_copy_char): Likewise.
5676         (non_ascii_charptr_emchar): Likewise.
5677         (non_ascii_set_charptr_emchar): Likewise.
5678         (non_ascii_charptr_copy_char): Likewise.
5679         (charptr_emchar): Moved to mb-*byte.h.
5680         (set_charptr_emchar): Likewise.
5681         (charptr_copy_char): Likewise.
5682
5683         * mb-1byte.h, mb-multibyte.h: New files.
5684
5685 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5686
5687         * mb-utf-8.h (MULTIBYTE): New macro.
5688         (MAX_EMCHAR_LEN): Moved from buffer.h.
5689         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5690
5691         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5692
5693         * mb-lb.h, multibyte.h: New files.
5694
5695         * char-1byte.h (Charset_ID): Moved from buffer.h.
5696         (MIN_LEADING_BYTE): Likewise.
5697         (LEADING_BYTE_ASCII): Likewise.
5698         (NUM_LEADING_BYTES): Likewise.
5699         (CHARSETP): Likewise.
5700         (CHARSET_BY_LEADING_BYTE): Likewise.
5701         (XCHARSET_LEADING_BYTE): Likewise.
5702         (XCHARSET_GRAPHIC): Likewise.
5703         (XCHARSET_COLUMNS): Likewise.
5704         (XCHARSET_DIMENSION): Likewise.
5705         (CHAR_CHARSET): Likewise.
5706         (CHAR_LEADING_BYTE): Likewise.
5707         (BREAKUP_CHAR): Likewise.
5708         (Vcharset_ascii): Likewise.
5709
5710         * buffer.h: Include multibyte.h unconditionally.
5711         (VALID_CHARPTR_P): Moved to multibyte.h.
5712         (ASSERT_VALID_CHARPTR): Likewise.
5713         (REAL_INC_CHARPTR): Likewise.
5714         (REAL_INC_CHARBYTIND): Likewise.
5715         (REAL_DEC_CHARPTR): Likewise.
5716         (INC_CHARPTR): Likewise.
5717         (INC_CHARBYTIND): Likewise.
5718         (DEC_CHARPTR): Likewise.
5719         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5720         (VALIDATE_CHARPTR_FORWARD): Likewise.
5721         (charptr_n_addr): Likewise.
5722         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5723         (simple_charptr_emchar): Moved to multibyte.h.
5724         (simple_set_charptr_emchar): Likewise.
5725         (simple_charptr_copy_char): Likewise.
5726         (non_ascii_charptr_emchar): Likewise.
5727         (non_ascii_set_charptr_emchar): Likewise.
5728         (non_ascii_charptr_copy_char): Likewise.
5729         (charptr_emchar): Likewise.
5730         (set_charptr_emchar): Likewise.
5731         (charptr_copy_char): Likewise.
5732         (charptr_emchar_n): Likewise.
5733         (Charset_ID): Moved to char-1byte.h.
5734         (Vcharset_ascii): Likewise.
5735         (CHAR_CHARSET): Likewise.
5736         (CHAR_LEADING_BYTE): Likewise.
5737         (LEADING_BYTE_ASCII): Likewise.
5738         (NUM_LEADING_BYTES): Likewise.
5739         (MIN_LEADING_BYTE): Likewise.
5740         (CHARSETP): Likewise.
5741         (CHARSET_BY_LEADING_BYTE): Likewise.
5742         (XCHARSET_LEADING_BYTE): Likewise.
5743         (XCHARSET_GRAPHIC): Likewise.
5744         (XCHARSET_COLUMNS): Likewise.
5745         (XCHARSET_DIMENSION): Likewise.
5746         (BREAKUP_CHAR): Likewise.
5747
5748 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5749
5750         * character.h: Add document about interface for characters.
5751
5752         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5753         (MAKE_CHAR): Delete comment about
5754         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5755         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5756         (BREAKUP_CHAR): Modify name of arguments.
5757         (CHAR_CHARSET): Modify name of argument.
5758
5759         * buffer.h: Delete document about Emchar accessors.
5760
5761 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5762
5763         * character.h (CHAR_INTP): Moved from buffer.h
5764         (CHAR_OR_CHAR_INTP): Likewise.
5765         (XCHAR_OR_CHAR_INT): Likewise.
5766         (CHECK_CHAR_COERCE_INT): Likewise.
5767
5768         * buffer.h (CHAR_INTP): Moved to character.h
5769         (CHAR_OR_CHAR_INTP): Likewise.
5770         (XCHAR_OR_CHAR_INT): Likewise.
5771         (CHECK_CHAR_COERCE_INT): Likewise.
5772
5773 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5774
5775         * character.h:
5776         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5777         - Include char-1byte.h, char-lb.h or char-ucs.h.
5778
5779         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5780
5781         * buffer.h: Include character unconditionally.
5782         (valid_char_p): Moved to char-*.h.
5783         (non_ascii_valid_char_p): Moved to char-lb.h.
5784
5785         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5786
5787 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5788
5789         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5790         in UTF-2000 because it is not ported yet and not to use
5791         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5792         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5793         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5794
5795         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5796         (CHAR_ASCII_P): Moved from character.h.
5797
5798         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5799         (CHAR_ASCII_P): Likewise.
5800         (CHAR_FIELD1_MASK): Deleted.
5801         (CHAR_FIELD2_MASK): Deleted.
5802         (CHAR_FIELD3_MASK): Deleted.
5803         (MAX_CHAR_BASIC_LATIN): New macro.
5804         (CHAR_FIELD1): Deleted.
5805         (CHAR_FIELD2_INTERNAL): Deleted.
5806         (CHAR_FIELD3_INTERNAL): Deleted.
5807         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5808         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5809         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5810         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5811         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5812         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5813         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5814         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5815         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5816         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5817         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5818         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5819         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5820         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5821         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5822         (MIN_CHAR_COMPOSITION): Deleted.
5823         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5824         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5825
5826 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5827
5828         * buffer.h: Include mb-utf-8.h in UTF-2000.
5829
5830         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5831
5832         * mb-utf-8.h: New file.
5833
5834 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5835
5836         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5837         instead of `int'.
5838
5839         * mule-charset.h, buffer.h (Charset_ID): New type.
5840
5841 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5842
5843         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5844         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5845         instead of `MULE_CHAR_PRIVATE_OFFSET',
5846         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5847         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5848         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5849
5850         * character.h (Vcharset_japanese_jisx0212): New variable
5851         definition.
5852
5853 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5854
5855         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5856         (charset_by_attributes): Delete array about direction.
5857         (latin_a_char_to_charset): New variable in UTF-2000.
5858         (latin_a_char_to_byte1): New variable in UTF-2000.
5859         (latin_a_char_to_byte2): New variable in UTF-2000.
5860         (Qucs_bmp): New variable.
5861         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5862         `Bufbyte'.
5863         (next_allocated_2_byte_leading_byte): Likewise.
5864         (non_ascii_set_charptr_emchar): Likewise.
5865         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5866         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5867         `charset_by_attributes'.
5868         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5869         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5870         and `CHARSET_BY_LEADING_BYTE'.
5871         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5872         `utf-2000-version' to `vars_of_mule_charset'.
5873         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5874         define `leading-code-private-11' in UTF-2000; move setting of
5875         `utf-2000-version' from `syms_of_mule_charset'.
5876         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5877         UTF-2000.
5878
5879         * character.h (Charset_ID): New type.
5880         (LEADING_BYTE_UCS_BMP): New macro.
5881         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5882         (CHARSET_ID_OFFSET_94): New macro.
5883         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5884         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5885         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5886         final-byte.
5887         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5888         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5889         (CHARSET_ID_OFFSET_96): New macro.
5890         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5891         CHARSET_ID_OFFSET_96 and final-byte.
5892         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5893         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5894         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5895         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5896         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5897         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5898         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5899         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5900         (LEADING_BYTE_THAI_TIS620): Likewise.
5901         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5902         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5903         (CHARSET_ID_OFFSET_94x94): New macro.
5904         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5905         CHARSET_ID_OFFSET_94x94 and final-byte.
5906         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5907         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5908         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5909         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5910         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5911         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5912         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5913         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5914         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5915         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5916         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5917         (CHARSET_TYPE_128X128): New macro.
5918         (CHARSET_TYPE_256X256): New macro.
5919         (XCHARSET_PRIVATE_P): Delete unconditionally.
5920         (charset_by_attributes): Delete array about direction.
5921         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5922         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5923         (MIN_CHAR_94): New macro.
5924         (MAX_CHAR_94): New macro.
5925         (MIN_CHAR_96): New macro.
5926         (MAX_CHAR_96): New macro.
5927         (MIN_CHAR_94x94): New macro.
5928         (MAX_CHAR_94x94): New macro.
5929         (MIN_CHAR_96x96): New macro.
5930         (MAX_CHAR_96x96): New macro.
5931         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5932         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5933         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5934         - 32)'.
5935         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5936         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5937         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5938         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5939         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5940         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5941         `XCHARSET_LEADING_BYTE' to make code-point.
5942         (latin_a_char_to_charset): New variable.
5943         (latin_a_char_to_byte1): New variable.
5944         (latin_a_char_to_byte2): New variable.
5945         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5946         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5947         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5948
5949         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5950         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5951         (find_charsets_in_emchar_string): Likewise.
5952         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5953
5954         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5955         `int'.
5956         (decode_coding_iso2022): Likewise.
5957
5958         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5959         of `unsigned char'.
5960
5961         * redisplay.c (redisplay_text_width_emchar_string): Use
5962         `Charset_ID' instead of `unsigned char'.
5963         (redisplay_frame_text_width_string): Likewise.
5964
5965         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5966         `unsigned char'.
5967
5968         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5969         instead of `unsigned char'.
5970         (face_cachel_charset_font_metric_info): Likewise.
5971
5972         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5973         (get_non_ascii_char_table_value): Likewise.
5974         (get_char_table): Likewise.
5975         (put_char_table): Likewise.
5976         (map_over_other_charset): Likewise.
5977         (map_char_table): Likewise.
5978
5979         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5980         instead of `unsigned char'.
5981
5982 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5983
5984         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5985         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5986
5987         * mule-charset.c (leading_code_private_11): Don't define in
5988         UTF-2000.
5989
5990         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5991         in UTF-2000 because it is not ported yet and not to use
5992         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5993
5994 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5995
5996         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5997
5998 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5999
6000         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
6001         in UTF-2000.
6002
6003         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
6004         of unsigned char to store leading-byte.
6005
6006         * chartab.c (get_non_ascii_char_table_value): Don't use
6007         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
6008
6009         * file-coding.c (encode_coding_big5): Delete bogus implementation
6010         in UTF2000.
6011
6012         * character.h (LEADING_BYTE_*): Delete definition for
6013         non-UTF-2000.
6014         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
6015         (LEADING_BYTE_PREFIX_P): Deleted.
6016         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
6017         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
6018         (BUFBYTE_LEADING_BYTE_P): Deleted.
6019         (CHARSET_PRIVATE_P): Deleted unconditionally.
6020         (rep_bytes_by_first_byte): Deleted unconditionally.
6021         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
6022         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
6023         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
6024         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
6025         (CHAR_FIELD2): Deleted.
6026         (CHAR_FIELD3): Deleted.
6027         (MAKE_CHAR): Delete definition for non-UTF-2000.
6028         (BREAKUP_CHAR_1_UNSAFE): Deleted.
6029         (breakup_char_1): New implementation.
6030         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
6031         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
6032
6033 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
6034
6035         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
6036         condition.
6037
6038 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
6039
6040         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
6041         (CHARSET_PRIVATE_P): Likewise.
6042         (XCHARSET_PRIVATE_P): Likewise.
6043         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
6044
6045         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
6046         UTF2000.
6047         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
6048
6049 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
6050
6051         * character.h (LEADING_BYTE_*): Changed in UTF2000.
6052         (NUM_LEADING_BYTES): Changed from 128 to 256.
6053         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
6054         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
6055         UTF2000.
6056         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
6057
6058         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
6059         UTF2000.
6060         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
6061         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
6062         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
6063         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
6064         (Qchinese_cns11643_3): New variable in UTF2000.
6065         (Qchinese_cns11643_4): New variable in UTF2000.
6066         (Qchinese_cns11643_5): New variable in UTF2000.
6067         (Qchinese_cns11643_6): New variable in UTF2000.
6068         (Qchinese_cns11643_7): New variable in UTF2000.
6069         (syms_of_mule_charset): Define `chinese-cns11643-3',
6070         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
6071         and `chinese-cns11643-7' in UTF2000.
6072         (vars_of_mule_charset): Initialize
6073         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
6074         + 1 in UTF2000.
6075         (complex_vars_of_mule_charset): Setup charset
6076         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
6077         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
6078
6079 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6080
6081         * mule-charset.c: Move setting for `leading-code-private-11' from
6082         `syms_of_mule_charset' to `vars_of_mule_charset'.
6083
6084 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6085
6086         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
6087         and `NUM_LEADING_BYTES' in assert.
6088
6089 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
6090
6091         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
6092         instead of 128.
6093         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
6094         `NUM_LEADING_BYTES' instead of 128.
6095
6096 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
6097
6098         * mule-charset.h (charset_by_leading_byte): Use
6099         `NUM_LEADING_BYTES' instead of 128.
6100         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
6101
6102         * mule-charset.c (charset_by_leading_byte): Use
6103         `NUM_LEADING_BYTES' instead of 128.
6104         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
6105
6106         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
6107         128.
6108
6109 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
6110
6111         * mule-charset.c (syms_of_mule_charset): Update to
6112         0.4 (Shin-Imamiya).
6113
6114 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6115
6116         * file-coding.c (encode_coding_sjis): New implementation for
6117         UTF2000.  (decode_coding_sjis): Ditto.
6118
6119 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6120
6121         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
6122         Don't define in UTF2000.
6123
6124         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
6125         defined.
6126
6127         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6128         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
6129         MULE.
6130
6131 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6132
6133         * config.h.in (CHAR_IS_UCS4): New macro.
6134
6135         * mule-charset.c (rep_bytes_by_first_byte): Modify for
6136         conventional MULE representation.
6137         (syms_of_mule_charset): Update to 0.3 (Imamiya).
6138
6139         * mule-charset.h: Reverted to original.
6140
6141         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6142         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
6143         "mule-charset.h" if CHAR_IS_UCS4 is defined.
6144
6145         * character.h: New file.
6146
6147         * file-coding.c (Fmake_coding_system): Set 1 to
6148         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
6149         defined.
6150         (encode_coding_no_conversion): New implementation for UTF2000.
6151
6152         * file-coding.h (struct Lisp_Coding_System): Add new member
6153         `fixed.size'.
6154
6155 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
6156
6157         * file-coding.c (decode_coding_iso2022): Code-point arguments of
6158         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
6159         (encode_coding_iso2022): New implementation for UTF2000.
6160
6161 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6162
6163         * mule-canna.c (c2mu): New implementation for UTF2000.
6164         (m2c): Likewise.
6165
6166 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6167
6168         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6169
6170 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6171
6172         * file-coding.c (reset_encoding_stream): Set 0 to
6173         `str->iso2022.current_char_boundary' in UTF2000.
6174         (encode_utf8): Don't define in UTF2000.
6175         (encode_coding_utf8): New implementation for UTF-8 representation
6176         of UTF2000.
6177         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6178
6179 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6180
6181         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6182
6183         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6184         UTF2000.
6185         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6186
6187         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6188
6189         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6190         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6191         as UTF-8 in UTF2000.
6192         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6193         (non_ascii_valid_char_p): Don't define in UTF2000.
6194         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6195         (Lstream_get_emchar_1): Likewise.
6196         (utf-2000-version): New variable in UTF2000.
6197
6198         * lread.c (read_escape): Add new reader `u'.
6199
6200         * insdel.c (three_to_one_table): Don't define in UTF2000.
6201         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6202         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6203         UTF2000.
6204         (bytind_to_bufpos_func): Likewise.
6205         (buffer_mule_signal_inserted_region): Likewise.
6206         (vars_of_insdel): Don't initialize `three_to_one_table'.
6207         (init_buffer_text): Use `buf->text->mule_size' instead of
6208         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6209         UTF2000.
6210
6211         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6212         UTF-8 representation in UTF2000.
6213         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6214         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6215         (decode_coding_iso2022): Don't define local variable `lb' in
6216         UTF2000; don't use LEADING_BYTE in UTF2000; use
6217         `DECODE_ADD_UCS_CHAR' in UTF2000.
6218         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6219
6220         * config.h.in (UTF2000): New macro.
6221
6222         * buffer.h (struct buffer_text): Add new member `mule_size' and
6223         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6224         (valid_char_p): Return always 1 in UTF2000.
6225         (MAX_EMCHAR_LEN): 6 in UTF2000.
6226         (three_to_one_table): Don't define in UTF2000.
6227         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6228         UTF2000.
6229         (real_bytind_to_bufpos): Likewise.
6230
6231         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6232
6233 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6234
6235         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6236         representation change.
6237         (Vutf_2000_version): New variable.
6238         (leading_code_private_11): New variable.
6239         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6240         `leading-code-private-11'.
6241
6242         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6243         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6244         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6245         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6246         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6247         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6248         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6249         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6250         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6251         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6252         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6253         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6254         (MIN_CHAR_GREEK): New macro.
6255         (MAX_CHAR_GREEK): New macro.
6256         (MIN_CHAR_CYRILLIC): New macro.
6257         (MAX_CHAR_CYRILLIC): New macro.
6258         (MIN_CHAR_HEBREW): New macro.
6259         (MAX_CHAR_HEBREW): New macro.
6260         (MIN_CHAR_THAI): New macro.
6261         (MAX_CHAR_THAI): New macro.
6262         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6263         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6264         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6265         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6266         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6267         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6268         (CHAR_FIELD2): New inline function.
6269         (CHAR_FIELD3): New inline function.
6270         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6271         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6272         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6273         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6274         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6275         (MIN_CHAR_COMPOSITION): Likewise.
6276         (CHAR_LEADING_BYTE): Modified for character representation change.
6277         (MAKE_CHAR): Likewise.
6278
6279         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6280         (Vcharset_greek_iso8859_7): Likewise.
6281         (Vcharset_cyrillic_iso8859_5): Likewise.
6282         (Vcharset_hebrew_iso8859_8): Likewise.
6283         (Vcharset_thai_tis620): Likewise.
6284         (Vcharset_katakana_jisx0201): Likewise.
6285
6286 2008-12-28  Vin Shelton  <acs@xemacs.org>
6287
6288         * XEmacs 21.4.22 is released
6289
6290 2008-12-27  Vin Shelton  <acs@xemacs.org>
6291
6292         * syswindows.h: Don't define wide character interfaces for Cygwin
6293         1.7 and up.
6294
6295 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6296
6297         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6298
6299 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6300
6301         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6302         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6303
6304 2008-12-25  Vin Shelton  <acs@xemacs.org>
6305
6306         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6307         By Julian Bradfield in
6308         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6309
6310         * mule-ccl.c (ccl_driver): 
6311
6312 2007-10-07  Vin Shelton  <acs@xemacs.org>
6313
6314         * XEmacs 21.4.21 is released
6315
6316 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6317
6318         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6319
6320 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6321
6322         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6323         (png_instantiate): Initialize setjmp_buffer early, and avoid
6324         recursive entry to error handler.
6325
6326 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6327
6328         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6329         a typo fix.
6330
6331 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6332
6333         * event-Xt.c (x_reset_modifier_mapping):
6334         * event-gtk.c (gtk_reset_modifier_mapping):
6335         Zero out the device's modifier map once we've freed it, to prevent
6336         a double free on a re-entrant call. 
6337
6338 2007-05-17  Vin Shelton  <acs@xemacs.org>
6339
6340         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6341         64-bit linux.  Patch from Hans de Graaff.
6342
6343 2007-05-02  Vin Shelton  <acs@xemacs.org>
6344
6345         * dumper.c (pdump): Don't close pdump_fd (already closed by
6346         fclose() call.  Patch from Steve Higham.
6347         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6348         already closed.  Patch inspired by Steve Higham.
6349
6350 2007-05-01  Vin Shelton  <acs@xemacs.org>
6351
6352         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6353         (mswindows_fstat): Ditto.
6354         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6355
6356 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6357
6358         * postgresql.c: Update Steve Baur's email address by his request.
6359         * postgresql.h: Ditto.
6360
6361 2007-01-04  Vin Shelton  <acs@xemacs.org>
6362
6363         * fileio.c (check_writable): Check old-style readonly bit only for
6364         non-directories.
6365
6366 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6367
6368         * src/fileio.c (check_writable): 
6369         Cope with the fact that the read-only attribute trumps Windows NTFS
6370         ACLS.
6371
6372
6373 2006-12-09  Vin Shelton  <acs@xemacs.org>
6374
6375         * XEmacs 21.4.20 is released
6376
6377 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6378
6379         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6380         relocated the definitions to be used sooner in file.
6381         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6382         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6383         overflow.
6384
6385 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6386
6387         * sound.c (init_native_sound):
6388         Only X11 and GTK devices can possibly not be on the console of the
6389         associated machine. Fixes a crash when init_native_sound is called
6390         on a msprinter device. 
6391
6392 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6393
6394         * buffer.c (buffer-file-name): Document invariant.
6395         (buffer-file-truename): Sync wording to buffer-file-name.
6396         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6397         and discussion.
6398
6399 2006-11-19  Benson Margulies  <benson@dchbk.us>
6400
6401         * fileio.c: Add code to use full Win32 API to check for write
6402         access.  Win32 has the general design policy that you aren't
6403         supposed to ask this question, since security checks change
6404         depending on asynchronous processes.  Nonetheless, there is a way,
6405         by acting as if we are a server doing interpretive access
6406         control.
6407
6408 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6409
6410         * bytecode.c: Use xnew_array instead of alloca.
6411
6412 2006-07-04  Vin Shelton  <acs@xemacs.org>
6413
6414         * redisplay-msw.c: Fix tiny, but crucial typo.
6415
6416 2006-06-22  Jerry James  <james@xemacs.org>
6417
6418         * EmacsShell-sub.c (ChangeManaged):
6419         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6420         NULL.
6421         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6422         checking if it is NULL.  Also fix a memory leak.
6423         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6424         dereference it, not the other way around.
6425         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6426         overflow check.
6427         * dumper.c (pdump_register_struct): Ditto.
6428         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6429         to (short) warnpath overflow warnpath.
6430         * extents.c (detach_all_extents): Call extent_list_delete_all with
6431         a non-NULL parameter only.
6432         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6433         NULL width and height.
6434         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6435         xic before checking if they are NULL.
6436         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6437         allocated array.
6438         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6439         * nas.c (Err): Fix a memory leak.
6440         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6441         Don't create the buffer if there is nothing to do.
6442         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6443         * redisplay-output.c (redisplay_output_layout): Ditto.
6444         * redisplay-tty.c (tty_output_display_block): Ditto.
6445         * redisplay-x.c (x_output_display_block): Ditto.
6446         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6447         dereference instance->scrollbar_data if it is NULL.
6448         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6449         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6450         for sb->scrollbar_data.
6451         * sound.c (init_native_sound): Avoid a buffer overflow by
6452         allocating a buffer with the appropriate size.
6453
6454 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6455
6456         * EmacsShell-sub.c (RootGeometryManager):
6457         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6458         Based on a suggestion by Francois L'Archeveque.
6459
6460 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6461
6462         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6463         current values found in GNU Emacs.
6464
6465 2006-03-17  Vin Shelton  <acs@xemacs.org>
6466
6467         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6468         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6469
6470         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6471         'hex_initialized' because it conflicts with 'initialized' in
6472         lisp.h.
6473
6474 2006-01-28  Vin Shelton  <acs@xemacs.org>
6475
6476         * XEmacs 21.4.19 is released
6477
6478 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6479
6480         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6481
6482 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6483
6484         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6485         5000 to INT_MAX.
6486
6487 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6488
6489         * database.c: Suppress compiler warning under Cygwin.
6490         * database.c: Removed __FreeBSD__ check, should be handled by
6491         HAVE_U_xxx_T defines.
6492
6493 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6494
6495         * console.c (stuff_buffered_input): Compile body only if
6496         HAVE_TTY.
6497
6498 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6499
6500         * callproc.c: #include sysdir.h, so that any appropriate Mule
6501         magic happens with the chdir() call when calling a subprocess. 
6502
6503 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6504
6505         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6506         * mule-ccl.c: Check that a character set exists before using it
6507         to create a character. 
6508
6509 2005-12-06  Vin Shelton  <acs@xemacs.org>
6510
6511         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6512         to INT_MAX.
6513
6514 2005-12-03  Vin Shelton <acs@xemacs.org>
6515
6516         * XEmacs 21.4.18 is released
6517
6518 2005-11-27  Kean Johnston <kean@armory.com>
6519
6520         * redisplay-tty.c (set_tty_modes):
6521         (reset_tty_modes): disable auto-margins if the terminal supports
6522         them.
6523         (init_tty_for_redisplay): fix cursor shape.
6524
6525 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6526
6527         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6528         for control-1 characters properly, both when reading multibyte
6529         characters and writing them. 
6530
6531 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6532
6533         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6534         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6535         were seeing with incremental selection transfer failing. 
6536
6537 2005-11-26  Vin Shelton  <acs@xemacs.org>
6538
6539         * callproc.c (Fold_call_process_internal): Create the buffer if it
6540         does not already exist.  The original patch came from Ben Wing in
6541         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6542
6543 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6544
6545         * callproc.c: Process-related docstring improvements spurred by
6546         Norbert Koch.
6547
6548 2005-11-25  Vin Shelton  <acs@xemacs.org>
6549
6550         * depend: Regenerated.
6551
6552 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6553
6554         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6555         says it clashes with a global with the same name.
6556
6557 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6558
6559         * sysdll.c (dll_open): Under MacOS X return NULL under the
6560         filename is NULL.  Fixes problems finding local symbols under 10.4
6561         (Tiger)
6562
6563 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6564         
6565         * config.h.in: New HAVE_U_INT*_T defines.
6566         
6567         * database.c: Only use u_int*_t typedefs if not already
6568         defined.
6569
6570 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6571
6572         * src/process-unix.c (unix_open_network_stream): moved
6573           'portbuf' buffer out of an inner block as it is used in the
6574           entire function. With gcc4, the stack may get corrupted
6575           after leaving this block. This patches adjusts the size of
6576           the used buffer also; static '128' bytes are far too much
6577           currently and might not suffice for future architectures
6578           (e.g. for 512 bit ones ;)). Instead of, use only the really
6579           required space (max octets * ln(256)/ln(10) chars + space
6580           for '\0' and the sign)
6581
6582 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6583
6584         * callproc.c: Include sysdir.h, so any necessary Mule processing
6585         is done on the current directory name before starting a new
6586         process.
6587
6588 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6589
6590         * chartab.c (Fchar_table_p):
6591         (Fget_range_char_table):
6592         (Fput_char_table):
6593         (Fmap_char_table):
6594         Describe range representation and fix typo.
6595
6596 2005-02-12  Vin Shelton  <acs@xemacs.org>
6597
6598         * emacs.c (shut_down_emacs): Advise users to send email to the
6599         xemacs-beta list instead of crashes@xemacs.org.
6600
6601 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6602
6603         * process-unix.c (unix_send_process): Flush the last chunk, even
6604         when the pipe is blocked.
6605
6606 2005-02-06  Vin Shelton <acs@xemacs.org>
6607
6608         * XEmacs 21.4.17 is released
6609
6610 2005-01-31  Ben Wing  <ben@xemacs.org>
6611
6612         * emacs.c:
6613         Define assert_failed() always.
6614         * lisp.h:
6615         Always define ABORT().
6616
6617 2005-01-25  Ben Wing  <ben@xemacs.org>
6618
6619         * Makefile.in.in:
6620         * Makefile.in.in (%.o):
6621         Don't compile executable as Windows (-mwindows) under Cygwin.
6622         Semi-recent changes to Cygwin's executable-startup handling make
6623         it impossible to access the TTY this way.
6624
6625         Don't use special linker file under Cygwin (cygwin.sc) except
6626         when non-PDUMP (even in this case it is highly questionable); you
6627         get errors like
6628
6629       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6630    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6631
6632 2005-01-29  Ben Wing  <ben@xemacs.org>
6633
6634         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6635
6636         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6637
6638 2005-01-29  Ben Wing  <ben@xemacs.org>
6639
6640         * bytecode.c (optimize_compiled_function):
6641         * print.c (FROB):
6642         * print.c (long_to_string):
6643         Add casts to avoid warning.
6644         
6645         * glyphs-eimage.c:
6646         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6647         #### The better solution is to move the TIFF and JPEG code to
6648         different files.
6649         
6650         * glyphs-msw.c (mswindows_xbm_instantiate):
6651         Define __STDC__ to avoid problems with compface.h.
6652         
6653         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6654         * EmacsShell-sub.c:
6655         * EmacsShell-sub.c (ABORT):
6656         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6657         * EmacsShell-sub.c (RootGeometryManager):
6658         * EmacsShell.c:
6659         * EmacsShell.c (ABORT):
6660         * EmacsShell.c (EmacsShellUpdateSizeHints):
6661         * alloc.c (free_lcrecord):
6662         * alloca.c (i00afunc):
6663         * buffer.c (delete_from_buffer_alist):
6664         * buffer.c (MARKED_SLOT):
6665         * bytecode.c (execute_rare_opcode):
6666         * bytecode.c (optimize_byte_code):
6667         * bytecode.c (Ffetch_bytecode):
6668         * chartab.c (char_table_type_to_symbol):
6669         * chartab.c (Freset_char_table):
6670         * chartab.c (decode_char_table_range):
6671         * chartab.c (Fget_range_char_table):
6672         * chartab.c (check_valid_char_table_value):
6673         * chartab.c (map_char_table):
6674         * chartab.c (slow_map_char_table_fun):
6675         * chartab.c (chartab_instantiate):
6676         * cm.c (cmcheckmagic):
6677         * console-msw.c (DHEADER):
6678         * console.c (MARKED_SLOT):
6679         * data.c (finish_marking_weak_lists):
6680         * data.c (encode_weak_list_type):
6681         * debug.h (DASSERT):
6682         * device-gtk.c (gtk_init_device):
6683         * device-msw.c (mswindows_get_default_margin):
6684         * device-tty.c (tty_init_device):
6685         * device-x.c (get_device_from_display):
6686         * device-x.c (x_get_visual_depth):
6687         * doprnt.c (parse_doprnt_spec):
6688         * doprnt.c (get_doprnt_args):
6689         * dumper.c (pdump_get_indirect_count):
6690         * dumper.c (pdump_register_sub):
6691         * dumper.c (pdump_register_object):
6692         * dumper.c (pdump_register_struct):
6693         * dumper.c (pdump_dump_data):
6694         * dumper.c (pdump_reloc_one):
6695         * elhash.c (print_hash_table):
6696         * elhash.c (make_standard_lisp_hash_table):
6697         * elhash.c (hash_table_instantiate):
6698         * emacs.c:
6699         * emacs.c (Fforce_debugging_signal):
6700         * emacs.c (sort_args):
6701         * emacs.c (main):
6702         * emacs.c (assert_failed):
6703         * eval.c (throw_or_bomb_out):
6704         * eval.c (signal_1):
6705         * eval.c (Fsignal):
6706         * event-Xt.c:
6707         * event-Xt.c (emacs_Xt_mapping_action):
6708         * event-Xt.c (Xt_process_to_emacs_event):
6709         * event-msw.c:
6710         * event-stream.c (check_event_stream_ok):
6711         * event-stream.c (Fadd_timeout):
6712         * event-stream.c (Fadd_async_timeout):
6713         * event-stream.c (Fdiscard_input):
6714         * event-stream.c (execute_internal_event):
6715         * event-stream.c (Frecent_keys):
6716         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6717         * event-stream.c (lookup_command_event):
6718         * event-unixoid.c (poll_fds_for_input):
6719         * events.c:
6720         * events.c (mark_event):
6721         * events.c (event_equal):
6722         * events.c (event_hash):
6723         * events.c (Fmake_event):
6724         * events.c (Fdeallocate_event):
6725         * events.c (event_chain_find_previous):
6726         * events.c (event_to_character):
6727         * events.c (format_event_object):
6728         * events.c (Fevent_type):
6729         * events.c (event_pixel_translation):
6730         * events.c (Fevent_properties):
6731         * extents.c (extent_in_region_p):
6732         * extents.c (print_extent):
6733         * extents.c (process_extents_for_insertion_mapper):
6734         * extents.c (report_extent_modification_mapper):
6735         * extents.c (glyph_layout_to_symbol):
6736         * faces.c (face_validate):
6737         * file-coding.c (eol_type_to_symbol):
6738         * file-coding.c (subsidiary_coding_system):
6739         * file-coding.c (Fcoding_system_type):
6740         * file-coding.c (Fcoding_system_property):
6741         * file-coding.c (mule_decode):
6742         * file-coding.c (mule_encode):
6743         * file-coding.c (encode_coding_ucs4):
6744         * file-coding.c (encode_coding_utf8):
6745         * file-coding.c (parse_iso2022_esc):
6746         * file-coding.c (encode_coding_iso2022):
6747         * fileio.c:
6748         * fns.c (concat):
6749         * fns.c (Fsubseq):
6750         * fns.c (mapcar1):
6751         * fns.c (Fbase64_encode_region):
6752         * fns.c (Fbase64_encode_string):
6753         * fns.c (Fbase64_decode_region):
6754         * fns.c (Fbase64_decode_string):
6755         * font-lock.c (find_context):
6756         * font-lock.c (context_to_symbol):
6757         * frame-gtk.c (gtk_set_frame_pointer):
6758         * frame-gtk.c (gtk_update_frame_external_traits):
6759         * frame-x.c (x_wm_mark_shell_size_user_specified):
6760         * frame-x.c (x_wm_mark_shell_position_user_specified):
6761         * frame-x.c (x_wm_set_shell_iconic_p):
6762         * frame-x.c (x_wm_set_cell_size):
6763         * frame-x.c (x_wm_set_variable_size):
6764         * frame-x.c (x_wm_store_class_hints):
6765         * frame-x.c (x_wm_maybe_store_wm_command):
6766         * frame-x.c (x_initialize_frame_size):
6767         * frame-x.c (x_update_frame_external_traits):
6768         * frame.c:
6769         * frame.c (delete_frame_internal):
6770         * frame.c (mouse_pixel_position_1):
6771         * frame.c (change_frame_size_1):
6772         * free-hook.c (check_free):
6773         * free-hook.c (check_realloc):
6774         * free-hook.c (note_block_input):
6775         * free-hook.c (log_gcpro):
6776         * gccache-gtk.c (gc_cache_lookup):
6777         * glyphs-eimage.c (tiff_memory_write):
6778         * glyphs-gtk.c (gtk_finalize_image_instance):
6779         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6780         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6781         * glyphs-gtk.c (gtk_xpm_instantiate):
6782         * glyphs-gtk.c (gtk_unmap_subwindow):
6783         * glyphs-gtk.c (gtk_map_subwindow):
6784         * glyphs-gtk.c (gtk_button_redisplay):
6785         * glyphs-msw.c:
6786         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6787         * glyphs-x.c (init_image_instance_from_xbm_inline):
6788         * glyphs-x.c (extract_xpm_color_names):
6789         * glyphs-x.c (x_xpm_instantiate):
6790         * glyphs.c (get_image_instantiator_governing_domain):
6791         * glyphs.c (print_image_instance):
6792         * glyphs.c (image_instance_equal):
6793         * glyphs.c (image_instance_hash):
6794         * glyphs.c (encode_image_instance_type):
6795         * glyphs.c (make_image_instance_1):
6796         * glyphs.c (inherit_instantiate):
6797         * glyphs.c (image_instantiate):
6798         * glyphs.c (allocate_glyph):
6799         * glyphs.c (Fglyph_type):
6800         * glyphs.c (redisplay_subwindow):
6801         * glyphs.c (display_table_entry):
6802         * gtk-glue.c (xemacs_list_to_gtklist):
6803         * gtk-glue.c (xemacs_gtklist_to_list):
6804         * gtk-glue.c (xemacs_list_to_array):
6805         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6806         * gutter.c (gutter_was_visible):
6807         * gutter.c (get_gutter_coords):
6808         * input-method-xlib.c (get_XIM_input):
6809         * insdel.c (bufpos_to_bytind_func):
6810         * insdel.c (bytind_to_bufpos_func):
6811         * insdel.c (move_gap):
6812         * intl.c (x_get_composed_input):
6813         * keymap.c (keymap_lookup_directly):
6814         * keymap.c (keymap_delete_inverse_internal):
6815         * keymap.c (ensure_meta_prefix_char_keymapp):
6816         * keymap.c (accessible_keymaps_mapper_1):
6817         * keymap.c (where_is_recursive_mapper):
6818         * lisp.h:
6819         * lisp.h (ABORT):
6820         * lread.c (read_atom):
6821         * lstream.c (Lstream_delete):
6822         * lstream.c (make_lisp_buffer_stream_1):
6823         * macros.c (pop_kbd_macro_event):
6824         * malloc.c (malloc):
6825         * malloc.c (free):
6826         * marker.c (bi_marker_position):
6827         * marker.c (set_bi_marker_position):
6828         * menubar-gtk.c (menu_descriptor_to_widget_1):
6829         * menubar-msw.c (prune_menubar):
6830         * menubar-x.c (set_frame_menubar):
6831         * mule-charset.c (get_unallocated_leading_byte):
6832         * mule-charset.h (CHAR_LEADING_BYTE):
6833         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6834         * nt.c (init_environment):
6835         * nt.c (generate_inode_val):
6836         * ntproc.c (delete_child):
6837         * ntproc.c (_sys_read_ahead):
6838         * ntproc.c (create_child):
6839         * objects.c (color_instantiate):
6840         * objects.c (font_instantiate):
6841         * objects.c (face_boolean_instantiate):
6842         * print.c (printing_major_badness):
6843         * process-nt.c (nt_send_process):
6844         * process-unix.c (unix_send_process):
6845         * process.c (get_process):
6846         * ralloc.c (obtain):
6847         * ralloc.c (relinquish):
6848         * ralloc.c (relocate_blocs):
6849         * ralloc.c (resize_bloc):
6850         * ralloc.c (r_alloc_free):
6851         * ralloc.c (r_re_alloc):
6852         * ralloc.c (r_alloc_thaw):
6853         * ralloc.c (init_ralloc):
6854         * ralloc.c (Free_Addr_Block):
6855         * ralloc.c (r_alloc):
6856         * redisplay-gtk.c (gtk_output_display_block):
6857         * redisplay-msw.c (mswindows_output_display_block):
6858         * redisplay-output.c (get_next_display_block):
6859         * redisplay-output.c (get_cursor_size_and_location):
6860         * redisplay-output.c (redisplay_output_layout):
6861         * redisplay-output.c (redisplay_clear_region):
6862         * redisplay-tty.c (tty_output_display_block):
6863         * redisplay-x.c (x_output_display_block):
6864         * redisplay.c (add_propagation_runes):
6865         * redisplay.c (add_glyph_rune):
6866         * redisplay.c (create_text_block):
6867         * redisplay.c (add_margin_runes):
6868         * redisplay.c (create_left_glyph_block):
6869         * redisplay.c (create_right_glyph_block):
6870         * redisplay.c (create_string_text_block):
6871         * redisplay.c (regenerate_window):
6872         * redisplay.c (REGEN_INC_FIND_START_END):
6873         * redisplay.c (redisplay_frame):
6874         * redisplay.c (point_in_line_start_cache):
6875         * regex.c:
6876         * regex.c (ABORT):
6877         * regex.c (re_compile_fastmap):
6878         * regex.c (re_match_2_internal):
6879         * regex.c (regerror):
6880         * scrollbar-gtk.c (gtk_scrollbar_loop):
6881         * scrollbar-gtk.c (scrollbar_cb):
6882         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6883         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6884         * scrollbar-x.c (x_update_scrollbar_instance_status):
6885         * scrollbar-x.c (x_scrollbar_loop):
6886         * scrollbar-x.c (x_update_frame_scrollbars):
6887         * search.c (search_command):
6888         * search.c (Fmatch_data):
6889         * select-x.c (motif_clipboard_cb):
6890         * signal.c (interrupt_signal):
6891         * specifier.c (specifier_add_spec):
6892         * specifier.c (specifier_instance_from_inst_list):
6893         * specifier.c (specifier_instance):
6894         * specifier.h:
6895         * specifier.h (struct specifier_methods):
6896         * strftime.c (add_num_time_t):
6897         * sunplay.c (init_device):
6898         * symbols.c (Fsetplist):
6899         * symbols.c (do_symval_forwarding):
6900         * symbols.c (store_symval_forwarding):
6901         * symbols.c (Fset):
6902         * symbols.c (Fbuilt_in_variable_type):
6903         * symbols.c (decode_magic_handler_type):
6904         * symbols.c (handler_type_from_function_symbol):
6905         * syntax.c (update_syntax_cache):
6906         * sysdep.c (init_baud_rate):
6907         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6908         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6909         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6910         * toolbar.c (get_toolbar_coords):
6911         * ui-gtk.c (build_gtk_boxed):
6912         * ui-gtk.c (describe_gtk_arg):
6913         * ui-gtk.c (gtk_type_to_lisp):
6914         * ui-gtk.c (lisp_to_gtk_type):
6915         * ui-gtk.c (lisp_to_gtk_ret_type):
6916         * ui-gtk.c (lisp_to_flag):
6917         * unexnt.c (read_in_bss):
6918         * unexnt.c (map_in_heap):
6919         * window.c (real_window):
6920         * window.c (window_display_lines):
6921         * window.c (window_display_buffer):
6922         * window.c (set_window_display_buffer):
6923         * window.c (window_modeline_height):
6924         * window.c (unshow_buffer):
6925         * window.c (window_loop):
6926         * window.c (Fget_lru_window):
6927         * window.c (Fsplit_window):
6928         * window.c (Fset_window_configuration):
6929         * window.c (saved_window_index):
6930         * xgccache.c (gc_cache_lookup):
6931         abort() -> ABORT().  Eliminate preprocessor games with abort()
6932         since it creates huge problems in VC7, solvable only by including
6933         massive amounts of files in every compile (and not worth it).
6934
6935         * sysdep.c:
6936         * sysproc.h:
6937         Inclusion of process.h does not need to be before lisp.h any more.
6938         Move later and remove comment about abort().
6939
6940 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6941
6942         * regex.c (re_match_2_internal):
6943         Correctly initialize loop which clears uninitialized registers.
6944
6945 2005-01-28  Vin Shelton  <acs@xemacs.org>
6946
6947         * sheap.c (more_static_core): Applied Ben's version of the long
6948         string patch.
6949
6950 2005-01-24  Vin Shelton  <acs@xemacs.org>
6951
6952         * sheap.c (more_static_core): Reformatted printf string so
6953         gcc-3.3.3 will compile this on Cygwin.
6954
6955 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6956
6957         * console.c (function_key_map): Reference `key-binding'.
6958
6959         * keymap.c (Vkey_translation_map): Improve docstring.
6960
6961 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6962
6963         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6964         * window.c (window_loop): [fix] Take into account
6965         `allow-deletion-of-last-visible-frame' variable.
6966         * window.c (replace-buffer-in-windows): Ditto.
6967
6968 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6969
6970         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6971
6972 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6973
6974         * event-gtk.c: Recognise AltGr as a valid modifier.
6975
6976 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6977
6978         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6979
6980 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6981
6982         Fix backreference bug caught by test suite.
6983
6984         * regex.c (regex_compile):
6985         Make backref duplicate internal register.
6986
6987 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6988
6989         Documentation, code clarification, and warning suppression.
6990         
6991         * regex.c (regex_compile):
6992         Improve comments.
6993         (re_match_2_internal):
6994         Improve comments and avoid redundant braces.  [Most of the big hunk
6995         at l. 4710 is indentation; use diff -w to see the real changes.]
6996         (alt_match_null_string_p):
6997         (common_op_match_null_string_p):
6998         Avoid shadowing global on Mac OS X 10.4, at least.
6999
7000 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
7001
7002         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
7003         introduced with shy groups fix).  [Already applied, probably
7004         with the second "fix shy groups" patch of 2004-10-07.] 
7005
7006 2005-01-10  Steve Youngs  <steve@sxemacs.org>
7007
7008         From Andrey Slusar <anrays@gmail.com>:
7009
7010         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
7011
7012 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
7013
7014         * Makefile (RECURSIVE_MAKE): Removed.
7015         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
7016         handling parallel builds.
7017
7018 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
7019
7020         * Makefile.in.in: Enable support for parallel builds.
7021
7022 2005-01-09  Steve Youngs  <steve@sxemacs.org>
7023
7024         From Andrey Slusar <anrays@gmail.com>:
7025
7026         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
7027         FreeBSD version is >= 199701 _and_ < 600006.
7028
7029 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
7030
7031         * scrollbar.c (compute_scrollbar_instance_usage):
7032         Only call device method compute_scrollbar_instance_usage() if it
7033         is defined.
7034
7035 2004-12-05  Vin Shelton <acs@xemacs.org>
7036
7037         * XEmacs 21.4.16 is released
7038
7039 2004-12-04  Vin Shelton  <acs@xemacs.org>
7040
7041         * depend: Regenerated.
7042
7043 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
7044
7045         * regex.c (re_match_2_internal): Map internal to external
7046         registers.  Fixes bug identified by Steve Youngs 2004-09-30
7047         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
7048
7049 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7050
7051         * buffer.c (Frecord_buffer): Make sure the argument is buffer
7052         to fix a crash.  Also, check the buffer is live and it
7053         really exists in buffer_list.  If the buffer is not in the list,
7054         prepend it.
7055
7056 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
7057
7058         Fix shy groups by implementing recording of all groups for
7059         repetition and backtracking.  Backport from 21.5.
7060         
7061         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
7062         external_to_internal_register, external_to_internal_register_size,
7063         and update comments for re_nsub.
7064
7065         * regex.c (re_opcode_t): Update comments.
7066         (print_compiled_pattern): Ouput external_to_internal_register,
7067         external_to_internal_register_size, and re_ngroups for debugging.
7068         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
7069         (regex_compile): Update header comment.
7070         Ensure that all groups are recorded so that repeat matches and
7071         backtracking work correctly.  Comment related warning for groups >
7072         255.
7073         (re_search_2): Construct map of API indexes (which count only
7074         nonshy groups) to internal register numbers, and keep it updated.
7075
7076 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
7077
7078         * frame-gtk.c (gtk_make_frame_visible):
7079         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
7080         show/hide.  This is what X uses and is prevents previously hidden
7081         widgets from suddenly reappearing.
7082         * gtk-xemacs.c (gtk_xemacs_paint):
7083         * gtk-xemacs.c (gtk_xemacs_draw):
7084         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
7085         drawable.
7086         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
7087         size and location changes so that they can be seen before the next
7088         idle event.  Without this rapid changes to scrollbar properties
7089         are not seen.
7090
7091 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
7092
7093         * console-gtk.h:
7094         * console-gtk.h (struct gtk_frame):
7095         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
7096           Add hash tables track tab_control callback data.
7097           Added #defines for GTK object data names.
7098           Declaration of gtk_widget_to_frame().
7099         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
7100         * frame-gtk.c (gtk_widget_to_frame): New.
7101         * frame-gtk.c (gtk_create_widgets):
7102         * frame-gtk.c (allocate_gtk_frame_struct):
7103         * frame-gtk.c (gtk_mark_frame):
7104         Manage frame callbakc hash tables.
7105         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
7106         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
7107         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
7108         of widget size.
7109         * glyphs-gtk.c (gtk_widget_query_geometry): New
7110         * glyphs-gtk.c (gtk_register_gui_item): New
7111         * glyphs-gtk.c (gtk_add_tab_item): New
7112         * glyphs-gtk.c (gtk_tab_control_callback): New
7113         * glyphs-gtk.c (gtk_tab_control_instantiate): New
7114         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
7115         Use correct list when loading item.
7116         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
7117         Register new methods.
7118         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
7119         default size, for widgets.
7120         * gui-x.c:  Improved comment.
7121         * menubar-gtk.c (__generic_button_callback): Use
7122         gtk_widget_to_frame instead of __get_channel.
7123         * scrollbar-gtk.c:
7124         * ui-gtk.c: Use symbolic names for GTK object data.
7125
7126 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
7127
7128         * s/usg5-4.h (NSIG): Define only inside emacs binary.
7129
7130 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
7131
7132         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
7133
7134 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
7135
7136         * malloc.c (morecore): siz is a long because in some architectures
7137         (eg ia-64) an int cannot hold the address range.  Additional patch
7138         from the SuSe distribution.
7139
7140 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
7141
7142         * emacs.c:
7143         * malloc.c: lim_data is a long because in some architectures
7144         (eg ia-64) an int cannot hold the address range.
7145         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
7146         instead of ulimit() because ulimit() always returns -1.
7147
7148 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
7149
7150         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
7151
7152 2004-06-11  David Kastrup  <dak@gnu.org>
7153
7154         * search.c (match_limit): Don't flag an error if match-data
7155         exceeding the allocated search_regs.num_regs gets requested, just
7156         return Qnil.
7157
7158 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7159
7160         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7161         replace symbolic color entries with the real colors specified in
7162         xpm-color-symbols, before passing the XPM to gtk.
7163         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7164         instead of a GTK specific field, so that it is used in by generic
7165         code.
7166
7167 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7168
7169        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7170         coredump from deref of NULL ptr (ExtData)
7171
7172 2004-04-19  Jerry James  <james@xemacs.org>
7173
7174         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7175         VALBITS to compute the location of the sign bit.
7176         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7177         of VALBITS with EMACS_INT_MAX.
7178         * events.c (Fevent_timestamp): Ditto.
7179         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7180         compute the halfway point to timestamp wraparound.
7181         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7182         EMACS_INT_MIN instead of using VALBITS.
7183         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7184         incorrect number with VALBITS.
7185         * fns.c (Frandom): Correct number of integer bits in docstring.
7186         Use INT_VALBITS instead of VALBITS to compute the denominator.
7187         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7188         build random numbers.
7189
7190 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7191         * event-gtk.c:
7192         * event-gtk.c (gtk_event_to_emacs_event):
7193         * menubar-gtk.c:
7194         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7195         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7196         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7197         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7198         * menubar-gtk.c (__activate_menu):
7199         * menubar-gtk.c (convert_underscores):
7200         * menubar-gtk.c (remove_underscores):
7201         * menubar-gtk.c (menu_convert):
7202         * menubar-gtk.c (menu_descriptor_to_widget_1):
7203         * menubar-gtk.c (menu_descriptor_to_widget):
7204         * menubar-gtk.c (menu_can_reuse_widget):
7205         * menubar-gtk.c (menu_create_menubar):
7206         * menubar-gtk.c (gtk_popup_menu):
7207         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7208         Added support for Gtk menu bar and menu item mnemonics.
7209
7210 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7211
7212         * sysdll.c: (dll_function): Added support for finding symbols in
7213         Darwin shared libraries as well in Darwin bundles.
7214         * sysdll.c (image_for_address): New
7215         * sysdll.c (my_find_image): New
7216         * sysdll.c (search_linked_libs): New
7217
7218 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7219
7220         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7221         return to GTK requires a different API to marshalling data to use
7222         as GTK parameters.
7223         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7224
7225 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7226
7227         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7228
7229 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7230
7231         * glyphs.c (process_image_string_instantiator):
7232         (Fset_console_type_image_conversion_list):
7233         Stop GCC from warning about shadowing of `exp'.
7234
7235         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7236
7237 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7238
7239         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7240
7241 2004-02-03  Vin Shelton  <acs@xemacs.org>
7242
7243         * glyphs.c (image_instance_layout): Remove pointless assertion.
7244         * regex.c (regex_grow_registers): Return type is void.
7245
7246 2004-02-02  Vin Shelton <acs@xemacs.org>
7247
7248         * XEmacs 21.4.15 is released
7249
7250 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7251
7252         * device-x.c (x_error_handler): Don't call stderr_out
7253
7254 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7255
7256         * buffer.c (other-buffer): Clarify documentation of order of
7257         arguments for FSF Emacs.
7258
7259 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7260
7261         * window.c (Fdelete_window): Dirty the mirror structure _before_
7262         marking the window deleted.
7263
7264 2003-09-15  Jerry James  <james@xemacs.org>
7265
7266         * event-msw.c (debug_mswin_messages): Conditionally compile
7267         messages missing from the Cygwin headers.
7268
7269 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7270
7271         * data.c (eq_with_ebola_notice): Fix typo in comment.
7272         (Ftrue_list_p): Improve docstring.
7273
7274 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7275
7276         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7277
7278 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7279
7280         * search.c (trivial_regexp_p): Regexps containing "\{" are
7281         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7282         Stefan Monnier for suggesting a diagnosis.
7283
7284 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7285
7286         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7287
7288 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7289
7290         * search.c (Fsearch_forward):
7291         (Fsearch_backward):
7292         Document negative count.
7293
7294 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7295
7296         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7297
7298 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7299
7300         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7301
7302 2003-09-15  Vin Shelton  <acs@xemacs.org>
7303
7304         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7305         21.5.
7306
7307 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7308
7309         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7310         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7311         (re_match_2_internal): Use TRANSLATE instead of
7312         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7313         non-ASCII char case conversion.
7314
7315 2003-09-08  Mike Sperber  <mike@xemacs.org>
7316
7317         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7318         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7319
7320 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7321
7322        * .gdbinit (pobj): fix printing of symbol name.
7323
7324 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7325
7326         * frame-x.c (x_layout_widgets): When resizing is about to cause
7327         frame size slip, mark it for redisplay.
7328
7329 2003-08-18  Jerry James  <james@xemacs.org>
7330
7331         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7332
7333 2003-09-03  Vin Shelton <acs@xemacs.org>
7334
7335         * XEmacs 21.4.14 is released
7336
7337 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7338
7339         * config.h.in (REGEX_MALLOC): Make it configure'able.
7340
7341 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7342
7343         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7344         linking.
7345         * sysdll.c (dll_init):
7346         * sysdll.c (dll_open):
7347         * sysdll.c (dll_close):
7348         * sysdll.c (dll_function):
7349         * sysdll.c (dll_variable):
7350         * sysdll.c (dll_error):
7351         Add support for loading bundles using Darwin/MacOSX
7352         native API.
7353
7354 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7355
7356         * process.c (start-process-internal): Document coding systems.
7357
7358 2003-07-30  Jerry James  <james@xemacs.org>
7359
7360         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7361
7362 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7363
7364         * event-msw.c (mswindows_enqueue_mouse_button_event):
7365         * event-msw.c (mswindows_wnd_proc):
7366           enqueue button event when scrollwheel event isn't handled by 
7367           mswindows_handle_mousewheel_event, such as when the scrollbars
7368           are not showing.
7369
7370 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7371
7372         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7373
7374 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7375
7376         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7377
7378 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7379
7380         * regex.c (re_match_2_internal): Fix matching degenerate word
7381         boundaries.
7382
7383 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7384
7385         * XEmacs 21.4.13 is released
7386
7387 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7388
7389         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7390         * lisp.h (<inttypes.h>):
7391         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7392         the definition.
7393
7394 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7395
7396         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7397         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7398         Result: "temacs can only be run in -batch mode."
7399         Fix: Check xemacs executable candidate for directory-ness.
7400
7401 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7402
7403         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7404           they conflict with <sys/types.h>.
7405
7406 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7407
7408         * database.c: Berkeley DB wants __STDC__ to be defined.
7409
7410 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7411
7412         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7413
7414 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7415
7416         * process-unix.c (unix_send_process): Fix C++ compile error.
7417
7418 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7419
7420         * Added .dylib as an acceptable shared library file extension
7421         * to support MacOSX.
7422
7423 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7424
7425         * EmacsFrameP.h (EmacsFramePart):
7426         Kludge to allow compiling with Motif1, but linking with Motif2.
7427
7428 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7429
7430         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7431
7432
7433 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7434
7435         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7436
7437 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7438
7439         * sysdll.c: Included lisp.h to define needed alloca_array.
7440
7441 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7442
7443         Make XEmacs redisplay 10 times faster.
7444         If, that is, you're using a slow X connection and MoveOpaque.
7445         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7446         Use compress_motion = TRUE.
7447         * EmacsFrame.c (emacsFrameClassRec): 
7448         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7449         * EmacsManager.c (emacsManagerClassRec):
7450         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7451
7452 2003-01-30  Vin Shelton  <acs@xemacs.org>
7453
7454         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7455
7456 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7457
7458         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7459         Patch by Martin Buchholz.
7460
7461 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7462
7463         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7464         Thanks to icc for warning and Martin Buchholz for reporting.
7465
7466 2003-01-29  Vin Shelton <acs@xemacs.org>
7467
7468         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7469
7470         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7471         remember to multiply by the element size.
7472
7473 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7474
7475         * XEmacs 21.4.12 "Portable Code" is released.
7476
7477 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7478
7479         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7480         * s/cygwin.sc: new linker file.
7481
7482 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7483
7484         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7485
7486         * redisplay-x.c (x_output_string): Use X11-specified types.
7487         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7488         * emacs.c (__free_hook): Use typeof with Intel compiler.
7489         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7490
7491 2003-01-08  Andy Piper  <andy@xemacs.org>
7492
7493         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7494         reserve size during unexec().
7495
7496 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7497
7498         * process-unix.c (unix_create_process): Don't let outchannel block.
7499
7500 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7501
7502         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7503         Needed for IsBadReadPtr().
7504
7505 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7506
7507         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7508
7509 2002-12-14  Ben Wing  <ben@xemacs.org>
7510
7511         * callint.c: Declaration error.
7512         * dumper.c (pdump):
7513         * dumper.c (pdump_load): Warning fix.
7514         * process.c: GCPRO error.
7515         * glyphs.c (unmap_subwindow):
7516         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7517         * event-stream.c (maybe_kbd_translate): Wrong argument to
7518         character_to_event().
7519
7520         * alloc.c (garbage_collect_1):
7521         * emacs.c:
7522         * emacs.c (debug_can_access_memory):
7523         * emacs.c (fatal_error_signal):
7524         * emacs.c (mswindows_handle_hardware_exceptions):
7525         * emacs.c (main_1):
7526         * emacs.c (main):
7527         * emacs.c (assert_failed):
7528         * emacs.c (syms_of_emacs):
7529         * lisp.h:
7530         * print.c:
7531         * print.c (std_handle_out_va):
7532         * print.c (write_string_to_stdio_stream):
7533         * print.c (write_fmt_string):
7534         * print.c (printing_badness):
7535         * print.c (printing_major_badness):
7536         * print.c (print_internal):
7537         * print.c (debug_print_no_newline):
7538         * print.c (debug_backtrace):
7539         Be more defensive in handling bad values when printing.  Add code
7540         from trunk involving inhibit_non_essential_printing_operations.
7541         When going down or in debug_print(), don't do external conversion
7542         and such and try really, really hard when printing to avoid core
7543         dumping.  Add force-debugging-signal, debug_break().
7544
7545 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7546
7547         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7548         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7549
7550 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7551
7552         * database.c: Fix open_database. Berkeley DB API has changed in
7553         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7554
7555 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7556
7557         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7558
7559 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7560
7561         * event-Xt.c (Xt_timeout):
7562         (Xt_timeout_callback):
7563         (emacs_Xt_add_timeout):
7564         (emacs_Xt_remove_timeout):
7565         (Xt_timeout_to_emacs_event):
7566         Turn completed_timeouts from a stack into a queue.  Fixes
7567         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7568
7569 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7570
7571         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7572         * emacs.c (main): Assert that mmap'd allocation is disabled.
7573
7574 2002-10-14  Andy Piper  <andy@xemacs.org>
7575
7576         * glyphs-widget.c (layout_query_geometry): add in fiddle
7577         factor. Include border text in width layout calculation.
7578         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7579
7580 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7581
7582         * XEmacs 21.4.10 "Military Intelligence" is released.
7583
7584 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7585
7586         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7587         using the NAS private array SoundFileInfo that no longer exists in
7588         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7589         and earlier.  This is broken for some versions between 1.5a and
7590         1.5f.
7591
7592 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7593
7594         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7595
7596         * emacs.c (shut_down_emacs): Improve crash message.
7597
7598 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7599
7600         * file-coding.c (determine_real_coding_system): Check for coding
7601         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7602         shebangs and Python PEP 263.
7603
7604 2002-10-08  Andy Piper  <andy@xemacs.org>
7605
7606         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7607         if static sizes haven't been set.
7608
7609 2002-08-30  Mike Alexander  <mta@arbortext.com>
7610
7611         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7612         to close a socket.
7613
7614 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7615
7616         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7617
7618 2002-09-20  Mike Sperber <mike@xemacs.org>
7619
7620         (This partially gets back my patch from 2002-07-20 without the
7621         bug.)
7622         * callproc.c (child_setup): Remove Ben's comment noting confusion
7623         over the file descriptors >= 3: close_process_descs() doesn't
7624         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7625         * process-unix.c (unix_create_process): Call
7626         begin_dont_check_for_quit to inhibit unwanted interaction (and
7627         thus breaking of X event synchronicity) in the child.
7628
7629 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7630
7631         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7632         widget.
7633
7634 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7635
7636         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7637         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7638         the xemacs process did not exit, but looped infinitely here.  This
7639         fixes that problem.
7640
7641 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7642
7643         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7644         (find_context): Improve comments.
7645
7646         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7647         (re_match_2): An XCHAR_TABLE operation was missing.
7648
7649         Many of the following changes were inspired by Andy Piper's (now
7650         obsolete) patch to make syntax-table text property lookup optional.
7651
7652         [Documentation]
7653
7654         * syntax.h (top level): Document semantics of syntax flags.
7655         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7656         * syntax.c, syntax.h (top level): Document syntax cache better in
7657         comments.
7658
7659         [Instrument syntax caching (temporary change)]
7660
7661         * syntax.h (enum syntax_cache_statistics_functions, struct
7662         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7663         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7664         * syntax.c (scan_words, Fforward_comment, scan_lists,
7665         Fbackward_prefix_characters):
7666         * font-lock.c (find_context):
7667         Use them to instrument syntax caching. 
7668         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7669         syntax_cache_statistics_function_names): New type and variables.
7670         * syntax.c (update_syntax_cache): Update and report statistics.
7671
7672         [Major syntax cache optimizations]
7673
7674         syntax.c (lookup_syntax_properties): Default off.
7675
7676         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7677         * syntax.c (update_syntax_cache):
7678         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7679
7680         [Minor syntax cache optimizations and code clarifications]
7681
7682         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7683         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7684         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7685         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7686         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7687         (Code clarification.)
7688
7689         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7690         scan_lists): Compute code from syncode, use Boolean macros instead
7691         of redundant masking operations.  (Code clarification; any decent
7692         compiler can do this optimization.)
7693
7694         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7695         for clarity.
7696
7697         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7698         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7699         use F*_single_property_change instead of F*_extent_change.
7700         Currently F*_single_property_change is _much_ less efficient.
7701
7702         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7703         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7704         syntax_cache.object properly, don't leave Qt or Qnil.
7705         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7706         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7707         tests for Qt or Qnil.
7708
7709 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7710
7711         * redisplay.c (point_in_line_start_cache): 
7712         * extents.c (print_extent_1):
7713         Fix warnings.
7714
7715         * extents.c (Fset_extent_property): Document `syntax-table' property.
7716
7717         * extents.h (Fnext_single_property_change): EXFUN it.
7718
7719 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7720
7721         * search.c (clear_unused_search_regs): New static function.
7722         (search_buffer): 
7723         (simple_search): 
7724         (boyer_moore):
7725         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7726         Minor clarifications in comments.
7727
7728         * regex.c (re_match_2_internal): Ensure no stale submatches.
7729
7730 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7731
7732         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7733
7734 2002-08-29  Jerry James  <james@xemacs.org>
7735
7736         * lisp.h: structrures -> structures.
7737
7738 2002-06-03  Andy Piper  <andy@xemacs.org>
7739
7740         * frame.c (frame_conversion_internal): add conversion appropriate
7741         for setting frame dimensions in pixels.
7742
7743         * console.h (struct console_methods): add device-specific widget
7744         layout functions.
7745
7746         * emacs.c (main_1): initialize glyph vars.
7747
7748         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7749         (handle_focus_event_2): new function. Allow focus to
7750         be set to a particular window and widget.
7751         (enqueue_focus_event): new function. Create a
7752         synthetic focus event.
7753         (emacs_Xt_handle_magic_event): call
7754         handle_focus_event_2.
7755
7756         * frame.c (Fset_frame_pixel_height): new function. Allow
7757         pixel-based sizing. Does the right thing on character-oriented
7758         displays.
7759         (Fset_frame_pixel_width): ditto.
7760         (Fset_frame_pixel_size): ditto.
7761         (syms_of_frame): declare.
7762
7763         * general-slots.h: add :vertically-justify and
7764         :horizontally-justify.
7765
7766         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7767         (mswindows_widget_border_width): new function.
7768         (mswindows_combo_box_instantiate): set border widths.
7769         (console_type_create_glyphs_mswindows): declare.
7770
7771         * glyphs-widget.c:
7772         (check_valid_justification): allow vertical and horizontal
7773         justification.
7774         (widget_border_width): new function. Call device methods.
7775         (widget_instance_border_width): ditto.
7776         (logical_unit_height): new function. Determine the height of a
7777         logical-unit. Logical units are intended to provide grid-like
7778         layout for subcontrols in a layout. If the layout is
7779         :vertically-justify top then subcontrols will be positioned on
7780         logical-unit boundaries, thus allowing adjacent subcontrols to
7781         line up.
7782         (widget_logical_unit_height): ditto for widgets.
7783         (redisplay_widget): misc cleanup.
7784         (widget_spacing): new function. Call device specific
7785         methods. Intended to be the default gap between adjacent widgets.
7786         (widget_query_geometry): use new spacing functions to determine
7787         appropriate geometry.
7788         (initialize_widget_image_instance): initialize horizontal and
7789         vertical justification.
7790         (widget_instantiate): use logica-units where appropriate for
7791         sizing large widgets.
7792         (button_query_geometry): use widget_instance_border_width.
7793         (tree_view_query_geometry): ditto.
7794         (tab_control_query_geometry): ditto.
7795         (edit_field_query_geometry): new function.
7796         (layout_update): pick up :justify, :horizontally-justify and
7797         :vertically-justify none of which worked previously. :justify is
7798         used as a fallback for both horizontal and vertical justification.
7799         (layout_query_geometry): use logical units to size appropriately.
7800         (layout_layout): ditto.
7801         (Fwidget_logical_to_character_width): new function. Allow users to
7802         convert from logical units to characters so that frame sizes can
7803         be set appropriately.
7804         (Fwidget_logical_to_character_height): ditto.
7805         (syms_of_glyphs_widget): declare.
7806         (image_instantiator_edit_fields): add edit_field_query_geometry.
7807         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7808         :horizontally-justify.
7809         (specifier_vars_of_glyphs_widget): new function. Declare
7810         Vwidget_border_width which is not yet used.
7811
7812         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7813         (x_widget_border_width): new function.
7814         (x_widget_instantiate): create a sensible name for widgets.
7815         (console_type_create_glyphs_x): declare x_widget_border_width.
7816
7817         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7818         (struct Lisp_Image_Instance): add :vertically-justify and
7819         :horizontally-justify.
7820         (LAYOUT_JUSTIFY_TOP): new.
7821         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7822         (ROUND_UP): new macro. Round argument up to next integral
7823         interval.
7824
7825         * redisplay-output.c (redisplay_output_layout): misc formatting.
7826
7827         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7828
7829 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7830
7831         * XEmacs 21.4.9 "Informed Management" is released.
7832
7833 2002-08-19  Andy Piper  <andy@xemacs.org>
7834
7835         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7836         win32 format.
7837
7838         * realpath.c (xrealpath): normalize drive spec also so that dir
7839         sep chars are not mixed on cygwin.
7840
7841 2002-08-06  Jerry James  <james@xemacs.org>
7842
7843         * window.c (Fsplit_window): Count only half of the divider width
7844         against the left window when splitting horizontally. 
7845
7846 2002-06-24  Andy Piper  <andy@xemacs.org>
7847
7848         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7849         toolbar was cleared.
7850
7851         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7852         function. Split out from mswindows_output_frame_toolbars.
7853         (mswindows_output_frame_toolbars): move clear pieces to
7854         mswindows_output_frame_toolbars.
7855
7856         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7857         out from gtk_output_frame_toolbars.
7858         (gtk_output_frame_toolbars): move clear pieces to
7859         gtk_clear_frame_toolbars.
7860
7861         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7862         the frame is cleared. How this ever worked before is a mystery.
7863         (x_output_frame_toolbars): Only output toolbars.
7864         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7865
7866         * gutter.c (update_gutter_geometry):
7867         Mark frame layout changed.
7868         (update_frame_gutter_geometry, update_frame_gutters):
7869         Respect frame_layout_changed.
7870
7871         * console.h (struct console_methods): add
7872         clear_frame_toolbars_method.
7873
7874         * redisplay.c (redisplay_frame): call
7875         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7876
7877         * toolbar.h: declare update_frame_toolbars_geometry.
7878
7879         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7880         out from update_frame_toolbars.  Call clear_frame_toolbars.
7881         (update_frame_toolbars): only output, do not change geometry.
7882
7883         * redisplay.c: add frame_layout_changed.
7884
7885         * redisplay.h: add frame_layout_changed.
7886         (CLASS_RESET_CHANGED_FLAGS): set it.
7887         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7888         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7889         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7890
7891         * device.h (struct device): add frame_layout_changed.
7892         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7893
7894         * frame.h (struct frame): add frame_layout_changed.
7895         (MARK_FRAME_LAYOUT_CHANGED): new.
7896
7897 2002-06-30  Mike Alexander  <mta@arbortext.com>
7898
7899         * event-msw.c (mswindows_need_event): Don't wait for a new message
7900         if the queue is not empty.  Suggested by Paul Moore.
7901
7902 2002-06-12  Andy Piper  <andy@xemacs.org>
7903
7904         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7905         for printing on accurately.
7906
7907 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7908
7909         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7910         WM_ACTIVATE message. Make sure that the frame is visible if the
7911         window is visible. This seemss to fix the problem where XEmacs
7912         appears to freeze after switching desktops with certain virtual
7913         window managers.
7914         (debug_output_mswin_message): Added code to output message
7915         parameters for WM_WINDOWPOSCHANGED, 
7916         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7917
7918 2002-05-25  Andy Piper  <andy@xemacs.org>
7919
7920         * select-x.c (vars_of_select_x): Fix docstring of
7921         x-selection-strict-motif-ownership
7922
7923 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7924
7925         * keymap.c (get_keymap):
7926         Add comment about do_autoload GCPROs own args.
7927
7928 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7929
7930         * bytecode.c (execute_optimized_program): check_opcode ifdef
7931         ERROR_CHECK_BYTE_CODE.
7932
7933 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7934
7935         Thanks to Ben Wing and Michael Sperber.
7936
7937         * eval.c (Fcommand_execute):
7938         (Feval):
7939         (Ffuncall):
7940         (Fmacroexpand_internal):
7941         (function_argcount):
7942         callint.c (Fcall_interactively):
7943         Add comment about do_autoload GCPROs own args.
7944
7945         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7946
7947         * eval.c (Ffuncall): Extra braces to placate GCC.
7948
7949 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7950
7951         * backtrace.h (grow_specpdl):
7952         (SPECPDL_RESERVE):
7953         * EmacsFrame.c (EmacsFrameSetValues):
7954         * eval.c (grow_specpdl):
7955         * ExternalShell.c (hack_event_masks_1):
7956         * glyphs-x.c (convert_EImage_to_XImage): 
7957         (x_finalize_image_instance):
7958         * ralloc.c (page_size):
7959         (r_alloc_sbrk):
7960         * xgccache.c (gc_cache_hash):
7961         Fix unsigned comparison warnings.
7962
7963 2002-07-29  Jerry James  <james@xemacs.org>
7964
7965         * lread.c (locate_file): Any nonnegative return value indicates
7966         success if MODE is nonnegative.
7967
7968 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7969
7970         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7971         argument. 
7972
7973 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7974
7975         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7976
7977         * dumper.c (pdump_get_indirect_count):
7978         (pdump_scan_by_alignment):
7979         (pdump_dump_root_struct_ptrs):
7980         (pdump_dump_rtables):
7981         (pdump_dump_root_objects):
7982         (pdump):
7983         * nas.c (WaveOpenDataForReading):
7984         * fns.c (print_bit_vector):
7985         * font-lock.c (SINGLE_SYNTAX_STYLE):
7986         * glyphs.c (check_for_ignored_expose):
7987         (find_matching_subwindow):
7988         * glyphs-eimage.c:
7989         * imgproc.c (get_histogram):
7990         * redisplay.c (point_in_line_start_cache):
7991         * redisplay-output.c (redisplay_unmap_subwindows):
7992         * symbols.c (defsymbol_massage_name_1):
7993         (defkeyword_massage_name):
7994         (deferror_massage_name_and_message):
7995         * redisplay-x.c (x_output_string): 
7996         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7997         * frame.h (struct frame):
7998         * filelock.c (current_lock_owner):
7999         * doprnt.c (emacs_doprnt_1):
8000         * lisp.h (struct Lisp_Bit_Vector):
8001         (DO_REALLOC):
8002         Fix warnings.
8003
8004 2002-02-13  Ben Wing  <ben@xemacs.org>
8005
8006         * event-stream.c (reset_key_echo):
8007         * event-stream.c (reset_this_command_keys):
8008         * event-stream.c (execute_command_event):
8009         If console is dead as a result of C-x 5 0, then post-command stuff
8010         needs to be careful and do only non-console-specific stuff.
8011
8012 2002-07-01  Mike Sperber <mike@xemacs.org>
8013
8014         * process-unix.c (unix_send_process): Mark coding_outstream as
8015         non-open upon SIGPIPE.
8016
8017         * event-stream.c (Fnext_event): Reorder switch cases to something
8018         that makes sense.
8019
8020 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
8021
8022         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
8023         Don't bogusly reinitialize ascii_character property.
8024
8025 2002-07-08  Mike Sperber <mike@xemacs.org>
8026
8027         * process.c (Fstart_process_internal): Do error checking before we
8028         fork off the child, so the child can't muck with the state of the
8029         parent.
8030
8031 2002-07-08  Mike Sperber <mike@xemacs.org>
8032
8033         * ralloc.c (init_ralloc): Allocate properly for pdump.
8034
8035 2002-06-12  Andy Piper  <andy@xemacs.org>
8036
8037         * glyphs.c (query_string_geometry): check the string.
8038
8039         * glyphs-widget.c (widget_logical_unit_height): cope with nil
8040         widget names.
8041
8042 2002-06-17  Jerry James  <james@xemacs.org>
8043
8044         * sysdll.c: Remove RTLD_GLOBAL initialization.
8045         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
8046
8047 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
8048
8049         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
8050
8051 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
8052
8053         * sysdep.c (sys_rename): Make sys_rename work for the case where
8054         Windows rename sets errno to EACCES if target file exists.
8055
8056 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
8057
8058         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8059         Fix detection of metric units to work on Win95
8060
8061 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
8062
8063         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
8064
8065 2002-04-25  Andy Piper  <andy@xemacs.org>
8066
8067         * redisplay.c (create_text_block): Remove extra comment trailer.
8068
8069 2002-04-24  Andy Piper  <andy@xemacs.org>
8070
8071         * redisplay.c (create_text_block): Don't actually add propagation
8072         data if the line ends after we have added a glyph.
8073
8074 2002-04-22  Andy Piper  <andy@xemacs.org>
8075
8076         * extents.c (extent_fragment_update): check for glyphs we have
8077         previously displayed.
8078         * extents.c (print_extent_1): warning removal.
8079         * extents.h: change prototype.
8080         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
8081         widths correctly for wide glyphs.
8082         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
8083         * redisplay.c (prop_type): add PROP_GLYPH.
8084         * redisplay.c (struct prop_block): add glyph type
8085         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
8086         to the propagation data.
8087         * redisplay.c (create_text_block): if there is a glyph in the
8088         propagation data use it to salt extent_fragment_update.
8089         * redisplay.c (create_string_text_block): ditto.
8090
8091 2002-04-13  Nix  <nix@esperi.demon.co.uk>
8092
8093         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
8094         * redisplay-output.c (compare_runes): Compare them.
8095         * redisplay.c: Update copyright date.
8096         * redisplay.c (pos_data): Add need_baseline_computation field.
8097         * redisplay.c (add_glyph_rune): Update ascent, descent, and
8098         need_baseline_computation; zero yoffset. Set max_pixmap_height
8099         for all pixmaps, not just automatically positioned ones.
8100         * redisplay.c (calculate_yoffset): New, compute yoffset values.
8101         * redisplay.c (calculate_baseline): New, compute textual baseline.
8102         * redisplay.c (add_glyph_rune): Call them.
8103         * redisplay.c (create_text_block): Likewise.
8104         * redisplay.c (create_overlay_glyph_block): Likewise.
8105         * redisplay.c (add_margin_runes): Likewise.
8106         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
8107
8108         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
8109         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
8110         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
8111         * redisplay-msw.c (mswindows_output_string): Likewise.
8112         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
8113         * redisplay-gtk.c (gtk_output_display_block): Likewise.
8114         * redisplay-x.c (x_output_display_block): Likewise.
8115
8116 2002-03-28  Ben Wing  <ben@xemacs.org>
8117
8118         * redisplay.c: Fixed bug in redisplay
8119         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
8120         and down of the lines, since they're bigger than the line
8121         size. (It was seen most obviously when there's a horizontal scroll
8122         bar, e.g. do C-h a glyph or something like that.) The problem was
8123         that the glyph-contrib-p setting on glyphs was ignored even if it
8124         was set properly, which it wasn't until now.
8125
8126 2002-04-24  Andy Piper  <andy@xemacs.org>
8127
8128         * lisp.h (Dynarr_end): Fix definition.
8129
8130 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
8131
8132         * redisplay.c (mark_redisplay): Remove call to
8133         update_frame_window_mirror.
8134
8135 2001-11-15  Andy Piper  <andy@xemacs.org>
8136
8137         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
8138         cygwin (again).
8139
8140 2002-02-13  Andy Piper  <andy@xemacs.org>
8141
8142         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
8143         we did in fact enqueue the XM_MAPFRAME event.
8144
8145 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
8146
8147         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
8148         to fix problem switching between virtual desktops under virtuawin
8149         virtual window manager.
8150
8151 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
8152
8153         * event-msw.c: Typo fix.
8154         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
8155         magic XM_MAPFRAME event has been sent.
8156
8157 2001-11-23  Andy Piper  <andy@xemacs.org>
8158
8159         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
8160
8161 2001-11-21  Andy Piper  <andy@xemacs.org>
8162
8163         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8164         mouse events outside the frame.
8165
8166 2002-03-20  Andy Piper  <andy@xemacs.org>
8167
8168         * menubar-msw.c (mswindows_popup_menu): warning removal.
8169         * dialog-msw.c (dialog_popped_down): ditto.
8170
8171 2001-12-11  Andy Piper  <andy@xemacs.org>
8172
8173         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8174         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8175         popup_up_p.
8176         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8177         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8178         * menubar-msw.c (mswindows_popup_menu): ditto.
8179
8180 2001-10-29  Andy Piper  <andy@xemacs.org>
8181
8182         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8183         cancels.
8184
8185 2002-01-03  Andy Piper  <andy@xemacs.org>
8186
8187         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8188         letters.
8189         (xrealpath): ditto.
8190
8191 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8192
8193         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8194         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8195         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8196         Detect and handle case where machine is set up for metric units
8197
8198 2002-04-02  Andy Piper  <andy@xemacs.org>
8199
8200         * dired-msw.c (mswindows_get_files): 
8201         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8202         completely handled by XEmacs. Suggested by Thomas Vogler
8203         <mail@thomas-vogler.de>.
8204
8205 2001-11-14  Andy Piper  <andy@xemacs.org>
8206
8207         * nt.c (REG_ROOT): change registry key to XEmacs.
8208
8209 2002-04-27  Andy Piper  <andy@xemacs.org>
8210
8211         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8212
8213 2002-04-26  Andy Piper  <andy@xemacs.org>
8214
8215         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8216         behavior.
8217
8218 2002-03-14  Mike Alexander  <mta@arbortext.com>
8219
8220         * event-msw.c (mswindows_unwait_process): New, remove process from
8221         wait list
8222         * process-nt.c (nt_finalize_process_data): Call
8223         mswindows_unwait_process
8224         * console-msw.h: Declare mswindows_unwait_process
8225
8226 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8227
8228         * editfns.c (Fdecode_time):
8229         (Fformat_time_string):
8230         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8231         (make_time): Warning elimination (change arg name).
8232
8233 2001-11-24  Andy Piper  <andy@xemacs.org>
8234
8235         * window.c (Fsplit_window): Doc return type.
8236
8237 2002-04-01  Andy Piper  <andy@xemacs.org>
8238
8239         * emacs.c (Fkill_emacs): Only output message box in interactive
8240         mode.
8241
8242 2002-04-26  Andy Piper  <andy@xemacs.org>
8243  
8244         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8245         cygwin.
8246
8247 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8248
8249         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8250         bit platform.
8251
8252 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8253
8254         * XEmacs 21.4.8 "Honest Recruiter" is released.
8255
8256 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8257
8258         Supersedes 2002-04-17 patch.
8259
8260         * process.h (PROCESS_LIVE_P): Use the process status as
8261         evidence of health, not the state of the input stream.
8262         (PROCESS_READABLE_P): Say if the process is readable
8263         from. (It may be dead nonetheless.)
8264         (CHECK_READABLE_PROCESS): Test for that condition.
8265
8266         * process.c (create_process): Use PROCESS_READABLE_P.
8267         (read_process_output, set_process_filter): Likewise.
8268
8269         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8270         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8271
8272         This code is #if 0'd, this is not the time to add new functions:
8273
8274         * process.c (Fprocess_readable_p): Report readability status.
8275         * process.c (Qprocess_readable_p): New, associated symbol...
8276         * process.c (syms_of_process): ... initialize it.
8277
8278 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8279
8280         * XEmacs 21.4.7 "Economic Science" is released.
8281
8282 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8283
8284         * process.h (PROCESS_LIVE_P): Use the process status as
8285         evidence of health, not the state of the input stream.
8286
8287 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8288
8289         * sysdep.c (sys_siglist): change "signum" to "signal"
8290
8291 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8292
8293         * s/darwin.h: New file.
8294         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8295         
8296 2002-04-23  Andreas Jaeger  <aj@suse.de>
8297
8298         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8299         which use lib64 for 64-bit libs.
8300         (START_FILES): Likewise.
8301
8302 2002-02-11  Mike Sperber  <mike@xemacs.org>
8303
8304         * device-x.c: 
8305         (x_IO_error_handler):
8306         (x_init_device): Temporarily keep device in static variable
8307         `device_being_initialized' so we can recover gracefully from
8308         internal XOpenDevice failure.  (XOpenDevice is documented to
8309         return NULL on failure, but sometimes calls the IO error handler
8310         instead.)
8311
8312 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8313
8314         * dired.c (Ffile_name_all_completions): Change documentation --
8315         remove reference to completion-ignored-extensions.
8316         * dired.c (vars_of_dired): Change documentation for
8317         completion-ignored-extensions -- remove reference to
8318         file-name-all-completions.
8319
8320 2002-03-06  Jerry James  <james@xemacs.org>
8321
8322         * emodules.c (emodules_load): Fix multiple loading of same module.
8323
8324 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8325         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8326         RTLD_LAZY to avoid incorrect symbol binding when using nested
8327         shared libraries on Solaris.
8328
8329 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8330
8331         * fileio.c (Ffind_file_name_handler): Improve docstring.
8332
8333 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8334
8335         * fns.c (Fmapconcat): Improve docstring.
8336
8337 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8338
8339         * device-gtk.c: Add prototype for
8340         emacs_gtk_selection_clear_event_handle.
8341         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8342         selection.  Setup signal handler for "selection_clear_event"
8343         (emacs_gtk_selection_clear_event_handle).
8344
8345         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8346         other applications owning the clipboard (based on
8347         x_handle_selection_clear).
8348
8349 2001-12-23  William M. Perry  <wmperry@gnu.org>
8350
8351         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8352         
8353 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8354
8355         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8356
8357 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8358
8359         * XEmacs 21.4.6 "Common Lisp" is released.
8360
8361 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8362
8363         * search.c (Freplace_match): Add missing sub-expression functionality.
8364
8365         * buffer.c (decode_buffer): Add a check for pointer type to
8366         decode_buffer, before gcc's CSE optimization reorders a
8367         dereference in front of the allow_string test.
8368
8369 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8370
8371         * window.c (window_loop): Fix bug that sometimes prevented
8372         window_loop() from iterating across multiple devices.  Also, at
8373         Ben's request, changed infloop-detecting code to abort() instead
8374         of silently terminating window_loop().
8375
8376 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8377
8378         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8379         * editfns.c (make_time): New function.
8380         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8381         * lisp.h (make_time): Prototype and comment it.
8382         * dired.c (wasteful_word_to_lisp): Deprecate.
8383         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8384
8385 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8386
8387         * fileio.c (auto_save_1): Use current coding system, not
8388         escape-quoted.
8389
8390 2001-11-13  Ben Wing  <ben@xemacs.org>
8391
8392         * window.c:
8393         * window.c (window_truncation_on):
8394         * window.c (syms_of_window):
8395         truncate-partial-width-windows should respect the buffer being
8396         displayed, like other redisplay vars.
8397
8398 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8399
8400         * event-stream.c (Fread_key_sequence): save current buffer.
8401
8402 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8403
8404         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8405
8406 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8407
8408         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8409
8410 2001-10-26  Mike Alexander  <mta@arbortext.com>
8411
8412         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8413
8414 2001-10-25  Andy Piper  <andy@xemacs.org>
8415
8416         * ChangeLog:
8417         * dialog-msw.c (handle_directory_proc): new function.
8418          (handle_directory_dialog_box): new fucntion.
8419          (handle_file_dialog_box): use new directory dialog support.
8420          (mswindows_make_dialog_box_internal): ditto.
8421         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8422         handling.
8423         (mswindows_find_frame): make global.
8424         * fileio.c (Fexpand_file_name): build fix.
8425         * general-slots.h: add Qdirectory.
8426         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8427         handling.
8428         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8429         cygwin not leaving win32 paths unchanged.
8430         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8431         cygwin runtime to do path conversion.
8432         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8433         (syms_of_win32): add new function.
8434         * window.c (window_loop): build fix.
8435
8436 2001-10-15  Andy Piper  <andy@xemacs.org>
8437
8438         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8439
8440 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8441
8442         * XEmacs 21.4.5 "Civil Service" is released.
8443
8444 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8445
8446         * glyphs-x.c: Force buffer-tab highlight update when moving the
8447         buffer, avoiding an ugly black border, used for keyboard focus
8448         indication, on a widget that can never have keyboard focus, the
8449         buffer tab.
8450
8451 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8452
8453         * process-unix.c (unix_open_multicast_group): Remove too much
8454         conversion between host and network byte order.
8455
8456 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8457
8458         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8459         before replacing them.
8460
8461         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8462         operation.
8463
8464         * src/window.c (undedicate_windows): Use it.
8465         * src/window.h: Add prototype.
8466
8467 2001-09-17  Ben Wing  <ben@xemacs.org>
8468
8469         * fileio.c (normalize_filename):
8470         * fileio.c (Fexpand_file_name):
8471         Fix various C++ compile errors in Andy's recent code.
8472         
8473         * callint.c (Fcall_interactively):
8474         * editfns.c (Ftemp_directory):
8475         * editfns.c (Fuser_full_name):
8476         * emacs.c (argmatch):
8477         * lread.c (locate_file_map_suffixes):
8478         * redisplay-x.c (x_ring_bell):
8479         Fix sign-compare warnings.
8480         
8481 2001-09-08  Andy Piper  <andy@xemacs.org>
8482
8483         * fileio.c (normalize_filename): copied from nt.c
8484         * (Ffile_name_directory): enable win32 paths under cygwin.
8485         * (Ffile_name_nondirectory): ditto.
8486         * (directory_file_name): ditto.
8487         * (Fexpand_file_name): ditto.
8488         * (Ffile_truename): ditto.
8489         * (Fsubstitute_in_file_name): ditto.
8490         * (Ffile_name_absolute_p): ditto.
8491         * (Ffile_readable_p): ditto.
8492
8493 2001-09-08  Andy Piper  <andy@xemacs.org>
8494
8495         * device-msw.c (mswindows_finish_init_device): remove dde
8496         initialization.
8497         * device-msw.c (mswindows_init_dde): factor out from
8498         mswindows_finish_init_device()
8499         * device-msw.c (init_mswindows_very_early): new function
8500         initialize but don't enable dde.
8501         * emacs.c (main_1): call init_mswindows_very_early.
8502         * event-msw.c:
8503         * event-msw.c (mswindows_dde_callback): only execute when we are
8504         ready.
8505         * symsinit.h: declare init_mswindows_very_early.
8506
8507 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8508
8509         [sjt: This has been in 21.5 for months with no complaints.]
8510
8511         * console.h (struct console_methods): Added flags member.
8512         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8513         (CONMETH_IMPL_FLAG):
8514         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8515         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8516
8517         * device.c (window_system_pixelated_geometry): Use the above macros.
8518
8519         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8520         implememntation flag.
8521         * device.h (DEVICE_DISPLAY_P): Use it.
8522
8523         * frame.c (delete_frame_internal): Use the above macro.
8524
8525         * redisplay.c (redisplay_device): Use it.
8526         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8527         (redisplay_frame): Ditto.
8528
8529         * device-msw.c (mswindows_device_implementation_flags): Removed.
8530         (msprinter_device_implementation_flags): Removed.
8531         (console_type_create_device_mswindows): Removed references to
8532         implementation_flags methods, set implementation flags here.
8533         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8534
8535         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8536         (console_type_create_device_gtk): Removed method declaration.
8537         Added commented out statement which semantically matches the
8538         commented out statement in the above removed method.
8539
8540 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8541
8542         The attached patch fixes a few warnings. 
8543
8544         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8545         * src/frame-gtk.c: guard against GNOME calls in GTK only
8546         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8547         * src/select-gtk.c: prototype lisp_to_time
8548
8549 2001-06-08  Ben Wing  <ben@xemacs.org>
8550
8551         ------ gc-in-window-procedure fixes ------
8552         
8553         * alloc.c:
8554         * alloc.c (struct post_gc_action):
8555         * alloc.c (register_post_gc_action):
8556         * alloc.c (run_post_gc_actions):
8557         * alloc.c (garbage_collect_1):
8558         Create "post-gc actions", to avoid those dreaded "GC during window
8559         procedure" problems.
8560
8561         * event-msw.c:
8562         Abort, clean and simple, when GC in window procedure.  We want
8563         to flush these puppies out.
8564
8565         * glyphs-msw.c:
8566         * glyphs-msw.c (finalize_destroy_window):
8567         * glyphs-msw.c (mswindows_finalize_image_instance):
8568         Use a post-gc action when destroying subwindows.
8569
8570         * lisp.h:
8571         Declare register_post_gc_action().
8572
8573         * scrollbar-msw.c:
8574         * scrollbar-msw.c (unshow_that_mofo):
8575         Use a post-gc action when unshowing scrollbar windows, if in gc.
8576
8577         * redisplay.c (mark_redisplay):
8578         Add comment about the utter evilness of what's going down here.
8579
8580         ------ cygwin setitimer fixes ------
8581         
8582         * Makefile.in.in (sheap_objs):
8583         * Makefile.in.in (profile_objs):
8584         * Makefile.in.in (objs):
8585         Compile profile.c only when HAVE_SETITIMER.
8586         
8587         * nt.c (mswindows_sigset):
8588         * nt.c (mswindows_sighold):
8589         * nt.c (mswindows_sigrelse):
8590         * nt.c (mswindows_sigpause):
8591         * nt.c (mswindows_raise):
8592         * nt.c (close_file_data):
8593         Style fixes.
8594         
8595         * nt.c:
8596         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8597         
8598         * profile.c:
8599         * profile.c (Fstart_profiling):
8600         * profile.c (Fstop_profiling):
8601         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8602         instead of just plain setitimer().
8603         
8604         * signal.c:
8605         * signal.c (set_one_shot_timer):
8606         * signal.c (alarm):
8607         Define qxe_setitimer() as an encapsulation around setitimer() --
8608         call setitimer() directly unless Cygwin or MS Win, in which case
8609         we use our simulated version in win32.c.
8610         
8611         * systime.h:
8612         * systime.h (struct itimerval):
8613         * systime.h (ITIMER_REAL):
8614         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8615         comment about "qxe" and the policy regarding encapsulation.
8616
8617         * win32.c:
8618         * win32.c (setitimer_helper_proc):
8619         * win32.c (setitimer_helper_period):
8620         * win32.c (setitimer_helper):
8621         * win32.c (mswindows_setitimer):
8622         Move setitimer() emulation here, so Cygwin can use it.
8623         Rename a couple of functions and variables to be longer and more
8624         descriptive.  In setitimer_helper_proc(), send the signal
8625         using either mswindows_raise() or (on Cygwin) kill().  If for
8626         some reason we are still getting lockups, we'll change the kill()
8627         to directly invoke the signal handlers.
8628
8629         ------ windows shell fixes ------
8630         
8631         * callproc.c:
8632         * ntproc.c:
8633         Comments about how these two files must die.
8634
8635         * callproc.c (init_callproc):
8636         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8637         not just COMSPEC. (more correct and closer to FSF.) Don't
8638         force a value for SHELL into the environment. (Comments added
8639         to explain why not.)
8640         
8641         * nt.c (init_user_info):
8642         Don't shove a fabricated SHELL into the environment.  See above.
8643
8644 2001-06-01  Ben Wing  <ben@xemacs.org>
8645
8646         * Makefile.in.in (ldflags):
8647         eliminate that pesky "defaulting to 00401000" warning.
8648         * nt.h:
8649         eliminate warnings.
8650
8651 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8652
8653         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8654         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8655
8656 2001-04-24  Jerry James <james@xemacs.org>
8657
8658         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8659         correct order.
8660
8661 2001-06-01  Ben Wing  <ben@xemacs.org>
8662
8663         * event-msw.c (debug_mswin_messages):
8664         conditionalize the messages that were causing compile errors.
8665         (if only macros could generate #ifdef statements ...)
8666
8667 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8668
8669         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8670
8671 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8672
8673         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8674
8675 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8676
8677         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8678         * process-unix.c (unix_canonicalize_host_name):
8679         sysdep.c (init_system_name):
8680         Use it to conditionally support IPv6 canonicalization.
8681
8682 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8683
8684         * event-msw.c:
8685         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8686
8687 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8688
8689         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8690         attempt is made to scroll when no scroll bar is available.
8691
8692 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8693
8694         * input-method-motif.c (XIM_delete_frame): New callback.
8695         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8696         got deleted from 21.4.3.)
8697
8698 2001-06-01  Ben Wing  <ben@xemacs.org>
8699
8700         * nt.c (mswindows_utime):
8701         * nt.c (close_file_data):
8702         fix off-by-one-indirection error.
8703
8704 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8705
8706         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8707         because set_file_times() now takes Lisp_Object path, instead of
8708         char*.
8709         * nt.c: Include buffer.h.
8710         * nt.c (convert_from_time_t): New.
8711         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8712         not set mtime correctly.
8713         * nt.h: Declare mswindows_utime().
8714         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8715         path, instead of char*.
8716         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8717
8718 2001-05-30  Ben Wing  <ben@xemacs.org>
8719
8720         For 21.4:
8721
8722         (Stephen, just take all event-msw.c patches.  This includes
8723         the "iconify" fix below.)
8724
8725         * event-msw.c:
8726         * event-msw.c (mswindows_dequeue_dispatch_event):
8727         * event-msw.c (assert):
8728         * event-msw.c (emacs_mswindows_quit_p):
8729         * event-msw.c (debug_mswin_messages):
8730         * event-msw.c (debug_output_mswin_message):
8731         * event-msw.c (vars_of_event_mswindows):
8732         Fix yet more problems with C-g handling.
8733         Implement debug-mswindows-events.
8734         
8735 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8736
8737         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8738         
8739 2001-05-23  Ben Wing  <ben@xemacs.org>
8740
8741         * event-msw.c (winsock_writer):
8742         * event-msw.c (winsock_closer):
8743         prior kludgy code was clobbering the buffer, thinking it was
8744         "unused" space to store an unneeded return value; instead, use
8745         the variable we've already got staring us in the face.
8746
8747 2001-05-17  Andy Piper  <andy@xemacs.org>
8748
8749         * sysfile.h: don't assume that file attributes are boolean
8750
8751 2001-05-23  Ben Wing  <ben@xemacs.org>
8752
8753         * device-msw.c (msprinter_init_device):
8754         signal an error rather than crash with an unavailable network
8755         printer (from Mike Alexander).
8756         
8757         * event-msw.c:
8758         * event-msw.c (struct winsock_stream):
8759         * event-msw.c (winsock_writer):
8760         * event-msw.c (winsock_closer):
8761         * event-msw.c (make_winsock_stream_1):
8762         cleanup headers.  fix (hopefully) an error with data corruption
8763         when sending to a network connection.
8764
8765         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8766         to handle the ~user prefix by (a) always assuming we're referencing
8767         ourselves and not even verifying the user -- hence any file with
8768         a tilde as its first char is invalid! (b) if there wasn't a slash
8769         following the filename, the pointer was set *past* the end of
8770         file and we started reading from uninitialized memory.  Now we
8771         simply treat these as files, always.
8772
8773         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8774         
8775 2001-05-19  Ben Wing  <ben@xemacs.org>
8776
8777         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8778
8779         * process-nt.c:
8780         * process-nt.c (vars_of_process_nt):
8781         remove unused mswindows-quote-process-args.  rec for 21.4.
8782         
8783 2001-05-12  Ben Wing  <ben@xemacs.org>
8784
8785         * event-msw.c (mswindows_dde_callback):
8786         * event-msw.c (mswindows_wnd_proc):
8787         eliminate cygwin warnings.
8788
8789 2001-05-06  Ben Wing  <ben@xemacs.org>
8790
8791         * console-msw.h:
8792         * device-msw.c:
8793         * device-msw.c (print_dialog_worker):
8794         * device-msw.c (mswindows_handle_print_dialog_box):
8795         * device-msw.c (syms_of_device_mswindows):
8796         * dialog-msw.c (mswindows_make_dialog_box_internal):
8797         * general-slots.h:
8798         implement printing the selection when it's selected.
8799
8800 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8801
8802         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8803
8804 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8805
8806         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8807         EMACS_INT is signed.
8808
8809 2001-04-15  Michael Lausch  <mla@1012surf.net>
8810
8811         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8812         gtk_widget_request_size() to give scrollbar >0 width for
8813         GTK >1.2.8.
8814
8815 2001-05-30  William M. Perry  <wmperry@gnu.org>
8816
8817         * event-gtk.c: Check for buttons as modifier keys.
8818
8819 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8820
8821         * s\mingw32.h:
8822         Properly find MinGW's <process.h> inside Cygwin's restructured
8823         include directories.  Don't try to include <cygwin/version.h>
8824         since we are dropping support for MinGW in versions of Cygwin
8825         earlier than b21.
8826         * nt.c:
8827         Drop support for MinGW in versions of Cygwin before b21.
8828         * sysdep.c:
8829         Properly find MinGW's <process.h> inside Cygwin's restructured
8830         include directories.
8831         * syswindows.h:
8832         Drop support for MinGW in versions of Cygwin before b21.
8833         * unexcw.c:
8834         Even though a.out.h is no longer detected by configure, allow
8835         MinGW to use it until we figure out how to do the job with Win32.
8836
8837 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8838
8839         * syntax.c (find_start_of_comment):
8840         Fix `unbalanced parentheses' bug when dealing with mixed comment
8841         styles in c++/java/etc. mode
8842
8843 2001-05-29  Mike Alexander  <mta@arbortext.com>
8844
8845         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8846         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8847
8848 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8849
8850         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8851
8852 2001-03-31  Mike Sperber <mike@xemacs.org>
8853
8854         * search.c (Freplace_match): Support FSF-style specification of
8855         match subexpression when applied to a buffer.
8856
8857 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8858
8859         * event-stream.c (is_scrollbar_event): add missing semicolon
8860
8861 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8862
8863         * Makefile.in.in: Use TAR macro instead of hardcoding
8864           tar.  Allows use of GNU tar instead of system tar
8865
8866 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8867
8868         * event-stream.c (is_scrollbar_event): add missing semicolon
8869
8870 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8871
8872         * XEmacs 21.4.3 "Academic Rigor" is released.
8873
8874 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8875
8876         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8877
8878 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8879
8880         * buffer.c (Vcase_fold_search): Remove obsolete
8881           comment about non ASCII case-fold-search.  This
8882           bug has been fixed by case-table changes.
8883
8884 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8885
8886         * event-msw.c: Restore include of events-mod.h.
8887
8888 2001-04-22   zhaoway  <zw@debian.org>
8889
8890         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8891         !HAVE_SCROLLBARS.
8892
8893 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8894
8895         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8896
8897 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8898
8899         * mule-charset.c (Fmake_charset): Add missing else.
8900
8901 2001-04-23  Ben Wing  <ben@xemacs.org>
8902
8903         * event-msw.c (FAKE_MOD_QUIT):
8904         * event-msw.c (mswindows_dequeue_dispatch_event):
8905         * event-msw.c (mswindows_wnd_proc):
8906         * event-msw.c (emacs_mswindows_quit_p):
8907         Get critical quit working.
8908
8909 2001-05-05  Ben Wing  <ben@xemacs.org>
8910
8911         * console-msw.h:
8912         * device-msw.c:
8913         * device-msw.c (mswindows_get_default_margin):
8914         * frame-msw.c (mswindows_size_frame_internal):
8915         * frame-msw.c (msprinter_init_frame_1):
8916         * frame-msw.c (vars_of_frame_mswindows):
8917         Change top/bottom margin defaults to 0.5 inches.
8918
8919 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8920
8921         Fix link error with gcc 3.0 on Linux.
8922         * terminfo.c (UP): Remove.
8923         * terminfo.c (BC): Remove.
8924         * terminfo.c (PC): Remove.
8925         They weren't used, and in any case, these symbols should be
8926         defined in the *library*.
8927
8928 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8929
8930         * s/aix4.h: Fix crash with xlc -O3.
8931         Improve comment explaining how -O3 works.
8932
8933 2001-04-15  Ben Wing  <ben@xemacs.org>
8934
8935         * event-stream.c:
8936         * event-stream.c (Fnext_event):
8937         * event-stream.c (is_scrollbar_event):
8938         * event-stream.c (execute_command_event):
8939         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8940         crash' problem.  His fix introduces other problems.  We filter
8941         out scrollbar events specifically, making them somewhat invisible
8942         to command-building, and not appearing in `this-command-keys'.
8943         More work is still needed (see comments in event-stream.c), but
8944         this fixes all the major problems.
8945
8946 2001-04-20  Ben Wing  <ben@xemacs.org>
8947
8948         * .cvsignore: Added stuff for Windows.
8949
8950 2001-04-28  Ben Wing  <ben@xemacs.org>
8951
8952         * buffer.c (Ferase_buffer):
8953         * editfns.c (buffer_insert1):
8954         * editfns.c (Finsert_before_markers):
8955         * editfns.c (Finsert_string):
8956         * editfns.c (Finsert_char):
8957         * editfns.c (Fdelete_region):
8958         * editfns.c (Fwiden):
8959         * editfns.c (Fnarrow_to_region):
8960         remove bogus lines setting zmacs_region_stays to 0.
8961         
8962 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8963
8964         * process-unix.c (unix_open_network_stream): If connect() fails
8965         invalidate file descriptor after closing it.
8966
8967 2001-03-08  Mike Alexander  <mta@arbortext.com>
8968
8969         * event-msw.c (mswindows_need_event_in_modal_loop):
8970         Don't dispatch a message if we didn't get one.
8971         (mswindows_need_event):
8972         Terminate the correct process when one exits instead of the first
8973         one on Vprocess_list and look for process termination when in
8974         mswindows_protect_modal_loop.
8975
8976 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8977
8978         * XEmacs 21.4.1 "Copyleft" is released.
8979
8980 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8981
8982         * input-method-motif.c (XIM_delete_frame): New callback.
8983         (XIM_init_frame): Register it.
8984
8985 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8986
8987         * XEmacs 21.4.0 "Solid Vapor" is released.
8988
8989 2001-04-15  Ben Wing  <ben@xemacs.org>
8990
8991         * cmdloop.c (call_command_loop):
8992         Fix braino in bit-rotting code.
8993         
8994 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8995
8996         * extents.c (Fset_extent_endpoints): Force creation of extent info
8997         in buffer_or_string.
8998
8999         * extents.c (process_extents_for_insertion_mapper): Correctly
9000         check for open-open zero-length extents.
9001
9002 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
9003
9004         * lisp.h: New typedefs Memory_count, Element_count.
9005         * regex.c:
9006         * regex.h:
9007         Sign-compare warning elimination: several unsigned -> signed.
9008         Based on work by Ben Wing <ben@xemacs.org>.
9009
9010 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
9011
9012         * XEmacs 21.2.47 "Zephir" is released.
9013
9014 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
9015
9016         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
9017
9018 2001-04-03  Mike Sperber <mike@xemacs.org>
9019
9020         * search.c: Revert previous patch due because of release.
9021
9022 2001-03-30  Ben Wing  <ben@xemacs.org>
9023
9024         * s\cygwin32.h:
9025         Add missing killpg prototype.
9026
9027         * elhash.c:
9028         Add a comment about fixing problems when a new entry is added
9029         while mapping.
9030
9031         * frame-msw.c (mswindows_init_frame_1):
9032         Fix compile warnings.
9033
9034         * menubar.c (vars_of_menubar):
9035         Provide `menu-accelerator-support' to indicate that we properly
9036         support %_ in menu specifications, so that package code can
9037         conditionalize on this (and remove %_ from menu specifications
9038         on older versions).
9039
9040         * event-msw.c:
9041         * scrollbar-msw.c:
9042         * scrollbar-msw.c (can_scroll):
9043         * scrollbar-msw.h:
9044         Fix handling of mouse wheel under Windows to follow standards --
9045         now scrolls window under pointer, not selected window.
9046
9047 2001-03-31  Mike Sperber <mike@xemacs.org>
9048
9049         * search.c (Freplace_match): Support FSF-style specification of
9050         match subexpression when applied to a buffer.
9051
9052 2001-03-15  Martin Buchholz  <martin@xemacs.org>
9053
9054         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
9055         function to modify KEYMAP, so map over a copy of the hash table.
9056
9057 2001-03-21  Martin Buchholz <martin@xemacs.org>
9058
9059         * XEmacs 21.2.46 "Urania" is released.
9060
9061 2001-03-20  Dan Holmsand  <dan@eyebee.com>
9062
9063         * realpath.c (xrealpath): Make file-truename work with symlinks to
9064         /cygdrive paths on cygwin. Always lowercase drive-letters on
9065         native windows.
9066         (cygwin_readlink): Don't try to find canonical filename unless
9067         file exists.
9068
9069 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
9070
9071         * ChangeLog: Log GTK merge.
9072
9073         * dumper.c:
9074         * select-x.c:
9075         * specifier.c:
9076         * symeval.h:
9077         Revert gratuitous whitespace changes from GTK merge.
9078
9079         * emacs.c: Document end of complex #ifdef @ l. 1495.
9080
9081
9082 2001-03-12  Andy Piper  <andy@xemacs.org>
9083
9084         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
9085         have to do likewise.
9086
9087 2001-03-12  Andy Piper  <andy@xemacs.org>
9088
9089         * sysdep.c: we only support mingw now.
9090
9091 2001-03-09  Andy Piper  <andy@xemacs.org>
9092
9093         * unexcw.c (copy_executable_and_dump_data_section): making approx
9094         overrun a warning only.
9095
9096 2001-03-10  William M. Perry  <wmperry@aventail.com>
9097
9098         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
9099         satisfy Stephen's identical-after-cpp plea.
9100
9101 2001-03-02  Ben Wing  <ben@xemacs.org>
9102
9103         * cmds.c:
9104         * cmds.c (Fforward_char):
9105         * syntax.c:
9106         * window.c:
9107
9108         Augment documentation of the most common motion commands to make
9109         note of the shifted-motion support.
9110         
9111 2001-03-02  Ben Wing  <ben@xemacs.org>
9112
9113         * nt.c (mswindows_fstat):
9114         * nt.c (mswindows_stat):
9115         * search.c (boyer_moore):
9116         Fix compile warnings under Windows.
9117         
9118         * sysdep.c (sys_readdir):
9119         Fix buggy filename-conversion code under Mule.
9120
9121 2001-03-09  William M. Perry  <wmperry@aventail.com>
9122
9123         * Makefile.in.in:
9124         * config.h.in:
9125         * console.c:
9126         * console.h:
9127         * device.c:
9128         * device.h:
9129         * dragdrop.c:
9130         * emacs.c:
9131         * event-stream.c:
9132         * events.c:
9133         * events.h:
9134         * faces.c:
9135         * frame.h:
9136         * general-slots.h:
9137         * glyphs.c:
9138         * gutter.c:
9139         * inline.c:
9140         * lisp.h:
9141         * lrecord.h:
9142         * make-src-depend:
9143         * redisplay-output.c:
9144         * redisplay.c:
9145         * symsinit.h:
9146         * sysfile.h:
9147         * toolbar.c:
9148         * window.c:
9149         The Great GTK Merge.
9150
9151         * ChangeLog.GTK:
9152         * console-gtk.c:
9153         * console-gtk.h:
9154         * device-gtk.c:
9155         * emacs-marshals.c:
9156         * emacs-widget-accessors.c:
9157         * event-gtk.c:
9158         * frame-gtk.c:
9159         * gccache-gtk.c:
9160         * gccache-gtk.h:
9161         * glade.c:
9162         * glyphs-gtk.c:
9163         * glyphs-gtk.h:
9164         * gtk-glue.c:
9165         * gtk-xemacs.c:
9166         * gtk-xemacs.h:
9167         * gui-gtk.c:
9168         * gui-gtk.h:
9169         * menubar-gtk.c:
9170         * native-gtk-toolbar.c:
9171         * objects-gtk.c:
9172         * objects-gtk.h:
9173         * redisplay-gtk.c:
9174         * scrollbar-gtk.c:
9175         * scrollbar-gtk.h:
9176         * select-gtk.c:
9177         * toolbar-gtk.c:
9178         * ui-byhand.c:
9179         * ui-gtk.c:
9180         * ui-gtk.h:
9181         The Great GTK Merge: new files.
9182
9183 2001-02-26  Ben Wing  <ben@xemacs.org>
9184
9185         Reapplied Lstream change.
9186
9187 2001-02-26  Ben Wing  <ben@xemacs.org>
9188
9189         Undid the last change, since it is more controversial than I
9190         thought.  It should be back in at some point soon.
9191         
9192 2001-02-25  Ben Wing  <ben@xemacs.org>
9193
9194         * buffer.c:
9195         * callproc.c (Fold_call_process_internal):
9196         * event-msw.c (ntpipe_slurp_reader):
9197         * event-msw.c (ntpipe_shove_writer):
9198         * event-msw.c (winsock_reader):
9199         * event-msw.c (winsock_writer):
9200         * file-coding.c:
9201         * file-coding.c (detect_eol_type):
9202         * file-coding.c (detect_coding_type):
9203         * file-coding.c (determine_real_coding_system):
9204         * file-coding.c (Fdetect_coding_region):
9205         * file-coding.c (decoding_reader):
9206         * file-coding.c (decoding_writer):
9207         * file-coding.c (mule_decode):
9208         * file-coding.c (Fdecode_coding_region):
9209         * file-coding.c (encoding_reader):
9210         * file-coding.c (encoding_writer):
9211         * file-coding.c (mule_encode):
9212         * file-coding.c (Fencode_coding_region):
9213         * file-coding.c (detect_coding_sjis):
9214         * file-coding.c (decode_coding_sjis):
9215         * file-coding.c (encode_coding_sjis):
9216         * file-coding.c (detect_coding_big5):
9217         * file-coding.c (decode_coding_big5):
9218         * file-coding.c (encode_coding_big5):
9219         * file-coding.c (detect_coding_ucs4):
9220         * file-coding.c (decode_coding_ucs4):
9221         * file-coding.c (encode_coding_ucs4):
9222         * file-coding.c (detect_coding_utf8):
9223         * file-coding.c (decode_coding_utf8):
9224         * file-coding.c (encode_coding_utf8):
9225         * file-coding.c (detect_coding_iso2022):
9226         * file-coding.c (decode_coding_iso2022):
9227         * file-coding.c (encode_coding_iso2022):
9228         * file-coding.c (decode_coding_no_conversion):
9229         * file-coding.c (encode_coding_no_conversion):
9230         * glyphs-x.c (write_lisp_string_to_temp_file):
9231         * gpmevent.c (tty_get_foreign_selection):
9232         * lisp.h:
9233         * lstream.c:
9234         * lstream.c (Lstream_flush_out):
9235         * lstream.c (Lstream_adding):
9236         * lstream.c (Lstream_write_1):
9237         * lstream.c (Lstream_write):
9238         * lstream.c (Lstream_raw_read):
9239         * lstream.c (Lstream_read_more):
9240         * lstream.c (Lstream_read):
9241         * lstream.c (Lstream_unread):
9242         * lstream.c (Lstream_fputc):
9243         * lstream.c (stdio_reader):
9244         * lstream.c (stdio_writer):
9245         * lstream.c (filedesc_reader):
9246         * lstream.c (filedesc_writer):
9247         * lstream.c (lisp_string_reader):
9248         * lstream.c (struct fixed_buffer_stream):
9249         * lstream.c (make_fixed_buffer_input_stream):
9250         * lstream.c (make_fixed_buffer_output_stream):
9251         * lstream.c (fixed_buffer_reader):
9252         * lstream.c (fixed_buffer_writer):
9253         * lstream.c (struct resizing_buffer_stream):
9254         * lstream.c (resizing_buffer_writer):
9255         * lstream.c (dynarr_writer):
9256         * lstream.c (lisp_buffer_reader):
9257         * lstream.c (lisp_buffer_writer):
9258         * lstream.h:
9259         * lstream.h (lstream_implementation):
9260         * lstream.h (struct lstream):
9261         * md5.c (Fmd5):
9262         * process-nt.c (nt_send_process):
9263         * process-unix.c (unix_send_process):
9264         
9265         Correct Lstream lossage due to mixing of signed and unsigned
9266         quantities.  All Lstream uses of size_t and ssize_t are now a
9267         single signed data type Lstream_data_count.  This fixes problems
9268         under Windows with sending large quantities of data to a process,
9269         and may well fix other subtle bugs.
9270
9271 2001-02-23  Martin Buchholz <martin@xemacs.org>
9272
9273         * XEmacs 21.2.45 "Thelxepeia" is released.
9274
9275 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9276
9277         * lisp-union.h (XSETINT): 
9278         (XSETCHAR):
9279         (XSETOBJ): 
9280         Reverse previous change of 2001-02-06.
9281
9282 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9283
9284         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9285         buffers.
9286         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9287         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9288         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9289         * regex.c (POS_AS_IN_BUFFER): removed
9290         * regex.c (re_search_2):
9291         * regex.c (re_match_2):
9292         Don't use an offset of 1 when calculating buffer positions, since
9293         `BI_BUF_BEGV' does it already.
9294
9295 2001-02-18  Wim Dumon  <wim@easics.be>
9296
9297         * insdel.c (prepare_to_modify_buffer): Also check for
9298         supersession when clash-detection is enabled. 
9299
9300 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9301
9302         * regex.c (re_match_2_internal):
9303         Convert temp characters from 'const unsigned char' to 're_char'.
9304         Fix crashing bug with extended characters under mule.
9305         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9306         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9307         font-lock, pdump, and new syntax-table code.
9308         * syntax.c (find_start_of_comment):
9309         (find_end_of_comment):
9310         (forward-comment):
9311         Fix crashing bugs involving moving beyond end of buffer.
9312         * syntax.c (find_start_of_comment):
9313         Fixed logic to allow proper detection of cases where the same
9314         character is used to end both a two-char comment start and a
9315         two-char comment end sequence. Fixes `(forward-comment -1)'.
9316         * syntax.c (find_start_of_comment):
9317         Return position just past last comment-end character for all cases
9318         (previously was only done for two-char comment-end sequences).
9319         * syntax.c (forward-comment):
9320         Take value returned from `find_end_of_comment', rather than
9321         incrementing it.
9322         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9323         Properly deal with BUFFERP (syntax_cache.object)
9324
9325 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9326
9327         * alloc.c (Fgarbage_collect): 
9328         * alloc.c (make_bit_vector_from_byte_vector):
9329         -Wsign-compare-correctness.
9330
9331 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9332
9333         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9334         (XSETCHAR): Likewise.
9335         (XSETOBJ): Likewise.
9336
9337 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9338
9339         * mule-canna.c (canna-func-delete_previous): 
9340         Rename to canna-func-delete-previous.
9341
9342 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9343
9344         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9345
9346 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9347
9348         * font-lock.c (find_context): Fix C++ compile errors introduced by
9349         recent patch
9350
9351 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9352
9353         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9354         pragma, but earlier ones barf on the same pragma.
9355
9356 2001-02-06  Mike Sperber <mike@xemacs.org>
9357
9358         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9359         `configure-mule-lisp-directory'.
9360
9361 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9362
9363         Make sure dump-id.c is compiled in the same way as other .c's.
9364         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9365         * dump-id.h: Remove.
9366         * emacs.c: Move dump-id.h into dumper.h.
9367         * dumper.h: Move dump-id.h into dumper.h.
9368         * Makefile.in.in:
9369         Use standard .c.o rule for building dump-id.o.
9370         Remove preprocessor flags from link command.
9371         Add dump-id.o to ${otherobjs} if PDUMP.
9372
9373 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9374
9375         Port FSF 20.7 syntax table improvements.
9376         * syntax.c.
9377         * syntax.h.
9378
9379         Fixups for new syntax table stuff.
9380         * dired.c: Include syntax.c.
9381         (Fdirectory_files): Initialize regex_match_object and
9382         regex_emacs_buffer.
9383         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9384         and Fget_char_property.
9385
9386         Use ported FSF 20.7 syntax table improvements.
9387         * font-lock.c.
9388         * regex.c.
9389         * search.c.
9390         
9391 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9392
9393         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9394         Unixware's enum boolean from sys/types.h.
9395
9396 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9397
9398         Fix support for building with latest Purify.
9399         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9400         (PURIFY_FLAGS): Likewise.
9401
9402 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9403
9404         * fileio.c (lisp_string_set_file_times): New.
9405         * fileio.c (Fcopy_file): Use it.
9406         Fixes bug:
9407         (copy-file filename non-ascii-filename t t)
9408         ==> No such file or directory, non-ascii-filename
9409
9410 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9411
9412         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9413         USHRT_MAX seems clearer than ~0 anyways.
9414
9415 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9416
9417         dumper improvements.  Inspired by Olivier.
9418         * dumper.c (pdump_max_align): New.
9419         * dumper.c (pdump_add_entry): Use pdump_max_align.
9420         * dumper.c (pdump_get_entry_list): Likewise.
9421         * dumper.c (pdump_scan_by_alignment): Likewise.
9422         Don't iterate through unnecessary alignments.
9423         * dumper.c (pdump_file_get): No need to align result of malloc().
9424         * dumper.c (pdump_mallocadr): Remove.  
9425         The result of malloc() is guaranteed to be maximally aligned.
9426         * dumper.c: s/elmt/elt/g;
9427         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9428         * dumper.c (pdump_alert_undump_object): Likewise.
9429         * dumper.c (pdump_align_table): 
9430         Don't support alignments > 64.
9431         Store ALIGNOF's, not shift counts, in table.
9432
9433 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9434
9435         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9436         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9437         * systime.h: Use HAVE_UTIME.
9438         * sysdep.c (struct utimbuf): Remove.
9439         * sysdep.c (set_file_times): Prefer utime() to utimes().
9440         * config.h.in (HAVE_UTIME): New.
9441         * config.h.in (HAVE_UTIME_H): Remove.
9442         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9443
9444 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9445
9446         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9447
9448 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9449
9450         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9451
9452 2001-02-08  Martin Buchholz <martin@xemacs.org>
9453
9454         * XEmacs 21.2.44 "Thalia" is released.
9455
9456 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9457
9458         Fixes crashes in kill-emacs on some systems.
9459         * process-unix.c (unix_kill_child_process):
9460         It's OK for kill() to fail with ESRCH.
9461
9462 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9463
9464         Contortions to make .gdbinit tricks work on most systems.
9465         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9466         * alloc.c (dbg_valmask): Make non-const.
9467         * alloc.c (dbg_typemask): Make non-const.
9468         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9469         * alloc.c (dbg_valbits): Make non-const.
9470         * alloc.c (dbg_gctypebits): Make non-const.
9471         * .gdbinit (decode_object): Make it work with AIX cc.
9472
9473 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9474
9475         * elhash.c (make_general_lisp_hash_table):
9476         Use simpler and more efficient calloc to clear entries.
9477
9478 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9479
9480         * window.c (window_scroll): Work around an AIX C compiler bug.
9481         Fixes 'scroll-up' does nothing problem with xlC.
9482
9483 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9484
9485         * .gdbinit: Remove obsolete comment.
9486
9487 2001-01-31  Mike Alexander  <mta@arbortext.com>
9488
9489         * select.c (Fown_selection_internal): Set owned_p for device
9490         method correctly.
9491
9492 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9493
9494         Port to g++ 2.97.
9495         "not" cannot be used as a macro name as it is an operator in C++
9496         * config.h.in: Stop #defining `not'.
9497         * chartab.c (check_category_char): not ==> not_p
9498         * chartab.h: Likewise.
9499         * regex.c (re_match_2_internal): Likewise.
9500
9501 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9502
9503         * lisp-disunion.h: Fix up comments.
9504
9505 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9506
9507         * keymap.c (define_key_check_and_coerce_keysym):
9508         (syms_of_keymap):
9509         Support mouse-6 and mouse-7 bindings in the obvious way.
9510
9511 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9512
9513         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9514
9515 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9516
9517         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9518         Previous patch missed DEFVAR_INT_MAGIC.
9519         Make sure future DEFVAR_foo use correct types.
9520         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9521         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9522         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9523         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9524         * (DEFVAR_INT): Likewise.
9525         * redisplay.c (vertical_clip): Should be of type Fixnum.
9526         * redisplay.c (horizontal_clip): Likewise.
9527         * lisp.h (dump_add_opaque_int): New.
9528         (dump_add_opaque_fixnum): New.
9529
9530 2001-01-29  Andy Piper  <andy@xemacs.org>
9531
9532         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9533         since they can be eval'ed
9534
9535 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9536
9537         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9538         Oops, XEmacs redefines `class'.  Use `typename' instead.
9539
9540 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9541
9542         * dumper.c: Fix C++ compile errors.
9543
9544 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9545
9546         * tparam.c: Use correct prototypes.
9547
9548 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9549
9550         * sysproc.h: #include util.h for NetBSD's openpty.
9551
9552 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9553
9554         More 64-bit correctness.
9555         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9556         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9557         Fix up comments.
9558         This finally finishes the 64-bit SGI port.
9559         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9560         * symbols.c: Fix up comments and type casts.
9561         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9562         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9563         * symeval.h (Fixnum): New type.
9564         * symeval.h (symbol_value_type): Fix up comment.
9565
9566         * commands.h:
9567         * nt.c:
9568         * emacs.c:
9569         * data.c:
9570         * redisplay.c:
9571         * abbrev.c:
9572         * dired-msw.c:
9573         * event-Xt.c:
9574         * eldap.c:
9575         * window.c:
9576         * sound.c:
9577         * event-stream.c:
9578         * eval.c:
9579         * buffer.c:
9580         * mule-canna.c: A million DEFVAR_INTs here...
9581         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9582         * extents.c:
9583         * cmdloop.c:
9584         * lisp.h:
9585         * select-x.c:
9586         * console-x.h:
9587         * event-msw.c:
9588         * mule-wnnfns.c:
9589         * hpplay.c:
9590         * ralloc.c:
9591         * alloc.c:
9592         * keymap.c:
9593         * profile.c:
9594         s/int/Fixnum/g in DEFVAR_INT declarations.
9595
9596 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9597
9598         Port pdump to SGI alignment-sensitive environment.
9599         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9600         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9601         properly aligned.
9602         Define and use aligned reading and writing macros.
9603         Use buffered stdio instead of posix i/o for faster dumping.
9604         Eliminate kludgy 256 byte space for header.
9605         Read and write from dump file using structs for alignment safety.
9606         * dumper.c (pdump_align_stream): New.
9607         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9608         * dumper.c (PDUMP_READ_ALIGNED): New.
9609         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9610         * dumper.c (pdump_static_Lisp_Object): New struct.
9611         * dumper.c (pdump_static_pointer): New struct.
9612         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9613         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9614         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9615         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9616
9617         * dumper.c (pdump_backtrace):
9618         * dumper.c (pdump_get_indirect_count):
9619         * dumper.c (pdump_register_object):
9620         * dumper.c (pdump_register_struct):
9621         * dumper.c (pdump_reloc_one):
9622         * dumper.c (pdump_scan_by_alignment):
9623         * dumper.c (pdump_dump_from_root_struct_ptrs):
9624         * dumper.c (pdump_dump_opaques):
9625         * dumper.c (pdump_dump_rtables):
9626         * dumper.c (pdump_dump_from_root_objects):
9627         * dumper.c (pdump):
9628         * dumper.c (pdump_load_finish):
9629         Use aligned reading and writing.
9630
9631         * dumper.c (pdump_free): Make static.
9632         * dumper.c (pdump_hFile): Likewise.
9633         * dumper.c (pdump_hMap): Likewise.
9634
9635 2001-01-26  Martin Buchholz <martin@xemacs.org>
9636
9637         * XEmacs 21.2.43 "Terspichore" is released.
9638
9639 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9640
9641         Type fiddling for window_config.saved_windows_count
9642         * window.c (struct window_config): 
9643         Make saved_windows_count member unsigned.
9644         * window.c (sizeof_window_config_for_n_windows): 
9645         Make parameter unsigned.
9646         * window.c (mark_window_config):
9647         * window.c (window_config_equal):
9648         * window.c (free_window_configuration):
9649         * window.c (Fset_window_configuration):
9650         * window.c (count_windows):
9651         * window.c (Fcurrent_window_configuration):
9652         * window.c (reinit_vars_of_window):
9653         Update all callers and users.
9654
9655 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9656
9657         Alignment correctness for flexible arrays.
9658         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9659         Make alignment-correct. Add interesting comments.
9660         * alloc.c (size_vector):
9661         * alloc.c (make_vector_internal):
9662         * alloc.c (make_bit_vector_internal):
9663         * alloc.c (sweep_bit_vectors_1):
9664         * fns.c (size_bit_vector):
9665         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9666         * window.c (sizeof_window_config_for_n_windows): 
9667         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9668
9669 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9670
9671         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9672
9673 2001-01-23  Andy Piper  <andy@xemacs.org>
9674
9675         * select.c (Fown_selection_internal): pass owned_p
9676
9677         * select-msw.c (mswindows_own_selection): New Signature.
9678
9679         * console.h (struct console_methods): add owned_p to
9680         _own_selection.
9681
9682         * select-x.c (x_own_selection): pass owned_p
9683         (hack_motif_clipboard_selection): use owned_p
9684         (vars_of_select_x): new variable -
9685         x_selection_strict_motif_ownership.
9686
9687 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9688
9689         * specifier.h (specifier_data_offset): Remove pointless parens.
9690         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9691
9692 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9693
9694         Make Lisp_Object sizeof methods be alignment-correct.
9695         pdump must restore objects to the same alignment as the C compiler
9696         assumes.  It really matters on SGIs.
9697         * lstream.c (aligned_sizeof_lstream): New.
9698         (sizeof_lstream): Use aligned_sizeof_lstream.
9699         (Lstream_new): Likewise.
9700         * opaque.c (aligned_sizeof_opaque): New.
9701         (sizeof_opaque): Use aligned_sizeof_opaque.
9702         (make_opaque): Likewise.
9703         * specifier.c (aligned_sizeof_specifier): New.
9704         (sizeof_specifier): Use aligned_sizeof_specifier.
9705         (make_specifier_internal): Likewise.
9706
9707 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9708
9709         * lstream.h (struct lstream): Use max_align_t for trailing data.
9710         * specifier.h (struct Lisp_Specifier): Likewise.
9711
9712 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9713
9714         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9715         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9716         (CCL_SUSPEND): Likewise.
9717         (CCL_INVALID_CMD): Likewise.
9718         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9719         (ccl_driver): Likewise.
9720         (CCL_WRITE_CHAR): Macro hygiene.
9721         (CCL_WRITE_STRING): Macro hygiene.
9722
9723 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9724
9725         Port "portable" dumper to SunOS 4 and HP-UX.
9726         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9727         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9728         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9729
9730 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9731
9732         * lisp.h (ALIGNOF): A better definition for C++.
9733
9734 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9735
9736         Macro hygiene.
9737         Fix printf warnings: int format, long int arg.
9738         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9739         (PUSH_FAILURE_POINT): Use correct printf formats.
9740         (POP_FAILURE_POINT): Use correct printf formats.  
9741         Use do {...} while (0)
9742
9743 2001-01-20  Martin Buchholz <martin@xemacs.org>
9744
9745         * XEmacs 21.2.42 "Poseidon" is released.
9746
9747 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9748
9749         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9750
9751 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9752
9753         De-kludgify FIXED_TYPE free list frobbing.
9754         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9755         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9756         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9757         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9758         * alloc.c (LRECORD_FREE_P): New.
9759         * alloc.c (MARK_LRECORD_AS_FREE): New.
9760         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9761         * alloc.c (STRUCT_FREE_P): Deleted.
9762         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9763         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9764         * alloc.c (STRING_CHARS_FREE_P): New.
9765         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9766         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9767         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9768         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9769         * alloc.c (resize_string): Use new definitions.
9770         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9771         * alloc.c (verify_string_chars_integrity): Use new definitions.
9772         * alloc.c (compact_string_chars): Use new definitions.
9773         * alloc.c: Update monster comments.
9774         * lrecord.h (lrecord_type): Add some new lrecord types for
9775         alloc.c's use.
9776
9777 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9778
9779         Improve alignment hackery.
9780         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9781         (max_align_t): Moved from opaque.h - general purpose.
9782         (ALIGN_PTR): Use size_t, not long.
9783         * opaque.h (max_align_t): Move to lisp.h.
9784
9785 2001-01-18  Norbert Koch  <nk@LF.net>
9786
9787         * gui.h: Fix and add prototypes to fix build problems.
9788
9789 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9790
9791         temacs is going away, so `dump-temacs' is now a bad name.
9792         * .dbxrc (dump-temacs): Rename to `dmp'.
9793         * .gdbinit (dump-temacs): Rename to `dmp'.
9794
9795 2001-01-17  Andy Piper  <andy@xemacs.org>
9796
9797         * glyphs.c (print_image_instance): comment to make martin happy.
9798
9799         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9800         change.
9801
9802         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9803         activation.
9804         (mswindows_tab_control_redisplay): warning suppression.
9805
9806         * glyphs-widget.c (widget_update): re-write to cope with updated
9807         items.
9808         (widget_instantiate): use new gui_item functions.
9809         (tab_control_update): deleted.
9810         (progress_gauge_update): deleted.
9811         (image_instantiator_progress_guage): take out update reference.
9812         (image_instantiator_tree_view): ditto.
9813         (image_instantiator_tab_control): ditto.
9814
9815         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9816         Right the new way.
9817         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9818         return whether anything was changed.
9819         (update_gui_item_keywords): as it sounds.
9820
9821         * gui.h: declare widget_gui_parse_item_keywords.
9822
9823         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9824         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9825
9826 2001-01-17  Martin Buchholz <martin@xemacs.org>
9827
9828         * XEmacs 21.2.41 "Polyhymnia" is released.
9829
9830 2001-01-16  Didier Verna  <didier@xemacs.org>
9831
9832         * glyphs.c (image_instantiate): don't use fallbacks when
9833         instantiating a face's background pixmap by inheritance.
9834
9835 2001-01-14  Mike Sperber <mike@xemacs.org>
9836
9837         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9838         Conditionalize accordingly.
9839
9840 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9841
9842         * dumper.c (pdump_file_get): Fix a compiler warning.
9843
9844 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9845
9846         Make Purify happy when pdumping.
9847         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9848         iniitalizing all bits of new lisp object memory.
9849         * symbols.c (Fmake_local_variable): Likewise.
9850         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9851         * symbols.c (Fdefvaralias): Likewise.
9852         * mule-charset.c (vars_of_mule_charset): Likewise.
9853
9854 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9855         Add the `-nd' flag when running pre-dump operations under the debugger.
9856         * .dbxrc (run-temacs): Add `-nd'.
9857         * .dbxrc (update-elc): Likewise.
9858         * .dbxrc (dump-temacs): Likewise.
9859         * .gdbinit (run-temacs): Likewise.
9860         * .gdbinit (check-temacs): Likewise.
9861         * .gdbinit (update-elc): Likewise.
9862         * .gdbinit (dump-temacs): Likewise.
9863
9864 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9865
9866         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9867         export OBJECT_MODE=64
9868         configure --pdump --use-union-type=no
9869         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9870         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9871
9872         * miscplay.c (sndcnv8U_2mono):
9873         Avoid two uses of `++' in the same expression.
9874         Suppresses a GCC warning.
9875
9876 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9877
9878         Make sure future compilers don't miscompile alloc.c.
9879         * alloc.c:
9880         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9881         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9882
9883 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9884
9885         * dumper.c: A little post-pdump-rename comment fixup.
9886
9887 2001-01-09  Jerry James  <james@eecs.ku.edu>
9888
9889         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9890
9891 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9892
9893         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9894         script:
9895         #!/bin/sh
9896         replace_symbol () {
9897           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9898         }
9899
9900         replace_symbol pdump_wire_lists pdump_weak_object_chains
9901         replace_symbol pdump_wire_list dump_add_weak_object_chain
9902
9903         replace_symbol pdump_wires pdump_root_objects
9904         replace_symbol pdump_wire dump_add_root_object
9905
9906         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9907         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9908
9909         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9910         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9911         replace_symbol dumpstructinfo pdump_root_struct_ptr
9912         replace_symbol dumpstruct dump_add_root_struct_ptr
9913
9914         replace_symbol dumpopaque dump_add_opaque
9915         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9916         replace_symbol dumpopaqueinfos pdump_opaques
9917         replace_symbol dumpopaqueinfo pdump_opaque
9918
9919         replace_symbol nb_structdump nb_root_struct_ptrs
9920         replace_symbol nb_opaquedump nb_opaques
9921
9922         replace_symbol align_table pdump_align_table
9923         replace_symbol dump_header pdump_header
9924
9925         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9926         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9927
9928
9929 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9930
9931         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9932         optimizing bytecount_to_charcount().
9933
9934 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9935
9936         * config.h.in:
9937         (HAVE_DLFCN_H): Removed.
9938         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9939
9940 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9941
9942         Portable dumper maintainability improvements.
9943         * alloc.c (staticpro):
9944         * alloc.c (staticpro_nodump):
9945         * alloc.c (garbage_collect_1):
9946         * alloc.c (reinit_alloc_once_early):
9947         * alloc.c (init_alloc_once_early):
9948         * alloc.c: Move dumper functions to alloc.c.
9949         * dumper.c (pdump_backtrace):
9950         * dumper.c (pdump_dump_structs):
9951         * dumper.c (pdump_dump_opaques):
9952         * dumper.c (pdump_dump_rtables):
9953         * dumper.c (pdump_dump_wired):
9954         * dumper.c (pdump):
9955         * dumper.c (pdump_load_check):
9956         * dumper.c (pdump_load_finish):
9957         * dumper.c (pdump_file_unmap):
9958         * dumper.c (pdump_file_get):
9959         * dumper.c (pdump_resource_free):
9960         * dumper.c (pdump_resource_get):
9961         * dumper.c (pdump_file_free):
9962         * dumper.c (pdump_file_try):
9963         * dumper.c (pdump_load):
9964         Remove fixed size limits on staticpro(), staticpro_nodump(),
9965         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9966         Remove custom code for dumping lrecord_implementations_table - use
9967         dumpopaque instead.
9968         Remove (most of the) custom code for dumping staticpros - dump it
9969         like any other dynarr.
9970
9971         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9972         * dumper.c: Moved functions from alloc.c.
9973         * alloc.c (dumpstruct): Moved to dumper.c.
9974         * alloc.c (dumpopaque): Likewise.
9975         * alloc.c (pdump_wire): Likewise.
9976         * alloc.c (pdump_wire_list): Likewise.
9977
9978         * lisp.h (Dynarr_sizeof): New.
9979         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9980         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9981         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9982
9983         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9984         * lisp.h (dumpopaque): ditto.
9985         * lisp.h (pdump_wire): ditto.
9986         * lisp.h (pdump_wire_list): ditto.
9987
9988 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9989
9990         * make-src-depend (PrintPatternDeps):
9991         Use `sort' to make output independent of perl version.
9992
9993 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9994
9995         Port to Netbsd 1.5.
9996         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9997         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9998
9999 2001-01-03  Didier Verna  <didier@xemacs.org>
10000
10001         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
10002         that `focus_frame' is alive before thinking of calling
10003         `redisplay_redraw_cursor' on it.
10004
10005 2001-01-08  Martin Buchholz <martin@xemacs.org>
10006
10007         * XEmacs 21.2.40 is released.
10008
10009 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
10010
10011         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
10012
10013 2001-01-06  Martin Buchholz  <martin@xemacs.org>
10014
10015         * alloc.c (dbg_valmask): Make const.
10016         * alloc.c (dbg_typemask): Make const.
10017         * alloc.c (dbg_USE_UNION_TYPE): Make const.
10018         * alloc.c (dbg_valbits): Make const.
10019         * alloc.c (dbg_gctypebits): Make const.
10020
10021 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
10022
10023         * redisplay-x.c (x_bevel_area):
10024         redisplay.h (struct rune):
10025         Typo fixes in comments.
10026
10027 2001-01-05  Andy Piper  <andy@xemacs.org>
10028
10029         * glyphs-x.c (x_redisplay_widget): use size changed for offset
10030         adjustment.
10031
10032         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
10033
10034 2001-01-05  Martin Buchholz  <martin@xemacs.org>
10035
10036         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
10037
10038         * mule-ccl.c (stack_idx_of_map_multiple):
10039         Non const global data must not be initialized!
10040         Found by MIYASHITA Hisashi.
10041
10042 2001-01-02  Andy Piper  <andy@xemacs.org>
10043
10044         * frame.c (change_frame_size): make sure frame size is always
10045         marked as changed.
10046
10047         * glyphs.c (image_instance_layout): minor code reuse.
10048
10049         * window.c (Fcurrent_window_configuration): revert previous
10050         change.
10051
10052 2001-01-02  Martin Buchholz  <martin@xemacs.org>
10053
10054         * glyphs.h:
10055         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
10056
10057 2000-12-31  Andy Piper  <andy@xemacs.org>
10058
10059         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
10060         when widget gets unmapped.
10061
10062         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
10063         function. Make sure widgets losing focus don't just drop it.
10064         (handle_focus_event_1): record the widget with focus.
10065
10066 2000-12-31  Andy Piper  <andy@xemacs.org>
10067
10068         * window.c (allocate_window): use
10069         make_image_instance_cache_hash_table.
10070         (make_dummy_parent): ditto.
10071         (Fset_window_configuration): ditto.
10072
10073         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
10074
10075         * glyphs.c (process_image_string_instantiator): use
10076         INSTANTIATOR_TYPE.
10077         (get_image_instantiator_governing_domain): ditto.
10078         (normalize_image_instantiator): ditto.
10079         (instantiate_image_instantiator): ditto.
10080         (make_image_instance_1): ditto.
10081         (image_instantiate): ditto. Key on glyph *and* instantiator type.
10082         (instantiator_eq_equal): new function for use with instance hash
10083         tables.
10084         (instantiator_eq_hash): ditto.
10085         (make_image_instance_cache_hash_table): create a suitable hash
10086         table for storing image instances.
10087
10088         * elhash.h (hash_table_weakness): new internal weakness type
10089         HASH_TABLE_KEY_CAR_VALUE_WEAK.
10090         declare new functions.
10091
10092         * elhash.c (finish_marking_weak_hash_tables): introduce yet
10093         another weakness type for glyphs.
10094         (make_standard_lisp_hash_table): new function split out from
10095         make_general_lisp_hash_table.
10096         (make_lisp_hash_table): call make_standard_lisp_hash_table.
10097         (hash_table_instantiate): ditto.
10098         (Fmake_hash_table): ditto.
10099
10100 2000-12-31  Martin Buchholz <martin@xemacs.org>
10101
10102         * XEmacs 21.2.39 is released.
10103
10104 2000-12-29  Andy Piper  <andy@xemacs.org>
10105
10106         * menubar.c (menubar_visible_p_changed): signal the frame changed.
10107
10108         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
10109         the frame has changed so that we pick up geometry changes such as
10110         menubar visibility.
10111
10112 2000-12-28  Andy Piper  <andy@xemacs.org>
10113
10114         * lastfile.c (my_ebss): make a char array so we can pad the
10115         bss. Fixes cygwin unexec.
10116
10117         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
10118
10119 2000-12-26  Andy Piper  <andy@xemacs.org>
10120
10121         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
10122         comments and try and be more precise about a non-/SIGIO world.
10123         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
10124         SIGIO.
10125
10126         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
10127         we don't normalize to zero width or height.
10128
10129 2000-12-24  Andy Piper  <andy@xemacs.org>
10130
10131         * Makefile.in.in (ldflags): add -mwindows when appropriate.
10132
10133 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
10134
10135         * s/sco5.h: SCO 5 has pty support.
10136
10137 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
10138
10139         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
10140         input-method-xlib.c contains whole contents of input-method-xfs.c,
10141         so we can use input-method-xlib.c's code for USE_XFONTSET
10142         using #ifdefs.
10143         * input-method-xfs.c: removed.
10144
10145 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
10146
10147         * file-coding.h (enum coding_category_type): reorder enumerators to
10148         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
10149         (now one greater than largest real coding_category_type enumerator).
10150         * file-coding.c (coding_category_symbol, coding_category_by_priority,
10151         coding_category_system, fcd_descriptihon_1, decode_coding_category,
10152         Fcoding_category_list, Fset_coding_priority_list,
10153         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
10154         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
10155
10156 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10157
10158         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
10159         * redisplay-output.c (redisplay_output_window): Clear top of window
10160         when face is changed.
10161         * redisplay-x.c (x_redraw_exposed_window): Call
10162         redisplay_clear_top_of_window.
10163         * redisplay.h: Publish redisplay_clear_top_of_window.
10164
10165 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10166
10167         * buffer.c (Fkill_buffer): Map over all devices.
10168         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10169         (list_windows): New function.
10170         (list_all_windows): Ditto.
10171         (Freplace_buffer_in_windows): Use them.
10172
10173 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10174
10175         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10176         (Fopen_database): Use `db_create' instead of `db_open'.
10177         (syms_of_database): Initialize Qqueue.
10178
10179 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10180
10181         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10182         buffer_local_face_property.
10183         * buffer.h (struct buffer): New member buffer_local_face_property.
10184         * window.c (Fset_window_buffer):  Mark window's face as changed
10185         when buffer has buffer local face.
10186         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10187         * objects.c (color_after_change): Set buffer_local_face_property
10188         when locale of face specifier is buffer.
10189         * objects.c (font_after_change): Ditto.
10190         * objects.c (face_boolean_after_change): Ditto.
10191         * glyphs.c (image_after_change): Ditto.
10192
10193 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10194
10195         * nt.c (mswindows_fstat): Report file permissions, volume serial
10196         number, etc. Code adapted from FSF Emacs 20.7.
10197
10198 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10199
10200         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10201         of stat when we don't have symbolic links, to make sure
10202         mswindows_stat is called on mswindows.
10203
10204 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10205
10206         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10207
10208 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10209
10210         * doprnt.c (emacs_doprnt_1): More printing fixes.
10211         Make printing of numbers compatible with libc and FSF Emacs.
10212         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10213         Use the system printf to do most of the hard work of formatting,
10214         instead of doprnt_1().
10215         Calculate memory to allocate for format string.
10216         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10217         (doprnt_1): Cleaner code and documentation.
10218
10219 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10220
10221         * Makefile.in.in: Use the loop variable to install headers.
10222
10223 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10224
10225         * window.c (Fsplit_window): Don't invalidate face cache.
10226
10227 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10228
10229         * minibuf.c (Fall_completions): Undo the previous change
10230         which removed checking elements start with space.
10231
10232 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10233
10234         * mule-canna.c: Didier suppression.
10235
10236 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10237
10238         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10239         (warning suppression).  Add English comment translations.
10240
10241 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10242
10243         * unexelfsgi.c (unexec): Better test for mmap failure.
10244
10245 2000-12-05  Martin Buchholz <martin@xemacs.org>
10246
10247         * XEmacs 21.2.38 is released.
10248
10249 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10250
10251         * redisplay.c (bar-cursor): Make a user variable.
10252
10253         * symsinit.h: Add init_postgresql_from_environment.
10254
10255 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10256
10257         * regex.c: Convert to clean C.
10258
10259 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10260
10261         * realpath.c:
10262         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10263         initialization.
10264         (sys_readlink): renamed to system_readlink to avoid conflict with
10265         the other sys_readlink.
10266
10267 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10268
10269         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10270
10271 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10272
10273         * postgresql.c (init_postgresql_from_environment): new function.
10274         (vars_of_postgresql): Move code initializing Lisp variables out and
10275         into init_postgresql_from_environment.
10276         emacs.c (main_1): Call init_postgresql_from_environment if and only
10277         if running a dumped XEmacs.
10278
10279 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10280
10281         * buffer.c: Make find-file-compare-truenames default to true on
10282         windows.
10283
10284         * realpath.c (win32_abs_start):
10285         (cygwin_readlink):
10286         (win32_readlink): New functions.
10287         (xrealpath): Return really real filenames on windows.
10288
10289         * fileio.c (Ffile_truename): Make file-truename work on windows.
10290
10291 2000-11-29  Didier Verna  <didier@xemacs.org>
10292
10293         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10294         * faces.c (update_face_cachel_data): use it.
10295         * faces.c (add_face_cachel): use it. Complete background pixmap
10296         frobbing in face cache if `update_face_cachel_data' has not done so.
10297
10298 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10299
10300         * search.c (string_match_1): Don't set last_thing_searched
10301         when search failed.
10302
10303 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10304
10305         * buffer.c: Include casetab.h
10306         (common_init_complex_vars_of_buffer): Use new case-table object.
10307         * buffer.h: Include casetab.h
10308         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10309         (DOWNCASE_TABLE_OF): Ditto.
10310         * bufslots.h: Remove char-tables and add case-table.
10311         * casetab.c: Include casetab.h
10312         (CASE_TABLE_P): Removed.
10313         (mark_case_table): New function.
10314         (allocate_case_table): New function.
10315         (Fcase_table_p): Use new case-table.
10316         (case_table_char): New function.
10317         (Fget_case_table): Ditto.
10318         (Fput_case_table): Ditto.
10319         (Fput_case_table_pair): Ditto.
10320         (Fcopy_case_table): Ditto.
10321         (Fcurrent_case_table): Return case-table.
10322         (Fstandard_case_table): Return case-table.
10323         (Fset_case_table): Fix doc-string.
10324         (set_case_table): Use case-table
10325         (syms_of_casetab): DEFSUBR new functions.
10326         (complex_vars_of_casetab): Set up standard case-table.
10327         * casetab.h: New file.
10328         * editfns.c: Include casetab.h
10329         (Fcompare_buffer_substrings): Use case-table.
10330         * inline.c: Include casetab.h
10331         * lisp.h: Remove bogus extern.
10332         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10333         * search.c: Include casetab.h
10334         (TRANSLATE_ASCII): Removed.
10335         (TRANSLATE): Unconditionally translate character.
10336         (looking_at_1): Use case-table.
10337         (string_match_1): Ditto.
10338         (fast_string_match): Ditto.
10339         (search_command): Ditto.
10340         (search_buffer): Separate boyer_moore.  Check whether
10341         boyer_moore is possible.
10342         (simple_search): New function.
10343         (boyer_moore): Separated from search_buffer. Translate char.
10344
10345 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10346
10347         * regex.c (RE_TR_ASCII): Removed.
10348         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10349         (PATFETCH): Call PATFETCH_RAW.
10350         (PATFETCH_RAW): Fetch Emchar.
10351         (PATUNFETCH): Decrement charptr.
10352         (GET_BUFFER_SPACE): Rename b to buf_end.
10353         (BUF_PUSH): Ditto.
10354         (BUF_PUSH_2): Ditto.
10355         (BUF_PUSH_3): Ditto.
10356         (EXTEND_BUFFER): Ditto.
10357         (SET_LIST_BIT): Ditto.
10358         (regex_compile): Ditto.  Translate non ASCII char.
10359         (compile_range): Ditto.
10360         (re_search_2): Ditto.
10361         (re_match_2_internal): Compare Emchar.
10362         (bcmp_translate): Ditto.
10363
10364 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10365
10366         * lisp.h (basic char/int typedefs):  comment improvement.
10367
10368 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10369
10370         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10371         unstomp inhibit_site_lisp.  Improve comments.
10372
10373 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10374
10375         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10376
10377 2000-11-28  Andy Piper  <andy@xemacs.org>
10378
10379         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10380         clipped display for windows in the gutter also.
10381         (redisplay_display_boxes_in_window_p): change semantics of return
10382         codes to be more intuitive.
10383
10384         * gutter.h: declare display_boxes_in_gutter_p.
10385
10386         * gutter.c (display_boxes_in_gutter_p): new function for
10387         redisplay.
10388
10389 2000-11-22  Andy Piper  <andy@xemacs.org>
10390
10391         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10392         autodetect domain.
10393
10394 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10395
10396         * callproc.c (Fold_call_process_internal):
10397         * gpm.c (Freceive_gpm_event):
10398         (tty_get_foreign_selection): Might be just warning supression.
10399         * fileio.c (Fwrite_region_internal):
10400         (Fset_visited_file_modtime):
10401         * keymap.c (event_matches_key_specifier_p):
10402         Initialize GCPROed variable.
10403
10404         * menubar-x.c (command_builder_find_menu_accelerator):
10405         Initialize before use.
10406
10407 2000-11-23  Andy Piper  <andy@xemacs.org>
10408
10409         * unexcw.c (unexec): make the resulting executable executable.
10410
10411 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10412
10413         * doc.c (get_doc_string):
10414         Use size_t, not int, for result of XSTRING_LENGTH.
10415
10416         * cmds.c (Fdelete_char):
10417         * cmds.c (Fpoint_at_eol):
10418         * cmds.c (Fself_insert_command):
10419         Use EMACS_INT, not int, for result of XINT.
10420         Someday, someone will want to insert more than 2**31 identical characters.
10421
10422         * cmds.c (Fdelete_char):
10423         * cmds.c (Fdelete_backward_char):
10424         * syntax.c (Fforward_word):
10425         * syntax.c (Fforward_comment):
10426         Make COUNT argument optional, for consistency with forward-char et al.
10427
10428 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10429
10430         * lisp.h:
10431         * print.c (long_to_string):
10432         Return a useful value: the pointer at end of data written.
10433
10434         * doprnt.c:
10435         Use `static const char * const' for constant strings.
10436         (union printf_arg): Delete `i', `ui' members.
10437         (get_doprnt_args):
10438         (emacs_doprnt_1):
10439         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10440         Do all printf-ing via the `l' specifier.
10441         Use EMACS_INT instead of int.
10442         Optimize.
10443
10444 2000-11-20  Didier Verna  <didier@xemacs.org>
10445
10446         * faces.c (update_face_cachel_data): don't frob the background
10447         pixmap when the window is being created. The face is needed but
10448         does not exist yet.
10449
10450 2000-11-20  Andy Piper  <andy@xemacs.org>
10451
10452         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10453         messing with a debug environment.
10454
10455 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10456
10457         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10458
10459 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10460
10461         * casetab.c (Fcase_table_p): Fix compile error and crash.
10462
10463 2000-11-18  Philip Aston  <philipa@mail.com>
10464
10465         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10466
10467 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10468
10469         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10470         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10471
10472 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10473
10474         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10475         * unexelf.c: Use HAVE_ELF_H.
10476         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10477         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10478         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10479         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10480         for testing.
10481         So this is an unexelfsgi.c from a different line of development.
10482
10483 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10484
10485         * regex.c (RE_TR_ASCII): New function.
10486         (RE_TRANSLATE): Call it.
10487
10488 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10489
10490         * buffer.h (TRT_TABLE_OF): Remove assert.
10491         (IN_TRT_TABLE_DOMAIN): Removed.
10492
10493 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10494
10495         * free-hook.c (log_gcpro):
10496         (show_gcprohist): Add support for GCPRO5.
10497
10498 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10499
10500         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10501
10502 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10503
10504         * symeval.h: Declare flush_all_buffer_local_cache.
10505
10506         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10507         (flush_buffer_local_cache): Added.
10508         (flush_all_buffer_local_cache): Added.
10509
10510         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10511
10512         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10513         (pdump_dump_data): Ditto.
10514         (pdump_reloc_one): Ditto.
10515         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10516         before dumping.
10517
10518
10519 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10520
10521         * buffer.c: Remove if 0'ed entry.
10522         * buffer.h: Rewrite TRT to use char-table.
10523         * bufslots.h: Remove mirror tables.
10524         * casetab.c: Remove mirror tables.
10525         (CASE_TABLE_P): New macro.
10526         (Fcase_table_p): Element of a case table is string or char-table.
10527         (make_mirror_trt_table): Removed.
10528         (set_case_table): Setup char-table from strings for backward
10529         compatibility.
10530         * dired.c (Fdirectory_files):
10531         * dired-msw.c: (mswindows_get_files):
10532         * lisp.h: Change prototype of re_pattern_buffer.
10533         * regex.c: (RE_TRANSLATE): New macro.
10534         (TRANSLATE_P): Ditto.
10535         Change translate to type RE_TRANSLATE_TYPE.
10536         * regex.h: Define RE_TRANSLATE_TYPE
10537         * search.c (TRANSLATE): New macro.
10538         (TRANSLATE_ASCII): New macro.
10539         Translate table is changed to Lisp_Object.
10540         (signal_failure): Inhibit return.
10541
10542 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10543
10544         * device-msw.c:
10545         * eldap.c:
10546         * event-Xt.c:
10547         * event-stream.c:
10548         * print.c:
10549         Do UNGCPRO before return.
10550
10551 2000-11-14  Martin Buchholz <martin@xemacs.org>
10552
10553         * XEmacs 21.2.37 is released.
10554
10555 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10556
10557         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10558         Add comments about discarded return value.
10559
10560 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10561
10562         * callint.c:
10563         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10564
10565 2000-10-27  Andy Piper  <andy@xemacs.org>
10566
10567         * gutter.c (Fset_default_gutter_position): default left and right
10568         gutters to visible.
10569         (calculate_gutter_size): calculate resonable heuristic for left
10570         and right gutter sizes.
10571         (specifier_vars_of_gutter): change left and right gutter sizes to
10572         autodetect.
10573         (calculate_gutter_size_from_display_lines): new function.
10574         (output_gutter): check for resizing on left and right gutters.
10575         (clear_gutter): don't special case top and left gutters.
10576         (specifier_vars_of_gutter): use new signature for
10577         set_specifier_caching.
10578
10579         * glyphs-x.c (x_redisplay_widget): spelling fix.
10580         * glyphs.c (specifier_vars_of_glyphs):
10581         * menubar.c (specifier_vars_of_menubar):
10582         * redisplay.c (specifier_vars_of_redisplay):
10583         * toolbar.c (specifier_vars_of_toolbar):
10584         * window.c (specifier_vars_of_window):
10585         * scrollbar.c (specifier_vars_of_scrollbar):
10586         (complex_vars_of_scrollbar): use new signature for
10587         set_specifier_caching.
10588
10589         * specifier.c (set_specifier_caching): include recompute flag.
10590         (recompute_one_cached_specifier_in_window): always recompute if
10591         flag set.
10592         (recompute_one_cached_specifier_in_frame): ditto.
10593
10594         * specifier.h (struct specifier_caching): add recompute flag.
10595
10596 2000-10-24  Andy Piper  <andy@xemacs.org>
10597
10598         * unexcw.c (copy_executable_and_dump_data_section): add new
10599         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10600         5.0 happy.
10601
10602 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10603
10604         * console-x.h (x_device): New member modifier_release_time.
10605         * event-Xt.c (x_handle_sticky_modifiers):
10606         Bound interval modifier keys are sticky.
10607         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10608         * events.h: extern it.
10609
10610 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10611
10612         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10613
10614 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10615
10616         * event-stream.c (execute_command_event): Preserve current_events
10617         and the like when event is misc-user-event.
10618         Inhibit quit during the call to maybe_echo_keys.
10619
10620 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10621
10622         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10623         symlink when buffer is killed.
10624         (inhibit_clash_detection): New variable.
10625
10626 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10627
10628         * console.c (Fset_input_method): Trigger redisplay on tty.
10629
10630 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10631
10632         * process.c (Fprocess_status): Revert to previous behavior:
10633         (process-status "nosuchprocess") ==> nil
10634
10635 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10636
10637         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10638         Work around another GCC 2.95.2 optimizer bug.
10639
10640 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10641
10642         * process.c (Fget_process): Use LIST_LOOP_2.
10643         (kill_buffer_processes): Use LIST_LOOP_2.
10644
10645         * minibuf.c (Fall_completions):
10646         Delete old non-functional code for FSF fourth argument.
10647
10648         * frame.c (frame_matches_frame_spec):
10649         Renamed from `frame_matches_frametype'.  Update all callers.
10650         (device_matches_device_spec):
10651         Renamed from 'device_matches_console_spec'.  Update all callers.
10652
10653         * doc.c (Fsubstitute_command_keys):
10654         Remove buffer overflow crash.  Small code cleanups.
10655
10656         * casetab.c (check_case_table): Simpler code.
10657
10658         * window.c (Freplace_buffer_in_windows):
10659         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10660         (and similar implementation) as Fdelete_windows_on.
10661         Update all callers.
10662
10663         * alloc.c (Fmake_list):
10664         * alloc.c (make_vector):
10665         * alloc.c (Fmake_vector):
10666         * alloc.c (make_bit_vector):
10667         * alloc.c (Fmake_bit_vector):
10668         * alloc.c (Fbit_vector):
10669         * alloc.c (Fmake_string):
10670         * alloc.c (Fpurecopy):
10671         * alloc.c (Fmemory_limit):
10672         * buffer.c:
10673         * buffer.c (Fget_buffer):
10674         * buffer.c (Fkill_buffer):
10675         * buffer.c (complex_vars_of_buffer):
10676         * bytecode.c (Fcompiled_function_stack_depth):
10677         * callint.c (Fprefix_numeric_value):
10678         * event-stream.c:
10679         * event-stream.c (Fread_key_sequence):
10680         * casetab.c:
10681         * casetab.c (Fcase_table_p):
10682         * casetab.c (check_case_table):
10683         * casetab.c (Fset_case_table):
10684         * casetab.c (Fset_standard_case_table):
10685         * chartab.c:
10686         * chartab.c (Fchar_table_type):
10687         * chartab.c (Freset_char_table):
10688         * chartab.c (Fget_char_table):
10689         * chartab.c (Fget_range_char_table):
10690         * chartab.c (Fput_char_table):
10691         * chartab.c (Fmap_char_table):
10692         * chartab.c (Fcategory_table_p):
10693         * chartab.c (Fcheck_category_at):
10694         * chartab.c (Fchar_in_category_p):
10695         * chartab.c (Fcategory_table):
10696         * chartab.c (Fcopy_category_table):
10697         * chartab.c (Fset_category_table):
10698         * chartab.c (Fcategory_designator_p):
10699         * chartab.c (Fcategory_table_value_p):
10700         * cmds.c (Fdelete_char):
10701         * cmds.c (Fdelete_backward_char):
10702         * cmds.c (Fself_insert_command):
10703         * cmds.c (Fself_insert_internal):
10704         * console.c (Fvalid_console_type_p):
10705         * console.c (Fcdfw_console):
10706         * console.c (Fconsole_type):
10707         * console.c (Fconsole_name):
10708         * console.c (Fconsole_device_list):
10709         * console.c (Fconsole_on_window_system_p):
10710         * data.c:
10711         * data.c (Feq):
10712         * data.c (Fold_eq):
10713         * data.c (Fsubr_interactive):
10714         * data.c (Fchar_to_int):
10715         * data.c (Fint_to_char):
10716         * data.c (Fsetcar):
10717         * data.c (Fsetcdr):
10718         * data.c (Fnumber_to_string):
10719         * data.c (Fstring_to_number):
10720         * data.c (Frem):
10721         * database.c (mark_database):
10722         * database.c (finalize_database):
10723         * database.c (Fdatabase_live_p):
10724         * database.c (Fdatabasep):
10725         * device-x.c (Fx_get_resource):
10726         * device.c (Fdfw_device):
10727         * dired.c:
10728         * dired.c (Ffile_name_completion):
10729         * dired.c (Ffile_name_all_completions):
10730         * dired.c (Fuser_name_completion):
10731         * dired.c (Fuser_name_completion_1):
10732         * dired.c (Fuser_name_all_completions):
10733         * doc.c (Fdocumentation):
10734         * doc.c (Fdocumentation_property):
10735         * doc.c (Fsubstitute_command_keys):
10736         * editfns.c:
10737         * editfns.c (Fchar_to_string):
10738         * editfns.c (Fstring_to_char):
10739         * editfns.c (Ftemp_directory):
10740         * editfns.c (Finsert_char):
10741         * editfns.c (Fbuffer_substring_no_properties):
10742         * editfns.c (Fnarrow_to_region):
10743         * editfns.c (Fchar_equal):
10744         * editfns.c (Fchar_Equal):
10745         * editfns.c (Ftranspose_regions):
10746         * emacs.c (Fdump_emacs):
10747         * eval.c (Fthrow):
10748         * eval.c (Fcommand_execute):
10749         * eval.c (Fautoload):
10750         * eval.c (Fbacktrace):
10751         * eval.c (Fbacktrace_frame):
10752         * events.c:
10753         * events.c (Fcopy_event):
10754         * events.c (Fcharacter_to_event):
10755         * events.c (Fevent_button):
10756         * events.c (Fevent_process):
10757         * extents.c:
10758         * extents.c (Fnext_extent_change):
10759         * extents.c (Fextent_property):
10760         * faces.c (Ffacep):
10761         * faces.c (Fmake_face):
10762         * file-coding.c:
10763         * file-coding.c (Fencode_shift_jis_char):
10764         * file-coding.c (Fencode_big5_char):
10765         * fileio.c (Ffile_name_directory):
10766         * fileio.c (Ffile_name_nondirectory):
10767         * fileio.c (Ffile_name_as_directory):
10768         * fileio.c (Fdirectory_file_name):
10769         * fileio.c (Ffile_truename):
10770         * fileio.c (Fsubstitute_in_file_name):
10771         * fileio.c (Ffile_modes):
10772         * fileio.c (Fset_file_modes):
10773         * fileio.c (Fset_default_file_modes):
10774         * fileio.c (Fverify_visited_file_modtime):
10775         * floatfns.c (Facos):
10776         * floatfns.c (Fasin):
10777         * floatfns.c (Fatan):
10778         * floatfns.c (Fcos):
10779         * floatfns.c (Fsin):
10780         * floatfns.c (Ftan):
10781         * floatfns.c (Fbessel_j0):
10782         * floatfns.c (Fbessel_j1):
10783         * floatfns.c (Fbessel_jn):
10784         * floatfns.c (Fbessel_y0):
10785         * floatfns.c (Fbessel_y1):
10786         * floatfns.c (Fbessel_yn):
10787         * floatfns.c (Ferf):
10788         * floatfns.c (Ferfc):
10789         * floatfns.c (Flog_gamma):
10790         * floatfns.c (Fexp):
10791         * floatfns.c (Fexpt):
10792         * floatfns.c (Flog):
10793         * floatfns.c (Flog10):
10794         * floatfns.c (Fsqrt):
10795         * floatfns.c (Fcube_root):
10796         * floatfns.c (Facosh):
10797         * floatfns.c (Fasinh):
10798         * floatfns.c (Fatanh):
10799         * floatfns.c (Fcosh):
10800         * floatfns.c (Fsinh):
10801         * floatfns.c (Ftanh):
10802         * floatfns.c (Fabs):
10803         * floatfns.c (Ffloat):
10804         * floatfns.c (Flogb):
10805         * floatfns.c (Fceiling):
10806         * floatfns.c (Ffloor):
10807         * floatfns.c (Fround):
10808         * floatfns.c (Ftruncate):
10809         * floatfns.c (Ffceiling):
10810         * floatfns.c (Fffloor):
10811         * floatfns.c (Ffround):
10812         * floatfns.c (Fftruncate):
10813         * fns.c (Fstring_equal):
10814         * fns.c (Fstring_lessp):
10815         * fns.c (concat2):
10816         * fns.c (concat3):
10817         * fns.c (vconcat2):
10818         * fns.c (vconcat3):
10819         * fns.c (Fsubstring):
10820         * fns.c (Fassoc):
10821         * fns.c (Fold_assoc):
10822         * fns.c (assoc_no_quit):
10823         * fns.c (Fassq):
10824         * fns.c (Fold_assq):
10825         * fns.c (assq_no_quit):
10826         * fns.c (Frassoc):
10827         * fns.c (Fold_rassoc):
10828         * fns.c (Frassq):
10829         * fns.c (Fold_rassq):
10830         * fns.c (rassq_no_quit):
10831         * fns.c (Fremassoc):
10832         * fns.c (remassoc_no_quit):
10833         * fns.c (Fremassq):
10834         * fns.c (remassq_no_quit):
10835         * fns.c (Fremrassoc):
10836         * fns.c (Fremrassq):
10837         * fns.c (remrassq_no_quit):
10838         * fns.c (Fsort):
10839         * fns.c (Fplist_get):
10840         * fns.c (Fplist_put):
10841         * fns.c (Fplist_remprop):
10842         * fns.c (Fplist_member):
10843         * fns.c (Flax_plist_get):
10844         * fns.c (Flax_plist_put):
10845         * fns.c (Flax_plist_remprop):
10846         * fns.c (Flax_plist_member):
10847         * fns.c (Fequal):
10848         * fns.c (Fold_equal):
10849         * fns.c (Frequire):
10850         * fns.c (Fbase64_encode_region):
10851         * fns.c (Fbase64_encode_string):
10852         * fns.c (Fbase64_decode_region):
10853         * frame.c:
10854         * frame.c (frame_matches_frame_spec):
10855         * frame.c (device_matches_device_spec):
10856         * frame.c (next_frame):
10857         * frame.c (previous_frame):
10858         * frame.c (Fnext_frame):
10859         * frame.c (Fprevious_frame):
10860         * frame.c (Fframe_property):
10861         * frame.c (Fset_frame_height):
10862         * frame.c (Fset_frame_size):
10863         * frame.h:
10864         * glyphs.c:
10865         * glyphs.c (if):
10866         * glyphs.c (decode_error_behavior_flag):
10867         * glyphs.c (Fmake_image_instance):
10868         * indent.c (Findent_to):
10869         * intl.c (Fignore_defer_gettext):
10870         * keymap.c (Fkeymapp):
10871         * keymap.c (Flookup_key):
10872         * lread.c:
10873         * lread.c (Fload_internal):
10874         * lread.c (Feval_buffer):
10875         * lread.c (Feval_region):
10876         * macros.c (Fexecute_kbd_macro):
10877         * marker.c (set_marker_internal):
10878         * marker.c (Fset_marker):
10879         * marker.c (set_marker_restricted):
10880         * marker.c (Fcopy_marker):
10881         * marker.c (noseeum_copy_marker):
10882         * menubar.c:
10883         * menubar.c (Fpopup_menu):
10884         * minibuf.c:
10885         * mule-charset.c (Fcharset_name):
10886         * mule-charset.c (Fchar_charset):
10887         * mule-charset.c (Fchar_octet):
10888         * mule-charset.c (Fsplit_char):
10889         * mule-wnnfns.c (Fwnn_open):
10890         * mule-wnnfns.c (Fwnn_dict_comment):
10891         * mule-wnnfns.c (Fwnn_quit_henkan):
10892         * mule-wnnfns.c (Fwnn_word_toroku):
10893         * mule-wnnfns.c (Fwnn_word_sakujo):
10894         * mule-wnnfns.c (Fwnn_word_use):
10895         * mule-wnnfns.c (Fwnn_hindo_set):
10896         * objects.c:
10897         * objects.c (Fmake_color_instance):
10898         * objects.c (Fmake_font_instance):
10899         * print.c (Fwrite_char):
10900         * process.c:
10901         * process.c (mark_process):
10902         * process.c (print_process):
10903         * process.c (get_process_from_usid):
10904         * process.c (Fprocessp):
10905         * process.c (Fprocess_live_p):
10906         * process.c (Fget_process):
10907         * process.c (Fget_buffer_process):
10908         * process.c (get_process):
10909         * process.c (Fprocess_id):
10910         * process.c (Fprocess_name):
10911         * process.c (Fprocess_command):
10912         * process.c (init_process_io_handles):
10913         * process.c (start_process_unwind):
10914         * process.c (Fstart_process_internal):
10915         * process.c (Fopen_multicast_group_internal):
10916         * process.c (Fset_process_window_size):
10917         * process.c (read_process_output):
10918         * process.c (send_process):
10919         * process.c (Fprocess_tty_name):
10920         * process.c (Fset_process_buffer):
10921         * process.c (Fprocess_buffer):
10922         * process.c (Fprocess_mark):
10923         * process.c (set_process_filter):
10924         * process.c (Fset_process_filter):
10925         * process.c (Fprocess_filter):
10926         * process.c (Fprocess_send_region):
10927         * process.c (Fprocess_send_string):
10928         * process.c (exec_sentinel):
10929         * process.c (Fset_process_sentinel):
10930         * process.c (Fprocess_sentinel):
10931         * process.c (status_notify):
10932         * process.c (Fprocess_status):
10933         * process.c (Fprocess_exit_status):
10934         * process.c (process_send_signal):
10935         * process.c (Fprocess_send_eof):
10936         * process.c (deactivate_process):
10937         * process.c (remove_process):
10938         * process.c (Fdelete_process):
10939         * process.c (kill_buffer_processes):
10940         * process.c (Fprocess_kill_without_query):
10941         * process.c (Fprocess_kill_without_query_p):
10942         * rangetab.c:
10943         * rangetab.c (Fget_range_table):
10944         * rangetab.c (Fput_range_table):
10945         * rangetab.c (Fremove_range_table):
10946         * rangetab.c (Fclear_range_table):
10947         * search.c:
10948         * search.c (Fskip_chars_forward):
10949         * search.c (Fskip_chars_backward):
10950         * search.c (Fskip_syntax_forward):
10951         * search.c (Fskip_syntax_backward):
10952         * search.c (search_command):
10953         * search.c (Freplace_match):
10954         * search.c (Fregexp_quote):
10955         * select.c (Fown_selection_internal):
10956         * select.c (Fselection_owner_p):
10957         * select.c (Fselection_exists_p):
10958         * select.c (Fget_selection_internal):
10959         * specifier.c:
10960         * symbols.c:
10961         * symbols.c (Fintern):
10962         * symbols.c (Fintern_soft):
10963         * symbols.c (Funintern):
10964         * symbols.c (Fapropos_internal):
10965         * symbols.c (Fset_default):
10966         * syntax.c:
10967         * syntax.c (Fsyntax_table_p):
10968         * syntax.c (Fcopy_syntax_table):
10969         * syntax.c (Fset_syntax_table):
10970         * syntax.c (Fchar_syntax):
10971         * syntax.c (syntax_match):
10972         * syntax.c (Fmatching_paren):
10973         * syntax.c (Fforward_word):
10974         * syntax.c (scan_lists):
10975         * syntax.c (Fscan_lists):
10976         * syntax.c (Fscan_sexps):
10977         * syntax.c (Fparse_partial_sexp):
10978         * toolbar.c (Fcheck_toolbar_button_syntax):
10979         * tooltalk.doc:
10980         * window.c:
10981         * window.c (Fwindowp):
10982         * window.c (Fwindow_live_p):
10983         * window.c (Fwindow_point):
10984         * window.c (Fdelete_window):
10985         * window.c (Fnext_window):
10986         * window.c (Fprevious_window):
10987         * window.c (Fother_window):
10988         * window.c (window_loop):
10989         * window.c (Fget_lru_window):
10990         * window.c (Fsplit_window):
10991         * window.c (Fenlarge_window):
10992         * window.c (Fenlarge_window_pixels):
10993         * window.c (Fshrink_window):
10994         * window.c (Fshrink_window_pixels):
10995         * window.c (change_window_height):
10996         * window.c (Fwindow_configuration_p):
10997         * window.c (Fcurrent_window_configuration):
10998         * window.h:
10999         * casefiddle.c (casify_object):
11000         * casefiddle.c (Fupcase):
11001         * casefiddle.c (Fdowncase):
11002         * casefiddle.c (Fcapitalize):
11003         * casefiddle.c (Fupcase_initials):
11004         * casefiddle.c (casify_region_internal):
11005         * casefiddle.c (casify_region):
11006         * casefiddle.c (Fupcase_region):
11007         * casefiddle.c (Fdowncase_region):
11008         * casefiddle.c (Fcapitalize_region):
11009         * casefiddle.c (Fupcase_initials_region):
11010         * casefiddle.c (Fupcase_word):
11011         * casefiddle.c (Fdowncase_word):
11012         * casefiddle.c (Fcapitalize_word):
11013         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
11014         Replace 0 with '\0' when working with bytes.
11015         Replace initial "(" with "\(" in docstrings.
11016
11017 2000-11-01  Martin Buchholz  <martin@xemacs.org>
11018
11019         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
11020
11021         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
11022
11023 2000-10-31  Martin Buchholz  <martin@xemacs.org>
11024
11025         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
11026
11027 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
11028
11029         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
11030         correctly.
11031
11032 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
11033
11034         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
11035         (inhibit_auto_save_session): New variable.
11036         (vars_of_fileio): Declare and initialize them.
11037         * fileio.c (Fdo_auto_save): Don't create session file if
11038         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
11039
11040 2000-10-31  Martin Buchholz  <martin@xemacs.org>
11041
11042         * sgiplay.c (play_internal): C++ compilability.
11043         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
11044         * callproc.c (Fold_call_process_internal):
11045         Remove unused vars `env', `first'.
11046         * scrollbar.c (update_scrollbar_instance):
11047         #### unused var `current_window'.
11048         * redisplay-tty.c: Put currently unused vars insert_mode_on,
11049         etc. within #ifdef NOT_YET.
11050         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
11051         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
11052         * specifier.c (specifier_instance):
11053         #### unused var `tag'.
11054         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
11055
11056 2000-10-27  Martin Buchholz  <martin@xemacs.org>
11057
11058         * fns.c (Fbutlast):
11059         * fns.c (list_sort):
11060         * fns.c (Ffillarray):
11061         * fns.c (bytecode_nconc2):
11062         * fns.c (Fnconc):
11063         * fns.c (mapcar1):
11064         * fns.c (Fmapconcat):
11065         Be pedantically 64-bit correct.  For the time when someone will
11066         want to have a list with length > 2**32.
11067
11068         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11069         Work around MIPSpro compiler bug.
11070
11071         * process-unix.c (unix_kill_child_process): Add snarky comment.
11072         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
11073
11074         * config.h.in: Oops, _getpt ==> _getpty
11075
11076 2000-10-26  Martin Buchholz  <martin@xemacs.org>
11077
11078         * config.h.in:
11079         * regex.c:
11080         Use void*, not char*, as return type of alloca().
11081
11082         * alloc.c (free_marker): Side effect inside assert expression!
11083
11084 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
11085
11086         * mule-charset.c (Fset_charset_ccl_program): To check
11087         if the given ccl program is valid, use setup_ccl_program()
11088         instead of CHECK_VECTOR().
11089         (Fmake_charset): Likewise.
11090
11091 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
11092
11093         * faces.c (get_extent_fragment_face_cache_index):
11094         Fix cachel.merged_faces memory leak.
11095
11096 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
11097
11098         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
11099         Reset MSB of octets obtained by DECODE_SJIS
11100         because of the incompatibility with Emacs.
11101         (ccl_driver)<CCL_ENCODE_SJIS>:
11102         Set MSB of octets before passing them to
11103         ENCODE_SJIS because of the incompatibility
11104         with Emacs.
11105
11106 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
11107
11108         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
11109         (DECLARE_LRECORD): Undo the last change.
11110         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
11111
11112 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
11113
11114         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
11115         the implementation to lrecord_implementations_table.
11116
11117 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
11118
11119         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
11120         initial value of `lrecord_type_##c_name' and
11121         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
11122         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
11123         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
11124         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
11125         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
11126
11127 2000-10-17  Martin Buchholz  <martin@xemacs.org>
11128
11129         * miscplay.c (sndcnv8S_2mono):
11130         (sndcnv2monounsigned):
11131         (sndcnvULaw_2linear):
11132         (sndcnv16swap):
11133         Remove implementation-defined behavior.
11134
11135 2000-10-12  Martin Buchholz  <martin@xemacs.org>
11136
11137         * input-method-xlib.c: Warning suppression.
11138
11139 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
11140
11141         * mule-ccl.c: Sync up with Emacs 21.0.90.
11142         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
11143         Do nothing.
11144         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
11145         Likewise.
11146         (ccl_driver[WriteMultibyteChar2]): Bug fix.
11147         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
11148         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
11149         leading char belongs to official 2-dimensional charset.
11150         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
11151         write the given character as is.  Otherwise,
11152         if it is a multibyte char, convert it by
11153         non_ascii_set_charptr_emchar, then write it.
11154         (CCL_WRITE_STRING): Likewise.
11155         (ccl_get_compiled_code): New function.
11156         (setup_ccl_program): When ccl_prog is invalid,
11157         return -1.
11158         (Fregister_code_conversion_map): New function.
11159         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
11160
11161         * mule-ccl.h: Sync up with Emacs 21.0.90.
11162         (Fregister_ccl_program): export it.
11163
11164         * redisplay-msw.c (separate_textual_runs):
11165         If ccl program is not valid, don't do ccl conversion.
11166
11167         * redisplay-x.c (separate_textual_runs): Ditto.
11168
11169         * file-coding.c (Fmake_coding_system):
11170         When type is ccl and value is vector, register it
11171         with a proper symbol.  And checks whether the
11172         given ccl program is valid.
11173         (mule_decode): When calling ccl_driver, if src indicates
11174         NULL pointer, set an empty string instead.
11175         (mule_encode): Likewise.
11176
11177 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11178
11179         The following large batch of changes gets us back to a state of
11180         C++ compilability.  Extbyte is now a char, which means that
11181         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11182
11183         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11184
11185         * sound.c (Fplay_sound): Type correctness.
11186
11187         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11188         (x_get_window_property): Type correctness.
11189         (receive_incremental_selection): unsigned char ==> Extbyte
11190         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11191         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11192         (Fx_store_cutbuffer_internal): Type correctness.
11193
11194         * process-unix.c (try_to_initialize_subtty): Type correctness.
11195
11196         * objects-x.c (x_print_color_instance): Type correctness.
11197         (x_print_font_instance): Type correctness.
11198         (x_list_fonts): SExtbyte ==> Extbyte.
11199         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11200         (x_find_charset_font): SExtbyte ==> Extbyte.
11201         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11202         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11203         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11204         Use bufbyte_strcmp.
11205
11206         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11207         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11208         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11209         (BYTE_C0_P): Use bit ops for char-signedness safety.
11210         (BYTE_C1_P): Use bit ops for char-signedness safety.
11211         (CHARSET_BY_LEADING_BYTE):
11212         (CHARSET_BY_ATTRIBUTES):
11213         Always use inline function.
11214         Use type_checking_assert.
11215         Hide chlook.
11216
11217         * mule-charset.c (non_ascii_charptr_copy_char):
11218         Modify to work with both ASCII and non-ASCII characters.
11219         Improve docs and variable names.
11220         Replace over-clever fall-through switch with a simple loop.
11221         (Lstream_get_emchar_1):
11222         Replace over-clever fall-through switch with a simple loop.
11223
11224         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11225         Warning suppression.
11226
11227         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11228         the return value of Lstream_getc, which could be EOF as well.
11229
11230         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11231
11232         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11233         APIs can be used on Extbytes without casts.  Risky!
11234         (SExtbyte): Remove.
11235         (UExtbyte): Remove.
11236
11237         * input-method-xlib.c (XIM_init_device):
11238         Use Xlib.h instead of IntrinsicP.h.
11239         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11240         which will break in X11R7.
11241         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11242         to call XRegisterIMInstantiateCallback with correct types.
11243
11244         * gui-x.c (button_item_to_widget_value): Type correctness.
11245
11246         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11247
11248         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11249         (xbm_instantiate_1): Type correctness.
11250         (BUILD_GLYPH_INST):  Type correctness.
11251
11252         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11253
11254         * file-coding.c:
11255         (decode_coding_sjis):
11256         (decode_coding_big5):
11257         (decode_coding_ucs4):
11258         (decode_coding_utf8):
11259         (decode_coding_iso2022):
11260         (decode_coding_no_conversion):
11261         Make all decoding functions take an Extbyte * arg.
11262         (encode_coding_sjis):
11263         (encode_coding_big5):
11264         (encode_coding_ucs4):
11265         (encode_coding_utf8):
11266         (encode_coding_iso2022):
11267         (encode_coding_no_conversion):
11268         Make all encoding functions take a Bufbyte * arg.
11269         Use size_t instead of unsigned int for memory sizes.
11270         Only cast to unsigned char whenever dereferencing Extbyte *.
11271
11272         * doc.c (unparesseuxify_doc_string): Type correctness.
11273
11274         * console-x.c (split_up_display_spec):
11275         Rewrite without using details of internal string representation.
11276         (x_semi_canonicalize_device_connection): Type correctness.
11277
11278         * config.h.in:
11279         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11280         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11281         (HAVE_XFREE386): Removed.
11282
11283         * buffer.h (DEC_CHARPTR): `const' correctness.
11284         (bufbyte_strcmp): New.
11285         (bufbyte_memcmp): New.
11286
11287         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11288
11289         * buffer.h (XCHAR_OR_CHAR_INT):
11290         Always use inline function.
11291         Remove redundant type checking assert() - XINT will abort quite nicely.
11292
11293 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11294
11295         * search.c (Freplace_match): Set newtext to an empty string.
11296
11297 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11298
11299         * s/decosf1-3.h: Remove #include of stropts.h
11300         * s/ptx.h: Remove #include of stropts.h
11301         * s/usg5-4.h: Remove #include of stropts.h
11302         * sysproc.h:
11303         * config.h.in:
11304         Use stropts.h, not sys/stropts.h.
11305         Use strtio.h, not sys/strtio.h.
11306
11307 2000-10-04  Martin Buchholz <martin@xemacs.org>
11308
11309         * XEmacs 21.2.36 is released.
11310
11311 2000-09-21  Andy Piper  <andy@xemacs.org>
11312
11313         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11314         changes still involve copying the widget tree.
11315         (update_widget_face): make sure a change is register in the widget
11316         tree. Call update_tab_widget_face appropriately.
11317         (update_tab_widget_face): ditto.
11318         (x_tab_control_redisplay): make sure non-structural changes still
11319         involve copying the widget tree.
11320
11321 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11322
11323         * lread.c (locate_file): Check the path element is non-nil.
11324
11325 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11326
11327         * lisp.h: Warning suppression for SCO compilers.
11328
11329         * redisplay-tty.c (reset_tty_modes): Fix crash.
11330         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11331
11332 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11333
11334         Big signal/process handling overhaul.  Bugs fixed:
11335         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11336         M-x comint-kill-subjob should work for both values nil and t of
11337         process-connection-type. It was broken on most platforms.
11338         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11339         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11340         * process-unix.c: Signal/Process handling overhaul.
11341         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11342         (allocate_pty): Use all available modern methods of allocating
11343         ptys, falling back to old style BSD allocation as a last resort.
11344         Use allegedly more secure Unix98 pty allocation by default.
11345         (allocate_pty_the_old_fashioned_way): New. the last resort.
11346         (unix_create_process): Push ptem, ldterm, ttcompat where
11347         available.  Autoconfiscate.
11348         (try_to_initialize_subtty): New.
11349         (unix_kill_child_process): Proper signal handling for ptys on most
11350         platforms, using special knowledge of AIX, BSD, etc...
11351         (unix_create_process): Always disconnect_controlling_terminal() for
11352         subprocesses, whether using ptys or not.
11353         * process.h: Remove old getpt-dependent PTY code.
11354         * process.c (Fprocess_send_signal): New, obvious generic function.
11355         (decode_signal): New.
11356         (Finterrupt_process):
11357         (Fkill_process):
11358         (Fquit_process):
11359         (Fstop_process):
11360         (Fcontinue_process):
11361         (Fsignal_process): Use decode_signal.
11362         (process_send_signal):
11363         Many docstring corrections.
11364         Allow any signal to be sent to a process object.
11365         * config.h.in: Add symbols for big signal/process overhaul.
11366         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11367         * sysproc.h: Include process-related headers, where available:
11368         sys/stropts.h sys/strtio.h pty.h libutil.h
11369         * s/irix4-0.h:
11370         * s/irix5-0.h:
11371         * s/cygwin32.h:
11372         * s/gnu.h:
11373         * s/linux.h:
11374         * s/hpux.h:
11375         * s/aix3-1.h:
11376         Remove old S&M pty stuff.
11377         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11378         * systty.h: Simplify cpp hackery, improve comments.
11379         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11380
11381         * editfns.c (Fformat_time_string):
11382         Be a little more paranoid with the return value of ctime.
11383
11384         * fileio.c (check_executable):
11385         (check_writable):
11386         Use symbolic constants X_OK, W_OK.
11387
11388         * console-x.c (split_up_display_spec): Fix a warning.
11389
11390 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11391
11392         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11393         * ntproc.c (sys_spawnve): make_string ==> build_string
11394         Small clarity improvements.
11395
11396 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11397
11398         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11399
11400         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11401
11402         * config.h.in (HAVE_STRCASECMP): Remove.
11403
11404 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11405
11406         * redisplay-output.c (redisplay_output_pixmap):
11407         Cleaner and possibly more 64-bit correct code.
11408
11409 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11410
11411         * dumper.c (pdump_load_finish): move restoration of
11412         `noninteractive1' to emacs.c (main_1).
11413         * emacs.c (main_1): protect LISP-visible command-line flags
11414         from pdump_load().
11415
11416 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11417
11418         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11419         DUMP_TARGET instead of literal program names.
11420
11421 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11422
11423         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11424
11425 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11426
11427         * *: Spelling mega-patch
11428
11429 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11430
11431         * fns.c (bad_bad_turtle):
11432         Delete "Eek!" comment, since we fixed the bug to which it refers.
11433
11434 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11435
11436         * alloca.c: Replace REGISTER with register.
11437
11438 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11439
11440         * file-coding.c (ucs_to_char): Use countof.
11441
11442 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11443
11444         * file-coding.c: (ucs_to_char):
11445         (complex_vars_of_file_coding):
11446         Use countof instead of sizeof.
11447         Use CHECK_NATNUM instead of CHECK_INT.
11448
11449         * sysdep.c (strcasecmp): Remove.
11450         * device-x.c (ascii_strcasecmp): New.
11451         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11452         Avoid using non-standard non-portable strcasecmp.
11453
11454 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11455
11456         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11457         * font-lock.c: remove reference to emacsfns.h.
11458         * search.c: small doc improvement.
11459         * event-Xt.c: correct file names in comments.
11460         * console-x.h Correct file names in comments.
11461         * frame.c: Correct file names in comments.
11462         * event-stream.c: remove Energize from comments.
11463
11464 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11465
11466         * symeval.h (DEFERROR_STANDARD):
11467         (DEFERROR):
11468         (DEFSYMBOL):
11469         (DEFSYMBOL_NO_DUMP):
11470         (DEFSYMBOL_MULTIWORD_PREDICATE):
11471         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11472         (DEFKEYWORD):
11473         The construct &##name is not sensible C.
11474         Fixes compilation errors with Unixware native compiler.
11475
11476 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11477
11478         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11479         (next_frame_internal): Removed.  We now just have next_frame.
11480         (next_frame):
11481         Write a simpler and cleaner one-pass algorithm.
11482         Remove called_from_delete_device arg and #ifdefed-out code.
11483         (previous_frame):
11484         Renamed from prev_frame.  Update callers.
11485         Cleaned up to have an analogous implementation to next_frame.
11486         (other_visible_frames_internal): Remove the
11487         called_from_delete_device bogus arg, and hence, remove this
11488         function.  Just use other_visible_frames().
11489
11490         * window.c (Fnext_window):
11491         Prettify docstring.
11492         Since next_frame() is guaranteed to return a frame, remove check
11493         for nil inserted in previous patch.
11494         (Fprevious_window):
11495         Prettify docstring.
11496         Make code look more like Fnext_window.
11497         (window_loop):
11498         Respect the `console' arg when iterating through windows.
11499         Fixes bug: (get-buffer-window buffer t device) not respecting
11500         the `device' arg.
11501         This function needs more work, as others have pointed out.
11502
11503         * frame.h: Rename prev_frame to previous_frame.
11504         device_matches_console_spec no longer takes a `frame' arg.
11505
11506         * s/gnu.h:
11507         * s/linux.h:
11508         * s/hpux.h:
11509         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11510         From "Golubev I. N." <gin@mo.msk.ru>.
11511
11512         * make-src-depend: Fix typo.
11513
11514 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11515
11516         * window.c (Fnext_window):
11517         next_frame() might return nil, not a frame.
11518         Fixes this crash:
11519         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11520
11521         * frame.c (next_frame_internal):
11522         We've passed a frame if we've passed its device.
11523         Fixes this crash:
11524         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11525 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11526
11527 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11528
11529         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11530         Allow option to suppress accelerators in menu/dialog items.
11531         (populate_or_checksum_helper): Pass dialog title through above.
11532
11533 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11534
11535         * event-msw.c (mswindows_key_to_emacs_keysym):
11536         Add "pause" key, fix "menu" key.
11537
11538 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11539
11540         * eval.c (reinit_vars_of_eval):
11541         Increase max_lisp_eval_depth to 1000,
11542         required for thai-xtis.el to byte-compile under some circumstances.
11543
11544 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11545
11546         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11547         From Kenichi Handa.
11548
11549 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11550
11551         * make-src-depend: Make the generated Makefiles smaller.
11552
11553         * s/hpux.h (SETUP_SLAVE_PTY):
11554         Provide a %d in the format string for the errno argument.
11555
11556         * editfns.c (Ftemp_directory):
11557         Warning fix.
11558         Avoid buffer overrun on very long file name.
11559
11560         * input-method-xlib.c (XIM_init_device):
11561         6th parameter of XRegisterIMInstantiateCallback has different
11562         pointer types on different OSes, so simply cast to (void *).
11563
11564         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11565
11566         * sysdll.c (dll_open):
11567         shl_load will hang hard if passed a NULL filename.
11568         Simply return NULL for compatibility with dlopen.
11569         * sysdll.c: Conform to XEmacs coding standards.
11570
11571         * sysdep.c (get_pty_max_bytes):
11572         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11573
11574 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11575
11576         * tooltalk.c: Add #include <syssignal.h>
11577
11578 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11579
11580         * s/hpux.h: Don't use undefined function sigunblock().
11581
11582 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11583
11584         * config.h.in: Add HAVE_BALLOON_HELP.
11585         * emacs.c: Use HAVE_BALLOON_HELP.
11586         * Makefile.in.in (x_objs):
11587         Make Balloon Help conditional on finding shape.h.
11588
11589 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11590
11591         * syntax.c (regex_emacs_buffer_p): New variable.
11592         * syntax.h (regex_emacs_buffer_p): extern.
11593         * search.c (looking_at_1):
11594         (string_match_1):
11595         (fast_string_match):
11596         (search_buffer): Set regex_emacs_buffer_p.
11597         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11598         when before_dot, at_dot, after_dot.
11599
11600 2000-08-23  Andy Piper  <andy@xemacs.org>
11601
11602         * gui-x.c (popup_selection_callback): Only set action_occurred
11603         when we really have an image instance.
11604         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11605
11606 2000-08-23  Andy Piper  <andy@xemacs.org>
11607
11608         * gui-msw.c (mswindows_handle_gui_wm_command): set
11609         action_occurred.
11610         * gui-x.c (popup_selection_callback): ditto.
11611
11612         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11613         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11614         (struct Lisp_Image_Instance): add action_occurred flag.
11615
11616         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11617         (image_instance_changed): ditto.
11618         (reset_frame_subwindow_instance_cache): only unmap windows - do
11619         not remove them from the cache also.
11620
11621         * glyphs-widget.c (tab_control_update): better debug.
11622         (progress_gauge_update): ditto.
11623         (layout_update): ditto.
11624         (layout_instantiate): ditto.
11625         (tab_control_order_only_changed): cope with null pending items.
11626
11627         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11628         debug. Force selection of an item when an action occurred. Cope
11629         with null pending_items.
11630         (mswindows_progress_gauge_redisplay): better debug.
11631         * glyphs-x.c (x_tab_control_redisplay): ditto.
11632
11633         * redisplay.c (redisplay_frame): reset the frame cache if the
11634         frame is garbaged.
11635
11636         * window.c (Fset_window_configuration): potentially re-enable
11637         frame cache reset.
11638         (window_unmap_subwindows): need to finalize instances here since
11639         it is only used in mark_window_as_deleted.
11640
11641 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11642
11643         * nas.c (SndOpenDataForReading):
11644         nas.c (WaveOpenDataForReading):
11645         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11646         Somehow escaped from the 2000-08-14 patch.
11647
11648 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11649
11650         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11651         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11652
11653 2000-08-21  Andy Piper  <andy@xemacs.org>
11654
11655         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11656         window if it is not already displayed.
11657
11658         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11659         it is not already displayed.
11660
11661         * window.c (Fset_window_configuration): don't reset the frame
11662         cache.
11663
11664         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11665         instances from the frame cache if we are actually finalizing them.
11666         (reset_frame_subwindow_instance_cache): reset frame cache only
11667         after unmapping everything.
11668         (map_subwindow): set displayed flag after mapping.
11669
11670 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11671
11672         * data.c (indirect_function):
11673         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11674
11675         * eval.c (function_argcount):
11676         Use original function when signaling errors.
11677
11678 2000-08-18  Andy Piper  <andy@xemacs.org>
11679
11680         * frame.c (delete_frame_internal): use new
11681         free_frame_subwindow_instances name.
11682
11683         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11684         (add_tab_item): make return type correct.
11685         (mswindows_tab_control_instantiate): assert index of tab.
11686         (mswindows_tab_control_redisplay): Re-code to use
11687         gui_item_equal_sans_selected and gui_item_list_find_selected.
11688
11689         * glyphs-widget.c (tab_control_update): Correct comment.
11690
11691         * window.c (window_unmap_subwindows): use new
11692         unmap_subwindow_instance_cache_mapper.
11693         (window_unmap_subwindows_cache_mapper): deleted.
11694         (Fset_window_configuration): comparisons should now be with
11695         EQ. Preserve the subwindow instance cache across configuration
11696         changes.
11697         (allocate_window): ditto.
11698         (make_dummy_parent): ditto.
11699
11700         * glyphs.c (free_frame_subwindow_instances): rename from
11701         free_frame_subwindow_instance_cache. finalize all instances rather
11702         than just those in the display cache.
11703         (finalize_all_subwindow_instances): walk windows unmapping and
11704         finalizing subwindows.
11705         (unmap_subwindow_instance_cache_mapper): moved from
11706         window.c. Allow finalization as well as unmapping.
11707
11708         * gui.c (gui_item_list_find_selected): new function.
11709
11710         * gui.h (gui_item_list_find_selected): declare.
11711
11712         * glyphs-x.c (x_tab_control_redisplay): pick tab
11713         explicitly. Re-code to use gui_item_equal_sans_selected and
11714         gui_item_list_find_selected.
11715
11716         * glyphs-x.h: add lwlib-utils.h
11717
11718         * buffer.c (Frecord_buffer): undo previous change.
11719
11720 2000-08-09  Vin Shelton  <acs@xemacs.org>
11721
11722         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11723         possible.  Create temporary files more securely.  The patch was
11724         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11725         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11726         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11727         for details.
11728
11729 2000-08-07  Ben Wing  <ben@xemacs.org>
11730
11731         * getloadavg.c: remove duplicate (and windows-breaking)
11732         includes of fcntl.h and sys/file.h.
11733
11734         * nt.c: remove duplicate getloadavg() definition.
11735
11736         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11737         encodings.
11738
11739 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11740
11741         * eval.c (function_argcount): If function needs to be autoloaded
11742         actually use the loaded definition.
11743         GCPRO function.
11744
11745 2000-08-05  Ben Wing  <ben@xemacs.org>
11746
11747         * getloadavg.c: add prototype for getloadavg().  remove
11748         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11749         of the code).  remove duplicate header includes.
11750
11751         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11752
11753         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11754         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11755         useful load average.
11756
11757         * alloc.c (reinit_alloc_once_early): removed references to
11758         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11759         the lisp vars are the only things referencing the malloc_sbrk_*
11760         vars, and they were already if 0'd out.  these vars only exist
11761         in the older malloc.c, which is basically unused, and they're
11762         only for informational purposes.
11763
11764         * m\*.h: removed useless VIRT_ADDR_VARIES.
11765
11766         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11767
11768 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11769
11770         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11771         color if the image is a mono pixmap.
11772
11773 2000-07-30  Ben Wing  <ben@xemacs.org>
11774
11775         * Makefile.in.in (release):
11776         Remove stray @.
11777
11778         * buffer.c (directory_is_current_directory):
11779         * dired-msw.c (mswindows_get_files):
11780         * dired.c:
11781         * dired.c (Fdirectory_files):
11782         * dired.c (file_name_completion_stat):
11783         * dired.c (Ffile_attributes):
11784         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11785         preprocessor tricks, to avoid problems on some machines
11786         (e.g. SCO).
11787
11788         * callproc.c (egetenv): GC docs.
11789
11790         * console-msw.h:
11791         * console-msw.h (struct mswindows_dialog_id):
11792         * lrecord.h (lrecord_type):
11793         New object for use with MSW dialogs.
11794
11795         * console.h (struct console_methods):
11796         New enable/disable frame methods, for proper modal dialogs.
11797
11798         * device-msw.c (msprinter_default_printer): Fix to follow
11799         proper Mule conventions.
11800
11801         * device-msw.c:
11802         * device-msw.c (signal_open_printer_error):
11803         * device-msw.c (msprinter_init_device):
11804         * device-msw.c (ensure_not_printing):
11805         * device-msw.c (plist_get_margin):
11806         * device-msw.c (Fmsprinter_select_settings):
11807         * device-msw.c (finalize_devmode):
11808         * device-msw.c (Fmsprinter_settings_despecialize):
11809         * device-msw.c (signal_enum_priner_error):
11810         * extents.c (decode_extent):
11811         * extents.c (decode_map_extents_flags):
11812         * extents.c (decode_extent_at_flag):
11813         * extents.c (Fextent_at):
11814         * extents.c (Fextents_at):
11815         * extents.c (symbol_to_glyph_layout):
11816         [[[[2]]]] Use structured errors.
11817
11818         * dialog-msw.c:
11819         * dialog-msw.c (mswindows_is_dialog_msg):
11820         * dialog-msw.c (mark_mswindows_dialog_id):
11821         * dialog-msw.c (dialog_proc):
11822         * dialog-msw.c (handle_question_dialog_box):
11823         * dialog-msw.c (syms_of_dialog_mswindows):
11824         Define new object to clean up marking; use it as a dialog identifier.
11825         Call new delete-dialog-box-hook.
11826
11827         * dialog-x.c (dbox_selection_callback):
11828         * dialog-x.c (dbox_descriptor_to_widget_value):
11829         * dialog-x.c (x_make_dialog_box_internal):
11830         Call new delete-dialog-box-hook.
11831         Return an id.
11832
11833         * dialog.c:
11834         * dialog.c (syms_of_dialog):
11835         * dialog.c (vars_of_dialog):
11836         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11837
11838         * eval.c:
11839         * eval.c (signal_call_debugger):
11840         when noninteractive, output stack traces on the console instead
11841         of in a (never-seen) buffer.
11842
11843         * eval.c (signal_type_error):
11844         * eval.c (invalid_argument_2):
11845         * lisp.h:
11846         new funs for use w/structured errors.
11847
11848         * event-Xt.c:
11849         * event-Xt.c (x_to_emacs_keysym):
11850         * event-Xt.c (describe_event):
11851         * event-Xt.c (emacs_Xt_event_handler):
11852         * event-Xt.c (vars_of_event_Xt):
11853         * event-msw.c:
11854         * event-msw.c (mswindows_wnd_proc):
11855         * event-msw.c (vars_of_event_mswindows):
11856         rename {x,mswindows}-debug-events to debug-{}-events for
11857         consistency with other debug-foo variables.
11858
11859         * event-stream.c:
11860         document next-event more clearly.
11861
11862         * fileio.c (Ffile_name_directory):
11863         * fileio.c (Ffile_name_nondirectory):
11864         * fileio.c (Funhandled_file_name_directory):
11865         * fileio.c (file_name_as_directory):
11866         * fileio.c (Ffile_name_as_directory):
11867         * fileio.c (directory_file_name):
11868         * fileio.c (Fdirectory_file_name):
11869         * fileio.c (Fmake_temp_name):
11870         * fileio.c (Ffile_truename):
11871         * fileio.c (Fsubstitute_in_file_name):
11872         * fileio.c (expand_and_dir_to_file):
11873         * fileio.c (barf_or_query_if_file_exists):
11874         * fileio.c (check_executable):
11875         * fileio.c (Ffile_exists_p):
11876         * fileio.c (Ffile_writable_p):
11877         * fileio.c (Ffile_directory_p):
11878         * fileio.c (Ffile_regular_p):
11879         * fileio.c (Ffile_modes):
11880         * fileio.c (Ffile_newer_than_file_p):
11881         * fileio.c (Fverify_visited_file_modtime):
11882         * fileio.c (Fset_visited_file_modtime):
11883         * fileio.c (auto_save_1):
11884         (1). (2).
11885         fix up gcpro's.
11886
11887         * frame-msw.c:
11888         * frame-msw.c (mswindows_init_frame_1):
11889         * frame-msw.c (mswindows_enable_frame):
11890         * frame-msw.c (error_frame_unsizable):
11891         * frame-msw.c (msprinter_init_frame_1):
11892         * frame-msw.c (msprinter_init_frame_3):
11893         * frame-msw.c (console_type_create_frame_mswindows):
11894         (2).
11895         implement new enable/disable frame methods.
11896
11897         * frame-x.c:
11898         * frame-x.c (x_enable_frame):
11899         * frame-x.c (console_type_create_frame_x):
11900         implement new enable/disable frame methods.
11901
11902         * frame.c:
11903         * frame.c (Fdisable_frame):
11904         * frame.c (syms_of_frame):
11905         * frame.h (struct frame):
11906         implement new enable/disable frame methods/functions.
11907
11908         * general-slots.h:
11909         add initial-focus.
11910
11911         * glyphs-msw.c (mswindows_widget_instantiate):
11912         comment that initial-focus should be implemented.
11913
11914         * glyphs-widget.c:
11915         * glyphs-widget.c (check_valid_instantiator):
11916         * glyphs-widget.c (check_valid_orientation):
11917         * glyphs-widget.c (check_valid_tab_orientation):
11918         * glyphs-widget.c (check_valid_justification):
11919         * glyphs-widget.c (check_valid_border):
11920         * glyphs-widget.c (check_valid_callback):
11921         * glyphs-widget.c (check_valid_int_or_function):
11922         * glyphs-widget.c (check_valid_string_or_vector):
11923         * glyphs-widget.c (check_valid_item_list_1):
11924         * glyphs-widget.c (widget_validate):
11925         * glyphs-widget.c (combo_box_validate):
11926         * glyphs-widget.c (widget_instantiate):
11927         * glyphs-widget.c (syms_of_glyphs_widget):
11928         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11929         * glyphs-widget.c (image_instantiator_combo_box):
11930         * glyphs-widget.c (image_instantiator_scrollbar):
11931         * glyphs-widget.c (image_instantiator_tab_control):
11932         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11933         (2).
11934         support (unimplemented) keyword initial-focus.
11935         reindent long macros.
11936
11937         * glyphs-x.c (x_redisplay_widget):
11938         * glyphs-x.c (x_button_instantiate):
11939         * glyphs-x.c (x_button_redisplay):
11940         * glyphs-x.c (x_progress_gauge_instantiate):
11941         * glyphs-x.c (x_edit_field_instantiate):
11942         * glyphs-x.c (x_combo_box_instantiate):
11943         * glyphs-x.c (x_tab_control_instantiate):
11944         * glyphs-x.c (x_label_instantiate):
11945         * gui-x.c:
11946         * gui-x.c (button_item_to_widget_value):
11947         * gui-x.c (gui_items_to_widget_values_1):
11948         * gui-x.c (gui_item_children_to_widget_values):
11949         * gui-x.c (gui_items_to_widget_values):
11950         * gui-x.h:
11951         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11952         add new flag to gui-parsing routines to indicate whether
11953         accelerator specs should be supported.
11954
11955         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11956
11957         * glyphs.h (struct Lisp_Image_Instance):
11958         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11959         add initial-focus flag.
11960
11961         * gui.c:
11962         * gui.c (syms_of_gui):
11963         * gui.c (vars_of_gui):
11964         clean up menu-no-selection-hook.
11965
11966         * gui.h:
11967         support delete-dialog-box-hook.
11968
11969         * lread.c (Fload_internal):
11970         * lread.c (locate_file_in_directory_mapper):
11971         (1).
11972
11973         * lrecord.h:
11974         * lrecord.h (struct toolbar_button):
11975         * lrecord.h (syms_of_toolbar):
11976         document how to create a new object.
11977
11978         * menubar-msw.c (mswindows_char_is_accelerator):
11979         may be called on frames w/o menus.
11980
11981         * menubar.c (vars_of_menubar):
11982         clean up :filter docs.
11983
11984         * nt.c (readdir):
11985         * ntproc.c:
11986         (1).
11987
11988         * process-nt.c:
11989         * process-nt.c (validate_signal_number):
11990         * process-nt.c (signal_cannot_launch):
11991         * process-nt.c (nt_create_process):
11992         * process-nt.c (nt_send_process):
11993         * process-nt.c (nt_kill_child_process):
11994         * process-nt.c (nt_open_network_stream):
11995         * process-nt.c (syms_of_process_nt):
11996         (2).
11997         delete quote-handling.  call new lisp code that does it better.
11998
11999         * process-unix.c (connect_to_file_descriptor):
12000         * process-unix.c (allocate_pty):
12001         * process-unix.c (unix_send_process):
12002         * process-unix.c (unix_kill_child_process):
12003         * process-unix.c (unix_open_network_stream):
12004         * process-unix.c (unix_open_multicast_group):
12005         (1). (2).
12006
12007         * process.c:
12008         * process.c (Fstart_process_internal):
12009         (2).  need to canonicalize process path even if absolute.
12010
12011         * select-msw.c (symbol_to_ms_cf):
12012         * select-msw.c (ms_cf_to_symbol):
12013         * select-msw.c (cf_is_autofreed):
12014         * select-msw.c (mswindows_destroy_selection):
12015         * select.c:
12016         * select.c (syms_of_select):
12017         * select.h:
12018         support dibv5, fix bugs. (from Mike Alexander)
12019
12020         * select.c (Fget_selection_internal):
12021         * select.c (select_convert_out):
12022
12023         * sysdep.c:
12024         * sysdep.c (xemacs_stat):
12025         renamed.
12026
12027         * sysdep.c (mkdir):
12028         * sysdep.c (rmdir):
12029         but keep original stat() here because we provide encapsulation
12030         around these funs.
12031
12032         * sysfile.h:
12033         * sysfile.h (fstat):
12034         remove stat garbage.
12035
12036         * syswindows.h:
12037         fix X/MSW conflict.
12038         don't include tchar.h.  it's inappropriate because it makes
12039         compile-time distinctions when we want runtime distinctions.
12040         (we provide our own tchar replacements)
12041
12042         * toolbar.c:
12043         use default object printer for toolbar-button.
12044
12045         * unexcw.c:
12046         make sure we don't encapsulate.
12047
12048         * window.c (vars_of_window):
12049         emphasize that temp-buffer-show-hook is obsolete.
12050
12051 2000-08-05  Martin Buchholz  <martin@xemacs.org>
12052
12053         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
12054         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
12055
12056         * events.c (Fevent_timestamp_lessp):
12057         Not 64-bit clean.  Use EMACS_INT, not int.
12058
12059 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
12060
12061         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
12062         unsigned int and changed the last enum to
12063         lrecord_type_last_built_in_type.
12064         (lrecord_implementations_table): changed prototype to know how
12065         long the array is supposed to be.
12066         (lrecord_type_count): new unsigned int to keep track of the
12067         current number of lisp lrecord types.
12068         (DEFINE_EXTERNAL_LRECORD):
12069         (DECLARE_EXTERNAL_LRECORD): Added these two for external
12070         dynamic-modules to declare new lisp types. They are the same
12071         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
12072         int for each new type, and increment lrecord_type_count by 1.
12073
12074         * alloc.c (lrecord_implementations_table): Changed to reference
12075         lrecord_type_last_built_in_type for the size of the array.
12076         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
12077
12078 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12079
12080         * glyphs.h (check_valid_item_list): Renamed from
12081         check_valid_item_list_1.
12082
12083 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
12084
12085         * select.c (Qselect_coerce): New.
12086         * select.c (Vselection_coercion_alist): New.
12087         * select.c (syms_of_select): Declare.
12088         * select.c (get-selection-internal): Use it.
12089         Use the new select-coerce functionality.
12090
12091         * select.c (select_coerce): New.
12092         * select.h (select_coerce): Declare.
12093         New function to coerce one type of data into another.
12094
12095 2000-08-03  Martin Buchholz  <martin@xemacs.org>
12096
12097         * callproc.c (Fcall_process_internal):
12098         (Fcall_process_internal):
12099         * process-unix.c (unix_create_process):
12100         Save and restore the value of errno, so that error messages are accurate.
12101
12102 2000-08-01  Martin Buchholz  <martin@xemacs.org>
12103
12104         * elhash.c (print_hash_table):
12105         Fix printing of hash tables to also use `key-and-value' instead of `t'.
12106         Prettify docstrings and indentation.
12107
12108 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
12109
12110         * window.c (Fwindow_pixel_edges): Subtract frame border and
12111         gutter size.
12112
12113 2000-07-31  Andy Piper  <andy@xemacs.org>
12114
12115         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
12116         will acknowledge the change.
12117
12118         * glyphs.h: declare tab_control_order_only_changed.
12119
12120         * glyphs-x.c (x_tab_control_redisplay): use
12121         tab_control_order_only_changed.
12122
12123         * glyphs-widget.c (tab_control_order_only_changed): new function.
12124
12125         * glyphs-msw.c (mswindows_tab_control_redisplay): use
12126         tab_control_order_only_changed.
12127
12128         * gui.c (gui_item_equal_sans_selected): new function.
12129         (gui_item_equal): use it.
12130
12131         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
12132         :properties in favor of :items..
12133
12134         * glyphs-widget.c (check_valid_item_list): rename from
12135         check_valid_item_list_1.
12136         (check_valid_item_list_1): renamed.
12137         (combo_box_validate): deprecate :properties in favor of :items.
12138         (widget_instantiate): ditto.
12139         (tab_control_update): ditto.
12140         (image_instantiator_combo_box): ditto.
12141         (image_instantiator_tree_view): ditto.
12142         (image_instantiator_tab_control): ditto.
12143         (layout_post_instantiate): remove dead code.
12144
12145         * print.c (debug_print_no_newline): only write to debugger if in
12146         WIN32_NATIVE.
12147
12148         * elhash.c (Fmake_hash_table): update doc string.
12149
12150         * event-msw.c (mswindows_wnd_proc): don't allow processing of
12151         messages whilst in GC. This at least stops XEmacs crashing but has
12152         the potential for wierd behaviour.
12153
12154 2000-07-31  Martin Buchholz  <martin@xemacs.org>
12155
12156         * config.h.in:
12157         Make existence of s&m files optional.
12158
12159         * s/bsd386.h: Remove HAVE_GETLOADAVG.
12160         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12161         * s/gnu.h: Remove HAVE_GETLOADAVG.
12162         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12163         * s/sol2.h: Remove HAVE_GETLOADAVG.
12164         * lisp.h: Remove getloadavg() declaration.
12165         * fns.c:
12166         Include <sys/loadavg.h> if available.
12167         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12168         * config.h.in:  Group together getloadavg()-related macros.
12169         Use only configure-time tests to detect getloadavg().
12170
12171 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12172
12173         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12174
12175 2000-07-25  Andy Piper  <andy@xemacs.org>
12176
12177         * syswindows.h: add tchar.h for native builds.
12178
12179         * frame.c (syms_of_frame): remove set-glyph-image.
12180
12181         * general-slots.h: add Qset_glyph_image.
12182
12183         * glyphs-widget.c (layout_update): add domain arg to
12184         set-glyph-image.
12185         (syms_of_glyphs_widget): remove set-glyph-image.
12186
12187 2000-07-23  Ben Wing  <ben@xemacs.org>
12188
12189         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12190         Vpopup_frame_list.
12191
12192 2000-07-22  Andy Piper  <andy@xemacs.org>
12193
12194         * symsinit.h: add syms_of_win32().
12195
12196         * gui-msw.c (syms_of_gui_mswindows): remove
12197         Fmswindows_shell_execute.
12198         (Fmswindows_shell_execute): moved to win32.c.
12199
12200         * emacs.c (main_1): add syms_of_win32 ().
12201
12202         * win32.c (init_potentially_nonexistent_functions): rewrite in
12203         compiler-friendly terms.
12204         (Fmswindows_shell_execute): move here from gui-msw.c.
12205         (syms_of_win32): new.
12206
12207         * device-msw.c (Fmswindows_printer_list): clean up args to
12208         EnumPrinters.
12209         Don't include tchar under cygwin or mingw.
12210         (msprinter_default_printer): make cygwin-friendly.
12211
12212 2000-07-21  Andy Piper  <andy@xemacs.org>
12213
12214         * glyphs-widget.c (image_instantiator_tree_view): use tab
12215         control's update function.
12216         (layout_property): new function. Retrieve items.
12217
12218         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12219         function. Re-populate the tree view from the pending items.
12220
12221         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12222         is designated the parent if the domain is an image instance. This
12223         is needed so that dirtiness can be cascade up the hierarchy and
12224         thus for layout children to be redisplayed correctly.
12225         (allocate_image_instance): rename glyph -> parent.
12226
12227         * redisplay.h: change redisplay_output_layout signature.
12228
12229         * redisplay-msw.c (mswindows_output_display_block): use domain
12230         arg.
12231
12232         * redisplay-x.c (x_output_display_block): use domain arg.
12233
12234 2000-07-10  Andy Piper  <andy@xemacs.org>
12235
12236         * window.c (Fset_window_configuration): add comment.
12237
12238         * redisplay-output.c (compare_runes):
12239         (redisplay_output_subwindow): redisplay rather than update subwindow.
12240         (redisplay_output_layout): ditto.
12241
12242         * redisplay-msw.c (mswindows_frame_output_end):
12243         (mswindows_frame_output_end): make defer window pos optional.
12244
12245         * lisp.h: add Flast.
12246
12247         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12248         normalize method. Change update method to be for changed
12249         instantiators. Add redisplay method. Change signature of layout
12250         method.
12251         (struct Lisp_Image_Instance): add instantiator.
12252         (IMAGE_INSTANCE_INSTANTIATOR): new.
12253         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12254         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12255         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12256
12257         * glyphs.c:
12258         (find_instantiator_differences): new function.
12259         (Fset_instantiator_property): new convenience function.
12260         (check_image_instance_structure): strictly check for vector
12261         instantiators.
12262         (normalize_image_instantiator): make non-static.
12263         (instantiate_image_instantiator): pass on dest_mask and use new
12264         signatures for image_instance_layout and friends.
12265         (mark_image_instance): mark the instantiator. Mark the subwindow
12266         face not the widget face.
12267         (image_instance_equal): add instantiator.
12268         (image_instance_hash): ditto.
12269         (allocate_image_instance): ditto.
12270         (Fset_image_instance_property): removed.
12271         (Fimage_instance_file_name): ditto.
12272         (Fcolorize_image_instance): ditto.
12273         (image_instance_layout): add offsets to be set.
12274         (update_image_instance): new function. update an image instance
12275         from its changed instantiator.
12276         (inherit_normalize): add dest_mask.
12277         (xbm_normalize): ditto.
12278         (xface_normalize): ditto.
12279         (xpm_normalize): ditto.
12280         (text_update): set_property -> update.
12281         (image_instantiate): use the glyph identity as a hash key, not the
12282         instantiator.
12283         (glyph_width): use new image_instance_layout signature.
12284         (glyph_ascent): ditto.
12285         (glyph_descent): ditto.
12286         (glyph_height): ditto.
12287         (glyph_query_geometry): ressurrect.
12288         (glyph_layout): ditto.
12289         (redisplay_subwindow): update -> redisplay.
12290         (syms_of_glyphs): add Fset_instantiator_property.
12291         (image_instantiator_format_create): set_property -> update.
12292
12293         * glyphs-x.c:
12294         (autodetect_normalize): add dest_maks to signature.
12295         (x_redisplay_subwindow): update -> redisplay.
12296         (x_redisplay_widget): ditto.
12297         (x_button_redisplay): ditto.
12298         (x_progress_gauge_redisplay): ditto.
12299         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12300         stacking order.
12301         (console_type_create_glyphs_x): update -> redisplay.
12302         (image_instantiator_format_create_glyphs_x): ditto.
12303
12304         * glyphs-widget.c:
12305         (check_valid_instantiator): disallow glyphs in the instantiator,
12306         they must now be vectors.
12307         (check_valid_instantiator_list): ditto.
12308         (glyph_instantiator_to_glyph): use internal symbol rather than
12309         intern.
12310         (widget_update): renamed from widget_set_property. Call cascaded
12311         update methods.
12312         (redisplay_widget): renamed from update_widget.
12313         (widget_layout): image_instance_layout now takes position as well
12314         as size.
12315         (widget_normalize): ditto.
12316         (widget_instantiate): ditto.
12317         (tab_control_query_geometry) ditto.:
12318         (tab_control_update): renamed from tab_control_set_property.
12319         (progress_gauge_update): set_property -> update.
12320         (layout_normalize): rewrite so that child instantiators are
12321         normalized also.
12322         (layout_update): new function. Create glyphs from the normalized
12323         children and cope with any other layout keywords. We do not
12324         instantiate children here that will be take care of by
12325         redisplay_output_layout.
12326         (layout_instantiate): call layout_update and not much else.
12327         (layout_post_instantiate): not sure whether this is needed
12328         anymore.
12329         (layout_query_geometry): query glyph geometry rather than
12330         image_instance geometry.
12331         (layout_layout): set offsets from pass in parameters. Use glyph
12332         geometry and layout functions rather than image instance ones.
12333         (native_layout_layout): ditto.
12334         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12335         (image_instantiator_widget): set_property -> update.
12336         (image_instantiator_buttons): ditto.
12337         (image_instantiator_progress_guage): ditto.
12338         (image_instantiator_tab_control): ditto.
12339         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12340         (image_instantiator_layout): add update method.
12341
12342         * glyphs-msw.c (bmp_normalize):
12343         (mswindows_resource_normalize): add dest_mask so that it can be
12344         proprogated by layout_normalize.
12345         (begin_defer_window_pos): make optional because it may not be the
12346         right thing to do and it introduces differences with X.
12347         (mswindows_unmap_subwindow): ditto.
12348         (mswindows_map_subwindow): ditto.
12349         (mswindows_redisplay_subwindow): renamed from
12350         mswindows_update_subwindow.
12351         (mswindows_redisplay_widget): ditto.
12352         (mswindows_button_redisplay): renamed from
12353         mswindows_button_update. Update is now what the instantiation
12354         function does for a changed instantiator.
12355         (mswindows_progress_gauge_instantiate): set the progress value
12356         here if appropriate.
12357         (mswindows_tab_control_redisplay): cope with re-ordering of the
12358         members of the tab widget by simply selecting the new top
12359         widget. This makes things appear ok if you click on a tab.
12360         (mswindows_combo_box_instantiate): image_instance_layout now takes
12361         position as well as size.
12362         (mswindows_progress_gauge_redisplay): renamed from
12363         mswindows_progress_gauge_update.
12364         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12365         (image_instantiator_format_create_glyphs_mswindows): ditto.
12366
12367         * glyphs-eimage.c (jpeg_normalize):
12368         (gif_normalize):
12369         (png_normalize):
12370         (tiff_normalize): add dest_mask so that it can be proprogated by
12371         layout_normalize.
12372
12373         * elhash.c:
12374         (print_hash_table):
12375         (hash_table_weakness_validate):
12376         (decode_hash_table_weakness):
12377         (Fhash_table_weakness):
12378         (Fhash_table_type):
12379         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12380
12381         * console.h (struct console_methods): move update_* to
12382         redisplay_*.
12383
12384 2000-07-20  Ben Wing  <ben@xemacs.org>
12385
12386         * *.[ch] (XSETOBJ): remove unused middle argument.
12387         lisp-disunion.h: correct wrap_object() to one argument.
12388
12389 2000-07-15  Ben Wing  <ben@xemacs.org>
12390
12391         * s/cygwin32.h:
12392         * s/cygwin32.h (CYGWIN_CONV_PATH):
12393         Add missing logb prototype for v1.1.
12394         Use post-b20 names and alias to pre-b20 names when pre-b20.
12395
12396         * s/windowsnt.h: [5].
12397
12398 2000-07-15  Ben Wing  <ben@xemacs.org>
12399
12400         * Makefile.in.in (x_objs):
12401         * Makefile.in.in (sheap_objs):
12402         * Makefile.in.in (objs):
12403         added win32.o, cosmetic cleanups.
12404
12405         * alloc.c (Fmake_byte_code):
12406         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12407         etc. macros which declare their own args now.
12408
12409         * alloc.c (syms_of_alloc):
12410         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12411
12412         * buffer.c:
12413         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12414
12415         * buffer.c (Fget_file_buffer):
12416         Fixed GCPRO problem.
12417
12418         * buffer.c (get_truename_buffer):
12419         Fixed comment about GC checking.
12420
12421         * buffer.c (syms_of_buffer):
12422         Undeclared those dedicated frame funs.
12423         [2].
12424
12425         * buffer.h:
12426         Define convenience macros for internal/external conversions.
12427         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12428         and Qenvironment_variable_encoding for cleaner code.
12429
12430         * bufslots.h:
12431         Remove dedicated-frame; in lisp.
12432
12433         * bytecode.c (funcall_compiled_function):
12434         [1].
12435
12436         * bytecode.c (syms_of_bytecode):
12437         [2].
12438
12439         * console-msw.c:
12440         * console-msw.c (mswindows_show_console): Rewrote.
12441
12442         * console-msw.c (Fmswindows_debugging_output): New.
12443         Sends to OutputDebugString (special MSWin debugger interface).
12444
12445         * console-msw.c (Fmswindows_message_box):
12446         Fixed stupid bugs so it works when called from kill-emacs.
12447
12448         * console-msw.c (syms_of_console_mswindows):
12449         Declare Fmswindows_debugging_output.
12450
12451         * console-msw.h:
12452         New MSWin prototypes.
12453
12454         * console-msw.h (struct mswindows_frame):
12455         New entry last-click-mods for improved button-modifier support.
12456
12457         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12458         New struct entry `popup' with corresponding accessor.
12459
12460         * console-x.c:
12461         * console-x.c (split_up_display_spec):
12462         * console-x.c (get_display_arg_connection):
12463         * console-x.c (x_semi_canonicalize_console_connection):
12464         * console-x.c (x_canonicalize_device_connection):
12465         [[[6]]]: Change char to more specific type.
12466         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12467
12468         * console-x.c (x_semi_canonicalize_console_connection):
12469         * console-x.c (x_canonicalize_device_connection):
12470         [[[9]]]: Fix up error signalling to use new structured error system.
12471
12472         * console-x.h:
12473         [[[4]]]: Define codesys aliases:
12474         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12475         Qx_color_name_encoding, Qx_display_name_encoding.
12476
12477         * console.h (struct console_methods):
12478         New method make_dialog_box_internal supersedes older
12479         popup_dialog_box method.
12480
12481         * data.c:
12482         Define many new errors, part of new structured errors.
12483
12484         * data.c (init_errors_once_early):
12485         * data.c (syms_of_data):
12486         [2].
12487
12488         * device-msw.c (mswindows_init_device):
12489         [[[5]]]: Cleanup to support NT 3.51.
12490
12491         * device-msw.c (decode_devmode): Cleanup.
12492
12493         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12494         * device-msw.c (mswindows_handle_print_dialog_box):
12495         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12496         * device-msw.c (syms_of_device_mswindows):
12497         Delete the dialog box primitives recently introduced by Kirill and
12498         instead interface to general dialog box interface.
12499
12500         * device-x.c:
12501         * device-x.c (compute_x_app_name):
12502         * device-x.c (x_init_device):
12503         * device-x.c (Fx_valid_keysym_name_p):
12504         * device-x.c (Fx_set_font_path):
12505         [6].
12506         [7].
12507
12508         * device.h (wrap_device): New.
12509         First of its kind; meant to replace XSETDEVICE.
12510
12511         * dialog-msw.c: Many file-dialog symbols.
12512
12513         * dialog-msw.c (mswindows_register_popup_frame): New.
12514         * dialog-msw.c (mswindows_is_dialog_msg): New.
12515         For supporting kbd traversal in dialog boxes.
12516
12517         * dialog-msw.c (dialog_proc):
12518         Support hitting ESC in dialogs.
12519
12520         * dialog-msw.c (struct):
12521         Common dialog box errors.
12522
12523         * dialog-msw.c (handle_file_dialog_box): New.
12524         Add file dialog code.
12525
12526         * dialog-msw.c (handle_question_dialog_box):
12527         Redo existing code to support new question dialog syntax.
12528
12529         * dialog-msw.c (console_type_create_dialog_mswindows):
12530         We support new dialog console method.
12531
12532         * dialog-msw.c (syms_of_dialog_mswindows):
12533         * dialog-msw.c (vars_of_dialog_mswindows):
12534         New file dialog symbols, vars.
12535
12536         * dialog-x.c:
12537         * dialog-x.c (maybe_run_dbox_text_callback):
12538         * dialog-x.c (dbox_descriptor_to_widget_value):
12539         * dialog-x.c (x_make_dialog_box_internal):
12540         * dialog-x.c (console_type_create_dialog_x):
12541         Mule-ize entire file.
12542         Redo to support question dialog syntax.
12543         [6].
12544
12545         * dialog.c:
12546         * dialog.c (Fmake_dialog_box_internal):
12547         * dialog.c (syms_of_dialog):
12548         Kill old popup-dialog-box, replace with new primitive.
12549         Just call device method or signal error.
12550
12551         * eldap.c (Fldap_open):
12552         * eldap.c (Fldap_search_basic):
12553         * eldap.c (Fldap_add):
12554         * eldap.c (Fldap_modify):
12555         [1].
12556         [7].
12557
12558         * emacs.c:
12559         * emacs.c (make_arg_list_1):
12560         * emacs.c (make_arg_list):
12561         Mule-ize call to dll_init().
12562         [6].
12563         [8].
12564
12565         * emacs.c (make_argc_argv):
12566         * emacs.c (free_argc_argv):
12567         * emacs.c (init_cmdargs):
12568         * emacs.c (main_1):
12569         * emacs.c (Fkill_emacs):
12570         * emacs.c (Fdump_emacs):
12571         Update comments about what can be used in syms_* etc.
12572         Call init_win32() when necessary.
12573         Fix up MS Win dialog box in kill-buffer to actually work right.
12574         [7].
12575
12576         * eval.c:
12577         * eval.c (For):
12578         * eval.c (Fand):
12579         * eval.c (Fprogn):
12580         * eval.c (Fprog1):
12581         * eval.c (Fprog2):
12582         * eval.c (FletX):
12583         * eval.c (Flet):
12584         * eval.c (condition_case_3):
12585         * eval.c (Feval):
12586         * eval.c (function_argcount):
12587         * eval.c (funcall_lambda):
12588         [1].
12589
12590         * eval.c (type_error): New.
12591         * eval.c (maybe_type_error): New.
12592         * eval.c (continuable_type_error): New.
12593         * eval.c (maybe_continuable_type_error): New.
12594         * eval.c (type_error_with_frob): New.
12595         * eval.c (maybe_type_error_with_frob): New.
12596         * eval.c (continuable_type_error_with_frob): New.
12597         * eval.c (maybe_continuable_type_error_with_frob): New.
12598         New functions for use with structured errors.
12599
12600         * event-Xt.c:
12601         * event-Xt.c (x_event_to_emacs_event):
12602         Buttons are now modifiers too.
12603
12604         * event-Xt.c (emacs_Xt_current_event_timestamp):
12605         Implement new event method.
12606         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12607
12608         * event-msw.c:
12609         * event-msw.c (ntpipe_shove_writer): [5].
12610         * event-msw.c (mswindows_enqueue_mouse_button_event):
12611         * event-msw.c (mswindows_drain_windows_queue):
12612         * event-msw.c (mswindows_wnd_proc): [7].
12613         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12614         * event-msw.c (mswindows_modifier_state):
12615         Throughout: support new button modifiers.
12616
12617         * event-msw.c (emacs_mswindows_current_event_timestamp):
12618         Implement new event method.
12619         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12620
12621         * event-stream.c:
12622         * event-stream.c (event_stream_current_event_timestamp): New.
12623         * event-stream.c (maybe_kbd_translate): New functionality.
12624         * event-stream.c (vars_of_event_stream):
12625         Document new kbd-translate-table functionality.
12626
12627         * event-stream.c (Fcurrent_event_timestamp): New.
12628         New primitive for use in fabricated events.
12629         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12630
12631         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12632
12633         * events.c:
12634         * events.c (Fmake_event):
12635         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12636         [1].
12637         [9].
12638
12639         * events.c (format_event_object): fix gcc warnings.
12640
12641         * events.c (Fevent_timestamp): Document new primitives.
12642
12643         * events.c (TIMESTAMP_HALFSPACE): New.
12644
12645         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12646         comparing timestamps correctly (half-space algorithm).
12647
12648         * events.c (Fevent_modifier_bits): Doc fix.
12649
12650         * events.c (Fevent_modifiers): Major doc addition.
12651         * events.c (event_x_y_pixel_internal): Typo fix.
12652         * events.c (syms_of_events): Declare new primitives.
12653
12654         * events.h:
12655         Update long comment for button modifiers, timestamps.
12656
12657         * events.h (struct event_stream):
12658         New current_event_timestamp method.
12659
12660         * extents.c:
12661         * extents.c (extent_in_region_p):
12662         * extents.c (decode_extent):
12663         * extents.c (Fset_extent_parent):
12664         * extents.c (decode_map_extents_flags):
12665         Fix gcc warnings.
12666         [9].
12667
12668         * extents.c (struct extent_at_arg):
12669         * extents.c (decode_extent_at_flag):
12670         * extents.c (extent_at_mapper):
12671         * extents.c (extent_at_bytind):
12672         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12673         * extents.c (Fextents_at): New primitive. [9].
12674         * extents.c (symbol_to_glyph_layout): [9].
12675         Support new primitive `extents-at'.
12676
12677
12678         * extents.c (get_text_property_bytind):
12679         extent_at_bytind has another arg.
12680         [9].
12681
12682         * extents.c (syms_of_extents): New primitive.
12683
12684         * file-coding.c (Fmake_coding_system): [1].
12685         * file-coding.c (subsidiary_coding_system): fix gcc warning
12686         * file-coding.c (syms_of_file_coding): [2].
12687
12688         * fileio.c (Fexpand_file_name):
12689         * fileio.c (Fsysnetunam):
12690         * fileio.c (Ffile_exists_p):
12691         * fileio.c (Ffile_executable_p):
12692         * fileio.c (Fverify_visited_file_modtime):
12693         Clean up GCPROing.
12694
12695         * fileio.c (syms_of_fileio): [2].
12696
12697         * filelock.c (lock_file_1):
12698         * filelock.c (current_lock_owner):
12699         * filelock.c (lock_if_free):
12700         * filelock.c (lock_file):
12701         * filelock.c (unlock_file):
12702         Clean up GCPROing.
12703
12704         * fns.c (concat): Fix gcc warning.
12705
12706         * fns.c (Fmember):
12707         * fns.c (Fold_member):
12708         * fns.c (Fmemq):
12709         * fns.c (Fold_memq):
12710         * fns.c (memq_no_quit):
12711         * fns.c (Fassoc):
12712         * fns.c (Fold_assoc):
12713         * fns.c (Fassq):
12714         * fns.c (Fold_assq):
12715         * fns.c (assq_no_quit):
12716         * fns.c (Frassoc):
12717         * fns.c (Fold_rassoc):
12718         * fns.c (Frassq):
12719         * fns.c (Fold_rassq):
12720         * fns.c (rassq_no_quit):
12721         * fns.c (Fdelete):
12722         * fns.c (Fold_delete):
12723         * fns.c (Fdelq):
12724         * fns.c (Fold_delq):
12725         * fns.c (delq_no_quit):
12726         * fns.c (Fremassoc):
12727         * fns.c (Fremassq):
12728         * fns.c (remassq_no_quit):
12729         * fns.c (Fremrassoc):
12730         * fns.c (Fremrassq):
12731         * fns.c (remrassq_no_quit):
12732         * fns.c (Freverse):
12733         * fns.c (mapcar1):
12734         [1].
12735
12736         * frame-msw.c (mswindows_init_frame_1):
12737         * frame-msw.c (mswindows_delete_frame):
12738         Register popups with dialog code so keyboard traversing works.
12739
12740         * frame-tty.c (tty_raise_frame_no_select): [1].
12741
12742         * frame-x.c:
12743         * frame-x.c (x_set_frame_text_value):
12744         * frame-x.c (x_set_frame_properties):
12745         * frame-x.c (x_create_widgets):
12746         [7].
12747
12748         * frame.c:
12749         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12750
12751         * frame.h (wrap_frame): New.
12752         Macro like wrap_device.
12753
12754         * general.c:
12755         * general.c (SYMBOL):
12756         * general.c (syms_of_general):
12757         Major reorg.  This is now just a wrapper and symbols themselves
12758         are listed in general-slots.h.
12759
12760         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12761         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12762
12763         * glyphs-msw.c (mswindows_native_layout_instantiate):
12764         Add DS_CONTROL so keyboard traversal will work.
12765
12766         * glyphs-widget.c:
12767         * glyphs-widget.c (syms_of_glyphs_widget):
12768         Move some symbols to general-slots.h.
12769
12770         * glyphs-x.c:
12771         * glyphs-x.c (xbm_instantiate_1):
12772         * glyphs-x.c (x_xbm_instantiate):
12773         * glyphs-x.c (x_xface_instantiate):
12774         * glyphs-x.c (autodetect_instantiate):
12775         * glyphs-x.c (cursor_font_instantiate):
12776         * glyphs-x.c (x_update_widget):
12777         * glyphs-x.c (x_widget_instantiate):
12778         * glyphs.c (bitmap_to_lisp_data):
12779         * glyphs.c (pixmap_to_lisp_data):
12780         [7].
12781
12782         * glyphs.c (syms_of_glyphs):
12783         [2].
12784
12785         * gui-x.c:
12786         * gui-x.c (print_widget_value):
12787         * gui-x.c (menu_separator_style_and_to_external):
12788         * gui-x.c (add_accel_and_to_external):
12789         * gui-x.c (button_item_to_widget_value):
12790         * gui-x.c (gui_items_to_widget_values_1):
12791         * gui-x.c (gui_items_to_widget_values):
12792         * gui-x.c (syms_of_gui_x):
12793         * gui-x.c (vars_of_gui_x):
12794         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12795         [9].
12796
12797         * gui-x.h:
12798         Muleize, prototype changes matching gui-x.c.
12799
12800         * gui.c:
12801         * gui.c (separator_string_p):
12802         * gui.c (gui_item_add_keyval_pair):
12803         * gui.c (make_gui_item_from_keywords_internal):
12804         * gui.c (signal_too_long_error):
12805         * gui.c (parse_gui_item_tree_item):
12806         * gui.c (syms_of_gui):
12807         * gui.c (vars_of_gui):
12808         * gui.h:
12809         menu-no-selection-hook moved here (used by MSWin).
12810         Move some symbols to general-slots.h.
12811         [6].
12812         [9].
12813
12814         * insdel.c (get_buffer_pos_char):
12815         * insdel.c (get_buffer_range_char):
12816         Add GC comments.
12817
12818         * keymap.c (keymap_lookup_directly):
12819         * keymap.c (keymap_store):
12820         * keymap.c (ensure_meta_prefix_char_keymapp):
12821         * keymap.c (describe_map):
12822         * keymap.h:
12823         Support new button modifiers.
12824
12825         * lisp-disunion.h (wrap_object):
12826         * lisp-disunion.h (XSETOBJ):
12827         Rename make_obj to wrap_object.
12828
12829         * lisp-union.h:
12830         * lisp-union.h (make_int):
12831         * lisp-union.h (make_char):
12832         Support wrap_object.
12833
12834         * lisp.h:
12835         * lisp.h (LIST_LOOP):
12836         * lisp.h (EXTERNAL_LIST_LOOP):
12837         * lisp.h (LIST_LOOP_2):
12838         * lisp.h (EXTERNAL_LIST_LOOP_1):
12839         * lisp.h (EXTERNAL_LIST_LOOP_2):
12840         * lisp.h (EXTERNAL_LIST_LOOP_3):
12841         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12842         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12843         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12844         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12845         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12846         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12847         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12848         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12849         * lisp.h (struct Lisp_Symbol):
12850         * lisp.h (maybe_continuable_error_with_frob):
12851         Fix up section comments.
12852         Add new types for char to indicate usage.
12853         Delete symbols auto-generated from general-slots.h.
12854         Add prototypes for structured error functions.
12855         Add long comments describing looping macros and change interface
12856         so that lvalues are automatically declared.
12857         Add NO_DECLARE macro in case callers want to declare lvalues
12858         themselves.
12859
12860         * lread.c (read_syntax_error):
12861         * lread.c (continuable_read_syntax_error):
12862         * lread.c (read_structure):
12863         * lread.c (sequence_reader):
12864         * lread.c (read_list_conser):
12865         * lread.c (read_compiled_function):
12866         Rename syntax_error and continuable_syntax_error to avoid clash
12867         with same-named structured error functions.
12868
12869         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12870         * menubar-msw.c (populate_menu_add_item):
12871         * menubar-msw.c (populate_or_checksum_helper):
12872         [5].
12873         [9].
12874
12875         * menubar-x.c:
12876         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12877         Mule-ize whole file.
12878
12879         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12880
12881         * mule-charset.c (Fmake_charset):
12882         * mule-wnnfns.c (Fwnn_set_param):
12883         [1].
12884
12885         * ntproc.c (create_child):
12886         * ntproc.c (Fwin32_set_current_locale):
12887         Add comments portending doom.
12888
12889         * objects-msw.c:
12890         * objects-msw.c (old_font_enum_callback_2):
12891         * objects-msw.c (font_enum_callback_1):
12892         * objects-msw.c (mswindows_enumerate_fonts):
12893         [5].
12894
12895         * objects-x.c:
12896         * objects-x.c (allocate_nearest_color):
12897         * objects-x.c (x_parse_nearest_color):
12898         * objects-x.c (x_initialize_color_instance):
12899         * objects-x.c (x_print_color_instance):
12900         * objects-x.c (x_finalize_color_instance):
12901         * objects-x.c (x_valid_color_name_p):
12902         * objects-x.c (x_initialize_font_instance):
12903         * objects-x.c (x_print_font_instance):
12904         * objects-x.c (valid_x_font_name_p):
12905         * objects-x.c (truename_via_FONT_prop):
12906         * objects-x.c (truename_via_random_props):
12907         * objects-x.c (truename_via_XListFonts):
12908         * objects-x.c (x_font_truename):
12909         * objects-x.c (x_font_instance_truename):
12910         * objects-x.c (x_font_instance_properties):
12911         * objects-x.c (x_list_fonts):
12912         * objects-x.c (x_find_charset_font):
12913         Mule-ize entire file.
12914         [7].
12915
12916         * objects-x.h:
12917         Mule-verify.
12918
12919         * print.c:
12920         * print.c (std_handle_out_external):
12921         * print.c (debug_print_no_newline):
12922         * print.c (syms_of_print):
12923         Output to all debugger kinds in debug-print.
12924         Fix console-output code under MSWin to actually work.
12925
12926         * process-nt.c (send_signal):
12927         * process-nt.c (nt_create_process):
12928         Use newer Unicode macros.
12929
12930         * process-unix.c (unix_create_process):
12931         * process-unix.c (unix_canonicalize_host_name):
12932         * process-unix.c (unix_open_network_stream):
12933         [7].
12934
12935         * scrollbar-x.c:
12936         Mule-verify.
12937
12938         * search.c (syms_of_search):
12939         [2].
12940
12941         * select-msw.c (mswindows_destroy_selection):
12942         Use LIST_LOOP_2.
12943
12944         * select-x.c (symbol_to_x_atom):
12945         [7].
12946
12947         * select.c (syms_of_select):
12948         [2].
12949
12950         * sound.c (Fplay_sound_file):
12951         [7].
12952
12953         * specifier.c:
12954         * specifier.c (decode_specifier_type):
12955         * specifier.c (Fvalid_specifier_locale_type_p):
12956         * specifier.c (check_valid_locale_or_locale_type):
12957         * specifier.c (decode_locale):
12958         * specifier.c (decode_locale_type):
12959         * specifier.c (decode_locale_list):
12960         * specifier.c (check_valid_domain):
12961         * specifier.c (decode_specifier_tag_set):
12962         * specifier.c (Fcanonicalize_tag_set):
12963         * specifier.c (Fdefine_specifier_tag):
12964         * specifier.c (Fspecifier_tag_predicate):
12965         * specifier.c (check_valid_inst_list):
12966         * specifier.c (check_valid_spec_list):
12967         * specifier.c (decode_how_to_add_specification):
12968         * specifier.c (check_modifiable_specifier):
12969         * specifier.c (specifier_add_spec):
12970         * specifier.c (boolean_validate):
12971         * specifier.c (display_table_validate):
12972         [9].
12973
12974         * specifier.c (syms_of_specifier):
12975         Move some symbols to general-slots.h.
12976         [2].
12977
12978         * symbols.c:
12979         * symbols.c (Fmapatoms):
12980         * symbols.c (Fapropos_internal):
12981         Add GCPROs.
12982
12983         * symbols.c (set_default_buffer_slot_variable):
12984         * symbols.c (set_default_console_slot_variable):
12985         [1].
12986
12987         * symbols.c (defsymbol_massage_name_1):
12988         * symbols.c (defkeyword_massage_name):
12989         * symbols.c (deferror_1):
12990         * symbols.c (deferror):
12991         * symbols.c (deferror_massage_name_and_message):
12992         * symeval.h:
12993         * symeval.h (DEFSYMBOL):
12994         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12995
12996         * symbols.c (syms_of_symbols):
12997         [2].
12998
12999         * symsinit.h:
13000         * symsinit.h (init_win32): New.
13001         Also new is syms_of_dialog_mswindows.
13002
13003         * syswindows.h:
13004         Add new Unicode macros, missing Cygwin wide-char functions,
13005         convenience conversion macros for Qmswindows_tstr, macros for
13006         encapsulating required MSWin <-> Cygwin filename conversions,
13007         prototype for dynamically-extracted (not in NT 3.51) functions.
13008
13009         * toolbar-x.c:
13010         Mule-verify.
13011
13012         * tooltalk.c (Fadd_tooltalk_message_arg):
13013         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
13014         * tooltalk.c (Fadd_tooltalk_pattern_arg):
13015         [7].
13016
13017         * tooltalk.c (syms_of_tooltalk):
13018         [2].
13019
13020         * unexnt.c:
13021         * unexnt.c (unexec):
13022         Fix up headers, declaration of unexec() to be more standard.
13023
13024 2000-07-20  Martin Buchholz  <martin@xemacs.org>
13025
13026         * offix.h: Revert change to guard macros - they're used in offix.c!
13027
13028 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13029
13030         * lisp.h: Defsubred Fdelete.
13031
13032         * console-msw.h:  (msprinter_default_printer): Added.
13033
13034         * console-msw.c (msprinter_canonicalize_console_connection):
13035         (msprinter_canonicalize_device_connection): Added.
13036
13037         * device-msw.c (msprinter_default_printer):
13038         (Fmswingows_get_default_printer):
13039         (signal_enum_priner_error):
13040         (Fmswingows_printer_list): Added.
13041
13042 2000-07-19  Martin Buchholz <martin@xemacs.org>
13043
13044         * XEmacs 21.2.35 is released.
13045
13046 2000-07-19  Martin Buchholz  <martin@xemacs.org>
13047
13048         * select-x.c (x_handle_selection_request):
13049         Text selected in xemacs and pasted into xterm failed to appear.
13050         Spelling fixes and cosmetic changes.
13051
13052 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13053
13054         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
13055         XEmacs frame (fix for doubling chars in dialog boxes).
13056
13057 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
13058
13059         * select.c (select_convert_in, select_convert_out):
13060         Don't call intern() every time.
13061
13062         * select.c (Qselect_convert_in, Qselect_convert_out): New.
13063         * select.c (vars_of_select): Initialise them.
13064
13065 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
13066
13067         * select.c (selection-coercible-types): New.
13068
13069         * select.c (own-selection-internal):
13070         * select.c (get-selection-internal):
13071         MULE bug fix - these should default to COMPOUND_TEXT and not
13072         STRING for MULE. I think.
13073
13074         * select.c (select_convert_out): Use selection-coercible-types
13075         to find types that we can attempt to perform coercions on.
13076
13077 2000-07-18  Martin Buchholz  <martin@xemacs.org>
13078
13079         * mule-wnnfns.c:
13080         * mule-canna.c:
13081         Add coding: cookie to identify encoding.
13082
13083         * mule-canna.c (CANNA_mode_keys): make static.
13084         Use proper prototypes, even for functions of no arguments.
13085         Remove external prototype for Fding().
13086
13087         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
13088
13089         * select.c (syms_of_select): Add missing DEFSUBR.
13090
13091 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
13092
13093         * select.c (get_selection_internal, own_selection_internal):
13094         Make the type default to STRING, rather than placing a nil type
13095         into Vselection_alist.
13096
13097 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
13098
13099         * gpmevent.c (tty_selection_exists_p):
13100         * gpmevent.c (tty_own_selection):
13101         Updated parameter lists.
13102
13103 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
13104
13105         * select.h (selection-alist): Removed declaration.
13106
13107         * select.h (get_local_selection):
13108         * select.c (get_local_selection):
13109         Made static.
13110
13111         * select.h (convert_selection): Removed declaration.
13112         * select.c (convert_selection): Removed.
13113         This function belongs in Lisp.
13114
13115         * select.h (select_convert_in): Declare.
13116         * select.h (select_convert_out): Declare.
13117         * select.c (select_convert_in): New.
13118         * select.c (select_convert_out): New.
13119         New conversion functions for other files to call.
13120
13121         * select.h (select_notify_buffer_kill): Declare.
13122         * select.c (select_notify_buffer_kill): New.
13123         New functions that get called from kill-buffer.
13124
13125         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
13126         X-specific lisp code.
13127
13128         * select.h: Declare some of the lisp-visible functions for
13129         external use.
13130
13131         * select.c (clean_local_selection_data): Removed. This was
13132         a disgusting function, and previously should have been in
13133         select-x.c in any case. The functionality is now provided
13134         in select-convert-from-integer (select.el).
13135
13136         * select.c (available-selection-types): Fixed stupidity where
13137         INTEGER and ATOM got added twice. Also add STRING when we see an
13138         extent.
13139
13140         * select.c (get-selection-internal): Removed symbol stripping. No
13141         longer causes conversion when data comes from the internal cache.
13142
13143         * select.c (syms_of_select): Added new functions.
13144
13145         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
13146         error checking - previously this called abort!
13147
13148         * select-x.c (x_own_selection): Changed comment.
13149
13150         * select-x.c (x_handle_selection_request): Use select_convert_out.
13151         Don't mess with selection-alist; it's an internal variable of select.c.
13152
13153         * select-x.c (x_get_foreign_selection): Use select_convert_in.
13154
13155         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
13156         rather than messing with selection-alist.
13157
13158         * select-msw.c (mswindows_get_foreign_selection):
13159         Use TO_INTERNAL_FORMAT rather than hacking.
13160
13161 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13162
13163         * process-unix.c (unix_open_multicast_group):
13164         (unix_open_multicast_group): Remove useless casts.
13165
13166 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13167
13168         * sound.c (Fplay_sound): Fix `unused variable' warning.
13169
13170         * emacs.c (main): Use correct type for _environ on SCO5.
13171
13172 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13173
13174         * console.h (own_selection_method):
13175         * console.h (selection_exists_p_method):
13176         * console.h (available_selection_types_method): New.
13177         * console.h (register_selection_data_type_method): New.
13178         * console.h (selection_data_type_name): New.
13179
13180         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13181         function & alist to track GlobalAlloc()'d handles that need
13182         releasing when the clipboard data gets replaced or emptied.
13183
13184         * event-msw.c (mswindows_wnd_proc): Call it.
13185
13186         * lisp.h, general.c (Qappend): New symbol representing a
13187         `how-to-add' mode.
13188
13189         * select.c (own-selection-internal):
13190         * select.c (selection-exists-p):
13191         * select.c (available-selection-types): New.
13192         * select.c (register-selection-data-type): New.
13193         * select.c (selection-data-type-name): New.  New functions to deal
13194         with device-specific selection data formats.
13195         * select.c (selection-converter-out-alist): Renamed.
13196         * select.c (selection-converter-in-alist): New.
13197         * select.c (selection-appender-alist): New.  Added new alists.
13198         * select.c (syms_of_select, vars_of_select): Added new symbols &
13199         variables.
13200         * select.c (get_local_selection): Split.
13201         * select.c: Removed spurious type checking - selections may now be
13202         of any type, not just strings.
13203         * select.c (own-selection-internal):
13204
13205         * select.h, select.c (convert_selection): New. Created
13206         convert_selection() function based on get_local_selection().
13207         * select.h, select.c (QCF_*): New symbols representing mswindows
13208         clipboard formats.
13209         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13210         symbols representing `how-to-add' modes.
13211
13212         * select-msw.c (x_sym_p): New.
13213         * select-msw.c (symbol_to_ms_cf): New.
13214         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13215         symbols & clipboard formats. Can also handle string names.
13216         * select-msw.c (mswindows_own_selection):
13217         * select-msw.c (mswindows_selection_exists_p):
13218         Added `data-type' parameter. Use it.
13219         * select-msw.c (mswindows_available_selection_types): New.
13220         * select-msw.c (mswindows_register_selection_data_type): New.
13221         * select-msw.c (mswindows_selection_data_type_name): New.
13222         * select-msw.c (mswindows_own_selection):
13223         * select-msw.c (mswindows_get_foreign_selection):
13224         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13225         * select-msw.c (console_create_select_mswindows): Added new methods.
13226         * select-msw.c (mswindows_destroy_selection): New.
13227         * select-msw.c (Vhandle_alist): New list.
13228         * select-msw.c (mswindows_own_selection):
13229
13230         * select-x.c (x_own_selection):
13231         * select-x.c (x_selection_exists_p):
13232         * select-x.c: Added some comments about maybe using new
13233         functionality.
13234         * select-x.c (x_own_selection):
13235
13236         * specifier.c: Remove definition of Qappend (now in general.c)
13237         * specifier.c (syms_of_specifier): Remove Qappend.
13238
13239 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13240
13241         * config.h.in: Add socklen_t.
13242
13243         * s/decosf4-0.h: No special compiler flags needed or desired.
13244         In particular, undefine _BSD for DEC OSF 4.0.
13245
13246 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13247
13248         * redisplay-msw.c (msprinter_frame_output_end): Added.
13249         (console_type_create_redisplay_mswindows): Referred the above.
13250
13251         * frame.c (setup_frame_without_minibuffer): Do not create a
13252         default minibuffer frame on a printer device.
13253
13254         * frame-msw.c (apply_dc_geometry): Added.
13255         (msprinter_start_page):
13256         (msprinter_init_frame_3):
13257         (msprinter_eject_page): Use it.
13258
13259         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13260         and removed residual duplex and orientation properties.
13261
13262 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13263
13264         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13265
13266         * unexalpha.c: Remove system prototypes from C sources!
13267
13268 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13269
13270         * eval.c: Remove references to M-x edit-options in DEFUNs for
13271         `defvar' and `defconst'.
13272
13273 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13274
13275         * config.h.in: Remove SMART_INCLUDE hackery.
13276
13277         PostgreSQL hacking:
13278         * config.h.in: Don't use SMART_INCLUDE.
13279
13280         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13281         * inline.c: Simply #include "postgresql.h"
13282         * postgresql.c:
13283         - Don't use SMART_INCLUDE
13284         - Use simply "const".
13285         - Use standard doc string conventions.
13286         - Use correct type for result of PQstatus.
13287
13288 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13289
13290         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13291
13292         C++ compilation changes.
13293         * config.h.in (EXTERN_C): Define.
13294         * config.h.in (not): This is also a C++ keyword.
13295         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13296         * cm.c: Use EXTERN_C.
13297         * redisplay-tty.c: Use EXTERN_C.
13298         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13299
13300 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13301
13302         * general.c: Remove duplicate definition for Qfunction.
13303
13304 2000-07-08  Ben Wing  <ben@xemacs.org>
13305
13306         * device-msw.c (msprinter_init_device):
13307         * device-msw.c (sync_printer_with_devmode):
13308         * device-msw.c (handle_devmode_changes):
13309         * device-msw.c (print_dialog_worker):
13310         * device-msw.c (Fmsprinter_apply_settings):
13311         * device-msw.c (hash_devmode):
13312         * device-msw.c (Fmsprinter_settings_despecialize):
13313         use Qmswindows_tstr, not Qctext.
13314
13315         * vm-limit.c (check_memory_limits):
13316         avoid infinite loop printing warning messages.
13317
13318 2000-07-05  Craig Lanning  <lanning@scra.org>
13319
13320         * Makefile.in.in: Add support for including the Windows resources
13321         when building with the cygwin and mingw targets.
13322
13323         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13324         not set or not correct.
13325         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13326         (init_initial_directory): Don't try to use $PWD on the
13327         WIN32_NATIVE target.
13328
13329         * s\cygwin32.h:
13330         [[Add -mwindows to eliminate console window.]] not required --ben
13331         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13332         (MAIL_USE_POP): removed; now handled by configure.
13333
13334         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13335         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13336         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13337         (MAIL_USE_POP): removed; now handled by configure.
13338         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13339         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13340         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13341         constant string.
13342         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13343         up from <winsock.h> via systime.h.
13344         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13345         (getpagesize): from Dan Holmsand, added.
13346         Added #endif which was left dangling by Ben's mega patch; added
13347         comment to help prevent this in the future.
13348
13349         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13350
13351 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13352
13353         * console-msw.h (struct mswindows_device): Removed unnecessary
13354         cached device geometry values.
13355         Added update_tick and an accessor macro.
13356         (Lisp_Devmode): Added lrecord declaration.
13357         (struct msprinter_device): Contain devmode as a Lisp object.
13358         Added mswindows_get_selected_frame_hwnd();
13359
13360         * console.h (struct console_methods): Indentation nitpicking.
13361
13362         * device-msw.c (mswindows_init_device): Do not initialize geometry
13363         cache. Initialize update tick.
13364         (mswindows_device_system_metrics): Ask the device for its geometry.
13365         (global_free_2_maybe):
13366         (devmode_to_hglobal):
13367         (handle_printer_changes):
13368         (ensure_not_printing):
13369         (print_dialog_worker):
13370         (Fmsprinter_print_setup_dialog):
13371         (Fmsprinter_print_dialog):
13372         (plist_get_margin):
13373         (plist_set_margin):
13374         (Fmsprinter_page_setup_dialog): Added functions.
13375         (sync_printer_with_devmode):
13376         (handle_devmode_changes):
13377         (Fmsprinter_get_settings):
13378         (Fmsprinter_select_settings):
13379         (Fmsprinter_apply_settings):
13380         (allocate_devmode):
13381         (Fmsprinter_settings_copy):
13382         (Fmsprinter_settings_despecialize):
13383         (print_devmode):
13384         (finalize_devmode):
13385         (equal_devmode):
13386         (hash_devmode): Added functions
13387         (syms_of_device_mswindows): Init devmode lrecord class.
13388
13389         * device.h: Added an exfun for find-device.
13390
13391         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13392         geometry; although, recreate the device compatible DC.
13393
13394         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13395         (msprinter_init_frame_3):
13396         (msprinter_frame_property):
13397         (msprinter_internal_frame_property_p):
13398         (msprinter_frame_properties):
13399         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13400         print job properties (will move to device settings).
13401
13402         * lisp.h: Added symbols.
13403
13404         * general.c (syms_of_general): Declared them.
13405
13406         * hash.c (string_hash): Added.
13407
13408         * lrecord.h (lrecord_type): Added devmode lrecord type.
13409
13410 2000-07-02  Mike Sperber <mike@xemacs.org>
13411
13412         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13413         FreeBSD 4.0.
13414
13415 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13416
13417         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13418         integer.
13419
13420 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13421
13422         * data.c (Fstring_to_number): Don't recognize floating point if
13423         base is not 10.
13424
13425 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13426
13427         * glyphs-widget.c (tab_control_query_geometry):
13428         (widget_query_geometry):
13429         (button_query_geometry):
13430         * glyphs.c (text_query_geometry):
13431         Enforce type correctness.
13432
13433 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13434
13435         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13436         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13437
13438 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13439
13440         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13441         conflicts with gcc's fixincluded version of FOO.h.
13442
13443         * glyphs.h (image_instance_geometry): Remove trailing `,'
13444
13445 2000-06-08  Mike Alexander  <mta@arbortext.com>
13446
13447         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13448         (shove_thread): Don't write the same output twice
13449         (make_ntpipe_output_stream): Increase priority of shove thread
13450         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13451         chance to run
13452         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13453         it.
13454
13455 2000-06-12  Ben Wing  <ben@xemacs.org>
13456
13457         * s\mingw32.h (sigset):
13458         * s\windowsnt.h (sigset):
13459         rename msw_ to mswindows_ for consistency with general convention.
13460
13461 2000-06-12  Ben Wing  <ben@xemacs.org>
13462
13463         * console-msw.c:
13464         * console-msw.c (mswindows_get_console_hwnd):
13465         * console-msw.c (mswindows_ensure_console_allocated):
13466         * console-msw.c (mswindows_hide_console):
13467         * console-msw.c (mswindows_show_console):
13468         * console-msw.c (mswindows_ensure_console_buffered):
13469         * console-msw.c (mswindows_output_console_string):
13470         * console-msw.c (mswindows_windows9x_p):
13471         * console-msw.h:
13472         * device-msw.c (mswindows_get_workspace_coords):
13473         * device-msw.c (mswindows_device_system_metrics):
13474         * dialog-msw.c (mswindows_popup_dialog_box):
13475         * event-msw.c (mswindows_wnd_proc):
13476         * frame-msw.c (mswindows_size_frame_internal):
13477         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13478         * menubar-msw.c (displayable_menu_item):
13479         * menubar-msw.c (mswindows_char_is_accelerator):
13480         * nt.c:
13481         * nt.c (mswindows_sigset):
13482         * nt.c (mswindows_sigrelse):
13483         * nt.c (mswindows_sigpause):
13484         * nt.c (mswindows_raise):
13485         * nt.c (timer_proc):
13486         * ntproc.c:
13487         * ntproc.c (find_child_console):
13488         * ntproc.c (sys_kill):
13489         * print.c:
13490         * print.c (std_handle_out_external):
13491         * process-nt.c (find_child_console):
13492         * process-nt.c (send_signal_the_95_way):
13493         * process-nt.c (ensure_console_window_exists):
13494         * process-nt.c (nt_create_process):
13495         * syssignal.h:
13496         rename msw_ to mswindows_ for consistency with general convention.
13497
13498         * emacs.c:
13499         * dumper.c:
13500         include nt.h, not syswindows.h.
13501
13502         * nt.c (mswindows_fstat):
13503         * nt.c (mswindows_stat):
13504         prefix mswindows_ instead of attempting to directly override the
13505         library functions.  fix declarations.
13506
13507         * nt.h:
13508         include syswindows.h.  move some sysdep.h stuff here.
13509
13510         * ntheap.h:
13511         include syswindows.h, not <windows.h>.
13512
13513         * ntplay.c:
13514         clean up headers.
13515
13516         * sysdep.c:
13517         clean up headers.
13518
13519         * sysdep.c (sys_fstat):
13520         * sysdep.c (sys_stat):
13521         call mswindows versions when appropriate.
13522
13523         * sysdep.h:
13524         move mswin decls to nt.h.
13525
13526         * syswindows.h:
13527         add long comment describing appropriate use of the various windows
13528         headers.
13529
13530 2000-06-11  Ben Wing  <ben@xemacs.org>
13531
13532         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13533
13534 2000-06-10  Ben Wing  <ben@xemacs.org>
13535
13536         * Makefile.in.in (release):
13537         Correction to make sure xemacs.exe always dumped when correct.
13538
13539         * alloca.c:
13540         * balloon_help.c:
13541         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13542
13543         * buffer.c (set_buffer_internal):
13544         [[[[2]]]]: Remove HAVE_FEP code.
13545
13546         * buffer.c (init_initial_directory):
13547         [3].
13548
13549         * bytecode.c:
13550         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13551         individual files.
13552
13553         * callproc.c:
13554         * callproc.c (call_process_cleanup):
13555         * callproc.c (Fold_call_process_internal):
13556         * callproc.c (child_setup):
13557         * callproc.c (getenv_internal):
13558         * callproc.c (init_callproc):
13559         * callproc.c (vars_of_callproc):
13560         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13561         __CYGWIN32__ -> CYGWIN.
13562         DOS_NT -> WIN32_NATIVE.
13563         Remove MSDOS support/references, converting to WIN32_NATIVE
13564           where correct.
13565         __MINGW32__ -> MINGW.
13566         Fix windows.h includes.
13567         Remove bogus HAVE_NTGUI.
13568
13569         * config.h.in:
13570         [2].
13571
13572         * console-msw.c:
13573         mswindows_message_outputted added for use in allowing startup
13574         errors on the console to be seen.
13575
13576         * console-msw.c (msw_ensure_console_allocated):
13577         * console-msw.c (msw_output_console_string):
13578         * console-msw.c (DHEADER):
13579         * console-msw.c (DOPAQUE_DATA):
13580         * console-msw.c (DEVENT):
13581         * console-msw.c (DCONS):
13582         * console-msw.c (DCONSCDR):
13583         * console-msw.c (DSTRING):
13584         * console-msw.c (DVECTOR):
13585         * console-msw.c (DSYMBOL):
13586         * console-msw.c (DSYMNAME):
13587         Fix warnings.
13588
13589         * console-stream.c (stream_init_console):
13590         Fix text/binary problems.
13591
13592         * device-msw.c:
13593         * device-msw.c (mswindows_finish_init_device):
13594         * device-msw.c (mswindows_delete_device):
13595         [1].
13596
13597         * device.c (handle_asynch_device_change):
13598         [3].
13599
13600         * dgif_lib.c:
13601         * dgif_lib.c (DGifOpenFileName):
13602         * dgif_lib.c (DGifOpenFileHandle):
13603         * dgif_lib.c (DGifGetLine):
13604         * dgif_lib.c (DGifGetPixel):
13605         Added config.h/lisp.h, fix up includes.
13606         [1].
13607
13608         * dired-msw.c:
13609         [4].
13610
13611         * dired.c:
13612         * dired.c (file_name_completion):
13613         * dired.c (Ffile_attributes):
13614         * dired.c (syms_of_dired):
13615         [1].
13616
13617         * dumper.c:
13618         * dumper.c (pdump_file_unmap):
13619         * dumper.c (pdump_load):
13620         [1].
13621
13622         * editfns.c:
13623         * editfns.c (Ftemp_directory):
13624         * editfns.c (user_login_name):
13625         * editfns.c (Fuser_real_login_name):
13626         * editfns.c (get_home_directory):
13627         [1].
13628
13629         * elhash.c (finish_marking_weak_hash_tables):
13630         [[[[5]]]]: Fix GCC warnings.
13631
13632         * emacs.c:
13633         * emacs.c (mswindows_handle_hardware_exceptions):
13634         * emacs.c (make_arg_list_1):
13635         * emacs.c (main_1):
13636         * emacs.c (Fkill_emacs):
13637         * emacs.c (Fdump_emacs):
13638         [1].
13639         Fix problems with nested crashes, add long comment.
13640
13641         * event-Xt.c (init_event_Xt_late):
13642         [1].
13643
13644         * event-msw.c:
13645         * event-msw.c (mswindows_dde_callback):
13646         * event-msw.c (mswindows_handle_sticky_modifiers):
13647         * event-msw.c (mswindows_wnd_proc):
13648         [1].
13649         [5].
13650
13651         * events.c (character_to_event):
13652         [1].
13653
13654         * fileio.c:
13655         * fileio.c (Ffile_name_directory):
13656         * fileio.c (Ffile_name_nondirectory):
13657         * fileio.c (directory_file_name):
13658         * fileio.c (Fexpand_file_name):
13659         * fileio.c (Fsubstitute_in_file_name):
13660         * fileio.c (Ffile_name_absolute_p):
13661         * fileio.c (check_executable):
13662         * fileio.c (Ffile_readable_p):
13663         * fileio.c (Ffile_accessible_directory_p):
13664         * fileio.c (Ffile_modes):
13665         * fileio.c (Funix_sync):
13666         * fileio.c (vars_of_fileio):
13667         [1]. [4].
13668
13669         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13670
13671         Expand getdefdir defn.
13672         Fix bogus rename() comment.
13673
13674         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13675         to use standard XEmacs include files, e.g. sysfile.h, rather
13676         than system-specific includes.
13677
13678         * fns.c:
13679         * fns.c (Fsubseq):
13680         [5]. [6].
13681
13682         * frame.c (vars_of_frame):
13683         [1].
13684
13685         * getloadavg.c:
13686         * getloadavg.c (getloadavg):
13687         [1]. [6].
13688         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13689         (We don't use it elsewhere in the code; just add a comment.)
13690
13691         * gif_io.c:
13692         [6].
13693         Add config.h.
13694
13695         * glyphs-msw.c:
13696         * glyphs-msw.c (mswindows_resource_instantiate):
13697         [1].
13698
13699         * glyphs-x.c (x_native_layout_instantiate):
13700         [5].
13701
13702         * gui-msw.c (Fmswindows_shell_execute):
13703         [1].
13704
13705         * insdel.c:
13706         [4].
13707
13708         * lisp.h:
13709         [4]. [5].
13710
13711         * lread.c (locate_file_in_directory_mapper):
13712         [1].
13713
13714         * lstream.c:
13715         [4].
13716
13717         * mem-limits.h:
13718         * mem-limits.h (get_lim_data):
13719         [1].
13720
13721         * menubar-msw.c:
13722         [4].
13723
13724         * ndir.h:
13725         [1].
13726
13727         * nt.c:
13728         * nt.c (getwd):
13729         * nt.c (closedir):
13730         * nt.c (rva_to_section):
13731         * nt.c (mswindows_executable_type):
13732         [1]. [6].
13733         Fix closedir() defn.
13734
13735         * nt.h:
13736         [[[[8]]]]: *_OK defs moved to sysfile.h.
13737
13738         * ntproc.c:
13739         [6]. [7].
13740
13741         * objects-x.c:
13742         [4].
13743
13744         * print.c:
13745         * print.c (std_handle_out_external):
13746         [1]. [4].
13747
13748         * process-nt.c:
13749         * process-nt.c (nt_create_process):
13750         [6].
13751         try to fix process quoting somewhat.
13752
13753         * process-unix.c (unix_create_process):
13754         [1].
13755
13756         * process.c:
13757         * process.c (vars_of_process):
13758         Add Vnull_device.
13759
13760         * process.h:
13761         [1].
13762
13763         * realpath.c:
13764         * realpath.c (xrealpath):
13765         [1].
13766
13767         * redisplay-tty.c (init_tty_for_redisplay):
13768         [3].
13769
13770         * redisplay.c:
13771         [4]. [6].
13772
13773         * scrollbar-msw.c:
13774         [4].
13775
13776         * sheap.c:
13777         * sheap.c (more_static_core):
13778         * sheap.c (report_sheap_usage):
13779         [5]. [6].
13780
13781         * signal.c:
13782         * signal.c (alarm_signal):
13783         [1]. [6].
13784
13785         * sound.c:
13786         [6].
13787
13788         * strftime.c:
13789         * strftime.c (zone_name):
13790         [1]. [5].
13791
13792         * symsinit.h (init_sunpro):
13793         [1].
13794
13795         * syscommctrl.h:
13796         commctrl.h not in Cygwin b20.1.
13797
13798         * sysdep.c:
13799         * sysdep.c (endif):
13800         * sysdep.c (sys_subshell):
13801         * sysdep.c (init_baud_rate):
13802         * sysdep.c (emacs_get_tty):
13803         * sysdep.c (emacs_set_tty):
13804         * sysdep.c (tty_init_sys_modes_on_device):
13805         * sysdep.c (init_system_name):
13806         * sysdep.c (sys_open):
13807         * sysdep.c (interruptible_open):
13808         * sysdep.c (sys_fopen):
13809         * sysdep.c (sys_mkdir):
13810         * sysdep.c (sys_rename):
13811         * sysdep.c (get_process_times_1):
13812         [1]. [6].
13813
13814         * sysdep.h:
13815         [1].
13816
13817         * sysdir.h:
13818         * sysdir.h (DIRENTRY_NONEMPTY):
13819         [1]. [6].
13820
13821         * sysdll.c (dll_init):
13822         * sysdll.h:
13823         [1].
13824
13825         * sysfile.h:
13826         [1]. [6]. [8].
13827         added text/binary defs.
13828
13829         * sysfloat.h:
13830         [1].
13831
13832         * sysproc.h:
13833         * sysproc.h (EDESTADDRREQ):
13834         * sysproc.h (poll_fds_for_input):
13835         [1]. [6].
13836
13837         * syspwd.h:
13838         [6].
13839
13840         * syssignal.h:
13841         [1].
13842
13843         * systime.h:
13844         [1]. [6].
13845
13846         * systty.h:
13847         [1].
13848
13849         * syswindows.h:
13850         [1].
13851         Always define WIN32_LEAN_AND_MEAN.
13852
13853         * unexcw.c (unexec):
13854         [5].
13855
13856         * unexec.c:
13857         * unexec.c (copy_text_and_data):
13858         * unexec.c (adjust_lnnoptrs):
13859         [1].
13860
13861         * unexnt.c:
13862         * unexnt.c (_start):
13863         [1].
13864
13865 2000-06-07  Ben Wing  <ben@xemacs.org>
13866
13867         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13868         was used only as a model.  We've long since extracted any useful
13869         logic or code out of this. (I just did an exhaustive search.)
13870
13871         * s\msdos.h: Removed.
13872
13873         * s\windows95.h: Removed.
13874
13875 2000-06-10  Ben Wing  <ben@xemacs.org>
13876
13877         * s\cygwin32.h:
13878         [1]. [5].
13879         Don't use extern with fun defs.
13880
13881         * s\mingw32.h:
13882         [1]. [7].
13883         Remove nt\inc include.
13884         Remove getdisk, getdefdir. (The former is unused, the latter
13885         expanded in fileio.h.)
13886
13887         * s\windowsnt.h:
13888         * s\windowsnt.h (WIN32_NATIVE):
13889         * s\windowsnt.h (HAVE_STRCASECMP):
13890         [1]. [7].
13891         Add long comment about preprocessor changes.
13892         Remove getdisk, getdefdir. (The former is unused, the latter
13893         expanded in fileio.h.)
13894
13895 2000-06-10  Ben Wing  <ben@xemacs.org>
13896
13897         * m\arm.h:
13898         * m\delta.h:
13899         * m\intel386.h:
13900         * m\sequent.h:
13901         * m\template.h:
13902         * m\windowsnt.h:
13903         [1].
13904         Remove bogus/unused NO_SOCK_SIGIO.
13905
13906 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13907
13908         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13909         not an Emchar.
13910
13911 2000-06-04  Mike Sperber <mike@xemacs.org>
13912
13913         * casetab.c (set_case_table): For `set-standard-case-table',
13914         actually deposit the new case tables where the rest of XEmacs can
13915         see them.
13916
13917 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13918
13919         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13920
13921 2000-06-05  Ben Wing  <ben@xemacs.org>
13922
13923         * callproc.c (child_setup): Don't do close_load_descs() under
13924         MS Windows.  Put in a comment explaining why.
13925
13926 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13927
13928         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13929         Toolkit shell" which breaks `kill-compilation' on Windows NT
13930         native, retaining STDERR handling improvements.
13931
13932 2000-06-01  Andreas Jaeger  <aj@suse.de>
13933
13934         * s/s390.h: Support for S390, based on a patch by Martin
13935         Schwidefsky <schwidefsky@de.ibm.com>.
13936
13937 2000-05-30  Andy Piper  <andy@xemacs.org>
13938
13939         * window.c (allocate_window):
13940         (make_dummy_parent):
13941         (Fset_window_configuration): use new hashtable type.
13942
13943         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13944         (struct image_instantiator_methods):
13945         (struct Lisp_Image_Instance): make instance geometry signed.
13946
13947         * glyphs.c (instantiate_image_instantiator):
13948         (image_instance_query_geometry):
13949         (image_instance_layout):
13950         (image_instance_layout):
13951         (query_string_geometry):
13952         (text_query_geometry):
13953         (image_instantiate):
13954         (image_instantiate):
13955         (cache_subwindow_instance_in_frame_maybe):
13956         (subwindow_query_geometry): make instance geometry signed.
13957
13958         * glyphs-widget.c (widget_query_geometry):
13959         (widget_layout):
13960         (button_query_geometry):
13961         (tree_view_query_geometry):
13962         (tab_control_query_geometry):
13963         (layout_query_geometry):
13964         (layout_layout):
13965         (native_layout_layout): make instance geometry signed.
13966
13967 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13968
13969         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13970         constant.
13971
13972         * general.c (syms_of_general): Add Qfull_assoc symbol.
13973
13974         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13975         correctly.
13976         (decode_weak_list_type): Decode full-assoc type.
13977         (encode_weak_list_type): Encode full-assoc type.
13978         (Fmake_weak_list): Update doc string.
13979
13980 2000-05-30  Andy Piper  <andy@xemacs.org>
13981
13982         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13983
13984         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13985         (decode_hash_table_weakness): ditto.
13986         (Fhash_table_weakness): ditto.
13987         (Fhash_table_type): ditto.
13988         (finish_marking_weak_hash_tables): ditto.
13989         (hash_table_weakness_validate): ditto.
13990         (syms_of_elhash): ditto.
13991
13992 2000-05-28  Martin Buchholz <martin@xemacs.org>
13993
13994         * XEmacs 21.2.34 is released.
13995
13996 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13997
13998         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13999         start cache.
14000         (updating_line_start_cache): Gone.
14001         (regenerate_window): Replace resetting of VERTICAL_CLIP by
14002         generic code to force a minimum of 1 line laid out in the
14003         CMOTION_DISP case.
14004
14005 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
14006
14007         * glyphs.c (instantiate_image_instantiator): Check for initialized
14008         height & width no longer special cases IMAGE_NOTHING.
14009         (nothing_instantiate): Set height and width of instance.
14010
14011 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14012
14013         * unexelf.c (unexec): Search for ".data" section.
14014         Initialize new_data2_offset from old_data_index.
14015         Remove redundant check for ElfW.
14016
14017 2000-05-23  Andy Piper  <andy@xemacs.org>
14018
14019         * glyphs.c (get_image_instantiator_governing_domain): allow more
14020         specific domains as the governing domain rather than expecting an
14021         exact match. This fixes problems with layouts.
14022
14023 2000-05-22  Andy Piper  <andy@xemacs.org>
14024
14025         * redisplay-output.c (compare_runes): check for non-images
14026
14027         * glyphs.c (set_glyph_dirty_p): ditto.
14028         (update_glyph_cachel_data): ditto.
14029
14030         * glyphs-widget.c (layout_post_instantiate): ditto.
14031         (layout_post_instantiate): ditto.
14032
14033         * event-msw.c (mswindows_wnd_proc): warning removal.
14034
14035 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
14036
14037         * s\mingw32.h: Added #undef for CLASH_DETECTION.
14038
14039         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
14040
14041         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
14042
14043         * nt.c (rva_to_section): mingw32 needs rva_to_section.
14044         (mswindows_executable_type): mingw32 now has enough headers for
14045         this to work.
14046
14047 2000-05-20  Andy Piper  <andy@xemacs.org>
14048
14049         * console-msw.c (mswindows_output_last_error): ; -> ,
14050
14051 2000-05-12  Andy Piper  <andy@xemacs.org>
14052
14053         * console-msw.c (FROB): compare ints with ints.
14054
14055 2000-05-11  Andy Piper  <andy@xemacs.org>
14056
14057         * glyphs-x.c (x_finalize_image_instance): make minimal build
14058         happy.
14059
14060 2000-05-20  Ben Wing  <ben@xemacs.org>
14061
14062         * event-Xt.c:
14063         * event-Xt.c (vars_of_event_Xt):
14064         move modifier-keys-are-sticky to event-stream.c.
14065
14066         * event-msw.c:
14067         * event-msw.c (mswindows_enqueue_mouse_button_event):
14068         * event-msw.c (key_needs_default_processing_p):
14069         * event-msw.c (XEMSW_LCONTROL):
14070         * event-msw.c (mswindows_handle_sticky_modifiers):
14071         * event-msw.c (FROB):
14072         * event-msw.c (clear_sticky_modifiers):
14073         * event-msw.c (output_modifier_keyboard_state):
14074         * event-msw.c (output_alt_keyboard_state):
14075         * event-msw.c (mswindows_wnd_proc):
14076         * event-msw.c (mswindows_modifier_state):
14077         * event-msw.c (emacs_mswindows_handle_magic_event):
14078         implement sticky modifiers.
14079
14080         * event-stream.c:
14081         * event-stream.c (vars_of_event_stream):
14082         move modifier-keys-are-sticky here.
14083
14084         * lisp.h:
14085         add CHECK_FUNCTION.
14086
14087         * rangetab.c:
14088         implement map-range-table.
14089
14090
14091 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
14092
14093         * redisplay-tty.c (reset_tty_modes):
14094         (tty_redisplay_shutdown): Adjust argument type to
14095         tty_frame_output_end.
14096
14097 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14098
14099         * eval.c (Fbacktrace): Don't output a line with only right
14100         parenthesis.
14101
14102 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
14103
14104         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
14105         (Fpq_reset_poll): Ditto.
14106
14107 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
14108
14109         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
14110
14111 2000-05-16  Ben Wing  <ben@xemacs.org>
14112
14113         * buffer.c:
14114         * buffer.c (dfc_convert_to/from_internal_format):
14115         * buffer.c (reinit_vars_of_buffer):
14116         Fix conversion functions to allow reentrancy.
14117
14118         * console-msw.c:
14119         * console-msw.c (mswindows_output_last_error):
14120         New fun, generally useful -- output a human-readable
14121         version of GetLastError() on the console.
14122
14123         * console-msw.h:
14124         * console-msw.h (struct mswindows_frame):
14125         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
14126
14127         * console-stream.c (stream_output_begin):
14128         * console-stream.c (stream_output_end):
14129         * console-stream.c (stream_output_vertical_divider):
14130         * console-stream.c (stream_clear_region):
14131         * console-stream.c (stream_flash):
14132         * console-stream.c (console_type_create_stream):
14133         Delete blank stream methods, not needed.
14134
14135         * console.h (struct console_methods):
14136         Split begin/end methods into window and frame.
14137
14138         * event-msw.c:
14139         * event-msw.c (mswindows_handle_paint):
14140         * event-msw.c (output_alt_keyboard_state):
14141         * event-msw.c (mswindows_wnd_proc):
14142         * event-msw.c (vars_of_event_mswindows):
14143         Comment about problems with ignored-expose.
14144         Define mswindows-debug-events; not really implemented.
14145
14146         * frame-msw.c (mswindows_init_frame_1):
14147         random cleanups.
14148
14149         * glyphs-msw.c:
14150         * glyphs-msw.c (begin_defer_window_pos):
14151         * glyphs-msw.c (mswindows_unmap_subwindow):
14152         * glyphs-msw.c (mswindows_map_subwindow):
14153         * glyphs-msw.c (mswindows_resize_subwindow):
14154         Use DeferWindowPos to reduce flashing when mapping/unmapping.
14155
14156         * glyphs.c (make_image_instance_1):
14157         Fix crash.
14158
14159         * gutter.c (Fredisplay_gutter_area):
14160         Use new begin/end methods.
14161
14162         * lisp.h (Dynarr_new2):
14163         New creation fun.
14164
14165         * redisplay-msw.c:
14166         * redisplay-msw.c (mswindows_frame_output_begin):
14167         * redisplay-msw.c (mswindows_frame_output_end):
14168         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14169         New begin/end methods -- handle DeferWindowPos.
14170
14171         * redisplay-output.c (redisplay_move_cursor):
14172         * redisplay-output.c (redraw_cursor_in_window):
14173         * redisplay-output.c (redisplay_update_line):
14174         * redisplay-output.c (redisplay_output_window):
14175         New begin/end methods.
14176
14177         * redisplay-tty.c:
14178         * redisplay-tty.c (tty_frame_output_begin):
14179         * redisplay-tty.c (tty_frame_output_end):
14180         * redisplay-tty.c (console_type_create_redisplay_tty):
14181         New begin/end methods.
14182
14183         * redisplay-x.c:
14184         * redisplay-x.c (x_window_output_begin):
14185         * redisplay-x.c (x_window_output_end):
14186         * redisplay-x.c (console_type_create_redisplay_x):
14187         New begin/end methods.
14188
14189         * redisplay.c (redisplay_frame):
14190         * redisplay.c (Fredisplay_echo_area):
14191         New begin/end methods.
14192         use MAYBE_DEVMETH for clear_frame; it may not exist.
14193
14194         * window.h (WINDOW_XFRAME):
14195         WINDOW_XFOO macros -- get locale and decode struct pointer.
14196
14197
14198 2000-05-12  Ben Wing  <ben@xemacs.org>
14199
14200         * emacs.c:
14201         * emacs.c (ensure_no_quitting_from_now_on):
14202         * emacs.c (fatal_error_signal):
14203         * emacs.c (mswindows_handle_hardware_exceptions):
14204         * emacs.c (main):
14205         * emacs.c (Fkill_emacs):
14206         * emacs.c (shut_down_emacs):
14207         * emacs.c (assert_failed):
14208         various improvements in fatal error handling.
14209
14210         * eval.c:
14211         move preparing_for_armageddon to emacs.c.
14212
14213         * lisp.h:
14214         declare fatal_error_in_progress.
14215
14216         * print.c:
14217         * print.c (std_handle_out_external):
14218         * print.c (std_handle_out_va):
14219         * print.c (stderr_out):
14220         * print.c (stdout_out):
14221         use console under mswin when no standard output.
14222         don't do code conversion during fatal error.
14223
14224         * scrollbar.c (Fscrollbar_page_up):
14225         * scrollbar.c (Fscrollbar_page_down):
14226         fix missing else.  reindent.
14227
14228 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14229
14230         Emergency fix.
14231
14232         * glyphs.h (GLYPH_CACHEL_DESCENT):
14233         (GLYPH_CACHEL_DESCENT):
14234         (GLYPH_CACHEL_DESCENT):
14235         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14236         used in case these are inline functions.
14237         Use more absurd values to error check.
14238
14239         include window.h for error check functions.
14240
14241 2000-05-11  Ben Wing  <ben@xemacs.org>
14242
14243         * cmdloop.c (Freally_early_error_handler):
14244         Display message box under windows; otherwise, message will disappear
14245         before it can be viewed.
14246
14247         * console-msw.c:
14248         * console-msw.c (Fmswindows_message_box):
14249         * console-msw.c (FROB):
14250         * console-msw.c (syms_of_console_mswindows):
14251         Define new fun `mswindows-message-box'.
14252         #### I will merge this into `popup-dialog-box'; just give me
14253         a bit of time.
14254
14255         * general.c:
14256         * general.c (syms_of_general):
14257         Some new symbols used in `mswindows-message-box'.
14258
14259         * glyphs.c:
14260         * glyphs.c (Fset_image_instance_property):
14261         put warning in this fun.
14262
14263         * glyphs.h:
14264         * glyphs.h (GLYPH_CACHEL_WIDTH):
14265         * glyphs.h (GLYPH_CACHEL_ASCENT):
14266         * glyphs.h (GLYPH_CACHEL):
14267         * glyphs.h (GLYPH_CACHEL_GLYPH):
14268         define error-checking versions to try to catch a bug i've seen --
14269         redisplay gets in an infinite loop because the glyph width of the
14270         continuation glyph is 65535.
14271
14272         * lisp.h:
14273         Extern message-box stuff.
14274
14275         * window.c (allocate_window):
14276         * window.c (make_dummy_parent):
14277         * window.c (Fset_window_configuration):
14278         Use EQUAL not EQ for subwindow caches to make them work a bit
14279         better. (Something is still very broken.)
14280
14281
14282 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14283
14284         * glyphs.c (image_instantiate): Suppress gcc warnings.
14285         (Fmake_image_instance): Fix doc string.
14286         * specifier.c (Fmake_specifier): Ditto.
14287
14288 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14289
14290         * paths.h.in (PATH_LOCK): Removed.
14291         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14292         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14293
14294 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14295
14296         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14297         Document (featurep '(and xemacs 21.02)).
14298
14299 2000-05-09  Ben Wing  <ben@xemacs.org>
14300
14301         * buffer.c (complex_vars_of_buffer):
14302         update modeline-format doc.
14303
14304         * device.h:
14305         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14306
14307         * emacs.c:
14308         timeline of all released versions of Emacs, for use in creating
14309         authorship comments and in synching up.
14310
14311         * glyphs-widget.c (image_instantiator_buttons):
14312         * glyphs-widget.c (image_instantiator_edit_fields):
14313         * glyphs-widget.c (image_instantiator_combo_box):
14314         * glyphs-widget.c (image_instantiator_scrollbar):
14315         * glyphs-widget.c (image_instantiator_progress_guage):
14316         * glyphs-widget.c (image_instantiator_tree_view):
14317         * glyphs-widget.c (image_instantiator_tab_control):
14318         * glyphs-widget.c (image_instantiator_labels):
14319         * glyphs-widget.c (image_instantiator_layout):
14320         * glyphs-widget.c (image_instantiator_native_layout):
14321         rename decode_domain method to governing_domain.
14322
14323         * glyphs.c:
14324         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14325         * glyphs.c (add_entry_to_device_ii_format_list):
14326         make sure we don't put an entry more than once into the list.
14327         * glyphs.c (check_instance_cache_mapper):
14328         *************************************************************
14329         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14330         HAVE BEEN GETTING.
14331         *************************************************************
14332         * glyphs.c (get_image_instantiator_governing_domain):
14333         clean up, expand on new concept of governing domain.
14334         * glyphs.c (instantiate_image_instantiator):
14335         * glyphs.c (allocate_image_instance):
14336         use governing_domain instead of cache_domain in naming.
14337         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14338         * glyphs.c (make_image_instance_1):
14339         * glyphs.c (Fmake_image_instance):
14340         allow for any domain (not just device), and process the
14341         governing domain correctly.  very big doc fix.
14342         * glyphs.c (Fimage_instance_domain):
14343         new primitive, to retrieve the governing domain of an image instance.
14344         * glyphs.c (image_instantiate):
14345         use new governing_domain stuff.  this fixes a crash you could get
14346         by instantiating certain widget glyphs in frame locales. (should
14347         signal an error instead of crashing.)
14348         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14349         * glyphs.c (Fglyphp): clean up doc.
14350         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14351         * glyphs.c (syms_of_glyphs):
14352         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14353         * glyphs.c (image_instantiator_format_create): add some comments about
14354         bogus code.
14355         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14356         for current-display-table. (Apparently Hrjove implemented in 1998 a
14357         design I wrote up in 1996, but didn't update the doc string.)
14358
14359         * glyphs.h: clean up a doc string.
14360         * glyphs.h (governing_domain):
14361         * glyphs.h (struct image_instantiator_methods):
14362         changes for governing_domain stuff.
14363
14364         * gutter.c:
14365         * gutter.c (Fgutter_specifier_p):
14366         * gutter.c (Fgutter_size_specifier_p):
14367         * gutter.c (Fgutter_visible_specifier_p):
14368         * objects.c:
14369         * objects.c (Fcolor_specifier_p):
14370         * objects.c (Ffont_specifier_p):
14371         * objects.c (Fface_boolean_specifier_p):
14372         doc strings moved to make-*-specifier.
14373
14374         * redisplay.c (add_disp_table_entry_runes_1):
14375         * redisplay.c (generate_fstring_runes):
14376         * redisplay.c (screen):
14377         add random comments and doc strings.
14378
14379         * specifier.c:
14380         * specifier.c (Fmake_specifier):
14381         major overhaul of this doc string.
14382
14383         * specifier.c (Fvalid_specifier_domain_p):
14384         comment about the bogosity of image instances being domains.
14385         * specifier.c (decode_domain):
14386         now non-static, used in glyphs.c.
14387         * specifier.c (specifier_instance):
14388         comment about the bogosity of image instances being domains.
14389         * specifier.c (Fgeneric_specifier_p):
14390         move doc string to make-generic-specifier.
14391         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14392         rebackslashify.
14393
14394         * specifier.h:
14395         * specifier.h (DOMAIN_FRAME):
14396         * specifier.h (DOMAIN_LIVE_P):
14397         * specifier.h (DOMAIN_XDEVICE):
14398         rebackslashify.
14399         add comments about problems with these macros.
14400         prototype for decode_domain.
14401
14402         * toolbar.c:
14403         * toolbar.c (Ftoolbar_specifier_p):
14404         move doc string to `make-toolbar-specifier'.
14405
14406         * window.c (window_unmap_subwindows_cache_mapper):
14407         *************************************************************
14408         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14409         HAVE BEEN GETTING.
14410         *************************************************************
14411
14412 2000-05-09  Andy Piper  <andy@xemacs.org>
14413
14414         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14415
14416         * window.c (Fset_window_configuration): reset the frame subwindow
14417         cache and re-initialize the window subwindow caches.
14418
14419         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14420
14421 2000-05-09  Ben Wing  <ben@xemacs.org>
14422
14423         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14424         DWORD.
14425
14426 2000-04-26  Mike Woolley  <mike@bulsara.com>
14427
14428         * ntheap.c: Changed recreate_heap to limit the amount reserved
14429         for the heap to that which is actually available. Also now
14430         displays a message box (with some dignostics) in the event that
14431         it still can't start.
14432
14433 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14434
14435         * callproc.c (Fold_call_process_internal): GCPRO path
14436
14437 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14438
14439         Patch by Bill Perry.
14440
14441         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14442         back data instead of #ifdef.
14443         (Fscrollbar_page_down): ditto.
14444
14445 2000-05-07  Ben Wing  <ben@xemacs.org>
14446
14447         * buffer.h:
14448         Kludge for defining Qmswindows_tstr.
14449
14450         * nt.c:
14451         * nt.c (open_input_file):
14452         * nt.c (open_output_file):
14453         * nt.c (rva_to_section):
14454         * nt.c (mswindows_executable_type):
14455         Move all memory-mapped-file routines here (some were in unexnt.c,
14456         which is bad because they are used by process-nt.c, and unexnt
14457         won't be around when portable dumping).  Synched the above routines
14458         with FSF 20.6.
14459
14460         * nt.h:
14461         Removed ifdef'd out bogus code.
14462         Fixed some prototypes.
14463
14464         * nt.h (file_data):
14465         * nt.h (OFFSET_TO_RVA):
14466         * nt.h (RVA_TO_OFFSET):
14467         * nt.h (RVA_TO_PTR):
14468         Moved the memory-mapped-file structures, macros and prototypes
14469         here, to parallel nt.c.  ntheap.h should really be removed
14470         entirely, and it's a non-portable-dumper specific file.
14471
14472         * ntheap.h (round_to_next):
14473         Moved the memory-mapped-file structures, macros and prototypes
14474         to nt.h.
14475
14476         * ntproc.c (compare_env):
14477         Moved rva_to_section and mswindows_executable_type to nt.c.
14478         Moved compare_env to process-nt.c.
14479         ntproc.c will die, one day.
14480
14481         * ntproc.c (sys_spawnve):
14482         Account for win32_ -> mswindows_.
14483
14484         * process-nt.c:
14485         * process-nt.c (struct nt_process_data):
14486         * process-nt.c (ensure_console_window_exists):
14487         * process-nt.c (compare_env):
14488         * process-nt.c (nt_create_process):
14489         * process-nt.c (nt_kill_process_by_pid):
14490         * process-nt.c (syms_of_process_nt):
14491         * process-nt.c (vars_of_process_nt):
14492         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14493         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14494         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14495         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14496         Move compare_env here from ntproc.c.
14497
14498         * process.c (Fprocess_send_region):
14499         Takes an optional fourth argument, BUFFER, which should fix some
14500         problems with call-process.
14501
14502         * syscommctrl.h:
14503         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14504
14505         * syswindows.h:
14506         Move ICC_BAR_CLASSES to syscommctrl.h.
14507         Add preliminary macros for MSWindows/Mule.  More to come.
14508
14509         * unexnt.c:
14510         * unexnt.c (unexec):
14511         open_output_file moved to nt.c.
14512
14513
14514 2000-05-05  Andy Piper  <andy@xemacs.org>
14515
14516         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14517         instance from the frame cache also since GC may catch up too late
14518         to make frame deletion sane.
14519
14520 2000-05-04  Andy Piper  <andy@xemacs.org>
14521
14522         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14523         (x_finalize_image_instance): ungcpro on deletion.
14524
14525         * glyphs.c (image_instantiator_format_create): give pointers a
14526         query geometry method so that the geometry is at least set.
14527
14528         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14529         initialize layouts if using widgets.
14530
14531 2000-05-03  Andy Piper  <andy@xemacs.org>
14532
14533         * nt.c: remove bogus reference to sysmmsystem.h
14534
14535         * gui-x.c (popup_selection_callback): fix no selection abort.
14536
14537 2000-05-02  Andy Piper  <andy@xemacs.org>
14538
14539         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14540         (mswindows_widget_instantiate): ditto.
14541
14542         * glyphs-widget.c (initialize_widget_image_instance): initialize
14543         children correctly.
14544         (widget_instantiate): cope with children and items in the same
14545         instance.
14546
14547         * glyphs.c (mark_image_instance): cope with children as a first
14548         class member.
14549         (image_instance_equal): ditto.
14550         (image_instance_hash): ditto.
14551         (image_instance_changed): ditto.
14552
14553 2000-04-30  Andy Piper  <andy@xemacs.org>
14554
14555         * glyphs.c (subwindow_query_geometry): new function. Return some
14556         defaults.
14557         (subwindow_instantiate): don't assign dimensions if none have been
14558         given.
14559         (image_instantiator_format_create): add subwindow_query_geometry.
14560         (print_image_instance): cope with layouts as widgets.
14561
14562 2000-04-29  Andy Piper  <andy@xemacs.org>
14563
14564         * frame.c (delete_frame_internal): call
14565         free_frame_subwindow_instance_cache so that all subwindows are
14566         finalized before their parent.
14567         (mark_frame): remove subwindow_cachels.
14568         (Fmake_frame): remove subwindow_cachel manipulation.
14569         (allocate_frame_core): subwindow_instance_cache is a weak list.
14570         (delete_frame_internal): set subwindow_instance_cache to nil.
14571
14572         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14573         finalization safe.
14574         (mswindows_finalize_image_instance): use the device
14575         not the domain as the domain may have died already.
14576
14577         * glyphs-x.c (x_finalize_image_instance): ditto.
14578         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14579         HEIGHT.
14580
14581         * redisplay-output.c (redisplay_unmap_subwindows): update for
14582         subwindow instance cache as a weak list.
14583         (redisplay_unmap_subwindows_maybe): ditto.
14584         (redisplay_unmap_subwindows_except_us): ditto.
14585
14586         * glyphs.c (unmap_subwindow): error checking will check the domain
14587         so don't deal with it here. Don't use cachels anymore.
14588         (map_subwindow): ditto.
14589         (update_subwindow_cachel_data): remove old accessor names.
14590         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14591         (Fresize_subwindow): don't update cachel.
14592         (mark_subwindow_cachels):
14593         (update_subwindow_cachel_data):
14594         (add_subwindow_cachel):
14595         (get_subwindow_cachel_index):
14596         (update_subwindow_cachel):
14597         (reset_subwindow_cachels):
14598         (mark_subwindow_cachels_as_not_updated): deleted.
14599         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14600         subwindow instance to the frame cache.
14601         (find_matching_subwindow): update for subwindow instance cache as
14602         a weak list.
14603         (update_widget_instances): ditto.
14604         (image_instance_type_to_mask):inlined.
14605         (free_frame_subwindow_instance_cache): new function. finalize all
14606         subwindows that are instantiated.
14607
14608         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14609         of cachel information.
14610         (IMAGE_INSTANCE_DISPLAY_X):
14611         (IMAGE_INSTANCE_DISPLAY_Y):
14612         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14613         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14614         (XIMAGE_INSTANCE_DISPLAY_X):
14615         (XIMAGE_INSTANCE_DISPLAY_Y):
14616         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14617         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14618         remove subwindow_cachel structure and function references.
14619         (image_instance_type_to_mask): inline from glyphs.c
14620
14621         * redisplay.c (redisplay_frame): remove subwindow_cachel
14622         references.
14623
14624         * frame.h (struct frame): remove subwindow_cachels.
14625         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14626
14627         * frameslots.h: add subwindow_instance_cache.
14628
14629         * window.c (replace_window): check subwindow cache of replacement.
14630         (window_unmap_subwindows_cache_mapper):
14631         (window_unmap_subwindows): new functions. Unmap all subwindows
14632         cached on this window.
14633         (mark_window_as_deleted): unmap all subwindows.
14634
14635 2000-04-27  Andy Piper  <andy@xemacs.org>
14636
14637         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14638
14639         * glyphs-widget.c (widget_layout): return something.
14640         (layout_layout): return something. Fail if not initialized.
14641         (layout_query_geometry): ditto.
14642         (image_instantiator_native_layout): new function. Initialized the
14643         native layout type.
14644         (widget_instantiate): don't do layout stuff here.
14645
14646         * glyphs.c (instantiate_image_instantiator): reorded calling or
14647         instantiate and post_instantiate with layout in between.
14648         (image_instance_layout): be more selective about deciding whether
14649         the layout has been done or not.
14650
14651         * glyphs.h (struct image_instantiator_methods): return a value
14652         from layout_method.
14653
14654 2000-04-26  Andy Piper  <andy@xemacs.org>
14655
14656         * glyphs.c (allocate_image_instance): make initial width and
14657         height unspecified. Set initialized to 0.
14658
14659         * syscommctrl.h new file. Encapsulates commctrl.h.
14660
14661         * syswindows.h new file. Encapsulates windows.h.
14662
14663         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14664         * nt.c: ditto.
14665         * console-msw.h: ditto.
14666
14667         * redisplay-tty.c (tty_output_display_block): remove layout references.
14668
14669         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14670         window handle rather than just the frame.
14671
14672         * glyphs.c (mark_image_instance): remove layout references.
14673         (print_image_instance): ditto.
14674         (image_instance_equal): ditto.
14675         (image_instance_hash): ditto.
14676         (decode_image_instance_type): ditto.
14677         (encode_image_instance_type): ditto.
14678         (image_instantiate): ditto.
14679         (allocate_glyph): ditto.
14680         (Fimage_instance_height): ditto.
14681         (Fimage_instance_width): ditto.
14682         (update_subwindow): ditto.
14683
14684         * redisplay-x.c (x_output_display_block): recode for layouts as
14685         widgets.
14686
14687         * redisplay-output.c (redisplay_output_layout): recode for layouts
14688         as widgets.
14689         (compare_runes): remove layout references.
14690
14691         * redisplay-msw.c (mswindows_output_display_block): recode for
14692         layouts as widgets.
14693
14694         * glyphs-widget.c (image_instantiator_layout): remove
14695         layout_possible_dest_types.
14696         (layout_possible_dest_types): deleted.
14697
14698         * glyphs.h (image_instance_type): remove layout references.
14699         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14700         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14701         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14702
14703 2000-04-25  Andy Piper  <andy@xemacs.org>
14704
14705         * glyphs-widget.c (image_instantiator_buttons):
14706         (image_instantiator_edit_fields):
14707         (image_instantiator_combo_box):
14708         (image_instantiator_scrollbar):
14709         (image_instantiator_progress_guage):
14710         (image_instantiator_tree_view):
14711         (image_instantiator_tab_control):
14712         (image_instantiator_labels):
14713         (image_instantiator_layout): call default post_instantiate method.
14714         (widget_post_instantiate): new function. Simply lays out the
14715         widgets.
14716
14717         * glyphs.h (struct image_instantiator_methods): add
14718         post_instantiate method.
14719
14720         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14721         method calls.
14722
14723 2000-04-23  Andy Piper  <andy@xemacs.org>
14724
14725         * glyphs.h (struct image_instantiator_methods): add
14726         decode_domain_method.
14727         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14728         derived from the domain.
14729         (IMAGE_INSTANCE_FRAME): new accessor.
14730         (XIMAGE_INSTANCE_FRAME): ditto.
14731
14732         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14733         instead of _SUBWINDOW_FRAME.
14734         (finalize_image_instance): ditto.
14735         (Fimage_instance_foreground): ditto.
14736         (Fimage_instance_background): ditto.
14737         (image_instantiate): ditto.
14738         (update_subwindow_cachel): ditto.
14739         (update_subwindow): ditto.
14740         (unmap_subwindow): ditto.
14741         (map_subwindow): ditto
14742         (subwindow_instantiate): ditto.
14743         * glyphs-msw.c (mswindows_update_widget): ditto.
14744         (mswindows_progress_gauge_instantiate): ditto.
14745         (mswindows_tab_control_update): ditto.
14746         * glyphs-x.c (x_update_widget): ditto.
14747         (x_widget_instantiate): ditto.
14748         (x_tab_control_instantiate): ditto.
14749         (x_tab_control_update): ditto.
14750         * event-msw.c (mswindows_wnd_proc): ditto
14751
14752         * glyphs-widget.c (image_instantiator_layout): use
14753         subwindow_decode_domain.
14754         (image_instantiator_buttons): ditto.
14755         (image_instantiator_edit_fields): ditto.
14756         (image_instantiator_combo_box): ditto.
14757         (image_instantiator_scrollbar): ditto.
14758         (image_instantiator_progress_guage): ditto.
14759         (image_instantiator_tree_view): ditto.
14760         (image_instantiator_tab_control): ditto.
14761         (image_instantiator_labels): ditto.
14762         (image_instantiator_layout): ditto.
14763
14764         * glyphs.c: add instance error checking to many functions.
14765         (instantiate_image_instantiator): decode device from cache_domain.
14766         (image_instantiate): partially rewrite by using
14767         decode_image_instantiator_domain to determine what domain the
14768         instance needs to be cached in.
14769         (decode_image_instantiator_domain): new function. Determine what
14770         domain the image needs to be cached in.
14771         (check_window_subwindow_cache): new error checking function.
14772         (check_instance_cache_mapper): ditto.
14773         (check_image_instance_structure): ditto.
14774         (subwindow_decode_domain): new function. Encodes a window as a
14775         subwindow's cache domain.
14776         (image_instantiator_format_create): use it for text and
14777         subwindows.
14778
14779 2000-04-21  Andy Piper  <andy@xemacs.org>
14780
14781         * glyphs.c (image_instance_device): new function.
14782         (image_instance_frame): new function.
14783         (image_instance_window): new function.
14784         (image_instance_live_p): new function.
14785
14786         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14787         cache to nil.
14788
14789         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14790         (IMAGE_INSTANCE_DOMAIN): new accessor.
14791         (XIMAGE_INSTANCE_DOMAIN): ditto.
14792
14793         * glyphs-x.c (x_finalize_image_instance): device->domain.
14794
14795         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14796         (mswindows_finalize_image_instance): ditto.
14797
14798         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14799         (gif_instantiate): ditto.
14800         (png_instantiate): ditto.
14801         (tiff_instantiate): ditto.
14802
14803         * glyphs.c (instantiate_image_instantiator): use domain rather
14804         than device.
14805         (mark_image_instance): device -> domain.
14806         (print_image_instance): ditto.
14807         (finalize_image_instance): ditto.
14808         (image_instance_equal): ditto.
14809         (allocate_image_instance): ditto.
14810         (Fcolorize_image_instance): ditto.
14811         (query_string_geometry): ditto.
14812         (image_instantiate): ditto
14813         (query_string_font): ditto.
14814         (image_instantiate): ditto.
14815         (update_subwindow): ditto.
14816         (unmap_subwindow): ditto.
14817         (map_subwindow): ditto.
14818         (subwindow_instantiate): ditto.
14819
14820         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14821         (DOMAIN_FRAME): ditto.
14822         (DOMAIN_WINDOW): ditto.
14823         (DOMAIN_LIVE_P): ditto.
14824         (XDOMAIN_DEVICE): ditto.
14825         (XDOMAIN_FRAME): ditto.
14826         (XDOMAIN_WINDOW): ditto.
14827
14828         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14829         a valid specifier domain.
14830
14831 2000-04-19  Andy Piper  <andy@xemacs.org>
14832
14833         * glyphs-widget.c (syms_of_glyphs_widget): remove
14834         widget-callback-current-channel.
14835         (vars_of_glyphs_widget): ditto.
14836         * glyphs.h: ditto
14837
14838         * gui.c (get_gui_callback): revert to previous behaviour.
14839
14840 2000-04-18  Andy Piper  <andy@xemacs.org>
14841
14842         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14843         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14844         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14845
14846         * glyphs.c (image_instance_equal): add margin_width.
14847         (image_instance_hash): ditto.
14848
14849         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14850         (layout_query_geometry): ditto.
14851         (layout_layout): ditto.
14852         (syms_of_glyphs_widget): add margin-width.
14853         (image_instantiator_layout): allow margin-width.
14854
14855         * glyphs.c (update_widget_instances): make a normal function.
14856         (syms_of_glyphs): remove Qupdate_widget_instances.
14857         * glyphs.h: ditto.
14858
14859         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14860         so that we don't corrupt ideas about the last event or
14861         command. Remove widget-callback-current-channel fiddling.
14862         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14863
14864 2000-05-01  Martin Buchholz <martin@xemacs.org>
14865
14866         * XEmacs 21.2.33 is released.
14867
14868 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14869
14870         * make-src-depend: Allow dots in header file name.
14871
14872 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14873
14874         * mule-charset.h (struct charset_lookup): Add
14875         next_allocated_1_byte_leading_byte and
14876         next_allocated_2_byte_leading_byte.
14877         * mule-charset.c: Move above two variables so that those values
14878         will be dumped.
14879
14880 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14881
14882         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14883         when string length is zero.
14884         (find_charsets_in_emchar_string): Ditto.
14885
14886 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14887
14888         * lisp.h: extern Qdialog and Qmenubar.
14889
14890         * gui-x.c: added events.h.
14891                 also fixed typo which made the file uncompilable.
14892
14893         * general.c: Added Qmenubar and Qdialog
14894
14895 2000-04-28  Ben Wing  <ben@xemacs.org>
14896
14897         * frame-msw.c (mswindows_init_frame_1):
14898         * frame-msw.c (mswindows_mark_frame):
14899         * event-msw.c (mswindows_enqueue_dispatch_event):
14900         * console-msw.h:
14901         * console-msw.h (struct mswindows_frame):
14902         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14903         there are now three hash tables for callbacks.
14904         mswindows_enqueue_dispatch_event is no longer static.
14905
14906         * dialog-x.c (maybe_run_dbox_text_callback):
14907         * dialog-x.c (dbox_descriptor_to_widget_value):
14908         switch to new cons3 form for callbacks.
14909
14910         * glyphs-msw.c (mswindows_register_gui_item):
14911         * glyphs-msw.c (mswindows_widget_instantiate):
14912         * glyphs-msw.c (add_tree_item):
14913         * glyphs-msw.c (add_tab_item):
14914         new image instance parameter, so it can be passed to callback-ex.
14915         respect :callback-ex as well as :callback.
14916
14917         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14918         add :callback-ex.
14919
14920         * glyphs.c (print_image_instance):
14921         prettify, e.g. now prints widget type.
14922
14923         * gui-x.h:
14924         certain funs have new image instance parameter.
14925
14926         * gui.c:
14927         * gui.c (get_gui_callback):
14928         * gui.c (gui_item_add_keyval_pair):
14929         * gui.c (gui_item_init):
14930         * gui.c (gui_add_item_keywords_to_plist):
14931         * gui.c (mark_gui_item):
14932         * gui.c (gui_item_hash):
14933         * gui.c (gui_item_equal):
14934         * gui.c (copy_gui_item):
14935         * gui.c (syms_of_gui):
14936         recognize callback-ex in a number of places.
14937         also, fix the annoying "can't get out of yes-no dialog" bug.
14938
14939         * gui.h:
14940         * gui.h (struct Lisp_Gui_Item):
14941         recognize callback-ex in a number of places.
14942
14943         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14944         new parameter in button_item_to_widget_value.
14945
14946         * glyphs-x.c (x_update_widget):
14947         * glyphs-x.c (x_button_instantiate):
14948         * glyphs-x.c (x_button_update):
14949         * glyphs-x.c (x_progress_gauge_instantiate):
14950         * glyphs-x.c (x_edit_field_instantiate):
14951         * glyphs-x.c (x_combo_box_instantiate):
14952         * glyphs-x.c (x_tab_control_instantiate):
14953         * glyphs-x.c (x_label_instantiate):
14954         new image instance parameter in various places.
14955
14956         * event-Xt.c:
14957         * event-Xt.c (enqueue_Xt_dispatch_event):
14958         this fun gets exported.
14959
14960         * gui-msw.c:
14961         * gui-msw.c (mswindows_handle_gui_wm_command):
14962         handle both :callback and :callback-ex, and generate our own
14963         event because it's one of the callback-ex arguments.
14964
14965         * gui-x.c:
14966         * gui-x.c (popup_selection_callback):
14967         handle both :callback and :callback-ex, and generate our own
14968         event because it's one of the callback-ex arguments.
14969         * gui-x.c (button_item_to_widget_value):
14970         * gui-x.c (gui_items_to_widget_values_1):
14971         * gui-x.c (gui_item_children_to_widget_values):
14972         * gui-x.c (gui_items_to_widget_values):
14973         new image instance parameter in various places.
14974
14975         * fns.c (Freplace_list):
14976         fix small typo in doc string.
14977
14978         * lisp.h:
14979         declare enqueue_Xt_dispatch_event.
14980
14981 2000-04-28  Ben Wing  <ben@xemacs.org>
14982
14983         * buffer.c:
14984         * buffer.c (Frecord_buffer):
14985         * buffer.c (syms_of_buffer):
14986         delete record-buffer-hook.
14987
14988         * fns.c:
14989         * fns.c (Freplace_list):
14990         * fns.c (syms_of_fns):
14991         new primitive replace-list.
14992
14993         * frameslots.h:
14994         slot for old buffer-alist.
14995
14996         * lisp.h:
14997         exfun replace-list.
14998
14999         * redisplay.c:
15000         * redisplay.c (redisplay_frame):
15001         * redisplay.c (syms_of_redisplay):
15002         * redisplay.c (vars_of_redisplay):
15003         new hook buffer-list-changed-hook.
15004         call it.
15005
15006 2000-04-27  Ben Wing  <ben@xemacs.org>
15007
15008         * extents.h: extern in_modeline_generation.
15009
15010         * redisplay.c (generate_formatted_string_db): set
15011         in_modeline_generation.
15012
15013         * extents.c (extent_changed_for_redisplay): don't mark redisplay
15014         flags if in modeline generation.  otherwise frame-modified-tick
15015         is ticked far too often.
15016         Declare in_modeline_generation.
15017
15018 2000-04-26  Ben Wing  <ben@xemacs.org>
15019
15020         * emacs.c (vars_of_emacs): document quick-build "error-checking"
15021         option.
15022         (vars_of_emacs): add quick-build as an error-checking option.
15023         A bit kludgy, but there doesn't seem much point in creating
15024         a real var for this.
15025
15026         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
15027
15028 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15029
15030         * redisplay.h (struct display_line): Add a new variable,
15031         line_continuation.
15032
15033         * redisplay.c (create_text_block): Set dl->line_continuation if
15034         the line continues.
15035         (create_string_text_block): Ditto.
15036         (regenerate_window_incrementally): Use line_continuation instead
15037         of searching continuation glyph.
15038         (add_margin_runes): Call add_glyph_rune.
15039         (add_glyph_rune): Handle margin glyph.
15040
15041 2000-04-20  Martin Buchholz  <martin@xemacs.org>
15042
15043         * filelock.c (fill_in_lock_file_name):
15044         ANSIfy.
15045         Check for IS_ANY_SEP instead of '/'.
15046         (lock_file_1):
15047         Avoid generating gratuitous garbage.  Call user_login_name() directly.
15048         Never check errno without first seeing that system call failed.
15049         (unlock_file): Add GCPRO.
15050         (Flock_buffer): Fix docstring.
15051         (Ffile_locked_p): Fix docstring.  Add GCPRO.
15052
15053 2000-04-19  Martin Buchholz  <martin@xemacs.org>
15054
15055         * sysdep.c (get_pty_max_bytes):
15056         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
15057         strings longer than 252 bytes.
15058
15059         * md5.c: Unconditionally include ANSI header <limits.h>
15060
15061         * glyphs-x.c (convert_EImage_to_XImage):
15062         * lisp-union.h (union Lisp_Object):
15063         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
15064
15065 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
15066
15067         * filelock.c (current_lock_owner): Remove unused variable o, p.
15068
15069 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
15070
15071         * callint.c: Remove multiply defined symbol Qlet
15072         (syms_of_callint): ditto.
15073
15074 2000-04-14  Andy Piper  <andy@xemacs.org>
15075
15076         * general.c (syms_of_general): add last-command, this-command, let
15077         and funcall.
15078
15079         * lisp.h: declare various symbols.
15080
15081         * glyphs.h: declare Qwidget_callback_current_channel;
15082
15083         * glyphs-widget.c (syms_of_glyphs_widget): add
15084         Qgui_callback_current_channel.
15085         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
15086
15087         * gui-msw.c (mswindows_handle_gui_wm_command): bind
15088         widget-callback-current-channel when invoking the interactive
15089         arg. Also bind last-command and next-command when invoking the
15090         widget updates.
15091         * gui-x.c (popup_selection_callback): ditto.
15092
15093         * gui.c (get_gui_callback): massage args so that we are always
15094         calling eval. This allows us to add our own variable bindings
15095         outside.
15096
15097         * glyphs-x.c (x_button_instantiate): use
15098         gui_items_to_widget_values since this is GC safe.
15099         (x_progress_gauge_instantiate): ditto.
15100         (x_edit_field_instantiate): ditto.
15101         (x_label_instantiate): ditto.
15102
15103         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
15104         (emacs_Xt_event_widget_focus_out): new function
15105         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
15106         focus.
15107         (emacs_Xt_event_add_widget_actions): new function. add focus
15108         functions as actions.
15109         (init_event_Xt_late): use it.
15110
15111 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
15112
15113         * event-stream.c (Fdispatch_event): Doc fix.
15114
15115 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
15116
15117         * postgresql.c: Remove all references to PQsetenv*.
15118
15119         * postgresql.h: Remove references to PGsetenvHandler object.
15120         * lrecord.h (lrecord_type): Ditto.
15121
15122 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15123
15124         * glyphs-msw.h (struct mswindows_image_instance_data): Added
15125         real_heigh and real_width members, and accessor macros for these.
15126
15127         * glyphs-msw.c (init_image_instance_geometry): New function.
15128         (init_image_instance_from_dibitmap): Use it.
15129         (mswindows_resource_instantiate): Use it.
15130         (init_image_instance_from_xbm_inline): Use it.
15131         (mswindows_initialize_image_instance_mask): Use real bitmap
15132         geometry.
15133         (mswindows_create_resized_bitmap): Ditto.
15134         (mswindows_create_resized_mask): Ditto.
15135
15136         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
15137         and bitmap to their surface size.
15138
15139 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
15140
15141         * process-unix.c (unix_send_process): Guard against process MIA
15142         after Faccept_process_output.
15143
15144 2000-04-11  Ben Wing  <ben@xemacs.org>
15145
15146         * eval.c (unbind_to_hairy): fix brokenness introduced by
15147         nanosecond speed improvements.
15148
15149 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
15150
15151         * sunplay.c (init_device): To play sounds correctly, the device
15152         apparently needs to be initialized at least once by XEmacs.  Make
15153         it so.
15154
15155 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15156
15157         * redisplay.c (add_margin_runes): Add text image glyph
15158           handling.
15159
15160 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15161
15162         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15163         gcc is newer than 2.5.
15164
15165 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15166
15167         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15168
15169         * fns.c (size_bit_vector):
15170         * alloc.c (size_vector):
15171         (make_vector_internal):
15172         (make_bit_vector_internal):
15173         (sweep_bit_vectors_1):
15174         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15175
15176 2000-04-06  Andy Piper  <andy@xemacs.org>
15177
15178         * gmalloc.c (malloc): undo previous change.
15179         (malloc): ditto.
15180         (free): ditto.
15181         (realloc): ditto.
15182
15183 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15184
15185         * line-number.c (buffer_line_number): Revert to former version.
15186
15187 2000-04-06  Andy Piper  <andy@xemacs.org>
15188
15189         * gmalloc.c (malloc): add error checking.
15190         (malloc): ditto.
15191         (free): ditto.
15192         (realloc): ditto.
15193
15194         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15195         button_item_to_widget_value arg.
15196
15197         * glyphs-x.c (x_button_instantiate): add extra
15198         button_item_to_widget_value arg.
15199         (x_progress_gauge_instantiate): ditto.
15200         (x_edit_field_instantiate): ditto.
15201         (x_label_instantiate): ditto.
15202
15203         * gui-x.c (gui_items_to_widget_values_1): add extra
15204         button_item_to_widget_value arg.
15205         (button_item_to_widget_value): add extra menu_item_p arg.
15206
15207         * gui-x.h: change signature of button_item_to_widget_value.
15208
15209         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15210         button_item_to_widget_value arg.
15211
15212 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15213
15214         * buffer.h (struct buffer): auto_save_modified should be long.
15215
15216 2000-04-05  Andy Piper  <andy@xemacs.org>
15217
15218         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15219         type.
15220         (button_query_geometry): give a little more room so that athena
15221         buttons fit.
15222
15223 2000-04-05  Andy Piper  <andy@xemacs.org>
15224
15225         * faces.c (complex_vars_of_faces): The widget face should inherit
15226         the font of the gui-element face.
15227
15228 2000-04-04  Andy Piper  <andy@xemacs.org>
15229
15230         * glyphs-x.c (x_button_update): new function. unconditionally
15231         update a button's state when the instance is dirty.
15232         (image_instantiator_format_create_glyphs_x): add x_button_update.
15233         (x_widget_instantiate): remove old resize cruft.
15234
15235 2000-04-02  Andy Piper  <andy@xemacs.org>
15236
15237         * frame.c (change_frame_size_1): The introduction of gutters means
15238         that we need to allow 0 as a potential frame dimension.
15239
15240 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15241
15242         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15243         image glyph if allow_cursor.
15244         (add_hscroll_rune): Don't allow cursor to border glyph.
15245         (create_text_block): Ditto.
15246
15247         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15248         text not in buffer.
15249         (redisplay_output_layout): Call ensure_face_cachel_complete for
15250         text image glyph.
15251
15252
15253 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15254
15255         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15256
15257         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15258         not in buffer
15259
15260         * redisplay-tty.c (tty_output_display_block): Delete the routine
15261         for text image glyph
15262         * redisplay-x.c (x_output_display_block): ditto
15263         * redisplay-msw.c (mswindows_output_display_block): ditto
15264
15265 2000-02-02  Mike Alexander  <mta@arbortext.com>
15266
15267         Note: Some of these were committed by accident as part of other
15268         patches.
15269
15270         * regex.c (regex_compile): Avoid compiler warnings.
15271
15272         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15273
15274         * nt.h: Declare term_ntproc correctly.
15275
15276         * nt.c: Remove incorrect declaration of get_home_directory which
15277         is declared correctly in lisp.h.
15278
15279         * keymap.c (get_keyelt): Avoid compiler warnings.
15280         (raw_lookup_key_mapper): Avoid compiler warnings.
15281
15282         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15283
15284         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15285
15286         * filemode.c (mode_string): Avoid compiler warnings.
15287
15288         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15289         avoid warning.
15290
15291         * events-mod.h: Undef some things that winuser.h defines differently.
15292
15293         * data.c (Faset): Avoid compiler warnings.
15294
15295         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15296
15297 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15298
15299         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15300         Fall through to simple beep on error.
15301         Replace "extern" by real header file.
15302
15303         * linuxplay.c: Use nativesound.h
15304         (play_sound_data): Return error code. Be less verbose on error.
15305
15306         * sunplay.c: Use nativesound.h
15307         (play_sound_data): Return error code. Be less verbose on error.
15308
15309         * ntplay.c: Use nativesound.h
15310         (play_sound_data): Return fake error code
15311
15312         * sgiplay.c: Use nativesound.h
15313         (play_sound_data): Return error code
15314
15315         * hpplay.c: Use nativesound.h, partially implement
15316         new error code. Break compilation until finished.
15317         (play_sound_data): error code.
15318
15319         * nativesound.h (play_sound_file):
15320           (play_sound_data): Prototype in new header.
15321
15322 2000-03-31  Andy Piper  <andy@xemacs.org>
15323
15324         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15325         for toggle and radio buttons.
15326         (image_instantiator_buttons): use it.
15327
15328 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15329
15330         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15331         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15332         found. Scrollbar event probably belonged to some old config.
15333
15334 2000-03-31  Andy Piper  <andy@xemacs.org>
15335
15336         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15337         than 1.
15338         (initialize_widget_image_instance): default layout to
15339         LAYOUT_HORIZONTAL rather than 0.
15340         (widget_instantiate): reverse the item list at the end rather than
15341         every iteration.
15342         (layout_layout): re-code for the border text at the front of the
15343         item list rather than at the end.
15344         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15345         provided by the user.
15346         (widget_query_geometry): comment.
15347
15348 2000-03-30  Andy Piper  <andy@xemacs.org>
15349
15350         * glyphs-widget.c (image_instantiator_layout): allow standard
15351         widget keywords in layouts.
15352
15353         * gutter.c (output_gutter): cope with nil gutter contents.
15354
15355         * frame.c (Fset_frame_properties): add gutter docs.
15356
15357 2000-03-29  Andy Piper  <andy@xemacs.org>
15358
15359         * toolbar-msw.c (TBSTYLE_FLAT): add.
15360         (mswindows_output_toolbar): minor fiddling.
15361
15362 2000-03-29  Andy Piper  <andy@xemacs.org>
15363
15364         * gutter.c (output_gutter): force gutter size recalculation if
15365         what we are trying to display won't fit.
15366         (update_gutter_geometry): new function. A per-gutter version of
15367         update_frame_gutter_geometry.
15368         (update_frame_gutter_geometry): use it.
15369         (redraw_exposed_gutter): add extra debugging output.
15370
15371 2000-03-28  Mike Alexander  <mta@arbortext.com>
15372
15373         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15374         (pdump_file_unmap): Implement it on Windows
15375         (pdump_file_get): Save alocated handles for pdump_file_unmap
15376
15377 2000-03-28  Andy Piper  <andy@xemacs.org>
15378
15379         * gui.c (get_gui_callback): treat Quit specially.
15380
15381 2000-03-27  Andy Piper  <andy@xemacs.org>
15382
15383         * glyphs.c (image_instantiate): be careful to check in the same
15384         way we assigned.
15385
15386 2000-03-27  Didier Verna  <didier@xemacs.org>
15387
15388         * config.h.in: define the proper SMART_INCLUDE macro.
15389         handle renaming of `foo_h_path' to `foo_h_file'.
15390
15391         * database.c: ditto.
15392
15393         * emacs.c: ditto.
15394
15395         * linuxplay.c: ditto.
15396
15397         * terminfo.c: ditto.
15398
15399         * tooltalk.h: ditto.
15400
15401 2000-03-27  Andy Piper  <andy@xemacs.org>
15402
15403         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15404         gets updated whenever the face might have changed.
15405
15406 2000-03-26  Mike Alexander  <mta@arbortext.com>
15407
15408         * dumper.c (pdump_resource_free): Fix the comment.
15409
15410 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15411
15412         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15413
15414 2000-03-22  Mike Alexander  <mta@arbortext.com>
15415
15416         * dumper.c: Include Windows headers on Windows
15417         (pdump_resource_free): Add a body to the function
15418         (pdump_load): exe_name -> exe_path and add some comments.
15419
15420 2000-03-25  Mike Alexander  <mta@arbortext.com>
15421
15422         * gui.c (copy_gui_item_tree): Return a value in all cases
15423
15424 2000-03-21  Didier Verna  <didier@xemacs.org>
15425
15426         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15427         lwlib/config.h.in.
15428         (SMART_INCLUDE): new macro.
15429         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15430         the proper location.
15431
15432         * postgresql.c: use it.
15433
15434         * inline.c: ditto.
15435
15436 2000-03-24  Andy Piper  <andy@xemacs.org>
15437
15438         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15439         do this.
15440
15441 2000-03-24  Andy Piper  <andy@xemacs.org>
15442
15443         * redisplay-output.c (compare_runes): use image_instance_changed
15444         to detect changes. Do not depend on glyphs_changed, only depend on
15445         dirtiness.
15446          (redisplay_output_layout): add debug messages.
15447         (compare_runes): ditto.
15448
15449         * glyphs.h: declare new functions.
15450         (struct Lisp_Image_Instance): remove percent and associated
15451         accessors.
15452
15453         * gui.h: declare new copying functions.
15454
15455         * gui.c (copy_gui_item_tree): new function.
15456         (copy_gui_item): new function.
15457         (gui_item_id_hash): revert to standard hash.
15458         (gui_item_hash): ditto.
15459         (gui_item_hash_internal): deleted.
15460         (mark_gui_item): mark value.
15461         (gui_item_add_keyval_pair): add value.
15462         (gui_item_init): ditto.
15463         (gui_add_item_keywords_to_plist): ditto.
15464         (gui_item_equal): ditto.
15465         (syms_of_gui): add Q_value.
15466
15467         * glyphs-x.c (x_progress_gauge_update): use pending items and
15468         value for setting the state.
15469         (x_update_widget): don't set items from pending here.
15470
15471         * glyphs-widget.c (update_widget): update items here.
15472         (progress_gauge_set_property): use items for storing value. Put
15473         new value in pending items.
15474
15475         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15476         items for new value. Convert percent -> value.
15477         (mswindows_tab_control_update): don't update items here.
15478
15479         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15480         (update_subwindow): ditto.
15481         (image_instance_changed): new function. Compare hash values and
15482         past and present widget items.
15483         (image_instantiate): We more careful about where we instantiate
15484         things.
15485         (image_instantiate): add error checking.
15486
15487         * gutter.c (syms_of_gutter): use -hook.
15488
15489 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15490
15491         * console-tty.c (Fset_console_tty_input_coding_system): Use
15492         Qkeyboard.
15493         (Fset_console_tty_output_coding_system): Use Qterminal.
15494         (tty_init_console): Use Qkeyboard and Qterminal.
15495
15496 2000-03-21  Ben Wing  <ben@xemacs.org>
15497
15498         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15499         From Mike Alexander <mta@arbortext.com>.
15500
15501 2000-03-21  Ben Wing  <ben@xemacs.org>
15502
15503         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15504         process brokenness.  Proper implementation to come.
15505         * callproc.c:
15506         Rename call-process-internal to old-call-process-internal.
15507         New impl. in process.el.
15508
15509 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15510
15511         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15512
15513 2000-03-20  Andy Piper  <andy@xemacs.org>
15514
15515         * glyphs.c (full_list_hash): make hashes of the same elements in
15516         different orders return different values.
15517
15518 2000-03-20  Martin Buchholz <martin@xemacs.org>
15519
15520         * XEmacs 21.2.32 is released.
15521
15522 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15523
15524         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15525         (DFC_MALLOC_USE_CONVERTED_DATA):
15526         Add aliasing-safe casts to allow use with char* or unsigned char*
15527         lvalues.
15528
15529         * eldap.c (Fldap_open):
15530         (Fldap_search_basic):
15531         (Fldap_add):
15532         (Fldap_modify):
15533         Make C++-compilable.
15534         Make sure GCPRO'ed variables are initialized.
15535         Use temp variables to avoid repeated calls to Flength.
15536
15537 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15538
15539         * sysfile.h:
15540         Make sure PATH_MAX is always defined.
15541         Include limits.h for PATH_MAX.
15542         Deprecate use of MAXPATHLEN.
15543
15544 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15545
15546         * emacs.c: Add reinit_vars_of_fileio.
15547         * symsinit.h: Add reinit_vars_of_fileio.
15548         * fileio.c (reinit_vars_of_fileio): New.
15549         * fileio.c (Fmake_temp_name):
15550         Initialize temp_name random number from microseconds to make
15551         collisions even less likely.  Initialize always at process startup
15552         time.  (make-temp-name) used to return the same file name twice in
15553         a row when PDUMP.
15554         Random stylistic fiddling.
15555         Comment fixes.
15556
15557 2000-03-20  Andy Piper  <andy@xemacs.org>
15558
15559         * glyphs.c (image_instantiate): allow text glyphs to be
15560         instantiated in the minibuffer window.
15561
15562 2000-03-19  Andy Piper  <andy@xemacs.org>
15563
15564         * glyphs.c (image_instance_hash): be careful about which items we
15565         hash on.
15566
15567         * glyphs-widget.c (tab_control_set_property): record into pending
15568         items rather than the actual items.
15569
15570         * glyphs-x.c (x_update_widget): use pending items to update with.
15571
15572         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15573         to update with.
15574
15575         * glyphs.c (mark_image_instance): mark pending items.
15576
15577         * window.c (Fset_window_configuration): record the buffer.
15578         (Fselect_window): totally revert previous change which breaks many
15579         things.
15580
15581 2000-03-18  Andy Piper  <andy@xemacs.org>
15582
15583         * glyphs-msw.c (mswindows_tab_control_update): force selected
15584         item.
15585
15586         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15587         window domain cache, otherwise we get inconsistencies at
15588         startup. There is something fishy at startup which can lead to the
15589         minibuffer being the selected window when the gutter content is
15590         instantiated.
15591
15592         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15593         gcpros.
15594         (parse_gui_item_tree_children): ditto.
15595         (parse_gui_item_tree_item): ditto.
15596
15597         * glyphs.c (Fupdate_widget_instances): return something.
15598
15599 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15600
15601         * window.c (Fselect_window): Undo 2000-03-17 change.
15602
15603 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15604
15605         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15606         against v7.0 libraries.  Insta-coredump city until the postgres
15607         folks fix it.
15608
15609 2000-03-17  Andy Piper  <andy@xemacs.org>
15610
15611         * faces.c (complex_vars_of_faces): don't give the widget face an
15612         inherited background pixmap.
15613
15614         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15615         selected item.
15616
15617         * event-stream.c (Fdispatch_non_command_events): return something.
15618
15619         * gutter.c (output_gutter): use widget face.
15620         (clear_gutter): ditto.
15621
15622         * NEWS: adjust again.
15623
15624         * window.c (Fselect_window): make sure this runs to completion to
15625         avoid oddities with Fset_window_configuration.
15626         (Fcurrent_window_configuration): in general do not save the
15627         minibuffer as the selected window.
15628
15629         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15630
15631 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15632
15633         * emacs.c (Frunning_temacs_p): Revert previous patch.
15634         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15635
15636 2000-03-16  Andy Piper  <andy@xemacs.org>
15637
15638         * glyphs-x.c (x_tab_control_update): if no widget values then
15639         return.
15640
15641         * NEWS: update for new features.
15642
15643         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15644         synthetic event to the native system.
15645         (reinit_vars_of_event_Xt): set force_event_pending to
15646         emacs_Xt_force_event_pending.
15647
15648         * events.h (struct event_stream): add force_event_pending.
15649
15650         * specifier.c (recompute_one_cached_specifier_in_window): add
15651         comment.
15652
15653         * redisplay.c (redisplay_frame): don't call
15654         update_frame_subwindows. Reset subwindow cachels when
15655         subwindows_changed, removing this was an optimization too far.
15656
15657         * redisplay-output.c (compare_runes): reorganize so that we catch
15658         glyph changes when we want them. Set optimize_output when this
15659         would help layouts.
15660         (redisplay_output_layout): remove frame_really_changed, use
15661         optimize_output instead.
15662
15663         * redisplay-msw.c (mswindows_output_display_block): reset
15664         optimize_output after outputting a glyph.
15665         * redisplay-x.c (x_output_display_block): ditto.
15666         * redisplay-tty.c (tty_output_display_block): ditto.
15667
15668         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15669         functions.
15670         (gutter_specs_changed): do specific gutter positions.
15671         (top_gutter_specs_changed): new function. Only update the
15672         specified gutter specs.
15673         (bottom_gutter_specs_changed): ditto.
15674         (left_gutter_specs_changed): ditto.
15675         (right_gutter_specs_changed): ditto.
15676
15677         * gui.c (gui_item_hash_internal): new function, does a real hash.
15678         (gui_item_id_hash): use it.
15679         (gui_item_hash): hash the eval'ed gui_item.
15680
15681         * gui-x.c (popup_selection_callback): send an eval event to call
15682         Fupdate_widget_instances.
15683
15684         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15685         to call Fupdate_widget_instances.
15686
15687         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15688         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15689
15690         * glyphs.c: (update_frame_subwindows): deleted.
15691         (Fupdate_widget_instances): new function for updating the dirty
15692         state of widgets that might have changed.
15693         (syms_of_glyphs): add Qupdate_widget_instances.
15694         (full_list_hash): hash a list completely.
15695         (image_instance_hash): use it for items and properties.
15696
15697         * frame-msw.c (mswindows_size_frame_internal): remove unused
15698         variable.
15699
15700         * faces.h (struct face_cachel): fix comment.
15701
15702         * event-stream.c (Fdispatch_non_command_events): new
15703         function. Process non-command events, forcing an event cycle
15704         beforehand.
15705         (syms_of_event_stream): declare.
15706         (event_stream_force_event_pending): new function. Force an event
15707         on the native event queue so that an event cycle will occur next
15708         time we check.
15709
15710         * event-msw.c:
15711         (struct ntpipe_shove_stream):
15712         (mswindows_enqueue_dispatch_event):
15713         (mswindows_dequeue_dispatch_event):
15714         (mswindows_cancel_dispatch_event):
15715         (mswindows_pump_outstanding_events):
15716         (mswindows_drain_windows_queue):
15717         (mswindows_handle_paint):
15718         (mswindows_wnd_proc):
15719         (mswindows_key_to_emacs_keysym):
15720         (get_process_input_waitable):
15721         (emacs_mswindows_delete_stream_pair): re-indent file.
15722         (mswindows_need_event): do not process further fds if the windows
15723         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15724         fixes the 100% cpu problem.
15725         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15726
15727 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15728
15729         * alloc.h: New.
15730         * dumper.h: New.
15731         * dumper.c: New.
15732
15733         * emacs.c: Moved dump file searching to dumper.c.
15734         (Frunning_temacs_p): Fixed.
15735
15736         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15737         last_lrecord_type_index_assigned.
15738
15739 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15740
15741         * symsinit.h: Added reinit parameter to init_console_stream
15742         declaration.
15743
15744         * lisp.h: Added file parameter to pdump_load declaration.
15745
15746         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15747         support.  Added dump file searching.
15748
15749         * config.h.in: Added EMACS_PROGNAME.
15750
15751         * console-stream.c (init_console_stream): Fix reinitialisation
15752         when running from temacs.
15753
15754         * alloc.c (pdump): Add id support.
15755         (pdump_load): Add file parameter and signature/id support.
15756
15757         * Makefile.in.in: Add full pdump support.
15758
15759 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15760
15761         * postgresql.c: Update documentation to reflect latest code
15762         status.
15763         (print_result): Show tuple counts in printed representation when
15764         appropriate.
15765         (Fpq_put_nbytes): MULE-ize.
15766         (Fpq_get_line_async): Ditto.
15767
15768 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15769
15770         * postgresql.c (Fpq_lo_import): Fix return value.
15771         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15772
15773 2000-03-13  Ben Wing  <ben@xemacs.org>
15774
15775         * alloc.c (pdump_load):
15776         Fix compile warning under mswin.
15777
15778 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15779
15780         * postgresql.c: Mule-ization, bug fixes.
15781         Use PG_CODING to encapsulate coding system name changes.
15782         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15783         (pg-coding-system): Create.
15784
15785         (Fpq_conn_defaults): Mule-ize.
15786         (Fpq_connectdb): Mule-ize & bug fix.
15787         (Fpq_connect_start): Mule-ize.
15788         (Fpq_set_client_encoding): Mule-ize.
15789         (Fpq_finish): Document `DEAD' connection status.
15790         (Fpq_clear): Ditto.
15791         (Fpq_pgconn): Mule-ize.
15792         (Fpq_exec): Mule-ize & bug fix.
15793         (Fpq_send_query): Ditto.
15794         (Fpq_get_result): Ditto.
15795         (Fpq_res_status): Mule-ize.
15796         (Fpq_result_error_message): Mule-ize.
15797         (Fpq_ntuples): fix comments.
15798         (Fpq_fname): Mule-ize.
15799         (Fpq_fnumber): Mule-ize.
15800         (Fpq_ftype): fix comments.
15801         (Fpq_get_value): Mule-ize.
15802         (Fpq_cmd_status): Ditto.
15803         (Fpq_cmd_tuples): Ditto.
15804         (Fpq_oid_value): Ditto.
15805         (Fpq_notifies): Ditto.
15806         (Fpq_lo_import): Ditto.
15807         (Fpq_lo_export): Ditto.
15808         (Fpq_get_line): Ditto.
15809         (Fpq_put_line): Mule-ize and bug fix.
15810         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15811
15812 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15813
15814         * postgresql.c (vars_of_postgresql): Mule-ize.
15815         (Fpq_conn_defaults): Ditto.
15816
15817 2000-03-12  Ben Wing  <ben@xemacs.org>
15818
15819         * alloc.c (Fmake_byte_code):
15820         * alloc.c (debug_string_purity_print):
15821         * alloc.c (pdump_backtrace):
15822         * alloc.c (pdump_get_indirect_count):
15823         * alloc.c (pdump_register_sub):
15824         * alloc.c (pdump_register_object):
15825         * alloc.c (pdump_register_struct):
15826         * alloc.c (pdump_dump_data):
15827         * alloc.c (pdump_reloc_one):
15828         Minor cleanups.
15829
15830         * console-msw.c:
15831         * console-msw.c (GetConsoleHwnd):
15832         * console-msw.c (msw_hide_console):
15833         * console-msw.c (msw_show_console):
15834         * console-msw.c (msw_ensure_console_buffered):
15835         * console-msw.c (msw_output_console_string):
15836         * console-msw.c (console_type_create_mswindows):
15837
15838         a) Added functions to manipulate the console window for use with
15839         shell support.
15840
15841         b) Added support for writing text to the console, which is now
15842         used under Windows when xemacs is not being run non-interactively,
15843         to write text that would otherwise be destined for stdout because
15844         under these circumstances, text written to stdout tends to
15845         disappear and not be seen.
15846
15847         * console-msw.h:
15848         * event-Xt.c:
15849         * event-Xt.c (x_event_to_emacs_event):
15850         * event-Xt.c (describe_event_window):
15851         * events-mod.h (XEMACS_MOD_CONTROL):
15852         * events.c:
15853         * events.c (Fmake_event):
15854         * events.c (character_to_event):
15855         * events.c (event_to_character):
15856         * events.c (format_event_object):
15857         * events.c (Fevent_modifiers):
15858         * events.h:
15859         * events.h (struct key_data):
15860         * events.h (struct button_data):
15861         * events.h (struct misc_user_data):
15862         * frame-x.c (Fcde_start_drag_internal):
15863         * frame-x.c (Foffix_start_drag_internal):
15864         * gpmevent.c (Freceive_gpm_event):
15865         * keymap.c:
15866         * keymap.c (bucky_sym_to_bucky_bit):
15867         * keymap.c (control_meta_superify):
15868         * keymap.c (make_key_description):
15869         * keymap.c (keymap_lookup_directly):
15870         * keymap.c (create_bucky_submap):
15871         * keymap.c (keymap_store):
15872         * keymap.c (define_key_check_and_coerce_keysym):
15873         * keymap.c (define_key_parser):
15874         * keymap.c (define_key_alternate_name):
15875         * keymap.c (Fdefine_key):
15876         * keymap.c (raw_lookup_key_mapper):
15877         * keymap.c (struct map_keymap_unsorted_closure):
15878         * keymap.c (map_keymap_unsorted_mapper):
15879         * keymap.c (map_keymap_sort_predicate):
15880         * keymap.c (map_keymap_sorted):
15881         * keymap.c (accessible_keymaps_mapper_1):
15882         * keymap.c (where_is_recursive_mapper):
15883         * keymap.c (describe_map_mapper):
15884         * keymap.c (describe_map_sort_predicate):
15885         * keymap.c (describe_map):
15886         * keymap.c (complex_vars_of_keymap):
15887         And a number of other files, the key modifier preprocessor
15888         constants that xemacs uses have names that conflict with constants
15889         defined under MS Windows for other purposes, so they were renamed
15890         to begin with the prefix XEMACS_. The variables that hold such
15891         modifiers were changed to consistently be of type int to fix
15892         various compile warnings.
15893
15894         * console.c (complex_vars_of_console):
15895         * device.c:
15896         * device-msw.c:
15897         * device-msw.c (mswindows_finish_init_device):
15898         * device-msw.c (msw_get_workspace_coords):
15899         * device-msw.c (mswindows_device_system_metrics):
15900         and various other files, added support for a new
15901         device property called offset-workspace which returns the position
15902         of the upper left corner of the workspace area and goes along with
15903         the existing size-workspace property.
15904
15905         * dialog-msw.c:
15906         * dialog-msw.c (push_bufbyte_string_as_unicode):
15907         * dialog-msw.c (mswindows_popup_dialog_box):
15908         Added support for XEmacs-style accelerator specifications in
15909         button text.  Note: I didn't add support for this under X Windows,
15910         and somebody needs to do this.
15911
15912         * dialog.c:
15913         * dialog.c (Fpopup_dialog_box):
15914         Documented the support for accelerators that was just mentioned.
15915
15916         editfns.c (get_home_directory): Changed behavior under Windows
15917         when HOME not defined; former behavior was irretrievably broken.
15918
15919         * emacs.c:
15920         * emacs.c (main_1):
15921         * emacs.c (main):
15922         * minibuf.c (clear_echo_area_internal):
15923         * minibuf.c (echo_area_append):
15924         * print.c:
15925         * print.c (std_handle_out_external):
15926         * print.c (std_handle_out_va):
15927         * print.c (fatal):
15928         * print.c (write_string_to_stdio_stream):
15929         * print.c (output_string):
15930         * print.c (debug_print):
15931         * print.c (debug_backtrace):
15932         * print.c (debug_short_backtrace):
15933         Cleaned up the code that prints text to stdout so that this can be
15934         changed to output into a console window instead under MS Windows,
15935         as described above.
15936
15937         * eval.c:
15938         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15939         * eval.c (internal_catch):
15940         * eval.c (unwind_to_catch):
15941         * eval.c (throw_or_bomb_out):
15942         * eval.c (condition_case_1):
15943         * eval.c (signal_1):
15944         * eval.c (check_error_state_sanity):
15945         * eval.c (call_with_suspended_errors_1):
15946         * eval.c (call_with_suspended_errors):
15947         * eval.c (reinit_vars_of_eval):
15948         Added code to catch throw loops and check for a pesky bug that may
15949         be gone now.
15950
15951         * event-msw.c:
15952         * event-msw.c (key_needs_default_processing_p):
15953         * event-msw.c (mswindows_wnd_proc):
15954         * event-msw.c (mswindows_modifier_state):
15955         * event-msw.c (emacs_mswindows_quit_p):
15956         * event-msw.c (vars_of_event_mswindows):
15957         a) Added support for using the alt key to select menu items as is
15958         standard under MS Windows.  This is controlled using the variable
15959         menu-accelerator-enabled, just like under X Windows.  There is an
15960         option on the options menu to turn this support on.  I really
15961         think that it should be on by default under Windows, but I'm not
15962         going to make this change yet.
15963
15964         b)  Added support for dynamic display size changes under Windows.
15965
15966         * event-stream.c:
15967         * event-stream.c (maybe_echo_keys):
15968         * event-stream.c (Fnext_event):
15969         * event-stream.c (command_builder_find_leaf):
15970         * event-stream.c (lookup_command_event):
15971         * event-stream.c (execute_command_event):
15972         * event-stream.c (pre_command_hook):
15973         * event-stream.c (post_command_hook):
15974         * event-stream.c (syms_of_event_stream):
15975         * event-stream.c (vars_of_event_stream):
15976         * event-stream.c (complex_vars_of_event_stream):
15977         * events.h (struct command_builder):
15978
15979         a) Tried to clean up a little bit the horribly written x-specific
15980         accelerator code that crept into this file.  I moved this code
15981         into menubar-x.c where it belongs. I also needed to move the
15982         command builder structure into the file events.h because it is
15983         accessed directly by this accelerator code.  What I didn't do, but
15984         which should be done at some point, is to properly abstract this
15985         code using device methods instead of the kludgy way that it
15986         currently hooks into the event code.
15987
15988         b) Added the lisp variables this-command-properties and
15989         last-command- properties, which should be used to synchronize two
15990         adjacent commands in preference to playing games with the variable
15991         this-command, which is typically what happens.
15992
15993         c) Added some slightly nasty code to hook into the lisp support
15994         for shifted- motion-key selection.  This is actually necessary for
15995         somewhat complicated reasons, which are described in
15996         simple.el. (NB: I think the proper thing would be to have the code
15997         that calls the pre and post command hooks also call out to generic
15998         lisp functions in simple.el, where all built-in stuff could be
15999         added.  I will think about this more.)
16000
16001         * event-unixoid.c (poll_fds_for_input):
16002         * lread.c (readchar):
16003         * redisplay-tty.c (tty_clear_frame):
16004         * redisplay-x.c (x_get_gc):
16005         * signal.c (interrupt_signal):
16006         And a whole bunch of other files: fixed up places that printed
16007         directly to stderr to instead call the function stderr_out so that
16008         the changes I made under Windows work correctly.
16009
16010         * filemode.c (mode_string):
16011         Warning fixes.
16012
16013         * frame-msw.c:
16014         * frame-msw.c (mswindows_size_frame_internal):
16015         Fixed the computation of frame size and position to keep the frame
16016         within the workspace area, rather than within the physical
16017         dimensions of the screen, so that the frame doesn't overlap window
16018         manager decorations, such as the start menu and toolbar, typically
16019         at the bottom of the screen.
16020
16021         * frame.c (vars_of_frame):
16022         Changed the default frame title format under MS Windows to consist
16023         of buffername-XEmacs, which is standard under MS Windows.  I think
16024         it might be a good idea to change this everywhere because I think
16025         it is superior to the current frame title format, but this is the
16026         kind of change that is likely to cause some people to get annoyed,
16027         so I'm not making it.
16028
16029         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
16030
16031         * gui-msw.c (mswindows_handle_gui_wm_command):
16032         Fixed compile warnings.
16033
16034         * gui-x.c:
16035         * gui-x.c (strdup_and_add_accel):
16036         * gui-x.c (button_item_to_widget_value):
16037         * gui-x.h:
16038         Added code to automatically put an accelerator onto the beginning
16039         of menu items that don't have one as is now the standard, and is
16040         described more later.  Also fixed things so that the menu item
16041         name can be an evaluated expression, again a new standard.
16042
16043         * gui.c:
16044         * gui.c (gui_item_add_keyval_pair):
16045         * gui.c (make_gui_item_from_keywords_internal):
16046         * gui.c (gui_add_item_keywords_to_plist):
16047         * gui.c (gui_item_accelerator):
16048         * gui.c (gui_name_accelerator):
16049         * gui.c (gui_item_included_p):
16050         * gui.c (gui_item_display_flush_left):
16051         * gui.c (gui_item_display_flush_right):
16052         * gui.c (parse_gui_item_tree_item):
16053         * gui.c (parse_gui_item_tree_children):
16054         * gui.c (parse_gui_item_tree_list):
16055         Mule-ized.  Cleanup.  GCPRO addition.
16056
16057         * line-number.c (buffer_line_number):
16058         * lisp.h:
16059         * lisp.h (EMACS_INT_MAX):
16060         Added the manifest constant EMACS_INT_MIN corresponding to the
16061         existing constant EMACS_INT_MAX.  This is partially to fix compile
16062         warnings under Windows, and partly for cleanliness.
16063
16064         * menubar-msw.c:
16065         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
16066         * menubar-msw.c (msw_translate_menu_or_dialog_item):
16067         * menubar-msw.c (displayable_menu_item):
16068         * menubar-msw.c (populate_menu_add_item):
16069         * menubar-msw.c (populate_or_checksum_helper):
16070         * menubar-msw.c (populate_menu):
16071         * menubar-msw.c (update_frame_menubar_maybe):
16072         * menubar-msw.c (prune_menubar):
16073         * menubar-msw.c (msw_char_is_accelerator):
16074         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
16075         * menubar-msw.c (mswindows_handle_wm_command):
16076         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
16077         * menubar-msw.c (mswindows_handle_wm_initmenu):
16078         * menubar-msw.c (mswindows_update_frame_menubars):
16079         * menubar-msw.c (mswindows_free_frame_menubars):
16080         * menubar-msw.c (mswindows_popup_menu):
16081         Fixed a bug in handling accelerators where an extra character
16082         would be displayed in the menu item.  Also generalized the
16083         function displayable_menu_item because it is now used by the
16084         dialog box code as well.  And finally, added code in the functions
16085         that create the menubar to extract a list of accelerators for the
16086         top level menubar, which is used in the event code to determine
16087         whether a particular alt-key combination should be used to invoke
16088         a menu item, or should be passed through to access the standard
16089         XEmacs keymap binding for this key combination.
16090
16091         Much needed GCPROing.
16092
16093         * menubar-x.c:
16094         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
16095         * menubar-x.c (menu_item_descriptor_to_widget_value):
16096         * menubar-x.c (restore_in_menu_callback):
16097         * menubar-x.c (x_popup_menu):
16098         * menubar-x.c (menu_move_up):
16099         * menubar-x.c (menu_move_down):
16100         * menubar-x.c (menu_move_left):
16101         * menubar-x.c (menu_move_right):
16102         * menubar-x.c (menu_select_item):
16103         * menubar-x.c (command_builder_operate_menu_accelerator):
16104         * menubar-x.c (menu_accelerator_junk_on_error):
16105         * menubar-x.c (command_builder_find_menu_accelerator):
16106         * menubar-x.c (Faccelerate_menu):
16107         * menubar.h:
16108         Moved a whole bunch of code here that was previously in
16109         event-stream.c as described above.  There is also code connected
16110         to the new standard of adding an accelerator to the beginning of
16111         menu items that don't have one as described above and below.
16112
16113         * menubar.c:
16114         * menubar.c (menu_parse_submenu_keywords):
16115         * menubar.c (Fmenu_find_real_submenu):
16116         * menubar.c (Fnormalize_menu_item_name):
16117         * menubar.c (syms_of_menubar):
16118         * menubar.c (vars_of_menubar):
16119         * menubar.c (complex_vars_of_menubar):
16120
16121         a) Cleaned up a bunch of documentation and improved it.
16122
16123         b) XEmacs now automatically adds an accelerator onto the beginning
16124         of any menu items that don't have one.  I did this because there
16125         will inevitably be some menu items on the main menubar that don't
16126         have accelerators on them because the package that adds that
16127         particular menu item hasn't yet been fixed up to have accelerators
16128         in them and it looked rather strange to have some items with and
16129         some items without accelerators, especially since even in items
16130         without accelerators, you can, at least under windows, still
16131         access the item through an accelerator corresponding to the first
16132         character in the item's name.  If people don't like this behavior,
16133         I can add a variable to turn it off optionally, but I'm not sure
16134         this is a good idea because we really do need to have accelerators
16135         on all of the menu items, and if a package doesn't like the
16136         accelerators being put on the first character, then it should put
16137         the accelerators where they belong.
16138
16139         c) I made a behavior change, which is that the descriptor that
16140         specifies the text of the menu item, which formerly was just a
16141         string, can now also be an evaluated expression.  This makes this
16142         descriptor parallel with all of the others, which could also be
16143         evaluated expressions.  This also obviates the need for the
16144         keyword :label, which was previously listed in the documentation
16145         as unimplemented, and which was for the same purpose.
16146
16147         d) GCPROing.
16148
16149         * ntproc.c:
16150         * ntproc.c (new_child):
16151         * ntproc.c (sys_spawnve):
16152         * ntproc.c (find_child_console):
16153         * ntproc.c (sys_kill):
16154         Fixed compile warnings.  By the way, this file should really go
16155         away entirely, and this will happen as soon as Kirill makes his
16156         final round of process cleanups, which affect the function
16157         call-process.
16158
16159         * process-nt.c:
16160         * process-nt.c (struct nt_process_data):
16161         * process-nt.c (find_process_from_pid):
16162         * process-nt.c (send_signal_the_nt_way):
16163         * process-nt.c (enable_child_signals):
16164         * process-nt.c (find_child_console):
16165         * process-nt.c (send_signal_the_95_way):
16166         * process-nt.c (nt_finalize_process_data):
16167         * process-nt.c (ensure_console_window_exists):
16168         * process-nt.c (nt_create_process):
16169         * process-nt.c (nt_kill_child_process):
16170         * process-nt.c (nt_kill_process_by_pid):
16171         * process-nt.c (nt_open_network_stream):
16172         * process-nt.c (vars_of_process_nt):
16173         Copied over code from Emacs 20.5 to correctly send signals to sub-
16174         processes under Windows 95.  Also added code to automatically
16175         create and hide console window when a sub-process is created under
16176         Windows 95, which obviates the need for the separate runemacs.exe
16177         executable, and finally implemented some variables that were
16178         implemented in Emacs 20.5, but previously not in XEmacs.  These
16179         include mswindows- start-process-share-console and
16180         mswindows-start-process-inherit-error-mode. (Both of these only
16181         apply to Windows 95.)
16182
16183         * regex.c (regex_compile): Fixed a compile warning.
16184
16185         * select-msw.c:
16186         * select-msw.c (mswindows_own_selection):
16187         * select-msw.c (mswindows_get_foreign_selection):
16188         * select-msw.c (mswindows_disown_selection):
16189         * select-msw.c (console_type_create_select_mswindows):
16190         * select-msw.c (syms_of_select_mswindows):
16191         Cleaned up the file and implemented the device method
16192         selection_exists_p, which had accidentally been left out.  Also
16193         removed four lisp functions that were remnants from before the
16194         time when the selection code was properly device abstracted.
16195         These functions are no longer needed because there are generic
16196         equivalents, and because they were added recently and don't exist
16197         in FSF Emacs, I don't think there's any problem with just deleting
16198         them.
16199
16200         * sysdep.c:
16201         * sysdep.c (sys_subshell):
16202         Fixed a compile warning, although in this case there's probably
16203         something wrong with this code, and it ought to be looked into
16204         more thoroughly by somebody who understands it.
16205
16206         * window.c:
16207         * window.c (Fwindow_text_area_height):
16208         * window.c (Fwindow_width):
16209         * window.c (Fwindow_full_width):
16210         * window.c (Fwindow_pixel_width):
16211         * window.c (debug_print_window):
16212         * window.c (syms_of_window):
16213         Added functions window-text-area-height and window-full-width,
16214         which are functions for returning various width and height
16215         characteristics of a window. (One of these functions is necessary
16216         for making the file dialog box work correctly, and the other one
16217         was added for completeness.)  Also added a table to the
16218         documentation for window-height which describes the entire scheme
16219         for accessing width and height characteristics of a window.
16220
16221 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16222
16223         * nt.c (fstat): Added a comment for another problem with
16224         non-encapsulated [f]stat(), reported by Adrian Aichner
16225         <aichner@ecf.teradyne.com>.
16226
16227 2000-03-11  Andy Piper  <andy@xemacs.org>
16228
16229         * window.c (make_dummy_parent): initialize subwindow instance
16230         cache.
16231         (Fset_window_configuration): zero extent_modiff.
16232
16233 2000-03-10  Andy Piper  <andy@xemacs.org>
16234
16235         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16236         more changes can be triggered.
16237         (Fredisplay_frame): ditto.
16238         (Fredraw_device): ditto.
16239         (Fredisplay_device): ditto.
16240         (redisplay_frame): make non-static.
16241         (redisplay_frame): call update_frame_gutter_geometry outside of
16242         display proper.
16243
16244         * gutter.h: declare update_frame_gutter_geometry.
16245
16246         * redisplay.h: declare redisplay_frame.
16247
16248         * gutter.c (update_frame_gutter_geometry): move geometry changes
16249         in update_frame_gutters here. Geometry changes can only occur
16250         outside of redisplay.
16251         (update_frame_gutters): remove geometry change code.
16252         (Fredisplay_gutter_area): make sure that we are in display when we
16253         update and that we have flushed any size changes.
16254
16255 2000-03-11  Andy Piper  <andy@xemacs.org>
16256
16257         * alloc.c (pdump_dump_data): remove i & count shadows.
16258
16259 2000-02-27  Mike Alexander  <mta@arbortext.com>
16260
16261         * sysdep.h: Declare pdump_read_file
16262
16263         * sysdep.c (pdump_read_file): New function
16264
16265         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16266         dump data
16267
16268 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16269
16270         * lrecord.h: add `lrecord_type_pgsetenv'.
16271
16272 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16273
16274         * symsinit.h: declare (vars|syms)_of* functions.
16275         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16276
16277 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16278
16279         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16280
16281         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16282         GCCs.
16283
16284         * emacs.c (main_1): Call postgres initialization code.
16285
16286         * postgresql.h: New file.  PostgreSQL RDBMS support.
16287         * postgresql.c: New file.
16288
16289 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16290
16291         * redisplay-output.c (redisplay_output_display_block): Disable
16292         redundant code.
16293
16294 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16295
16296         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16297         (Fcanna_henkan_next): Ditto.
16298         (Fcanna_bunsetu_henkou): Ditto.
16299         (Fcanna_henkan_kakutei): Ditto.
16300         (Fcanna_henkan_end): Ditto.
16301         (Fcanna_henkan_quit): Ditto.
16302         (Fcanna_henkan_next): Set retun value correctly.
16303         (c2mu): Use unsigned char instead of signed char.
16304
16305 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16306
16307         * emacs.c (main_1): Always call syms_of_gui.
16308         * inline.c: include gui.h
16309
16310 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16311
16312         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16313         converted to Lisp_Object.
16314         (Qtop_bottom): New variable.
16315         (syms_of_redisplay): Initialize it.
16316         * redisplay.h (Vvisible_bell): Ditto.
16317         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16318         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16319         only flash top and bottom.
16320
16321 2000-03-08  Andy Piper  <andy@xemacs.org>
16322
16323         * buffer.c (Frename_buffer): record new buffer name the right way.
16324
16325 2000-03-08  Andy Piper  <andy@xemacs.org>
16326
16327         * glyphs.c (update_subwindow): increase hash depth so that widget
16328         items get picked up properly.
16329
16330         * redisplay-output.c (compare_runes): increase hash depth so that
16331         widget items get picked up properly.
16332
16333 2000-03-08  Andy Piper  <andy@xemacs.org>
16334
16335         * gutter.c (output_gutter): add some debug.
16336
16337         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16338         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16339         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16340
16341         * redisplay-output.c (compare_runes): use display_hash to
16342         determine if glyphs really are not the same.
16343
16344         * glyphs.c (update_subwindow): check display_hash to see if
16345         anything really needs to be updated. If not then do
16346         nothing. Record the display_hash after updating.
16347         (image_instance_equal): compare the image_instance face also.
16348
16349 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16350
16351         * redisplay.h: Fix comment style.
16352
16353 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16354
16355         * consle-msw.h (struct mswindows_frame):
16356         Added new member paint_pending to indicate whether a WM_PAINT
16357         magic event has been queued for this frame.
16358
16359         * event-msw.c (mswindows_drain_windows_queue):
16360         Don't queue a WM_PAINT magic event if one is already queued.
16361         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16362
16363         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16364
16365 2000-03-07  Didier Verna  <didier@xemacs.org>
16366
16367         * dired.c: #include `regex.h' after `sysfile.h'.
16368
16369 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16370
16371         * sound.c (init_nas_sound): Fix compiler warning.
16372
16373         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16374         (FREE_STRUCT_P):
16375         (MARK_STRUCT_AS_FREE):
16376         (MARK_STRUCT_AS_NOT_FREE):
16377         Make `gcc -fstrict-aliasing' work properly.
16378
16379 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16380
16381         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16382         (mswindows_delete_device): Call CoUnnitialize().
16383
16384         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16385
16386 2000-02-25    <CraigL@DyCon.com>
16387
16388         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16389         <errno.h>.
16390
16391         * sysdep.c: This extern declaration for environ prevents MinGW
16392         from finding the variable in CRTDLL.DLL.
16393
16394         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16395         windows headers.
16396         (SHGFI_EXETYPE): ..
16397         (WM_MOUSEWHEEL): ..
16398         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16399         definitions.
16400         (MMRESULT): Removed, now defined in cygwin's windows headers.
16401         (TIMECAPS): ..
16402         (uid_t,gid_t,pid_t,ssize_t): ..
16403         (_timeb): Removed, MinGW defines both _timeb and timeb.
16404         (HAVE_H_ERRNO): Added.
16405         (HAVE_TZNAME): Added, configure is not detecting this.
16406
16407 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16408
16409         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16410         * syntax.c (syntax_match): Use it.
16411
16412         * cmds.c: Import auto-fill-chars from FSF Emacs.
16413         (Vauto_fill_chars): New variables.
16414         (internal_self_insert): Check Vauto_fill_chars.
16415         (vars_of_cmds):
16416         Declare auto-fill-chars as a Lisp variable and initialize it.
16417
16418 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16419
16420         * fileio.c (Fmake_symbolic_link):
16421         (Ffile_symlink_p):
16422         Run handlers even if local machine doesn't have symlinks.
16423
16424 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16425
16426         * event-msw.c (mswindows_drain_windows_queue):
16427         Don't generate paint magic events for non-XEmacs frames.
16428
16429 2000-03-05  Andy Piper  <andy@xemacs.org>
16430
16431         * redisplay.c (redisplay_frame): generate_displayable_area and
16432         friends assumes that we are not in GC, we therefore have to make
16433         sure that this doesn't happen.
16434
16435         * gutter.c (calculate_gutter_size): generate_displayable_area
16436         assumes that we are not in GC, we therefore have to make sure that
16437         this doesn't happen.
16438
16439 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16440
16441         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16442
16443 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16444
16445         * redisplay.c (regenerate_window): Make sure we set a sane value
16446         for end_pos even if we jump out of the loop.
16447         (regenerate_window): Answer Ben's question :-).
16448         (start_end_of_last_line): Add may_error argument.
16449         (start_of_last_line):
16450         (end_of_last_line): Pass may_error = 0.
16451         (end_of_last_line_may_error): New function.
16452         (pixel_to_glyph_translation): Use it, so we don't crash in
16453         event_to_glyph.
16454
16455 2000-03-04  Andy Piper  <andy@xemacs.org>
16456
16457         * window.h (struct window): add gutter_extent_modiff.
16458
16459         * window.c (allocate_window): zero out gutter_extent_modiff.
16460
16461         * redisplay.h: declare sync_display_line_structs.
16462
16463         * redisplay.c (add_glyph_rune): add a better comment.
16464
16465         * redisplay-output.c (sync_display_line_structs): made non-static.
16466         (compare_runes): remove unneccesary glyph cachel access.
16467
16468         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16469
16470         * gutter.c (output_gutter): don't output the gutter if extent
16471         changes only involve extents in buffers. use 4 sets of display
16472         lines.
16473         (gutter_extent_signal_changed_region_maybe): new function. Mark
16474         extents in gutters as changed.
16475         (update_frame_gutters): use 4 sets of display lines.
16476         (reset_gutter_display_lines): ditto.
16477         (free_frame_gutters): ditto.
16478         (redraw_exposed_gutter): force output of gutters.
16479
16480         * frame.h (struct frame): add 4 sets of gutter display lines.
16481
16482         * extents.c: (extent_changed_for_redisplay): signal changes to
16483         extents in strings in the gutter as well as extents in buffers.
16484
16485 2000-03-02  Andy Piper  <andy@xemacs.org>
16486
16487         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16488
16489         * frame.c (Fmake_frame): make sure the gutters get initialized
16490         after the frame is visible.
16491         (set_frame_selected_window): re-arrange compilation macros a
16492         little.
16493         (change_frame_size_1): mark gutters changed.
16494
16495         * device.c (Fset_device_class): mark gutters changed.
16496
16497 2000-03-01  Andy Piper  <andy@xemacs.org>
16498
16499         * window.c (window_top_frame_gutter_height): deleted.
16500         (window_bottom_frame_gutter_height): ditto.
16501         (window_left_frame_gutter_height): ditto.
16502         (window_right_frame_gutter_height): ditto.
16503         (window_top_gutter_height): don't use them.
16504         (window_bottom_gutter_height): ditto.
16505         (window_left_gutter_width): ditto.
16506         (window_right_gutter_width): ditto.
16507         (Fsplit_window): ditto.
16508         (Fwindow_pixel_edges): don't use border dimensions here.
16509
16510         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16511         (update_scrollbar_instance): ditto.
16512
16513         * redisplay.c (generate_modeline): don't take gutters into account.
16514         (generate_modeline): ditto.
16515         (redisplay_frame): small gutter display optimization.
16516
16517         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16518
16519         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16520         gutters into account.
16521
16522         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16523         for window position and type.
16524
16525         * gutter.c (get_gutter_coords): fix for frame gutters.
16526         (update_frame_gutters): update frame geometry if the gutters have
16527         changed.
16528         (init_frame_gutters): record current gutter geometries.
16529
16530         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16531         var.
16532         (mswindows_widget_instantiate): ditto.
16533
16534         * frame.h (struct frame): add current_gutter_bounds.
16535
16536         * frame.c (change_frame_size_1): position window and minibuffer
16537         appropriately taking into account the frame gutters.
16538
16539         * frame-x.c: (x_initialize_frame_size): take into account the
16540         frame gutters.
16541
16542 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16543
16544         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16545
16546 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16547
16548         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16549
16550 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16551
16552         * file-coding.c (reset_decoding_stream): Clear previous
16553         detection state when autodetect.
16554
16555 2000-02-29  Didier Verna  <didier@xemacs.org>
16556
16557         * extents.c (set_extent_glyph_1): don't require extents to be
16558         attached.
16559
16560 2000-02-27  Andy Piper  <andy@xemacs.org>
16561
16562         * gutter.c (Fset_default_gutter_position): don't default left and
16563         right gutter visibility to t.
16564         (Fset_default_gutter_position): run
16565         default-gutter-position-changed-hook.
16566         (syms_of_gutter): add default-gutter-position-changed-hook.
16567
16568 2000-02-26  Andy Piper  <andy@xemacs.org>
16569
16570         * specifier.c (Fmake_specifier): add gutter references.
16571
16572         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16573
16574         * lisp.h: declare Fvalid_plist_p.
16575
16576         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16577         as changed.
16578         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16579         well as its visibility so that it gets reconstructed.
16580         (construct_window_gutter_spec): new function. Construct a string
16581         to be displayed in the gutter from a plist of strings. Take care
16582         to only use elements that are declared as visible.
16583         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16584         WINDOW_GUTTER.
16585         (gutter_validate): allow plists of strings in the specifier.
16586         (gutter_specs_changed): construct the real_gutter from the gutter
16587         specs using construct_window_gutter_spec.
16588         (gutter_visible_validate): gutter-visible is a new specifier type.
16589         (Fgutter_visible_specifier_p): new function for the new specifier.
16590         (syms_of_gutter): declare gutter-visible and
16591         Fgutter_visible_specifier_p.
16592         (specifier_type_create_gutter): intitalize new gutter-visible
16593         specifier.
16594         (reinit_specifier_type_create_gutter): ditto.
16595         (specifier_vars_of_gutter): use new specifier type for gutter
16596         visibility.
16597         (init_frame_gutters): construct real_gutter correctly.
16598         (Fgutter_specifier_p): beef up documentation.
16599         (Fgutter_size_specifier_p): ditto.
16600
16601         * winslots.h: add real_gutter slots.
16602
16603 2000-02-25  Andy Piper  <andy@xemacs.org>
16604
16605         * device-msw.c: Be kind to older cygwin versions. From Raymond
16606         Toy <toy@rtp.ericsson.se>.
16607
16608         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16609         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16610
16611 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16612
16613         * elhash.c (MARK_OBJ): Practice macro hygiene.
16614
16615 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16616
16617         * miscplay.c: s/__inline__/inline/g;
16618         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16619         (get_device_compdc): INLINE ==> static inline
16620         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16621         find -name '*.h' | \
16622         xargs global-replace \
16623         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16624
16625 2000-02-25  Andy Piper  <andy@xemacs.org>
16626
16627         * window.c (window_top_frame_gutter_height): new function.
16628         (window_top_window_gutter_height): ditto.
16629         (window_top_gutter_height): use them.
16630         (window_bottom_frame_gutter_height): new function.
16631         (window_bottom_window_gutter_height): ditto.
16632         (window_bottom_gutter_height): use them.
16633         (window_left_window_gutter_width): new function.
16634         (window_left_frame_gutter_width): ditto.
16635         (window_left_gutter_width): use them.
16636         (window_right_window_gutter_width): new function.
16637         (window_right_frame_gutter_width): ditto.
16638         (window_right_gutter_width): use them.
16639         (window_pixel_height): new function. calulate window pixel height
16640         with frame gutter involvement.
16641         (Fsplit_window): calculate new sizes taking frame gutters into
16642         account.
16643         (window_char_height_to_pixel_height): don't include frame gutters.
16644         (window_char_height): use window_pixel_height.
16645         (window_pixheight): rename from window_pixel_height.
16646         (change_window_height): use it.
16647         (window_pixel_height_to_char_height): don't include frame gutters.
16648         (window_char_width_to_pixel_width): ditto.
16649
16650 2000-02-25  Andy Piper  <andy@xemacs.org>
16651
16652         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16653         if it is.
16654
16655 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16656
16657         * alloc.c (staticpro):
16658         (staticpro_nodump):
16659         (dumpstruct):
16660         (dumpopaque):
16661         (pdump_wire):
16662         (pdump_wire_list):
16663         (compact_string_chars):
16664         (pdump_dump_wired):
16665         Convert:  if (foo) abort();  ==>  assert (! foo);
16666
16667         * eldap.c (Fldap_search_basic):
16668         (Fldap_add):
16669         (Fldap_modify):
16670         (Fldap_delete):
16671         Fix compiler warnings, and possible crashes if (random) return
16672         value were to be used.
16673
16674 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16675
16676         * device-msw.c: Workaround ResetDC failure.
16677
16678         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16679         applying a devmode.
16680
16681         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16682         (mswindows_text_width): Do not start printer page.
16683
16684         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16685
16686         * glyphs-msw.c: Added image methods to msprinter console and
16687         msprinter-specific image instantiation.
16688
16689 2000-02-20  Mike Alexander  <mta@arbortext.com>
16690
16691         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16692         to avoid crashes when selection-sets-clipboard is on
16693         (mswindows_own_selection): ditto
16694
16695 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16696
16697         * glyphs-msw.c:
16698         * redisplay-msw.c (get_frame_dc):
16699         (get_frame_compdc):
16700         * console-msw.h:
16701         * device-msw.c (mswindows_init_device):
16702         (mswindows_delete_device):
16703         (msprinter_init_device):
16704         (msprinter_delete_device):
16705         * frame-msw.c (mswindows_init_frame_1):
16706         (mswindows_delete_frame):
16707         (msprinter_init_frame_3):
16708         (msprinter_delete_frame): Move compatible DC to device object from
16709         frame object, for both mswindows and msprinter. Only one at a time
16710         is needed, it is a real waste to have one per frame!
16711
16712 2000-02-23  Andy Piper  <andy@xemacs.org>
16713
16714         * glyphs.c: add dynamic width and height elements.
16715         (image_instance_equal): ditto.
16716
16717         * glyphs-widget.c (widget_query_geometry): calculate width and
16718         height dynamically if required.
16719         (initialize_widget_image_instance): initialize dynamic dimensions.
16720         (widget_instantiate): pick-up dynamic dimensions.
16721
16722         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16723         dynamic determination. Add appropriate macros.
16724
16725         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16726         dimensions safe.
16727         (WINDOW_GUTTER_SIZE): ditto.
16728         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16729
16730         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16731         inline.
16732         (get_frame_dc): ditto.
16733
16734         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16735         here.
16736
16737 2000-02-23  Martin Buchholz <martin@xemacs.org>
16738
16739         * XEmacs 21.2.31 is released.
16740
16741 2000-02-22  Ben Wing <ben@xemacs.org>
16742
16743         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16744
16745 2000-02-22  Andy Piper  <andy@xemacs.org>
16746
16747         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16748
16749 2000-02-21  Mike Sperber <mike@xemacs.org>
16750
16751         * .dbxrc:
16752         * .gdbinit:
16753         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16754         variables.
16755
16756 2000-02-21  Mike Sperber <mike@xemacs.org>
16757
16758         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16759
16760 2000-02-21  Martin Buchholz <martin@xemacs.org>
16761
16762         * XEmacs 21.2.30 is released.
16763
16764 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16765
16766         Performance hacking.
16767         * *.c (syms_of_*):
16768         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16769         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16770         * emacs.c (main_1):
16771         * lisp.h (DEFUN):
16772         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16773         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16774         * symeval.h (DEFVAR_SYMVAL_FWD):
16775         * symbols.c (guts_of_unbound_marker):
16776         Make all c_readonly objects also lisp_readonly and marked for life.
16777         * lrecord.h (struct lrecord_implementation):
16778         Document flags better.
16779         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16780         * lrecord.h (DECLARE_LRECORD):
16781         * lrecord.h (XSETRECORD):
16782         * lrecord.h (RECORDP):
16783         * lrecord.h (RECORD_TYPEP):
16784         * lrecord.h (RECORD_MARKER): New.
16785         * lrecord.h (error_check_*):
16786         * lrecord.h (CONCHECK_NONRECORD):
16787         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16788         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16789         * lrecord.h (set_lheader_implementation):
16790         * lrecord.h (enum lrecord_type): New.
16791         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16792         * alloc.c (disksave_object_finalization_1):
16793         * alloc.c (mark_object):
16794         * alloc.c (lrecord_type_index):
16795         * alloc.c (tick_lcrecord_stats):
16796         * alloc.c (Fgarbage_collect):
16797         * alloc.c (init_alloc_once_early):
16798         * alloc.c (pdump_load):
16799         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16800         * alloc.c (lrecord_type_index): Delete.
16801         Make lisp object type indexes be constant.
16802           Makes (byte-compile) 5% faster.
16803         Put all marker functions into their own array.
16804           Makes (garbage-collect) 5% faster.
16805         Optimize SYMBOL_VALUE_MAGIC_P.
16806           Makes (byte-compile) 2-3% faster.
16807         * config.h.in (gc_checking_assert): New.
16808         * alloc.c: Use gc_checking_assert().
16809         * .dbxrc: Make compatible with new object type implementation.
16810         * .gdbinit: Make compatible with new object type implementation.
16811         * alloc.c: Delete all symbols defined only for debugging, such as
16812         Lisp_Type_Vector and lrecord_charset.
16813
16814 2000-02-21  Andy Piper  <andy@xemacs.org>
16815
16816         * gui-msw.c (Fmswindows_shell_execute): fix file location
16817         problems.
16818
16819         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16820         unshowing so that set_window_buffer doesn't undo
16821         kill_buffer_hook's hard work.
16822
16823         * glyphs-widget.c (tab_control_query_geometry): don't count the
16824         first item when calculating geometry.
16825
16826         * glyphs.c (map_subwindow): remove redundant code.
16827         (update_frame_subwindows): be more circumspect about when to
16828         update subwindows.
16829
16830         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16831         when items haven't changed. Update faces if faces have changed as
16832         well as just the widget face.
16833         (x_tab_control_update): Update faces if faces have changed as well
16834         as just the widget face.
16835
16836 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16837
16838         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16839         registration.
16840         (build_syscolor_string): Use mswindows_color_to_string to try to
16841         get a named color.
16842         (mswindows_device_system_metrics): Reverse the foreground and
16843         background colors so that they match the documentation.
16844
16845         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16846         they match the default Windows palette.
16847         (mswindows_color_to_string): New function.
16848
16849 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16850
16851         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16852
16853 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16854
16855         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16856         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16857
16858         * symbols.c (init_symbols_once_early): Removed obsolete
16859         DATA_SEG_BITS related kludge.
16860         (defvar_magic): Ditto.
16861
16862         * malloc.c: Removed obsolete DATA_SEG_BITS
16863         * ralloc.c: Ditto.
16864         * mem-limits.h: Ditto.
16865
16866         * Makefile.in.in: Removed obsolete HAVE_SHM
16867         * emacs.c: Ditto.
16868
16869 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16870
16871         *  device-msw.c (mswindows_delete_device): Free DDE string
16872         handles.
16873
16874 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16875
16876         * keymap.c (get_keyelt):
16877         * unexnt.c (unexec):
16878         * vm-limit.c (memory_warnings):
16879         * ntheap.c (recreate_heap):
16880         * ntheap.h (UNINIT_PTR):
16881         * select-msw.c (Fmswindows_get_clipboard):
16882         (Fmswindows_set_clipboard):
16883         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16884         * objects-msw.c:
16885         * menubar-msw.c (displayable_menu_item):
16886         * glyphs-msw.c:
16887         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16888         * sysdep.c (sys_subshell):
16889         * process-nt.c (nt_create_process):
16890         * nt.c (normalize_filename):
16891         (dostounix_filename):
16892         (unixtodos_filename):
16893         * ntproc.c (win32_executable_type):
16894         * ntplay.c (play_sound_data_1):
16895         (play_sound_file):
16896         * editfns.c (get_home_directory):
16897         * event-msw.c (struct winsock_stream):
16898         (mswindows_dde_callback):
16899         * device-msw.c (msprinter_init_device):
16900         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16901
16902         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16903         mswindows_clear_toolbar were swapped!
16904
16905         * objects-msw.c:(colormap_t):
16906         (fontmap_t):
16907         * emacs.c (struct standard_args): Fixed const jumble.
16908
16909         * glyphs-widget.c (update_widget): Fixed comparison notation.
16910
16911         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16912
16913         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16914         __declspec(noreturn) syntax.
16915
16916 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16917
16918         * eldap.c (Fldap_open):
16919         (Fldap_search_basic):
16920         (Fldap_add):
16921         (Fldap_modify):
16922         Use new coding system conversion macros.
16923
16924 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16925
16926         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16927
16928 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16929
16930         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16931         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16932
16933         * eldap.c (Qadd, Qreplace): New constant symbols
16934         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16935         interruptions by XEmacs signals
16936         Remove unnecessary calls to slow_down_interrupts and
16937         speed_up_interrupts
16938         (Fldap_search_basic): Renamed from Fldap_search_internal
16939         Added new optional parameter VERBOSE that triggers the
16940         display of progress messages
16941         Remove unnecessary calls to slow_down_interrupts and
16942         speed_up_interrupts
16943         LDAP result code analysis rewritten
16944         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16945         (syms_of_eldap): Define the new symbols and functions
16946
16947
16948 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16949
16950         * realpath.c: Determine PATH_MAX maximally portably.
16951
16952         * insdel.c (bytecount_to_charcount): Optimize.
16953         The function used to be optimized for entirely ASCII sequences.
16954         Now it is optimized for successive characters from the same
16955         charset.  This also wins big for _mostly_ ASCII sequences.
16956
16957         * fileio.c (Ffile_truename): convert return from realpath() using
16958         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16959         - Rewrite GCPROing slightly.
16960
16961         * sysdep.c (sys_open): Do filename conversion, like all other
16962         sys_* functions.  Fixes bug:
16963         (let ((file-name-coding-system 'iso-8859-2))
16964            (write-region x y latin2-name))
16965         ==> writes filename using internal encoding.
16966
16967 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16968
16969         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16970         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16971         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16972         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16973         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16974         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16975         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16976         (CONST_IF_NOT_DEBUG): Delete.
16977         * alloc.c (this_one_is_unmarkable): Delete.
16978         (mark_object): Don't check for this_one_is_unmarkable. Use the
16979         c_readonly flag instead.
16980         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16981
16982 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16983
16984         * event-msw.c (mswindows_drain_windows_queue):
16985         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16986         away redundant repaint events.
16987
16988 2000-02-17  Andy Piper  <andy@xemacs.org>
16989
16990         * redisplay.h: declare mark_redisplay_structs.
16991
16992         * redisplay.c (redisplay_window):
16993         (redisplay_frame): don't check subwindows_state_changed.
16994         (mark_redisplay): mark gutters here.
16995
16996         * glyphs.c: (instantiate_image_instantiator): always layout if we
16997         haven't done so already.
16998         (allocate_image_instance): don't mark as dirty.
16999         (update_subwindow): bind inhibit_quit.
17000
17001         * gutter.c (mark_gutters): new function.
17002
17003         * glyphs-x.c (x_update_widget): Always resize to get round a
17004         widget bug.
17005
17006         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
17007         breaking absolutely everything.
17008
17009         * gutter.h: declare mark_gutters.
17010
17011 2000-02-16  Martin Buchholz <martin@xemacs.org>
17012
17013         * XEmacs 21.2.29 is released.
17014
17015 2000-02-15  Olivier Galibert  <galibert@pobox.com>
17016
17017         * fns.c (size_bit_vector): Fix computation of the size.
17018
17019 2000-02-15  Martin Buchholz  <martin@xemacs.org>
17020
17021         * *.[ch]: Change CONST to const globally.
17022         find -name '*.[ch]' | \
17023         xargs global-replace \
17024         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
17025         - Remove vestigial references to CONST_IS_LOSING
17026
17027 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
17028
17029         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
17030         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
17031         events instead of dispatching them directly.
17032         (mswindows_handle_paint): New function to do repainting.
17033         (mswindows_wnd_proc):
17034         (emacs_mswindows_handle_magic_event): Call above function.
17035
17036 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
17037
17038         * objects-msw.c (mswindows_create_font_variant): Return the new
17039         font handle.
17040         (initialize_font_instance): Get font metrics from the underlined
17041         variant of the font to cope with the case where the underlined
17042         font has a bigger descent.
17043
17044 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17045
17046         * gui.c (gui_item_accelerator): Return the first underlined
17047         character in item name.
17048
17049 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17050
17051         * lisp.h: Added Qprinter.
17052
17053         * general.c (syms_of_general): Initialized it.
17054
17055         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
17056         (get_frame_dc):
17057         (get_frame_compdc): Made inline.
17058
17059         * console.h (struct console_methods): Added eject_page method.
17060
17061         * frame.h: Added FRAME_DISPLAY_P and friends.
17062         Aligned backslahes in many macros in more readable fashion.
17063         Added page_number to struct frame, and an accessor macro
17064         for it.
17065
17066         * defice.h: Added DEVICE_DISPLAY_P and friends.
17067
17068         * device.c (Fdevice_printer_p): Used these.
17069
17070         * frame.c (allocate_frame_core): Initialize page number.
17071         (Fprint_job_page_number):
17072         (Fprint_job_eject_page): Implemented.
17073
17074         * frame-msw.c (msprinter_eject_page): Added method.
17075         (msprinter_start_page): Added.
17076
17077         * window.c (Fwindow_truncated_p): Fixed docstring.
17078         (Fwindow_last_line_visible_height): Implemented.
17079
17080 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
17081
17082         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
17083
17084 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17085
17086         * syntax.c (scan_words): Always advance at least one character.
17087
17088 2000-02-13  Andy Piper  <andy@xemacs.org>
17089
17090         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
17091         to make sure the glyph is in the cachels.
17092
17093         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
17094         global image instance flag.
17095         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
17096         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
17097
17098         * glyphs.c (allocate_image_instance): set dirty bits correctly.
17099         (Fset_image_instance_property): mark layout as changed.
17100         (invalidate_glyph_geometry_maybe): mark layout as changed.
17101         (glyph_width): use new NEEDS_LAYOUT macro.
17102         (glyph_ascent): ditto.
17103         (glyph_descent): ditto.
17104         (glyph_height): ditto.
17105         (image_instance_layout): mark layout as clean after laying out.
17106         (update_subwindow): don't mark layout as clean here.
17107
17108         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
17109         should no longer be needed.
17110
17111         * glyphs-x.c (x_update_widget): sanitize asserts.
17112         (x_finalize_image_instance): sanitize assignment to widgets.
17113
17114         * glyphs-widget.c (widget_instantiate): don't need to clear the
17115         layout flag here.
17116
17117 2000-02-13  Martin Buchholz  <martin@xemacs.org>
17118
17119         * sysdep.c (getcwd): Use standard prototype.
17120         * sysdep.h (getcwd): Use standard prototype.
17121
17122         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
17123         (sequence, start, end).
17124         Remove redundant type checking.
17125         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
17126         view of `caller-protects') to avoid a crash where the real fix was
17127         found elsewhere.
17128
17129 2000-02-12  Martin Buchholz  <martin@xemacs.org>
17130
17131         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
17132
17133         * s/sol2.h: Remove feature macro initialization.
17134
17135         * alloc.c (alloc_lcrecord): Add more type checking assertions.
17136         (vector_hash): New.  Code from internal_hash.
17137         * lrecord.h:
17138         Fix up allocation subsystem comments.
17139
17140         * config.h.in: Add __EXTENSIONS__ for Solaris.
17141
17142         * systime.h (EMACS_GETTIMEOFDAY): New.
17143         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
17144         Remove Solaris-specific code.
17145         Use void* for the (ignored) second arg for gettimeofday().
17146
17147         * elhash.c (hash_table_hash): Implement it, finally.
17148         * elhash.c:  Use hashcode_t.
17149
17150         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
17151         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
17152
17153         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
17154         * fns.c (size_bit_vector):
17155         * alloc.c (size_vector):
17156         (make_vector_internal):
17157         (make_bit_vector_internal):
17158         (sweep_bit_vectors_1):
17159         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
17160
17161 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17162
17163         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17164         Include strings.h to avoid warnings for bzero and strcasecmp.
17165
17166 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17167
17168         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17169         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17170
17171         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17172         sequence.
17173
17174 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17175
17176         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17177         use a value field instead.
17178         (symbol_value_forward_forward): Use value field.
17179         (DEFVAR_SYMVAL_FWD): Use value field.
17180         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17181         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17182         (DEFVAR_CONST_INT): Ditto.
17183         (DEFVAR_BOOL): Ditto.
17184         (DEFVAR_CONST_BOOL): Ditto.
17185         (DEFVAR_INT_MAGIC): Ditto.
17186         (DEFVAR_BOOL_MAGIC): Ditto.
17187
17188         * symbols.c (guts_of_unbound_marker): Use value field.
17189         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17190         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17191
17192         * lisp.h: Declare dumpopaque and noninteractive1.
17193
17194         * alloc.c (dumpopaque): Added.
17195         (pdump_dump_opaquevec): Added.
17196         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17197         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17198         noninteractive.
17199
17200 2000-02-10  Andy Piper  <andy@xemacs.org>
17201
17202         * glyphs.c (image_instance_layout): if the size changes, mark it
17203         as such.
17204
17205         * redisplay-output.c (redisplay_output_layout): Update the
17206         subwindow here.
17207         (redisplay_output_subwindow): ditto.
17208
17209         * glyphs.c (update_subwindow): make sure we reset flags for
17210         layouts as well as everything else.
17211
17212         * glyphs-widget.c (layout_layout): don't need to set the instances
17213         dimensions here.
17214
17215 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17216
17217         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17218         not HAVE_DLOPEN, which is a lower-level thing.
17219
17220         * .cvsignore: Ignore gmon.out
17221
17222 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17223
17224         * .cvsignore: Ignore portable dumper xemacs.dmp file
17225
17226 2000-02-09  Andy Piper  <andy@xemacs.org>
17227
17228         * redisplay-output.c (redisplay_output_layout): be more clever
17229         about when we output based on the changed flags.
17230
17231         * glyphs.h (struct image_instantiator_methods): add update_method.
17232         (struct Lisp_Image_Instance): add changed flags. Declare new
17233         macros for manipulating them.
17234
17235         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17236         (image_instance_parent_glyph): find an image_instance's parent
17237         glyph or image_instance.
17238         (image_instance_layout): mark the size as changed.
17239         (set_image_instance_dirty_p): new function. mark an image
17240         instance, plus all of its parents, as dirty.
17241         (Fset_image_instance_property): use it.
17242         (Fglyph_animated_timeout_handler): use it.
17243         (update_subwindow): call update_widget and device methods for
17244         update_subwindow. Mark all changed flags as clean.
17245         (Fresize_subwindow): mark size as changed.
17246
17247         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17248         failures.
17249         (x_update_subwindow): only resize subwindows here.
17250         (x_update_widget): new function. Update all changed properties of
17251         a widget.
17252         (x_resize_subwindow): deleted.
17253         (x_widget_set_property): deleted.
17254         (x_progress_gauge_set_property): deleted.
17255         (x_progress_gauge_update): new function. Implement recorded
17256         changes.
17257         (x_tab_control_update): ditto.
17258         (x_tab_control_set_property): deleted.
17259         (console_type_create_glyphs_x): declare new functions.
17260         (image_instantiator_format_create_glyphs_x): ditto.
17261
17262         * glyphs-widget.c (widget_set_property): mark text changed.
17263         (update_widget): new function. Update properties of a widget.
17264         (widget_instantiate): for layouts make sure we set their
17265         children's parent correctly.
17266         (tab_control_set_property): new function. Record changes that will
17267         take place under redisplay's control.
17268         (progress_gauge_set_property): ditto.
17269         (image_instantiator_progress_guage): declare new functions.
17270         (image_instantiator_tab_control): ditto.
17271
17272         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17273         now.
17274         (mswindows_update_widget): new function. Update all properties on
17275         a widget that have changed.
17276         (mswindows_button_update): new function. Update a button's set
17277         state.
17278         (mswindows_tab_control_update): new function. Update the items in
17279         a tab.
17280         (mswindows_tab_control_set_property): deleted.
17281         (mswindows_progress_gauge_update): new function. Update the
17282         progress gauge's progress.
17283         (mswindows_widget_set_property): deleted. This is all done
17284         asynchronously now.
17285         (mswindows_progress_gauge_set_property): ditto.
17286         (console_type_create_glyphs_mswindows): declare new methods.
17287         (image_instantiator_format_create_glyphs_mswindows): ditto.
17288
17289         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17290         (msprinter_set_frame_properties): ditto.
17291
17292         * console.h (struct console_methods): Add update_widget_method.
17293
17294 2000-02-09  Andy Piper  <andy@xemacs.org>
17295
17296         * gui-msw.c (Fmswindows_shell_execute): Make
17297         mswindows-shell-execute industrial strength.
17298
17299 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17300
17301         * lrecord.h: Make macro argument `props' match member function `plist'.
17302         * fns.c (Fget):
17303         * fns.c (Fput):
17304         * fns.c (Fremprop):
17305         * fns.c (Fobject_plist):
17306         * alloc.c:
17307         * symbols.c:
17308         Object property list frobbing cleanup.
17309         - Allow any lisp object (compared with `eq'), not just symbols, as
17310           keys in object plists.
17311         - Move symbol plist frobbing into symbols.c, where it belongs.
17312         - Move string plist frobbing into alloc.c, where it belongs.
17313         - Everything's an lrecord now, so no need to test for symbolp, etc.
17314         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17315
17316         * extents.c: Reorder code to remove declarations.
17317
17318         * frame.h (store_in_alist): Remove useless declaration.
17319
17320 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17321
17322         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17323         * config.h.in: Add HAVE_XCONVERTCASE.
17324
17325 2000-02-07  Andy Piper  <andy@xemacs.org>
17326
17327         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17328         it breaks many things.
17329
17330 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17331
17332         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17333         actually can start a common comment type.
17334         * src/syntax.h (SYNTAX_END_P): ditto for end.
17335
17336 2000-02-07  Martin Buchholz <martin@xemacs.org>
17337
17338         * XEmacs 21.2.28 is released.
17339
17340 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17341
17342         * event-Xt.c (x_keysym_to_character): New.
17343         (maybe_define_x_key_as_self_inserting_character): New.
17344         (x_has_keysym): New.
17345         Auto-define all keys on the keyboard as self-insert-key.
17346
17347 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17348
17349         * menubar.c (vars_of_menubar): A small code simplification.
17350
17351         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17352
17353         * ExternalShell.c:
17354         * ExternalClient.c:
17355         * EmacsShell-sub.c:
17356         * EmacsManager.c:
17357         * EmacsFrame.c:
17358         Use consistent style for specifying X resources.
17359
17360         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17361         This makes (dontusethis-set-symbol-value-handler) actually usable.
17362
17363         * lrecord.h (lrecord_decription_type):
17364         * alloc.c (pdump_register_sub):
17365         (pdump_dump_data):
17366         (pdump_reloc_one):
17367         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17368         Comply with XEmacs coding style.
17369         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17370         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17371
17372         * keymap.c (Faccessible_keymaps):
17373         Make (accessible-keymaps map "\C-h") do the Right Thing.
17374         Make (accessible-keymaps map []) do the Right Thing.
17375         Make (accessible-keymaps map "") do the Right Thing.
17376         (check_keymap_definition_loop): New function.
17377         (keymap_store_internal): Keep luser from shooting self in foot,
17378           via (define-key ctl-x-4-map "p" global-map).
17379         Remove fullness slot from struct Lisp_Keymap, since hash tables
17380         are now reliable.
17381         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17382
17383 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17384
17385         * redisplay.c (init_redisplay): Fix small memory leak.
17386         * elhash.h:
17387         * elhash.c (pdump_reorganize_hash_table):
17388         Rename from reorganize_hash_table. Change prototype.
17389         Reuse the original memory for hentries.  Save 100k.
17390         * alloc.c (PDUMP_READ): new macro.
17391         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17392         * alloc.c: No need to #ifndef before #undef.
17393
17394         * print.c: Allow debug_print() to print readably by modifying
17395         debug_print_readably.  Use consistent variable names.
17396
17397         * .dbxrc: Try to get things to work even if stopped in a function
17398         without source available by explicitly specifying source files.
17399 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17400
17401         * unexnt.c (_start): Removed bogus code which caused loading heap
17402         from differrent executable file.
17403         Removed bogus assignment to _fmode, which caused inconsistencies.
17404
17405 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17406
17407         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17408         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17409         Do not preliminary `#define signal sigset'.
17410
17411         * systime.h: Do not prototype environ on windows nt and cygwin,
17412         this conflicts with system header.
17413
17414         * syssignal.h: Use correct define for WINDOWSNT
17415
17416         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17417         with system header.
17418
17419         * sysdep.c (near start of file): Fixed commentary and rearranged
17420         ifdefs in readable order.
17421         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17422         (start_of_text):
17423         (end_of_text):
17424         (end_of_data): Do not compile in if using PDUMP.
17425
17426         * symsinit.h: Prototyped vars_of_nt().
17427
17428         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17429         (find_child_console): Use it.
17430         (sys_kill): Use it.
17431
17432         * ntheap.h: Do not extern os_subtype.
17433
17434         * ntheap.c (cache_system_info): Do not cache unneeded:
17435         nt_major_version, nt_minor_version and os_subtype.
17436         (recreate_heap): Do not compile in when PDUMPing.
17437
17438         * nt.c (geteuid and friends): Use the new varibale
17439         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17440         (init_user_info): Removed the above mentioned hackery.
17441         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17442         stat has been fixed in the C runtime.
17443         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17444
17445         * file-coding.c (struct file_coding_dump): Do not define
17446         ucs_to_mule_table in the struct if not MULE.
17447         (struct struct lrecord_description fcd_description_1): Do not dump
17448         the above.
17449
17450         * emacs.c (main_1): Call vars_of_nt().
17451         (right before Fdump_emacs_data): Don't need lastfile if using both
17452         portabe dumper and system malloc.
17453
17454         * alloc.c (Fmemory_limit): Conditionalized out.
17455         (pdump): Use OPEN_BINARY for the portable dump file.
17456         (pdump_load): Ditto.
17457
17458 2000-02-02  Mike Alexander  <mta@arbortext.com>
17459
17460         * nt.c (convert_time): Set tm_isdst before calling mktime and
17461         avoid calling it at all if the compiler supports 64 bit integers.
17462         Also initialize utc_base_ft before using it.
17463
17464 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17465
17466         * frame.c (change_frame_size_1): Take f->internal_border_width
17467         into consideration when calculating the width of the frame.
17468
17469 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17470
17471         * window.c (frame_min_height):
17472         (frame_size_valid_p):
17473         (frame_pixsize_valid_p): Added.
17474         (check_frame_size): Generalized.
17475
17476         * window.h: Prototyped the above.
17477
17478         * lisp.h:
17479         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17480         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17481         Deleted Vwin32_* and Vbinary_process_* unused variables.
17482
17483         * device-msw.c (msprinter_init_device): Do not get printer font
17484         list; Added DEVMODE functions.
17485
17486         * frame-msw.c: Added lots of printer code.
17487
17488         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17489         general.c.
17490
17491         * console-msw.h: Added more msprinter device private slots.
17492
17493 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17494
17495         * event-msw.c (key_needs_default_processing_p): Added.
17496         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17497
17498 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17499
17500         * glyphs.c (image_instance_layout): Mark image instance as clean
17501         after layout.
17502         (glyph_dirty_p): Removed redundant function.
17503         (invalidate_glyph_geometry_maybe): Added.
17504         (update_glyph_cachel_data): Call it.
17505
17506         * glyphs.h: Prototyped it.
17507
17508         * redisplay.c (add_glyph_rune): Call it.
17509         (redisplay_window): Reset glyphs cachels when frame faces have
17510         changed, thus forcing recomputation of built-in border glyphs.
17511
17512 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17513
17514         * Makefile.in.in: Make portable dumper and purify play well together.
17515         Add imperfect, but better than nothing, support for pdump.
17516         Remove xemacs.dmp when temacs is re-generated.
17517         Don't ignore errors when dumping xemacs.
17518
17519         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17520
17521 2000-01-28  Andy Piper  <andy@xemacs.org>
17522
17523         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17524         (setup_normal_frame): ditto.
17525         (setup_frame_without_minibuffer): ditto.
17526         (setup_minibuffer_frame): ditto.
17527         (delete_frame_internal): ditto.
17528         (Fmake_frame_invisible): ditto.
17529         (Ficonify_frame): ditto.
17530
17531         * window.h: change Fset_window_buffer signature.
17532
17533         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17534         (Fset_window_buffer): allow recording of buffer if the window is
17535         the selected window.
17536         (window_loop): Use new Fset_window signature.
17537
17538 2000-01-23  Daniel Pittman  <daniel@danann.net>
17539
17540         * config.h.in: Added template for `HAVE_ATHENA_3D'
17541
17542 2000-01-29  Andy Piper  <andy@xemacs.org>
17543
17544         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17545
17546         * gutter.c (output_gutter): Don't output if the window isn't live.
17547
17548 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17549
17550         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17551         of 01/12/00: Moved SetFocus back here where it belongs.
17552
17553 2000-01-23  Andy Piper  <andy@xemacs.org>
17554
17555         * s/cygwin32.h: declare printer things.
17556
17557 2000-01-26  Andy Piper  <andy@xemacs.org>
17558
17559         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17560         Alexander.
17561
17562 2000-01-24  Andy Piper  <andy@xemacs.org>
17563
17564         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17565         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17566
17567         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17568
17569         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17570
17571         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17572
17573         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17574         (mswindows_output_display_block): Avoid local shadows.
17575
17576         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17577         (mswindows_enqueue_mouse_button_event): ditto.
17578         (mswindows_handle_gui_wm_command): remove declaration.
17579
17580         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17581         warnings.
17582
17583         * console-msw.h: Avoid shadows.
17584         (mswindows_get_toolbar_button_text):
17585         (emacs_mswindows_create_stream_pair):
17586         (emacs_mswindows_delete_stream_pair):
17587         (mswindows_handle_toolbar_wm_command): declare.
17588
17589         * device-msw.c (build_syscolor_string): Avoid shadows.
17590
17591 2000-01-23  Andy Piper  <andy@xemacs.org>
17592
17593         * glyphs-widget.c (widget_instantiate): reverse the items for
17594         layouts so that children are in the expected order.
17595
17596 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17597
17598         * ralloc.c: safe_bcopy ==> memmove
17599         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17600         * s/msdos.h: Remove BCOPY macros.
17601         * insdel.c (gap_right): Remove BCOPY conditional code.
17602         * insdel.c (gap_left): Remove BCOPY conditional code.
17603         XEmacs demands a working ANSI C compiler - hence memmove.
17604
17605         * regex.c (regex_compile): Remove accidental use of trigraphs.
17606
17607 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17608
17609         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17610         event timestamp.
17611
17612 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17613
17614         * event-msw.c (mswindows_drain_windows_queue): Added the
17615         parameter.
17616         (mswindows_need_event): Commented the call to
17617         mswindows_drain_windows_queue().
17618         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17619         only.
17620
17621         * console-msw.h: Moved a few function prototypes here from
17622         event-msw.c.
17623
17624         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17625         parameter from unsigned short to unsigned long.
17626         (Fmswindows_shell_execute): Added return value.
17627
17628 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17629
17630         * sysdep.c (init_system_name):
17631           process-unix.c (unix_canonicalized_host_name):
17632         Don't call freeaddrinfo() if getaddrinfo() fails.
17633
17634         * process-unix.c (unix_open_unix_network_stream):
17635         Moved the code to get a port # into address loop.
17636
17637 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17638
17639         * buffer.c (reinit_vars_of_buffer):
17640         The right place to initialize conversion_in_dynarr and
17641         conversion_out_dynarr.
17642
17643         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17644
17645         * process-unix.c (unix_canonicalize_host_name): Muleize.
17646         (unix_open_network_stream): Muleize.
17647
17648         * buffer.h: Fix up prototypes for ralloc.c functions.
17649
17650 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17651         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17652         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17653                 instead of gethostbyname()
17654         * process-unix.c: In unix_canonicalize_host_name() and
17655                 unix_open_network_stream(), add code to use getaddrinfo()
17656                 instead of gethostbyname().
17657
17658 2000-01-27  Daniel Pittman <daniel@danann.net>
17659
17660         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17661         libs when built with flat Athena.
17662
17663 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17664
17665         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17666         Use coding standards for function prototypes.
17667
17668 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17669
17670         * dialog-msw.c (push_lisp_string_as_unicode):
17671         * doc.c (unparesseuxify_doc_string):
17672         * dired.c (Fuser_name_completion_1):
17673         * dired.c (Fuser_name_all_completions):
17674         * dired.c (free_user_cache):
17675         * dired.c (user_name_completion):
17676         * console-x.c (get_display_arg_connection):
17677         * minibuf.c (clear_echo_area_internal):
17678         * minibuf.c (echo_area_append):
17679         * eldap.c (Fldap_open):
17680         * eldap.c (Fldap_search_internal):
17681         * frame-x.c (x_set_frame_text_value):
17682         * frame-x.c (x_set_frame_properties):
17683         * frame-x.c (x_create_widgets):
17684         * redisplay-tty.c (term_get_fkeys_1):
17685         * objects-x.c (x_parse_nearest_color):
17686         * objects-x.c (x_valid_color_name_p):
17687         * objects-x.c (x_initialize_font_instance):
17688         * objects-x.c (x_list_fonts):
17689         * objects-x.c (x_find_charset_font):
17690         * tooltalk.c (Fadd_tooltalk_message_arg):
17691         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17692         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17693         * process-unix.c (unix_create_process):
17694         * ntproc.c (sys_spawnve):
17695         * sound.c (Fplay_sound_file):
17696         * sound.c (Fplay_sound):
17697         * buffer.c (init_initial_directory):
17698         * buffer.c (init_buffer):
17699         * editfns.c (init_editfns):
17700         * editfns.c (Ftemp_directory):
17701         * editfns.c (Fuser_full_name):
17702         * editfns.c (uncache_home_directory):
17703         * editfns.c (get_home_directory):
17704         * editfns.c (Fuser_home_directory):
17705         * editfns.c (Fformat_time_string):
17706         * editfns.c (Fcurrent_time_string):
17707         * gui-x.c (button_item_to_widget_value):
17708         * database.c (Fopen_database):
17709         * event-Xt.c (x_to_emacs_keysym):
17710         * event-Xt.c (x_event_to_emacs_event):
17711         * event-Xt.c (describe_event_window):
17712         * event-msw.c (mswindows_wnd_proc):
17713         * glyphs-eimage.c (jpeg_instantiate):
17714         * glyphs-eimage.c (gif_instantiate):
17715         * glyphs-eimage.c (png_instantiate):
17716         * glyphs-eimage.c (tiff_instantiate):
17717         * glyphs-x.c (xbm_instantiate_1):
17718         * glyphs-x.c (x_xbm_instantiate):
17719         * glyphs-x.c (x_xface_instantiate):
17720         * glyphs-x.c (autodetect_instantiate):
17721         * glyphs-x.c (cursor_font_instantiate):
17722         * glyphs-x.c (x_widget_instantiate):
17723         * glyphs-x.c (x_widget_set_property):
17724         * glyphs-x.c (x_widget_property):
17725         * glyphs-x.c (BUILD_GLYPH_INST):
17726         * print.c (write_string_to_stdio_stream):
17727         * print.c (output_string):
17728         * print.c (Falternate_debugging_output):
17729         * print.c (Fexternal_debugging_output):
17730         * glyphs-msw.c (extract_xpm_color_names):
17731         * glyphs-msw.c (mswindows_xpm_instantiate):
17732         * glyphs-msw.c (bmp_instantiate):
17733         * glyphs-msw.c (resource_name_to_resource):
17734         * glyphs-msw.c (mswindows_resource_instantiate):
17735         * glyphs-msw.c (xbm_instantiate_1):
17736         * glyphs-msw.c (mswindows_xbm_instantiate):
17737         * glyphs-msw.c (mswindows_xface_instantiate):
17738         * glyphs-msw.c (mswindows_widget_instantiate):
17739         * glyphs-msw.c (add_tree_item):
17740         * glyphs-msw.c (add_tab_item):
17741         * glyphs-msw.c (mswindows_combo_box_instantiate):
17742         * glyphs-msw.c (mswindows_widget_property):
17743         * glyphs-msw.c (mswindows_combo_box_property):
17744         * glyphs-msw.c (mswindows_widget_set_property):
17745         * console.c (stuff_buffered_input):
17746         * objects-msw.c (mswindows_initialize_color_instance):
17747         * objects-msw.c (mswindows_valid_color_name_p):
17748         * objects-msw.c (mswindows_list_fonts):
17749         * objects-msw.c (mswindows_font_instance_truename):
17750         * bytecode.c (optimize_compiled_function):
17751         * select-x.c (symbol_to_x_atom):
17752         * select-x.c (x_atom_to_symbol):
17753         * select-x.c (hack_motif_clipboard_selection):
17754         * select-x.c (selection_data_to_lisp_data):
17755         * select-x.c (lisp_data_to_selection_data):
17756         * select-x.c (Fx_get_cutbuffer_internal):
17757         * select-x.c (Fx_store_cutbuffer_internal):
17758         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17759         * buffer.h (TO_INTERNAL_FORMAT): New function.
17760         * emacs.c (make_arg_list_1):
17761         * emacs.c (make_argc_argv):
17762         * emacs.c (main_1):
17763         * emacs.c (Fdump_emacs):
17764         * emacs.c (split_string_by_emchar_1):
17765         * file-coding.h:
17766         * lisp.h:
17767         * lstream.h:
17768         * symsinit.h:
17769         * device-x.c (x_init_device):
17770         * device-x.c (Fx_valid_keysym_name_p):
17771         * device-x.c (Fx_get_font_path):
17772         * device-x.c (Fx_set_font_path):
17773         * glyphs.c (bitmap_to_lisp_data):
17774         * glyphs.c (pixmap_to_lisp_data):
17775         * alloc.c (make_ext_string): Use coding system arguments.  Update
17776         all callers.
17777         * alloc.c (build_string):
17778         * callproc.c (child_setup):
17779         * callproc.c (init_callproc):
17780         * fileio.c (lisp_strerror):
17781         * fileio.c (directory_file_name):
17782         * fileio.c (Fexpand_file_name):
17783         * fileio.c (Ffile_truename):
17784         * fileio.c (Fsysnetunam):
17785         * fileio.c (Fdo_auto_save):
17786         * sysdep.c (sys_readdir):
17787         * tests.c: New file.  Allow adding C tests.
17788         Replace GET_* macros with a more comprehensible and flexible
17789         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17790         Modify all calls.
17791         Any coding system can be used to do format conversion.
17792         Eliminate enum external_data_format.
17793         Eliminate convert_to_external_format.
17794         Eliminate convert_to_internal_format.
17795         Make sure file-name, keyboard, terminal, and ctext are always
17796         defined as coding systems or aliases.  Make
17797         file-name-coding-system, terminal-coding-system, and
17798         keyboard-coding-system magical variables that are equivalent to
17799         defining the corresponding coding system aliases.
17800
17801         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17802         * file-coding.c (Fcoding_system_alias_p): New function.
17803         * file-coding.c (Fcoding_system_aliasee): New function.
17804         * file-coding.c (append_suffix_to_symbol): New function.
17805         * file-coding.c (dangling_coding_system_alias_p): New function.
17806         * file-coding.c (Ffind_coding_system):
17807         * file-coding.c (Fcopy_coding_system):
17808         * file-coding.c (encode_coding_no_conversion):
17809         * file-coding.c (syms_of_file_coding):
17810         * file-coding.c (vars_of_file_coding):
17811         Rewrite coding system alias code.
17812         Allow nested aliases, like symbolic links.
17813         Allow redefinition of coding system aliases.
17814         Prevent existence of dangling coding system aliases.
17815
17816         * dired.c (Fuser_name_completion_1):
17817         * dired.c (Fuser_name_all_completions):
17818         A crash would happen if user did QUIT in the middle of building
17819         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17820
17821         * lisp.h:
17822         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17823
17824         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17825         an unsigned char *.  Update all callers.
17826
17827 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17828
17829         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17830
17831 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17832
17833         * elhash.c (hentry_description): Use more portable definition.
17834         (resize_hash_table): Initialize new hentries using
17835         xnew_array_and_zero, thereby simplifying the code.
17836
17837         * mule-charset.c (make_charset): Make sure entire object is
17838         initialized, to avoid Purify warnings.
17839
17840         * alloc.c (resize_string): Fix unlikely crash with big strings.
17841
17842 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17843
17844         * realpath.c (xrealpath):
17845         Don't call getwd().
17846
17847 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17848
17849         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17850
17851 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17852
17853         * unexelfsgi.c (unexec): Change the way we decide which segment
17854         should be extended.
17855
17856         Assumption that .bss section should be outside the PT_LOADable
17857         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17858         it's present) is inside the 'data' segment. This would fail the
17859         test which was used to find a segment to grow and cover new
17860         heap. Instead of this assumption, I created another one - on IRIX
17861         the segment to grow should start below .bss and it's address
17862         should extent above the end of .bss. Once this segment is
17863         identified, it's grown to accommodate the new heap and new
17864         zero-length .bss section is added at the end of .data2.
17865
17866 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17867
17868         * eval.c (Feval): Wrong number of arguments should use original
17869         function, not the indirect_function version of it.
17870
17871 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17872
17873         * glyphs-x.c (x_button_instantiate): Don't add image if
17874         it is not a pixmap.
17875         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17876         is relative.
17877
17878 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17879
17880         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17881         declaration.
17882         (DEFVAR_INT_MAGIC): Ditto.
17883         (DEFVAR_BOOL_MAGIC): Ditto.
17884         * glyphs.h: Reindent backslash.
17885
17886 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17887
17888         * glyphs-widget.c (layout_query_geometry):
17889         (layout_layout): Use correct types for gheight, gwidth.
17890
17891 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17892
17893         * EmacsManager.c (QueryGeometry): Purified.
17894
17895 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17896
17897         * alloc.c (make_float): Make sure entire object is initialized, to
17898         avoid Purify warnings.
17899         (pdump_register_sub): Remove useless assignment.
17900         (pdump): Use xmalloc, not malloc.
17901         (pdump_load): Use xmalloc, not malloc.
17902
17903 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17904
17905         * callproc.c:
17906         * dired-msw.c:
17907         * fileio.c:
17908         * process-nt.c:
17909         * redisplay-msw.c:
17910         * sysdep.c: Removed redundant #include <windows.h>
17911
17912 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17913
17914         * frame.c (delete_frame_internal): Do not delete device when its
17915         implementation so declares.
17916         (delete_frame_internal): Set device selected frame to nil when
17917         last frame goes away.
17918
17919         * device-msw.c (msprinter_device_system_metrics): Implemented.
17920         (mswindows_device_system_metrics): Added 'device-dpi property.
17921
17922         * device.c: (Fdevice_printer_p): Added.
17923         Added 'offset-workspace device metric.
17924
17925         * console.h (device_metrics): Declared DM_offset_workspace.
17926
17927 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17928
17929         * fileio.c (Ffile_truename): Remove pointless and confusing
17930         initialization of elen.
17931
17932         * glyphs-widget.c: Compiler warning fixes.
17933
17934 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17935
17936         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17937         instead of a Lisp_Object as argument to make it consistent with
17938         the other LIVE_P macros.
17939         (CHECK_LIVE_PROCESS): New macro.
17940
17941         * process.c: Declare Qprocess_live_p.
17942         (Fprocess_live_p): New function.
17943         (create_process): Use PROCESS_LIVE_P.
17944         (read_process_output): Ditto.
17945         (set_process_filter): Ditto.
17946         (Fdelete_process): Ditto.
17947         (kill_buffer_processes): Ditto
17948         (process_send_signal): Use CHECK_LIVE_PROCESS.
17949         (Fprocess_input_coding_system): Check whether process is still
17950         alive (fix PR#1061).
17951         (Fprocess_output_coding_system): Ditto.
17952         (Fprocess_coding_system): Ditto.
17953         (Fset_process_input_coding_system): Ditto.
17954         (Fset_process_output_coding_system): Ditto.
17955
17956 2000-01-23  Andy Piper  <andy@xemacs.org>
17957
17958         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17959         layout and widget.
17960
17961         * glyphs.c (mark_image_instance): take into account changed
17962         image_instance format.
17963         (image_instance_equal): ditto.
17964         (image_instance_hash): ditto.
17965
17966         * glyphs-widget.c (widget_instantiate): Incorporate layout
17967         instantiation here. Delay layout of the layout until later.
17968         (layout_instantiate): deleted.
17969         (layout_query_geometry): new function. get the geometry of a
17970         layout.
17971         (layout_layout): layout a layout dynamically.
17972         (image_instantiator_widget): New function - splitting up
17973         image_instantiator_format_create_glyphs_widget for netwinder
17974         compilation.
17975         (image_instantiator_buttons):
17976         (image_instantiator_edit_fields):
17977         (image_instantiator_combo_box):
17978         (image_instantiator_scrollbar):
17979         (image_instantiator_progress_guage):
17980         (image_instantiator_tree_view):
17981         (image_instantiator_tab_control):
17982         (image_instantiator_labels):
17983         (image_instantiator_layout): ditto.
17984         (image_instantiator_format_create_glyphs_widget): Call preceding
17985         functions.
17986
17987 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17988
17989         * process.c (Fset_process_coding_system):
17990         * device-x.c (Fx_keysym_hash_table):
17991         Docstring fixes.
17992
17993         * lstream.c (Lstream_write): Return documented value, not 0.
17994
17995         * fileio.c (directory_file_name):
17996         (Fsubstitute_in_file_name):
17997         (Fsubstitute_insert_file_contents_internal):
17998         (Fwrite_region_internal):
17999         * emacs.c:
18000         * sysdep.c:
18001         * getloadavg.c:
18002         * systty.h:
18003         Remove vestigial APOLLO-conditional code.
18004
18005 2000-01-21  Martin Buchholz  <martin@xemacs.org>
18006
18007         * getpagesize.h: Add guard macros.
18008         * libsst.h: Add guard macros.
18009         * libst.h: Add guard macros.
18010         * line-number.h: Add guard macros.
18011         * ndir.h: Add guard macros.
18012         * sysfloat.h: Add guard macros.
18013         * sysfile.h: Add guard macros.
18014         * sysproc.h: Add guard macros.
18015         * syswait.h: Add guard macros.
18016         * xintrinsic.h: Add guard macros.
18017         * xintrinsicp.h: Add guard macros.
18018         * xmmanager.h: Add guard macros.
18019         * xmmanagerp.h: Add guard macros.
18020         * xmprimitive.h: Add guard macros.
18021         * xmu.h: Add guard macros.
18022         * gpmevent.h: Add copyright statement. Add guard macros.
18023         * miscplay.h: Add guard macros.
18024         * *.h: Use consistent C-standards-approved guard macro names.
18025
18026         * opaque.c (make_opaque): Switch parameter order.
18027         * opaque.h (make_opaque): Switch parameter order.
18028         Update all callers.
18029         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
18030
18031         * config.h.in (type_checking_assert): Added.
18032         (bufpos_checking_assert): Added.
18033
18034 2000-01-21  Martin Buchholz  <martin@xemacs.org>
18035
18036         * alloc.c: Harmless pdump changes.
18037         - Use countof().
18038         - spell alignment correctly.
18039         * sysdep.c: Use countof()
18040
18041 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18042
18043         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
18044         initially_selected_for_input() console method, default to 0.
18045         (semi_canonicalize_console_connection): Try to delegate to
18046         canonicalize_console_connection if no such console method.
18047         (canonicalize_console_connection): Vice versa.
18048         (print_console): Do not print nil connection.
18049
18050         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
18051         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
18052         (XDEVIMPF_FRAMELESS_OK): Added.
18053         (CONSOLE_INHERITS_METHOD): Added.
18054
18055         * console-msw.c (mswindows_canonicalize_console_connection):
18056         Added.
18057         (mswindows_canonicalize_device_connection): Added.
18058
18059         * console-msw.h (struct msprinter_device): Added this struct and
18060         accessor macros.
18061         (mswindows_device): Made fontlist a lisp object.
18062
18063         * device.c (semi_canonicalize_device_connection):  Try to delegate
18064         to canonicalize_device_connection if no such console method.
18065         (canonicalize_device_connection): Vice versa.
18066         (print_device): Do not print nil connection.
18067
18068         * device-msw.c (mswindows_init_device): Call InitCommonControls
18069         when have widgets.
18070         (mswindows_delete_device): Removed fontlist deallocation.
18071         (mswindows_mark_device): Added.
18072
18073         * events.c (event_equal): Added abort() at unreached code.
18074         (event_hash): Ditto.
18075
18076         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
18077         fallback tags of Windows devices.
18078
18079         * general.c (syms_of_general): Initialized Qmsprinter.
18080
18081         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
18082         of fallback tags of Windows devices.
18083
18084         * lisp.h: Declared Qmsprinter.
18085
18086         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
18087         of strings.
18088         (mswindows_list_fonts): Ditto.
18089         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
18090         that it can be used by both mswindows and msprinter devices.
18091         (initialize_font_instance): Added.
18092         (mswindows_initialize_font_instance): Use it.
18093         (msprinter_initialize_font_instance): Added.
18094
18095         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
18096         and implementation flags check.
18097         (redisplay_without_hooks): Changed the call to the above.
18098         (Fredraw_device): Ditto.
18099         (Fredisplay_device): Ditto.
18100
18101         * redisplay-msw.c (get_frame_dc): Implemented.
18102         (get_frame_compdc): Implemented.
18103         (many functions): Use the two functions above to get device
18104         contexts, ether for a window or a printer.
18105
18106 2000-01-21  Olivier Galibert  <galibert@pobox.com>
18107
18108         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
18109         initialization here.
18110         (init_symbols_once_early): Call it.
18111         * emacs.c (main_1): Call it.
18112         * symsinit.h: Declare it.
18113
18114 2000-01-19  Olivier Galibert  <galibert@pobox.com>
18115
18116         * alloc.c: Use a lrecord_header * in the backtrace instead of a
18117         Lisp_Object.
18118         (pdump_backtrace): Ditto.
18119         (pdump_register_object): Ditto.  Cleanup use of the pointers.
18120         (pdump_get_entry): Abort if trying to register a null pointer.
18121         (pdump_dump_data): Cleanup types when relocating.
18122         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
18123         (pdump_dump_rtables): Remove bad casts.
18124         (pdump_load): Cleanup relocation w.r.t union type.  Use a
18125         Lisp_Object instead of a EMACS_INT for the hashtable
18126         reorganization.
18127
18128 2000-01-20  Martin Buchholz  <martin@xemacs.org>
18129
18130         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
18131
18132         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
18133
18134         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
18135
18136         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
18137
18138 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18139
18140         * faces.h (FACE_STRIKETHRU_P): Added.
18141
18142         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
18143         of font variants.
18144
18145         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
18146         (mswindows_set_dc_font): New function, aware of font variants,
18147         separated from mswindows_update_dc.
18148
18149         * objects-msw.h (struct mswindows_font_instance_data): Added
18150         definition.
18151
18152         * objects-msw.c (mswindows_finalize_font_instance): Delete all
18153         cached fonts and the data structure.
18154         (mswindows_initialize_font_instance): Added creation of font data
18155         structure.
18156         (mswindows_print_font_instance): Print at least something.
18157         (mswindows_create_font_variant): Implemented.
18158         (mswindows_get_hfont): Implemented.
18159
18160 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18161
18162         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18163         prototyping problem with msvc.
18164
18165         * emacs.c (main_1): added syms_of_gui_mswindows() call
18166
18167         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18168         syms_of_gui_mswindows() function
18169
18170         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18171
18172 2000-01-18  Martin Buchholz <martin@xemacs.org>
18173
18174         * XEmacs 21.2.27 is released.
18175
18176 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18177
18178         * glyphs-eimage.c (struct tiff_error_struct):
18179         (tiff_error_func):
18180         (tiff_warning_func):
18181         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18182
18183         * unexmips.c:
18184         * unexhp9k3.c:
18185         * unexfreebsd.c:
18186         * unexec.c: Remove vestigial Lucid C code.
18187         * unexalpha.c:
18188         * unexaix.c:
18189         * termcap.c:
18190         * libsst.c: Ansify.
18191         Remove declarations of errno and strerror().
18192
18193         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18194
18195         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18196
18197 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18198
18199         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18200         Optimize.
18201
18202 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18203
18204         * md5.c:
18205         * file-coding.c:
18206         * file-coding.h:
18207         Change enum eol_type to eol_type_t.
18208
18209 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18210
18211         * gui.c (get_gui_callback): Check cons before accessing car.
18212
18213 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18214
18215         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18216         (XSETSPECIFIER_TYPE): Ditto.
18217
18218 2000-01-17  Didier Verna  <didier@xemacs.org>
18219
18220         * redisplay.c (generate_fstring_runes): compute string size in
18221         characters, not bytes.
18222
18223 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18224
18225         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18226
18227 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18228
18229         * print.c (print_error_message): Call print_prepare().
18230
18231 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18232
18233         * .dbxrc: Renamed from dbxrc.
18234
18235         * events.c (event_to_character):
18236         Use `assert (foo)' instead of `if (!foo) abort()'
18237
18238         * .gdbinit (xtype): Add documentation.
18239         * .gdbinit (check-temacs): New function.
18240         * .gdbinit (check-xemacs): New function.
18241         * dbxrc (check-xemacs): New function.
18242         * dbxrc (check-xemacs): New function.
18243
18244 2000-01-14  Andy Piper  <andy@xemacs.org>
18245
18246         * glyphs-widget.c (widget_query_geometry): Make sure that we
18247         calculate default dimensions correctly.
18248
18249 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18250
18251         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18252
18253         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18254         pdump_wire'd variable.
18255
18256         * emacs.c: (main_1): Conditionalized calls to
18257         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18258
18259 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18260
18261         * window.c (Fset_window_configuration):
18262         * sysdep.c (_start):
18263         * input-method-motif.c (res):
18264         * event-Xt.c (Xt_process_to_emacs_event):
18265         Simple compiler warning fixes.
18266
18267         * bytecode.c (funcall_compiled_function): Use the original
18268         function symbol on the backtrace list in preference to the
18269         compiled_function object in error messages.
18270
18271 2000-01-13  Andy Piper  <andy@xemacs.org>
18272
18273         * glyphs-x.c (update_widget_face): Make sure we update the widget
18274         background as well as foreground.
18275
18276 2000-01-13  Andy Piper  <andy@xemacs.org>
18277
18278         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18279         fields to subwindow.
18280         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18281         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18282         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18283         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18284
18285         * glyphs-widget.c (check_valid_tab_orientation): new function.
18286         (initialize_widget_image_instance): zero orientation and
18287         justification.
18288         (widget_instantiate): pick up orientation.
18289         (tab_control_query_geometry): return appropriate values for
18290         vertical tabs.
18291
18292         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18293         appropriate creation flags for left, right and bottom tabs.
18294
18295         * s/cygwin32.h: add tab definitions.
18296
18297 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18298
18299         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18300         frame upon hiding a subwindow.
18301         (mswindows_button_instantiate): Changed the push button style to
18302         BS_PUSHBUTTON.
18303         (mswindows_button_instantiate): Removed button BS_NOTIFY
18304         style.
18305         (mswindows_button_instantiate): Removed redundant check for
18306         a disabled gui item.
18307         (mswindows_button_instantiate): Made use of WS_TABSTOP
18308         consistent: "operable" controls (edit, button, tree, scroll) have
18309         this style, "display-only" ones (static, progress gauge) do
18310         not. This style is currently ignored by XEmacs though. Also,
18311         removed the WS_EX_CONTROLPARENT style - it is not for children,
18312         it is for their parents!
18313         (mswindows_edit_field_instantiate): Ditto.
18314         (mswindows_progress_gauge_instantiate): Ditto.
18315         (mswindows_tree_view_instantiate): Ditto.
18316         (mswindows_tab_control_instantiate): Ditto.
18317         (mswindows_scrollbar_instantiate): Ditto.
18318         (mswindows_combo_box_instantiate): Ditto.
18319         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18320         style to the "clip" window.
18321         (mswindows_button_instantiate): Removed compilation warning by
18322         equally typing terms of the ?: operator.
18323
18324 2000-01-12  Didier Verna  <didier@xemacs.org>
18325
18326         * redisplay.c (generate_fstring_runes): new parameter holding the
18327         last modeline-format extent.
18328         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18329         extent, fill the glyph block with it.
18330         (generate_fstring_runes): handle these parameters.
18331         (generate_formatted_string_db): ditto.
18332
18333         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18334         glyphs'extents in the modeline.
18335
18336 1999-01-11  Mike Woolley  <mike@bulsara.com>
18337
18338         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18339         256Mb, as a workaround for the non-starting problem many people
18340         have experienced.
18341
18342 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18343
18344         * console-tty.c (Fset_console_tty_output_coding_system):
18345         Force redrawing tty frame.
18346
18347 2000-01-10  Didier Verna  <didier@xemacs.org>
18348
18349         * redisplay.c (generate_fstring_runes): fix size computation bug.
18350
18351 2000-01-09  William M. Perry <wmperry@aventail.com>
18352
18353         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18354
18355 2000-01-09  Andy Piper  <andy@xemacs.org>
18356
18357         * glyphs-msw.c: index -> i to avoid shadows.
18358         (xbm_create_bitmap_from_data): make static.
18359         (check_valid_string_or_int): deleted.
18360         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18361
18362         * glyphs-x.c (x_update_subwindow): remove unused args.
18363
18364         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18365         back pointer - this is done in allocate_image_instance.
18366         (query_string_font): return Qnil to make the compiler happy.
18367         (unmap_subwindow): set to ~0 to make the compiler happy.
18368         (glyph_query_geometry): comment out until used.
18369         (glyph_layout): ditto.
18370
18371 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18372
18373         * insdel.c (signal_after_change): Remove extraneous unbind_to().