update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2012-06-11  MORIOKA Tomohiko  <tomo.git@chise.org>
2
3         * text-coding.c (Qenable_decomposition): New variable in XEmacs
4         CHISE.
5         (Fmake_coding_system): Add new property `enable-decomposition' in
6         XEmacs CHISE.
7         (char_encode_utf8): Don't decompose character if
8         CODING_SYSTEM_ENABLE_DECOMPOSITION (str->codesys) is false.
9         (syms_of_file_coding): Add new symbol `enable-decomposition' in
10         XEmacs CHISE.
11         (complex_vars_of_file_coding): Define new coding-system-property
12         `enable-decomposition' in XEmacs CHISE.
13
14         * file-coding.h (struct Lisp_Coding_System): Add
15         `enable_decomposition' in XEmacs CHISE.
16         (CODING_SYSTEM_ENABLE_DECOMPOSITION): New macro in XEmacs CHISE.
17         (XCODING_SYSTEM_ENABLE_DECOMPOSITION): New macro in XEmacs CHISE.
18
19 2012-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
20
21         * text-coding.c (DECODE_ADD_UCS_CHAR): Add `static'.
22
23 2012-02-11  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
24
25         * text-coding.c (DECODE_ADD_UCS_CHAR): Don't use `INLINE_HEADER'.
26
27         * chartab.c (UINT8_DECODE): Don't use `INLINE_HEADER'.
28         (UINT16_DECODE): Ditto.
29
30         * glyphs-eimage.c (png_instantiate):
31         - Use `png_get_image_height (png_ptr, info_ptr)' instead of
32           `info_ptr->height'.
33         - Use `png_get_image_width (png_ptr, info_ptr)' instead of
34           `info_ptr->width'.
35         - Use `png_get_color_type(png_ptr, info_ptr)' instead of
36           `info_ptr->color_type'.
37         - Use `png_get_bit_depth(png_ptr, info_ptr)' instead of
38           `info_ptr->bit_depth'.
39
40 2011-07-20  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
41
42         * mule-charset.c (charset_code_point): If nil is specified as a
43         feature-value, don't find in mother and return -1.
44
45 2011-07-22  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
46
47         * chartab.c (Fput_char_attribute): Accept nil as a value of
48         CCS-feature [it means that specified object does not have
49         code-point of the CCS-feature].
50
51 2011-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * mule-charset.c (complex_vars_of_mule_charset): Use "jisx0208"
54         instead of "jisx0208\\.1990" as the X-registry of `=jis-x0208'.
55
56 2011-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * text-coding.c (char_encode_as_entity_reference): Don't use
59         `DECODE_CHAR' to detect isolated characters.
60
61         * mule-charset.c (charset_code_point): Change the third argument
62         `defined_only' to `accepted_mode'; `accepted_mode' can be
63         CHAR_ISOLATED_ONLY, CHAR_ALL or CHAR_DEFINED_ONLY.
64
65         * char-ucs.h (CHAR_ISOLATED_ONLY): New macro.
66         (CHAR_ALL): New macro.
67         (CHAR_DEFINED_ONLY): New macro.
68
69 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
70
71         * chartab.c (Fchar_feature_base_name_eq): New function when
72         UTF2000 is enabled.
73         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
74         (syms_of_chartab): Add new builtin function
75         `char-feature-base-name=' when UTF2000 is enabled.
76
77 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
78
79         * text-coding.c (Vdecomposition_feature_list): New variable when
80         UTF2000 is defined.
81         (char_encode_utf8): Refer variable `decomposition-feature-list'
82         instead of `=decomposition' feature.
83         (vars_of_file_coding): Add new variable
84         `decomposition-feature-list' when UTF2000 is defined.
85
86 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
87
88         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
89         `=decomposition' feature.
90
91 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
92
93         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
94         coded-charsets with builtin characters.
95
96 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
97
98         * text-coding.c (Qrep_decomposition): New extern.
99         (char_encode_utf8): Try to encode as combing sequence (or IVS).
100
101 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
102
103         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
104         "#endif" for code to refer Vchise_system_db_directory.
105
106 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
109         (Fconcord_object_adjoin): New function.
110         (Fconcord_object_adjoinX): New function.
111         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
112         `Fconcord_object_adjoinX'.
113
114 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * concord.c:
117         - Include "elconcord.h".
118         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
119           and `Fconcord_object_get' to elconcord.h.
120         (Lisp_CONCORD_DS): Moved to elconcord.h.
121         (struct Lisp_CONCORD_DS): Ditto.
122         (XCONCORD_DS): Ditto.
123         (XSET_CONCORD_DS): Ditto.
124         (CONCORD_DS_P): Ditto.
125         (CHECK_CONCORD_DS): Ditto.
126         (CONCHECK_CONCORD_DS): Ditto.
127         (Lisp_CONCORD_Object): Ditto.
128         (struct Lisp_CONCORD_Object): Ditto.
129         (XCONCORD_OBJECT): Ditto.
130         (XSET_CONCORD_OBJECT): Ditto.
131         (CONCORD_OBJECT_P): Ditto.
132         (CHECK_CONCORD_OBJECT): Ditto.
133         (CONCHECK_CONCORD_OBJECT): Ditto.
134         (CONCORD_OBJECT_GENRE): Ditto.
135         (CONCORD_OBJECT_ID): Ditto.
136         (XCONCORD_OBJECT_ID): Ditto.
137         (XCONCORD_OBJECT_GENRE): Ditto.
138         (concord_object_equal): New function.
139         (LRECORD_IMPLEMENTATION of "concord_object"): Use
140         `concord_object_equal'.
141
142         * elconcord.h: New file.
143
144 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
145
146         * concord.c (print_concord_object): Use readable form even if
147         `print-readably' is nil.
148
149 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
150
151         * concord.c (print_concord_object): Don't display location of
152         data-source when `print-readably' is nil.
153
154 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
155
156         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
157         the default location of data-source.
158         (complex_vars_of_concord): Use Vchise_system_db_directory to
159         assign genre `character' and `feature'.
160
161         * chartab.h (Vchise_system_db_directory): New extern when
162         HAVE_CONCORD is defined.
163
164 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
167         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
168         (Qfeature): Ditto.
169         (Fconcord_object_genre): New function.
170         (syms_of_concord):
171         - Add new builtin symbols `character' and `feature' when
172           HAVE_LIBCHISE is defined.
173         - Add Add new builtin function `concord-object-genre'.  
174         (complex_vars_of_concord): New function; assign genres `character'
175         and `feature' when HAVE_LIBCHISE is defined.
176
177 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * emacs.c (main_1): Call `complex_vars_of_concord' when
180         HAVE_CONCORD is defined.
181
182         * symsinit.h (complex_vars_of_concord): New prototype.
183
184 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * chartab.c (allocate_character): Add `static'.
187
188 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * chartab.c (allocate_character): New function.
191         (Fdefine_char): Use allocate_character().
192
193 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
196         (Ōkawara).
197
198 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
199
200         * chartab.c (save_uint8_byte_table): Fixed problem when a property
201         is unloaded.
202         (save_uint16_byte_table): Likewise.
203
204 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * chartab.c (Fchar_feature_property): New function when LIBCHISE
207         is enabled.
208         (Fput_char_feature_property): Likewise.
209         (syms_of_chartab): Add new builtin functions
210         `char-feature-property' and `put-char-feature-property' when
211         LIBCHISE is enabled.
212
213 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
216         '=>iso-ir.
217         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
218
219 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
222         (make_charset): Add new argument `iso_ir'.
223         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
224         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
225         XEmacs CHISE.
226         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
227         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
228         XEmacs CHISE.
229         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
230         function `make_charset'.
231
232         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
233         (struct Lisp_Charset): Add new member `iso_ir'.
234         (CHARSET_ISO_IR): New macro.
235
236 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
239         code-point by GL charset.
240
241 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * concord.c (concord_id_validate): New function.
244         (structure_type_create_concord): Use `concord_id_validate' instead
245         of `concord_name_validate' to accept integer and character as =id.
246
247 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * concord.c (func_for_each_object): Fix bug about GC-protection.
250
251 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * concord.c (Fconcord_object_put): Check argument FEATURE is a
254         symbol.
255
256 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * text-coding.c (struct decoding_stream): Add new member
259         `bom_flag' in XEmacs CHISE.
260         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
261         in XEmacs CHISE.
262
263 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
264
265         * mule-charset.c: Move definition of `=jis-x0208@1978' to
266         lisp/mule/mule-conf.el.
267
268 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
271         (make_charset): Add new argument `partial'.
272         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
273         (Fmake_reverse_direction_charset): Modify for `make_charset'.
274         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
275         CHISE.
276         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
277         `=jis-x0208' as a partial coded-charset.
278
279 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * text-coding.c (decode_add_er_char): Fix problem when a character
282         represented by an entity-reference is not defined.
283
284 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
285
286         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
287         Qrep_*.
288
289 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
292         (Kasagi).
293
294 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
295
296         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
297         is a relation feature.
298
299 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * chartab.c (syms_of_chartab): Define
302         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
303
304         * chartab.h (Q_denotational): New extern when UTF2000 or
305         HAVE_CONCORD is defined.
306         (Q_denotational_from): Likewise.
307         (Q_subsumptive): Likewise.
308         (Q_subsumptive_from): Likewise.
309
310 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * concord.c (concord_object_put): New function.
313         (Fconcord_object_put): Use `concord_object_put'.
314
315 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * concord.c (Fconcord_define_object): New function.
318         (syms_of_concord): Add new builtin function
319         `concord-define-object'.
320
321 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
324         (Kamo).
325
326 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * concord.c: Add EXFUN for Fconcord_object_get.
329         (Vconcord_genre_object_hash_table): New variable.
330         (concord_genre_cache_get_object): New function.
331         (concord_genre_cache_put_object): New function.
332         (Fconcord_make_object): Use object cache; put object-ID into `=id'
333         feature.
334         (Fconcord_object_put): Call `concord_index_sync' after
335         `concord_index_strid_put_obj'.
336         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
337
338 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * concord.c (Fconcord_decode_object): Do GCPRO for
341         Fconcord_make_object.
342         (func_for_each_object): Likewise; do GCPRO for
343         for_each_object_closure->function.
344         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
345         for_each_object_closure->function, for_each_object_closure->genre,
346         for_each_object_closure->ds and for_each_object_closure->ret.
347         (concord_object_validate): Do GCPRO for Fconcord_make_object.
348
349 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
350
351         * concord.c: Add EXFUNs for Fconcord_decode_object and
352         Fconcord_object_put.
353         (Fconcord_make_object): Change order of arguments.
354         (Fconcord_decode_object): Modify for Fconcord_make_object.
355         (func_for_each_object): Likewise.
356         (concord_object_validate): Likewise.
357         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
358
359 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
360
361         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
362
363 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
364
365         * concord.c (Fconcord_decode_object): Try to use readable print
366         form as a key of Concord-index.
367         (Fconcord_object_get): Try to use readable print form as an ID of
368         Concord-object.
369         (Fconcord_object_put): Try to use readable print form as an ID of
370         Concord-object and a feature value.
371         (Fconcord_object_spec): Try to use readable print form as an ID of
372         Concord-object.
373
374 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * concord.c (print_concord_object): Support readable form.
377
378 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * emacs.c (main_1): Call `structure_type_create_concord' when
381         HAVE_CONCORD is defined.
382
383         * symsinit.h (structure_type_create_concord): New prototype.
384
385         * concord.c (Qconcord_object): New variable.
386         (Qgenre): Likewise.
387         (Q_id): Likewise.
388         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
389         for directory.
390         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
391         char*> for genre-name.
392         (Fconcord_feature_list): Likewise.
393         (Fconcord_make_object): Likewise.
394         (Fconcord_decode_object): Likewise; use <char*> instead of
395         <unsigned char*> for feature_name and strid.
396         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
397         c_obj and feature_name.
398         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
399         char*> for c_value.
400         (struct closure_for_object_spec): Use <char*> instead of <unsigned
401         char*> for member `object_id'.
402         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
403         char*> for feature-name.
404         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
405         for c_obj.
406         (func_for_each_object): Cast to avoid warnings.
407         (Fconcord_foreach_object_in_feature): Use <char*> instead of
408         <unsigned char*> for genre_name and feature_name.
409         (concord_name_validate): New function.
410         (concord_object_validate): Likewise.
411         (concord_object_instantiate): Likewise.
412         (syms_of_concord): Add new builtin symbols `concord-object',
413         `genre' and `=id'.
414         (structure_type_create_concord): New function.
415
416 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
417
418         * concord.c (Vconcord_ds_hash_table): New variable.
419         (Vconcord_genre_hash_table): New variable.
420         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
421         (Fconcord_ds_directory): New function.
422         (Fconcord_assign_genre): New function.
423         (Fconcord_genre_directory): New function.
424         (Fconcord_genre_ds): New function.
425         (Fconcord_feature_list): Allow to omit `ds'.
426         (Fconcord_make_object): Likewise.
427         (Fconcord_decode_object): Likewise.
428         (Fconcord_foreach_object_in_feature): Likewise.
429         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
430         Fconcord_assign_genre, Fconcord_genre_directory and
431         Fconcord_genre_ds.
432         (vars_of_concord): Setup Vconcord_ds_hash_table and
433         Vconcord_genre_hash_table.
434
435 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
436
437         * concord.c (struct closure_for_each_object): Add new member
438         `ret'.
439         (func_for_each_object): Setup the return value to
440         `for_each_object_closure->ret'.
441         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
442         returns the value instead of Qt.
443
444 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * concord.c: New file.
447
448 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
451         `lrecord_type_concord_object'.
452
453 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * symsinit.h (syms_of_concord): New prototype.
456         (vars_of_concord): New prototype.
457
458         * emacs.c (main_1): Setup symbols and variable about concord if
459         HAVE_CONCORD is defined.
460
461         * config.h.in (HAVE_CONCORD): New macro.
462
463 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * chartab.c (Fput_char_attribute): For each character relation
466         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
467
468 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * chartab.c (Fput_char_attribute): Use
471         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
472         calling `put_char_composition'.
473
474 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * chartab.c (Q_halfwidth_of): New variable.
477         (put_char_composition): Return `<-halfwidth' instead of
478         `=decomposition' for compatibility mapping to single character
479         tagged `narrow'.
480         (Fput_char_attribute): Convert char-specs in value of
481         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
482         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
483         for `<-halfwidth'.
484         (syms_of_chartab): Add new symbol `<-halfwidth'.
485
486 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
487
488         * chartab.c (put_char_composition): Return
489         `<-formed@{isolated|initial|medial|final}' for compatibility
490         mapping to single character tagged
491         `{isolated|initial|medial|final}'.
492
493 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
494
495         * chartab.c (Q_compat_of): Deleted.
496         (put_char_composition): Return `<-FOO' for compatibility mapping
497         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
498         of `symbol_name (XSYMBOL(...))'.
499         (Fput_char_attribute): Convert char-specs in value of
500         `{<-|->}font[^*]*' to characters and put reverse links.
501         (Fsave_char_attribute_table): Don't refer Q_compat_of.
502         (syms_of_chartab): Delete builtin symbol `<-compat'.
503
504 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
505
506         * chartab.c (Q_circled_of): New variable.
507         (put_char_composition): Return `<-circled' instead of
508         `=decomposition' for compatibility mapping to single character
509         tagged `circle'.
510         (Fput_char_attribute): Convert char-specs in value of
511         `{<-|->}circled[^*]*' to characters and put reverse links.
512         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
513         for `<-circled'.
514         (syms_of_chartab): Add new symbol `<-circled'.
515
516 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
517
518         * chartab.c (Qto_decomposition_at_circled): New variable.
519         (put_char_composition): Return `=>decomposition@circled' instead
520         of `=decomposition' for compatibility decomposition mapping tagged
521         `circle'.
522         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
523
524 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
525
526         * chartab.c (Q_subscript_of): New variable.
527         (put_char_composition): Return `<-subscript' instead of
528         `=decomposition' for compatibility mapping to single character
529         tagged `sub'.
530         (Fput_char_attribute): Convert char-specs in value of
531         `{<-|->}subscript[^*]*' to characters and put reverse links.
532         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
533         for `<-subscript'.
534         (syms_of_chartab): Add new symbol `<-subscript'.
535
536 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
537
538         * chartab.c (Q_superscript_of): New variable.
539         (put_char_composition): Return `<-superscript' instead of
540         `=decomposition' for compatibility mapping to single character
541         tagged `super'.
542         (Fput_char_attribute): Convert char-specs in value of
543         `{<-|->}superscript[^*]*' to characters and put reverse links.
544         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
545         for `<-superscript'.
546         (syms_of_chartab): Add new symbol `<-superscript'.
547
548 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * chartab.c (Qto_decomposition_at_compat): Deleted.
551         (Qto_decomposition_at_superscript): New variable.
552         (put_char_composition): Use `=>decomposition@superscript' instead
553         of `=decomposition' for compatibility decomposition mapping tagged
554         `super'.
555         (Fput_char_attribute): Fix condition about `put_char_composition'.
556         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
557         add news symbol `=>decomposition@superscript'.
558
559 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
562         for compatibility decomposition mapping tagged FOO.
563         (Fput_char_attribute): Modify for `put_char_composition'.
564
565 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * chartab.c (Qto_decomposition_at_compat): New variable.
568         (Q_compat_of): Renamed from `Q_compatibility_of'.
569         (put_char_composition): Rename `Q_compatibility_of' to
570         `Q_compat_of'; return `=>decomposition@compat' for compatibility
571         decomposition mapping.
572         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
573         `Q_compat_of'.
574         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
575         `<-compatibility' to `<-compat'.
576
577 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
578
579         * chartab.c (Q_compatibility_of): New variable.
580         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
581         object is proved to be a cons cell; return `<-compatibility' if
582         the first element of argument `value' is `compat'.
583         (Fput_char_attribute): Eliminate the first value if
584         `put_char_composition' returns `<-compatibility'.
585         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
586         for `<-compatibility'.
587         (syms_of_chartab): Add new symbol `<-compatibility'.
588
589 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
590
591         * chartab.c (Q_canonical): New variable.
592         (put_char_composition): Return a feature name: return
593         `->canonical' if argument `value' specifies single character.
594         (Fput_char_attribute): Use `put_char_composition' to determine
595         feature name for `=decomposition' or `->denotational'.
596         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
597         for `->canonical'.
598         (syms_of_chartab): Add new symbol `->canonical'.
599
600 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
601
602         * chartab.c (Qmap_decomposition): New variable.
603         (Fput_char_attribute): Convert `->decomposition' to
604         `=decomposition'.
605         (syms_of_chartab): Add new symbol `=decomposition'.
606
607 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
608
609         * chartab.c (Fget_range_char_table): Fix serious problem when
610         `range' is nil.
611
612 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
613
614         * chartab.c (char_table_get_db): Use `read_from_c_string'.
615
616 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * lread.c (read_from_c_string): New function.
619
620         * lisp.h (read_from_c_string): New prototype.
621
622 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
623
624         * chartab.c (Fput_char_attribute): Convert char-specs in value of
625         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
626         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
627         for `{<-|->}Oracle-Bones[^*]*'.
628
629 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
632         (Kizu).
633
634 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * text-coding.c (Qccs_priority_list): New variable in XEmacs
637         CHISE.
638         (Fmake_coding_system): Support new property `ccs-priority-list' in
639         XEmacs CHISE.
640         (Fcoding_system_property): Likewise.
641         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
642         Vdefault_coded_charset_priority_list in XEmacs CHISE.
643         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
644         XEmacs CHISE.
645         (complex_vars_of_file_coding): Define new coding-system-property
646         `ccs-priority-list' in XEmacs CHISE.
647
648         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
649
650 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
651
652         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
653         changed to normal function.
654         (encode_char_2): Likewise.
655
656         * mule-charset.c (decoding_table_put_char): Copied from
657         char-ucs.h; changed to normal function.
658         (encode_char_2): Likewise.
659
660 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
661
662         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
663         New extern.
664         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
665         (encode_char_2_search_children): New inline function.
666         (encode_char_2): Refer
667         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
668         and use `encode_char_2_search_children'.
669
670 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
671
672         * mule-charset.c
673         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
674         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
675         (vars_of_mule_charset): Add new variable
676         `display-coded-charset-priority-use-inheritance' and
677         `display-coded-charset-priority-use-hierarchy-order'.
678
679 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * char-ucs.h (Q_subsumptive): New extern.
682         (Q_denotational): Likewise.
683         (encode_char_2): Search children specified by `->subsumptive' and
684         `->denotational'.
685
686 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * mule-charset.c (complex_vars_of_mule_charset): Modify the
689         X-registry of `ucs-bmp'.
690
691 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
692
693         * chartab.c (char-variants): Refer `->subsumptive',
694         `->denotational' and `->identical' as same as `->ucs-unified'.
695
696 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * chartab.c (Fput_char_attribute): Convert char-specs in value of
699         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
700         links.
701
702 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
703
704         * text-coding.c: Add EXFUN for `Fregexp_quote'.
705         (decode_add_er_char): Fix problem about infinite loop when a CCS
706         specified in `coded-charset-entity-reference-alist' is not
707         existed.
708
709 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
710
711         * mule-charset.c (syms_of_mule_charset): Rename
712         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
713
714 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
715
716         * fns.c (simplify_char_spec): Don't allocate new character-object
717         if specified char_spec does not have any CCS-features.
718
719         * chartab.h: Add EXFUN for Fdefine_char.
720
721         * chartab.c: Delete EXFUN for Fdefine_char.
722
723 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * fns.c (simplify_char_spec): Use Fdefine_char instead of
726         Ffind_char for char-spec.
727
728 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
729
730         * lisp-disunion.h (XCHARVAL): Fix condition about
731         SIZEOF_EMACS_INT.
732
733 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
734
735         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
736         <int> for `code'.
737         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
738         point; use <Emchar> instead of <int> for character-id.
739
740 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
741
742         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
743         (make_char): Likewise.
744         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
745         environment.
746         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
747         instead of <int> as the type of return value; use <Lisp_Object>
748         instead of <Emchar> as the type of argument.
749         (XCHARVAL[macro version]): Cast the result into <Emchar>.
750
751         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
752         syntaxcode> instead of <int>.
753
754 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
755
756         * chartab.c (put_char_composition): Use DECODE_CHAR to get
757         character corresponding with UCS code point.
758         (Fput_char_attribute): Likewise.
759
760         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
761         character in the UCS decoding-table if the char-id is not equal to
762         the UCS code point.
763
764 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
767         for aliases; write `description'; write
768         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
769         not 0.
770
771 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * chartab.c (Fsave_char_attribute_table): Don't use
774         `save_charset_properties'.
775
776         * mule-charset.c (Fsave_charset_properties): Renamed from
777         `save_charset_properties' and changed to Lisp function again;
778         write property `type' as `CCS'; write properties `final-byte' and
779         `mother' if they exists.
780         (syms_of_mule_charset): Revive builtin function
781         `save-charset-properties' when HAVE_LIBCHISE is defined.
782
783 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
784
785         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
786         instead of Vexec_directory.
787         (char_attribute_system_db_file): Likewise.
788
789 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
790
791         * chartab.c (Fsave_char_attribute_table): Use
792         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
793         defined.
794
795         * mule-charset.c (save_charset_properties): Renamed from
796         `Fsave_charset_properties'; changed to non-Lisp function.
797         (syms_of_mule_charset): Abolish builtin function
798         `save-charset-properties'.
799
800 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
801
802         * mule-charset.c (Fsave_charset_properties): New function when
803         HAVE_LIBCHISE is defined.
804         (syms_of_mule_charset): Add new builtin function
805         `save-charset-properties' when HAVE_LIBCHISE is defined.
806
807 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * chartab.c (Fput_char_attribute): Convert char-specs in value of
810         `{<-|->}ancient[^*]*' to characters and put reverse links.
811         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
812         for `{<-|->}ancient[^*]*'.
813
814 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * chartab.c (Fput_char_attribute): Convert char-specs in value of
817         `{<-|->}original[^*]*' to characters and put reverse links.
818         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
819         for `{<-|->}original[^*]*'.
820
821 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
824
825 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
826
827         * mule-charset.c (Qsystem_char_id): New variable.
828
829         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
830         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
831
832 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
833
834         * chartab.c (Fput_char_attribute): When processing a reference of
835         a character, put into the end of the reversed reference of each
836         target character.
837
838 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * chartab.c (Q_same): Deleted.
841         (Q_same_of): Deleted.
842         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
843         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
844         for `{<-|->}same'.
845         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
846
847 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
848
849         * chartab.c (Q_vulgar): Deleted.
850         (Q_vulgar_of): Deleted.
851         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
852         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
853         for `{<-|->}vulgar'.
854         (syms_of_chartab): Don't define `{<-|->}vulgar'.
855
856 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
857
858         * chartab.c (Fput_char_attribute): Convert char-specs in value of
859         `{<-|->}wrong[^*]*' to characters and put reverse links.
860         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
861         for `{<-|->}wrong[^*]*'.
862
863 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
864
865         * chartab.c (Q_vulgar): New variable.
866         (Q_vulgar_of): New variable.
867         (Fput_char_attribute): Convert char-specs in value of
868         `{->|<-}vulgar' to characters and put reverse links.
869         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
870         for `{->|<-}vulgar'.
871         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
872
873 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
874
875         * text-coding.c (decode_add_er_char): Must to quote prefix string
876         as regexp.
877
878 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * mule-charset.c (put_char_ccs_code_point): Store characters of
881         =ucs whose code_points >= 0xF0000.
882
883 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
886         CHISE.
887         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
888         CHISE.
889         (complex_vars_of_mule_charset): Add new coded-charset
890         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
891         builtin characters over 0xEFFFF.
892
893         * chartab.c (syms_of_chartab): Don't define symbol
894         `system-char-id' in every case.
895
896         * char-ucs.h (Qsystem_char_id): New extern variable.
897         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
898
899 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * text-coding.c (char_encode_utf8): Try to use entity-references
902         for U-000F0000 ...  U-0010FFFF.
903
904 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * text-coding.c (ER_BUF_SIZE): New macro.
907         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
908         `er_buf'.
909         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
910         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
911
912 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * chartab.c (find_char_feature_in_family): New function.
915         (Fchar_feature): Use `find_char_feature_in_family' with
916         `->identical', `<-subsumptive' and `<-denotational'.
917
918 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * text-coding.c (char_encode_as_entity_reference): Allow prefix
921         within 8 characters; fix infinite loop.
922
923 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * chartab.c (Q_same): New variable.
926         (Q_same_of): New variable.
927         (Fput_char_attribute): Convert char-specs in value of
928         `{->|<-}same' to characters and put reverse links.
929         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
930         for `{->|<-}same'.
931         (syms_of_chartab): Add new symbols `{->|<-}same'.
932
933 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
934
935         * chartab.c (Q_component): New variable.
936         (Q_component_of): Likewise.
937         (Fput_char_attribute): Convert char-specs in value of
938         `{->|<-}ideographic-component-forms' to characters and put reverse
939         links.
940         (syms_of_chartab): Add new symbols
941         `{->|<-}ideographic-component-forms'.
942
943 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
944
945         * chartab.c (Q_identical): New variable.
946         (Q_identical_from): New variable.
947         (Fchar_feature): Regard `->identical' as a feature to find
948         ancestors.
949         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
950         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
951         for `{->|<-}identical'.
952         (syms_of_chartab): Add new symbols `{->|<-}identical'.
953
954 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * char-ucs.h (encode_char_2): New inline function.
957         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
958
959 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
960
961         * chartab.c (Fput_char_attribute): Convert char-specs to
962         characters in value of `ideographic-structure'.
963         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
964         for `{<-|->}simplified(@...)'.
965         (Fdefine_char): Try to use predefined character's id.
966
967 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
968
969         * fns.c (simplify_char_spec): Try to convert builtin chars to
970         defined chars.
971
972 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
973
974         * chartab.c (Fput_char_attribute): Convert char-specs in value of
975         `<-simplified[^*]*' to characters and put reverse links.
976
977 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
978
979         * chartab.c (Q_subsumptive): Renamed from Q_unified.
980         (Q_subsumptive_from): Renamed from Q_unified_from.
981         (Fchar_feature): Use `Q_subsumptive_from' instead of
982         `Q_unified_from'.
983         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
984         `Q_unified'.
985         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
986         `<-unified' to `<-subsumptive'.
987
988 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
989
990         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
991         inheritance itself; fix typo; stop recursive search if cyclic
992         inheritance is found.
993
994 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
995
996         * chartab.c (Q_denotational): New variable.
997         (Q_denotational_from): New variable.
998         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
999         (put_char_attribute): New function.
1000         (Fput_char_attribute): Use `put_char_attribute'; regard
1001         `->denotational' and `<-denotational' as same as `->unified' and
1002         `<-unified'.
1003         (syms_of_chartab): Add new symbols `->denotational' and
1004         `<-denotational'.
1005
1006 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1007
1008         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
1009         `Fget_char_attribute'.
1010         (Fchar_variants): Likewise.
1011         (get_char_table): Likewise.
1012         (Fchar_feature): New function.
1013         (put_char_composition): Use `Fchar_feature' instead of
1014         `Fget_char_attribute'.
1015         (Fput_char_attribute): Likewise; don't put the target character
1016         into its `->unified' value.
1017         (syms_of_chartab): Add new builtin function `char-feature'.
1018
1019 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1020
1021         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
1022         `Fget_char_attribute'.
1023         (char_encode_utf8): Likewise.
1024
1025         * chartab.h: Add an EXFUN for `Fchar_feature'.
1026
1027 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1028
1029         * chartab.c (Vnext_defined_char_id): New variable.
1030         (Fput_char_attribute): Accept characters in `->unified'.
1031         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
1032         new characters which are not related with builtin char-id ranges.
1033         (vars_of_chartab): Add new variable `next-defined-char-id'.
1034
1035 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1036
1037         * chartab.c (Q_unified): New variable.
1038         (Q_unified_from): New variable.
1039         (Fput_char_attribute): Add code for `->unified'.
1040         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
1041         XEmacs CHISE.
1042
1043 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1044
1045         * mule-charset.c (decode_ccs_conversion): New function.
1046         (decode_defined_char): Use `decode_ccs_conversion'.
1047         (decode_builtin_char): Likewise.
1048
1049 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1050
1051         * char-ucs.h: Change some charset-ids of private coded-charsets.
1052
1053 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1054
1055         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
1056         (char_encode_as_entity_reference): Likewise.
1057         (decode_coding_big5): Modify for `decode_defined_char' and
1058         `DECODE_CHAR'.
1059         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
1060         avoid compiler warning.
1061         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
1062
1063         * mule-charset.c (decode_defined_char): Add new argument
1064         `without_inheritance'.
1065         (Fdecode_char): Add new optional argument `without_inheritance'.
1066         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1067
1068         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1069         (simplify_char_spec): Likewise.
1070
1071         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1072         setting.
1073
1074         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1075         (map_char_table): Likewise.
1076         (Fdefine_char): Use `Fdecode_char' without inheritance.
1077         (Ffind_char): Modify for `Fdecode_char'.
1078
1079         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1080
1081         * char-ucs.h (decode_defined_char): Add new argument
1082         `without_inheritance'.
1083         (DECODE_CHAR): Likewise.
1084         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1085
1086 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1087
1088         * chartab.c (Vchise_system_db_directory): New variable.
1089         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1090
1091 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1094         (print_chartab_range): Don't define when `UTF2000' is defined.
1095         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1096         `CHISE_DS_open'.
1097
1098 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1099
1100         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1101         and optional argument `rehash' is specified, call
1102         `open_chise_data_source_maybe' before
1103         `chise_ds_foreach_char_feature_name' is called.
1104
1105 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * chartab.c (char_attribute_list_reset_map_func): New function
1108         when HAVE_LIBCHISE is defined.
1109         (Fchar_attribute_list): Add new optional argument `rehash' when
1110         HAVE_LIBCHISE is defined.
1111         (open_chise_data_source_maybe): Use "chise-db" instead of
1112         "char-db".
1113         (char_attribute_system_db_file): Likewise.
1114         (Fload_char_attribute_table): Use
1115         `chise_feature_foreach_char_with_value' instead of
1116         `chise_char_feature_value_iterate'.
1117
1118 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1119
1120         * chartab.c (Vchise_db_directory): New variable.
1121         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1122
1123 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1124
1125         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1126         instead of HAVE_CHISE to specify using with libchise.
1127
1128         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1129
1130         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1131
1132         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1133         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1134         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1135         is defined.
1136         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1137         HAVE_CHISE to specify using with libchise.
1138         (syms_of_chartab): Don't define symbol `system-char-id' when
1139         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1140
1141 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1142
1143         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1144         specify CHISE DB support.
1145         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1146         of `char_attribute_system_db_file' to check feature DB file.
1147
1148         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1149         HAVE_CHISE_CLIENT to specify CHISE DB support.
1150
1151         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1152         specify CHISE DB support.
1153         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1154         not defined.
1155         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1156         instead of `char_attribute_system_db_file' to check feature DB
1157         file.
1158
1159 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1160
1161         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1162         `HAVE_CHISE_CLIENT'.
1163
1164 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1165
1166         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1167         (Fsave_charset_mapping_table): Don't use
1168         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1169
1170         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1171         (HAVE_LIBCHISE): New macro.
1172
1173         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1174
1175         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1176         (Fsave_char_attribute_table): Don't use
1177         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1178
1179 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1180
1181         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1182         defined.
1183         (save_uint16_byte_table): Likewise.
1184         (save_byte_table): Likewise.
1185         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1186         instead of `chise_char_load_feature_value'.
1187         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1188
1189 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1190
1191         * chartab.h (struct Lisp_Char_Table): Delete member
1192         `feature_table' if CHISE is defined.
1193
1194         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1195         (Fcopy_char_table): Likewise.
1196         (char_table_open_db_maybe): Likewise.
1197         (char_table_close_db_maybe): Likewise.
1198         (char_table_get_db): Likewise.
1199         (Fmount_char_attribute_table): Likewise.
1200         (Fload_char_attribute_table): Likewise.
1201
1202 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1203
1204         * mule-charset.c (load_char_decoding_entry_maybe): Use
1205         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1206         `chise_ccs_decode'.
1207
1208 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1209
1210         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1211         instead of `chise_open_data_source'.
1212         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1213         `chise_ds_close'.
1214
1215 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1216
1217         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1218         instead of `chise_ds_open_feature_table'.
1219         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1220
1221 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1222
1223         * mule-charset.c (Fsave_charset_mapping_table): Use
1224         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1225         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1226         `chise_ccs_sync' instead of `chise_ccst_close'.
1227         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1228
1229         * chartab.c (open_chise_data_source_maybe): Modify for
1230         `chise_open_data_source'.
1231         (char_table_open_db_maybe): Modify for
1232         `chise_ds_open_feature_table'.
1233
1234 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1235
1236         * mule-charset.c (load_char_decoding_entry_maybe): Use
1237         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1238         `chise_ccst_close'.
1239
1240 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1241
1242         * mule-charset.c (Fsave_charset_mapping_table): Use
1243         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1244         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1245         `chise_dt_put_char' and `chise_dt_close'.
1246         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1247         `chise_ccs_decode' and `chise_ccst_close' instead of
1248         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1249         `chise_dt_close'.
1250
1251         * chartab.c (char_table_get_db): Use
1252         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1253         (load_char_attribute_table_map_func): Modify for
1254         `chise_char_feature_value_iterate'.
1255         (Fload_char_attribute_table): Use
1256         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1257
1258 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1259
1260         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1261
1262 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1263
1264         * chartab.c (put_char_table): Modify for inherited coded-charsets
1265         in XEmacs CHISE.
1266
1267 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1268
1269         * chartab.c (Fput_char_table_map_function): Fixed.
1270         (word_boundary_p): Don't check charset in XEmacs CHISE.
1271
1272 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1273
1274         * mule-charset.c (Fsave_charset_mapping_table): Use
1275         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1276         instead of `chise_open_decoding_table'; refer
1277         `default_chise_data_source'; use `chise_dt_close' instead of
1278         `chise_close_decoding_table'.
1279         (load_char_decoding_entry_maybe): Likewise.
1280
1281         * chartab.c (default_chise_data_source): New variable when `CHISE'
1282         is defined.
1283         (Fcopy_char_table): `ct->ds' is deleted.
1284         (open_chise_data_source_maybe): New function.
1285         (Fclose_char_data_source): New function.
1286         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1287         use `chise_ds_open_feature_table' instead of
1288         `chise_open_feature_table'.
1289         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1290         `chise_close_feature_table'; `cit->ds' is deleted.
1291         (syms_of_chartab): Add new builtin function
1292         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1293
1294         * chartab.h (default_chise_data_source): New extern variable.
1295         (open_chise_data_source_maybe): New prototype.
1296         (struct Lisp_Char_Table): Delete `ds'.
1297
1298 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1299
1300         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1301         `CHISE' is defined.
1302
1303 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1304
1305         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1306         not defined; add code for non-libchise setting.
1307         (char_table_close_db_maybe): Likewise.
1308         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1309         defined.
1310         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1311         even if `CHISE' is not defined.
1312         (Freset_char_attribute_table): Likewise.
1313         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1314         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1315         `char_table_get_db'.
1316         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1317         `char_table_close_db_maybe' even if `CHISE' is not defined.
1318
1319 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1320
1321         * chartab.c (char_table_open_db_maybe): New function.
1322         (char_table_close_db_maybe): New function.
1323         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1324         (Freset_char_attribute_table): Likewise.
1325         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1326         `char_table_close_db_maybe'.
1327         (Fload_char_attribute_table): Likewise.
1328
1329 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1330
1331         * chartab.c: Don't include <chise.h> because it is included in
1332         chartab.h.
1333         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1334         defined.
1335         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1336         `CHISE' is defined.
1337         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1338         `CHISE' is defined.
1339         (Fclose_char_attribute_table): Close `ct->feature_table' and
1340         `ct->ds' when `CHISE' is defined.
1341         (Freset_char_attribute_table): Likewise.
1342         (load_char_attribute_maybe): Use `cit->ds' and
1343         `cit->feature_table' when `CHISE' is defined.
1344         (Fload_char_attribute_table): Likewise.
1345
1346         * chartab.h: Include <chise.h> when `CHISE' is defined.
1347         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1348         when `CHISE' is defined.
1349
1350 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1351
1352         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1353         is defined.
1354         (char_table_description): Likewise.
1355         (Fmake_char_table): Likewise.
1356         (Fcopy_char_table): Likewise.
1357         (Fmount_char_attribute_table): Likewise.
1358         (Fclose_char_attribute_table): Likewise.
1359         (Freset_char_attribute_table): Likewise.
1360         (load_char_attribute_maybe): Likewise.
1361         (Fload_char_attribute_table): Likewise.
1362
1363         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1364         defined.
1365
1366 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1367
1368         * chartab.c (load_char_attribute_table_map_func): New function
1369         when CHISE is defined.
1370         (Qload_char_attribute_table_map_function): Don't define when CHISE
1371         is defined.
1372         (Fload_char_attribute_table_map_function): Likewise.
1373         (Fload_char_attribute_table): Use libchise when `CHISE' is
1374         defined.
1375         (syms_of_chartab): Don't define
1376         `load-char-attribute-table-map-function' when CHISE is defined.
1377
1378 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1379
1380         * chartab.c: Include <chise.h> when `CHISE' is defined.
1381         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1382
1383 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1384
1385         * mule-charset.c (charset_code_point): Fix problem when searching
1386         in mother CCS fails with `defined_only' mode.
1387
1388 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1389
1390         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1391         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1392         (put_char_composition): Likewise.
1393         (Fput_char_attribute): Likewise.
1394         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1395
1396 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1397
1398         * chartab.c (Q_ucs): Deleted.
1399         (Fput_char_attribute): Don't refer `->ucs'.
1400         (Fdefine_char): Likewise.
1401         (Ffind_char): Likewise.
1402         (syms_of_chartab): Delete `->ucs'.
1403
1404 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * mule-charset.c (Qmap_cns11643_2): Renamed from
1407         `Qchinese_cns11643_2'.
1408         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1409         `chinese-cns11643-2'.
1410         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1411         `=cns11643-2'.
1412
1413 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1414
1415         * mule-charset.c (Qmap_cns11643_1): Renamed from
1416         `Qchinese_cns11643_1'.
1417         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1418         `chinese-cns11643-1'.
1419         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1420         `=cns11643-1'.
1421
1422 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1425         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1426         `chinese-gb12345'.
1427         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1428         `=gb12345'.
1429
1430 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1431
1432         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1433         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1434         `chinese-gb2312'.
1435         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1436         `=gb2312'.
1437
1438 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1439
1440         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1441         (syms_of_mule_charset): Add new symbol `=big5' instead of
1442         `chinese-big5'.
1443         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1444
1445 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1446
1447         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1448         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1449         `korean-ksc5601'.
1450         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1451         `=ks-x1001'.
1452
1453 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1454
1455         * mule-charset.c (Qmap_jis_x0212): Renamed from
1456         `Qjapanese_jisx0212'.
1457         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1458         `japanese-jisx0212'.
1459         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1460         `=jis-x0212'.
1461
1462 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1463
1464         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1465         `Qjapanese_jisx0208'.
1466         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1467         of `japanese-jisx0208'.
1468         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1469         `=jis-x0208-1983'.
1470
1471 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1474         `Qjapanese_jisx0208_1978'.
1475         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1476         of `japanese-jisx0208-1978'.
1477         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1478         `=jis-x0208-1978'.
1479
1480 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1481
1482         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1483         only for XEmacs CHISE.
1484
1485 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1486
1487         * char-ucs.h: Compact non-ISO-IR charset-ids.
1488         (LEADING_BYTE_UCS): Changed to -177.
1489         (LEADING_BYTE_CONTROL_1): Changed to -77.
1490         (LEADING_BYTE_UCS_BMP): Changed to -176.
1491         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1492
1493 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * mule-charset.c (Qiso_ir): New variable.
1496         (Fmake_charset): Recognise new property `iso-ir'.
1497         (syms_of_mule_charset): Add new symbol `iso-ir'.
1498
1499 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1500
1501         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1502         n to -n; charset-id of non ISO-IR sets are changed to positive
1503         numbers.
1504
1505 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1506
1507         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1508         for &MCS-XXXXXXXX; values.
1509
1510 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1511
1512         * mule.c (Vxemacs_chise_version): Renamed from
1513         `Vutf_2000_version'.
1514         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1515         `utf-2000-version' as an alias for `xemacs-chise-version'.
1516
1517 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1518
1519         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1520         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1521         defined.
1522
1523         * config.h.in (CHISE): New macro.
1524
1525 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1526
1527         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1528         of `ucs'.
1529         (Qmap_ucs): New variable.
1530         (syms_of_mule_charset): Add new symbol `=ucs'.
1531         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1532
1533         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1534         (simplify_char_spec): Likewise.
1535
1536         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1537
1538         * char-ucs.h (Qmap_ucs): New extern variable.
1539
1540 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1543         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1544         don't define it when UTF2000 is not defined.
1545         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1546         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1547         when UTF2000 is not defined.
1548         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1549         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1550
1551 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1554
1555         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1556         (Qucs_gb): Deleted.
1557         (syms_of_mule_charset): Delete `ucs-gb'.
1558         (complex_vars_of_mule_charset): Likewise.
1559
1560 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1561
1562         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1563
1564         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1565         (Qucs_cns): Deleted.
1566         (syms_of_mule_charset): Delete `ucs-cns'.
1567         (complex_vars_of_mule_charset): Likewise.
1568
1569 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1572
1573         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1574         (Qucs_jis): Deleted.
1575         (syms_of_mule_charset): Delete `ucs-jis'.
1576         (complex_vars_of_mule_charset): Likewise.
1577
1578 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1579
1580         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1581
1582         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1583         (Qucs_ks): Deleted.
1584         (syms_of_mule_charset): Delete `ucs-ks'.
1585         (complex_vars_of_mule_charset): Likewise.
1586
1587 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1590         (Qideograph_daikanwa_2): Deleted.
1591         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1592         (complex_vars_of_mule_charset): Likewise.
1593
1594         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1595         (LEADING_BYTE_DAIKANWA_1): Deleted.
1596         (LEADING_BYTE_DAIKANWA_2): Deleted.
1597         (MIN_CHAR_DAIKANWA): Deleted.
1598         (MAX_CHAR_DAIKANWA): Deleted.
1599
1600 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1601
1602         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1603         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1604         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1605
1606         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1607         (Vcharset_ideograph_daikanwa): Deleted.
1608         (Qideograph_hanziku_{1..12}): Deleted.
1609         (Qideograph_daikanwa): Deleted.
1610         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1611         Vcharset_ideograph_daikanwa.
1612         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1613         `ideograph-hanziku-{1..12}'.
1614         (complex_vars_of_mule_charset): Likewise.
1615
1616 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1617
1618         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1619
1620         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1621         (Qideograph_gt_pj_{1..11}): Deleted.
1622         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1623         (complex_vars_of_mule_charset): Likewise.
1624
1625 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1626
1627         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1628         (Vcharset_ideograph_gt): Deleted.
1629         (Qucs_big5): Deleted.
1630         (Qideograph_gt): Deleted.
1631         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1632         `ideograph-gt'.
1633         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1634         and `ideograph-gt'.
1635
1636         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1637         (LEADING_BYTE_GT): Deleted.
1638         (MIN_CHAR_GT): Deleted.
1639         (MAX_CHAR_GT): Deleted.
1640
1641 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1642
1643         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1644
1645 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1646
1647         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1648         (save_uint16_byte_table): Likewise.
1649         (save_byte_table): Likewise; convert values by it.
1650         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1651         for `ideographic-structure'.
1652         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1653         as the filter for `ideographic-structure'.
1654
1655 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1656
1657         * chartab.c (put_char_composition): New function.
1658         (Fput_char_attribute): Use `put_char_composition'; use
1659         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1660
1661         * fns.c (simplify_char_spec): New function.
1662         (char_ref_simplify_spec): New function.
1663         (Fchar_refs_simplify_char_specs): New function.
1664         (syms_of_fns): Add new builtin function
1665         `char-refs-simplify-char-specs'.
1666
1667 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1668
1669         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1670         (Qideograph_cbeta): Deleted.
1671         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1672         (complex_vars_of_mule_charset): Likewise.
1673
1674         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1675         (MIN_CHAR_CBETA): Comment out.
1676         (MAX_CHAR_CBETA): Likewise.
1677
1678 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1679
1680         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1681         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1682         CHISE client feature.
1683
1684 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1685
1686         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1687
1688 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1689
1690         * mule-charset.c (charset_lookup_description_1): Use
1691         `NUM_LEADING_BYTES' in UTF-2000.
1692
1693 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1694
1695         * char-ucs.h (GC_CHARSETP): Deleted.
1696
1697 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1698
1699         * char-ucs.h (MAX_CHAR_GT): Updated.
1700
1701 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1702
1703         * text-coding.c: Sync with XEmacs 21.4.10.
1704
1705 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1706
1707         * mule-charset.c (Vcharset_china3_jef): Deleted.
1708         (Qchina3_jef): Deleted.
1709         (syms_of_mule_charset): Don't define `china3-jef'.
1710         (complex_vars_of_mule_charset): Likewise.
1711
1712         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1713         (MIN_CHAR_CHINA3_JEF): Comment out.
1714         (MAX_CHAR_CHINA3_JEF): Comment out.
1715
1716 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1717
1718         * mule-charset.c (Vcharset_ucs_gb): New variable.
1719         (Qucs_gb): New variable.
1720         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1721         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1722
1723         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1724
1725 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1726
1727         * mule-charset.c (charset_code_point): if a coded-charset has a
1728         final-byte, don't inherit the builtin range of the mother CCS.
1729
1730 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule-charset.c (charset_code_point): Fix problem about
1733         inheritance.
1734
1735 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1736
1737         * mule-charset.c (decode_builtin_char): Reorganized.
1738
1739 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1740
1741         * text-coding.c (char_encode_as_entity_reference): Modify for
1742         `charset_code_point'.
1743         (char_encode_shift_jis): Likewise.
1744         (char_encode_big5): Likewise.
1745         (char_encode_utf8): Likewise.
1746         (char_encode_iso2022): Likewise.
1747
1748         * mule-charset.c (charset_code_point): Add new argument
1749         `defined_only'.
1750         (Fencode_char): Add new optional argument `defined_only'.
1751
1752         * chartab.c (put_char_table): Modify for `charset_code_point'.
1753
1754         * char-ucs.h (charset_code_point): Add new argument
1755         `defined_only'.
1756         (encode_char_1): Modify for `charset_code_point'.
1757
1758 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1759
1760         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1761         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1762
1763 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1764
1765         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1766         (Qjis_x0208): Likewise.
1767         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1768         XCHARSET_FINAL(charset).
1769         (charset_code_point): Modify condition for final-byte based
1770         builtin-chars.
1771         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1772         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1773         in UTF-2000; specify `=jis-x0208' as the mother of
1774         `japanese-jisx0208-1978', `japanese-jisx0208' and
1775         `japanese-jisx0208-1990' in UTF-2000.
1776
1777 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1778
1779         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1780
1781 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1782
1783         * text-coding.c (decode_coding_utf16): Support UTF-16.
1784         (char_encode_utf16): Fixed.
1785
1786 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1787
1788         * text-coding.c (Qutf16): New variable in MULE.
1789         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1790         (Fcoding_system_type): Add `utf-16' in MULE.
1791         (struct detection_state): Add a structure for utf16 in MULE.
1792         (detect_coding_type): Setup st->utf16.mask in MULE.
1793         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1794         MULE.
1795         (reset_encoding_stream): Use `char_encode_utf16' and
1796         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1797         (detect_coding_utf16): New function [incomplete].
1798         (decode_coding_utf16): New function [support only UCS-2].
1799         (char_encode_utf16): New function.
1800         (char_finish_utf16): New function.
1801         (syms_of_file_coding): Add new symbol `utf-16'; setup
1802         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1803
1804         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1805         UTF-2000.
1806         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1807         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1808
1809 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1810
1811         * chartab.c (put_char_table): When a charset is specified as a
1812         range in UTF-2000, don't support builtin characters.
1813
1814 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1815
1816         * mule-charset.c (decode_defined_char): Don't refer external
1817         database if Qunbound or Qnil are found.
1818         (Fsave_charset_mapping_table): Don't define it if
1819         HAVE_CHISE_CLIENT is not defined.
1820         (Freset_charset_mapping_table): New function.
1821         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1822         found in external database.
1823         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1824         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1825         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1826
1827 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1828
1829         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1830         not.
1831
1832 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1833
1834         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1835         Q_lowercase, Q_uppercase in UTF-2000.
1836
1837         * chartab.c (get_char_table): Add special code for the standard
1838         case table to use character attribute `->downcase' and
1839         `->uppercase' for case operations in UTF-2000.
1840
1841         * casetab.c (Qflippedcase): New variable in UTF-2000.
1842         (Q_lowercase): Likewise.
1843         (Q_uppercase): Likewise.
1844         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1845         and `->uppercase' in UTF-2000.
1846         (complex_vars_of_casetab): Assign attribute name `downcase' to
1847         downcase and CANON table of Vstandard_case_table in UTF-2000;
1848         assign attribute name `flippedcase' to upcase and EQV table of
1849         Vstandard_case_table in UTF-2000.
1850
1851 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1852
1853         * text-coding.c (decode_add_er_char): Support isolated-chars.
1854         (char_encode_as_entity_reference): Likewise.
1855
1856 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1857
1858         * emacs.c (Vutf_2000_lisp_directory): New variable.
1859         (Vconfigure_utf_2000_lisp_directory): Likewise.
1860         (complex_vars_of_emacs): Add new variable
1861         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1862
1863 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1864
1865         * char-ucs.h (DECODE_CHAR): Delete special code for
1866         `chinese-big5-1' and `chinese-big5-2'.
1867
1868         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1869         (Qbig5_2): Likewise.
1870         (decode_defined_char): Support CONVERSION_BIG5_1 and
1871         CONVERSION_BIG5_2.
1872         (decode_builtin_char): Likewise.
1873         (charset_code_point): Likewise.
1874         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1875         'conversion in UTF-2000.
1876         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1877         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1878         `chinese-big5-2' as children of `chinese-big5'.
1879
1880         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1881         (CONVERSION_BIG5_2): New macro.
1882
1883 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1884
1885         * text-coding.c (char_encode_big5): Support entity-reference.
1886
1887 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1888
1889         * text-coding.c (char_encode_as_entity_reference): New function.
1890         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1891
1892 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1893
1894         * text-coding.c (decode_coding_big5): Support entity-reference
1895         decoding feature.
1896
1897 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * text-coding.c (allocate_coding_system): Initialize initial
1900         charsets for CODESYS_UTF8.
1901         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1902         charset-g2 for CODESYS_UTF8.
1903         (decode_coding_utf8): Use charset-g0.
1904         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1905         to force variants to map to UCS.
1906
1907 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1908
1909         * text-coding.c (Qutf_8_mcs): New variable.
1910         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1911         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1912         instead of `utf-8' in UTF-2000.
1913
1914 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1915
1916         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1917         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1918         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1919         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1920         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1921         CONVERSION_96x96x96x96 are introduced.
1922         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1923         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1924         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1925
1926         * char-ucs.h (CONVERSION_94): New macro.
1927         (CONVERSION_96): New macro.
1928         (CONVERSION_94x94): New macro.
1929         (CONVERSION_96x96): New macro.
1930         (CONVERSION_94x94x94): New macro.
1931         (CONVERSION_96x96x96): New macro.
1932         (CONVERSION_94x94x94x60): New macro.
1933         (CONVERSION_94x94x94x94): New macro.
1934         (CONVERSION_96x96x96x96): New macro.
1935
1936 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1937
1938         * chartab.c (Vcharacter_variant_table): Deleted.
1939         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1940         of `Vcharacter_variant_table'.
1941         (Fput_char_attribute): Likewise.
1942         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1943         (complex_vars_of_chartab): Likewise.
1944
1945 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1946
1947         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1948
1949         * fns.c (Qideographic_structure): New variable.
1950         (Qkeyword_char): New variable.
1951         (ids_format_unit): New function.
1952         (Fideographic_structure_to_ids): New function.
1953         (syms_of_fns): Add new symbols `ideographic-structure' and
1954         `:char'; add new builtin function `ideographic-structure-to-ids'.
1955
1956         * data.c (Fchar_ref_p): New function.
1957         (syms_of_data): Add new builtin function `char-ref-p'.
1958
1959         * chartab.h: Add an EXFUN for `Ffind_char'.
1960
1961 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1962
1963         * text-coding.c (Vcharacter_composition_table): Deleted.
1964         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1965         in every UTF-2000.
1966
1967         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1968         UTF-2000.
1969         (Vcharacter_composition_table): Deleted.
1970         (Fget_composite_char): Use the implementation for external-DB
1971         support in every UTF-2000.
1972         (Fput_char_attribute): Likewise.
1973         (char_attribute_system_db_file): Don't define if external-DB
1974         feature is not available.
1975         (Fsave_char_attribute_table): Likewise.
1976         (Fmount_char_attribute_table): Likewise.
1977         (Fclose_char_attribute_table): Likewise.
1978         (Freset_char_attribute_table): Likewise.
1979         (Fload_char_attribute_table): Likewise.
1980         (syms_of_chartab): Don't define `save-char-attribute-table',
1981         `mount-char-attribute-table', `reset-char-attribute-table',
1982         `close-char-attribute-table' and `load-char-attribute-table' if
1983         external-DB feature is not available.
1984         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1985
1986 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1987
1988         * text-coding.c (Qcomposition): Add extern if external-DB feature
1989         is supported.
1990         (Vcharacter_composition_table): Don't add extern if external-DB
1991         feature is supported.
1992         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1993         character composition rule if external-DB feature is supported.
1994
1995         * chartab.c (Vcharacter_composition_table): Don't define if
1996         external-DB feature is supported.
1997         (Qcomposition): New variable.
1998         (Fget_composite_char): New implementation for external-DB support.
1999         (Fput_char_attribute): Use `composition' property of each
2000         character instead of `Vcharacter_composition_table' to store
2001         character-composition rules if external-DB feature is supported.
2002         (syms_of_chartab): Add new symbol `composition'.
2003         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
2004         external-DB feature is supported.
2005
2006 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2007
2008         * chartab.c (Vchar_db_stingy_mode): New variable.
2009         (load_char_attribute_maybe): Close database if
2010         Vchar_db_stingy_mode is not NIL.
2011         (Fload_char_attribute_table_map_function): Use
2012         `get_char_id_table_0' instead of `get_char_id_table'.
2013         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
2014
2015         * chartab.h (get_char_id_table_0): New inline function.
2016         (get_char_id_table): Use `get_char_id_table_0'.
2017
2018 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2019
2020         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
2021         and `COMPOSE_ADD_CHAR'.
2022         (decode_coding_iso2022): Use `decode_flush_er_chars'.
2023
2024 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2025
2026         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
2027         instead of `DECODE_ADD_UCS_CHAR'.
2028         (COMPOSE_ADD_CHAR): Likewise.
2029
2030 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2031
2032         * text-coding.c (decode_flush_er_chars): New inline function.
2033         (decode_add_er_char): New function.
2034         (decode_coding_utf8): Use `decode_flush_er_chars' and
2035         `decode_add_er_char'.
2036
2037 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2038
2039         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
2040         done before `decode_output_utf8_partial_char'.
2041
2042         * mule-charset.c (complex_vars_of_mule_charset): Specify
2043         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
2044         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
2045
2046 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2047
2048         * mule-charset.c (decode_defined_char): New function; search
2049         mother.
2050         (decode_builtin_char): Don't search mother if
2051         XCHARSET_MAX_CODE(charset) == 0.
2052         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
2053         == 0 even if code >= XCHARSET_MAX_CODE(charset).
2054         (Fdecode_char): Use `decode_defined_char' instead of
2055         `DECODE_DEFINED_CHAR'.
2056         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
2057         mother of `Vcharset_ucs_jis'.
2058
2059         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
2060         instead of `DECODE_DEFINED_CHAR'.
2061
2062         * char-ucs.h (decode_defined_char): Renamed from
2063         `DECODE_DEFINED_CHAR'; changed to normal function.
2064         (DECODE_CHAR): Use `decode_defined_char' instead of
2065         `DECODE_DEFINED_CHAR'.
2066
2067         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2068
2069 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2072
2073         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2074         variable.
2075         (Quse_entity_reference): New variable.
2076         (Qd): New variable.
2077         (Qx): New variable.
2078         (QX): New variable.
2079         (coding_system_description): Add description for
2080         `ccs_priority_list'.
2081         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2082         (allocate_coding_system): Initialize `ccs_priority_list' in
2083         UTF-2000.
2084         (Fmake_coding_system): Add description about
2085         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2086         (codesys).
2087         (Fcoding_system_property): Accept `disable-composition' and
2088         `use-entity-reference' in UTF-2000.
2089         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2090         in UTF-2000.
2091         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2092         (decode_coding_utf8): Decode entity-reference if
2093         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2094         (char_encode_utf8): Encode non-Unicode characters as
2095         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2096         (str->codesys).
2097         (syms_of_file_coding): Add new symbols `use-entity-reference',
2098         `d', `x', `X'.
2099         (vars_of_file_coding): Add new variable
2100         `coded-charset-entity-reference-alist'.
2101         (complex_vars_of_file_coding): Declare `disable-composition' and
2102         `use-entity-reference' to be coding-system-properties in UTF-2000.
2103
2104         * file-coding.h (struct Lisp_Coding_System): Add new member
2105         `use_entity_reference' and `ccs_priority_list'.
2106         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2107         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2108         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2109
2110 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2111
2112         * chartab.c (save_uint8_byte_table): Don't clear the table.
2113         (save_uint16_byte_table): Likewise.
2114         (save_byte_table): Likewise.
2115         (Fmount_char_attribute_table): New function.
2116         (syms_of_chartab): Add new builtin function
2117         `mount-char-attribute-table'.
2118
2119 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2120
2121         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2122         "w+" mode.
2123         (load_char_decoding_entry_maybe): Open database as read-only mode.
2124
2125         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2126         open database as "w+" mode.
2127         (load_char_attribute_maybe): Open database as read-only mode.
2128         (Fload_char_attribute_table): Likewise.
2129
2130 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2131
2132         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2133         (char_table_description): Delete member `db_file'.
2134         (Fmake_char_table): Don't refer `ct->db_file'.
2135         (Fcopy_char_table): Likewise.
2136         (Fsave_char_attribute_table): Likewise.
2137         (Fclose_char_attribute_table): Likewise.
2138         (Freset_char_attribute_table): Likewise.
2139         (load_char_attribute_maybe): Likewise.
2140         (Fload_char_attribute_table): Likewise.
2141
2142         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2143
2144 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2147         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2148         `ct->db' is living.
2149         (load_char_attribute_maybe): Likewise.
2150         (Fload_char_attribute_table): Likewise.
2151
2152 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2153
2154         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2155         `ct->db_file' unconditionally.
2156
2157 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2158
2159         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2160         UTF-2000.
2161         (char_table_description): Add description for `db_file' and `db'
2162         in UTF-2000.
2163         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2164         UTF-2000.
2165         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2166         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2167         (Fclose_char_attribute_table): New function.
2168         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2169         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2170         and `cit->db'.
2171         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2172         (syms_of_chartab): Add new builtin function
2173         `Fclose_char_attribute_table'.
2174
2175 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2176
2177         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2178         `db' in UTF-2000.
2179         (load_char_attribute_maybe): Change interface.
2180         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2181
2182 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2183
2184         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2185
2186 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2187
2188         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2189         instead of `DECODE_CHAR' for mother; don't use special code for
2190         chinese-big5 to use code space of chinese-big5-1 and
2191         chinese-big5-2.
2192         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2193         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2194
2195         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2196         (MAX_CHAR_BIG5_CDP): Revival.
2197
2198 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2199
2200         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2201         the XLFD registry-encoding name of `chinese-big5'.
2202
2203 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2204
2205         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2206         (Qchinese_big5_cdp): Deleted.
2207         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2208         (complex_vars_of_mule_charset): Delete coded-charset
2209         `chinese-big5-cdp'.
2210
2211         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2212         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2213         `CHARSET_ID_OFFSET - n' for private CCS.
2214         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2215         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2216         of `MIN_LEADING_BYTE'.
2217         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2218         `(CHARSET_ID_OFFSET - 97)'.
2219         (MIN_CHAR_BIG5_CDP): Deleted.
2220         (MAX_CHAR_BIG5_CDP): Deleted.
2221
2222 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2223
2224         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2225
2226 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2227
2228         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2229         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2230         chartab.c].
2231
2232         * chartab.c (Vutf_2000_version): Moved to mule.c.
2233         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2234
2235 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2236
2237         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2238         when HAVE_CHISE_CLIENT is not defined.
2239
2240         * mule.c (vars_of_mule): Provide feature `chise' when
2241         HAVE_CHISE_CLIENT is defined.
2242
2243 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2244
2245         * config.h.in (UTF2000): Add comment.
2246         (HAVE_CHISE_CLIENT): New macro.
2247
2248 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2249
2250         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2251         CONSP.
2252         (Fput_char_attribute): Likewise.
2253         (char_attribute_system_db_file): Encode file-name of attribute.
2254         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2255         the initial value.
2256
2257 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2258
2259         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2260         (Fsave_charset_mapping_table): Use
2261         `char_attribute_system_db_file'.
2262         (load_char_decoding_entry_maybe): Likewise.
2263
2264         * chartab.h (Qsystem_char_id): New external variable.
2265         (char_attribute_system_db_file): New prototype.
2266
2267         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2268         (char_attribute_system_db_file): New function.
2269         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2270         (Freset_char_attribute_table): Likewise.
2271         (load_char_attribute_maybe): Likewise.
2272         (Fload_char_attribute_table): Likewise.
2273         (syms_of_chartab): Add new symbol `system-char-id'.
2274
2275 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2276
2277         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2278         `XCHARSET_GRAPHIC(ccs)'.
2279
2280 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2281
2282         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2283
2284 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2285
2286         * chartab.c (Q_ucs_variants): New variable.
2287         (syms_of_chartab): Add new symbol `->ucs-variants'.
2288         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2289         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2290         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2291
2292         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2293
2294         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2295         `HAVE_DATABASE' is defined.
2296         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2297         `HAVE_DATABASE' is defined.
2298
2299 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2300
2301         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2302         attribute-table.
2303         (Freset_char_attribute_table): New function.
2304         (syms_of_chartab): Add new builtin function
2305         `reset-char-attribute-table'.
2306
2307 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2308
2309         * chartab.c (load_char_attribute_maybe): Don't make directories.
2310
2311 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2312
2313         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2314
2315         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2316         for decoding-table.
2317
2318 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2319
2320         * mule-charset.c (Fsave_charset_mapping_table): Use
2321         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2322
2323         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2324         instead of `XCHARSET_CHARS'.
2325
2326 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2327
2328         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2329         (XCHARSET_BYTE_SIZE): Likewise.
2330
2331         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2332         mule-charset.c].
2333         (XCHARSET_BYTE_SIZE): Likewise.
2334
2335 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2336
2337         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2338         data-directory to store database.
2339         (Fsave_char_attribute_table): Likewise.
2340         (load_char_attribute_maybe): Likewise.
2341         (Fload_char_attribute_table): Likewise.
2342
2343 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2344
2345         * mule-charset.c (Fsave_charset_mapping_table): New function.
2346         (syms_of_mule_charset): Add new builtin function
2347         `save-charset-mapping-table'.
2348
2349 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2350
2351         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2352         (get_ccs_octet_table): New inline function.
2353         (put_ccs_octet_table): Likewise.
2354         (decoding_table_put_char): Use `get_ccs_octet_table' and
2355         `put_ccs_octet_table'.
2356         (decoding_table_remove_char): Use `decoding_table_put_char'.
2357         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2358
2359         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2360         into encoding_table.
2361         (make_charset): Use Qunbound instead Qnil as initial value of
2362         decoding_table.
2363
2364 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2365
2366         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2367         element is Qunloaded.
2368         (map_over_uint16_byte_table): Likewise.
2369         (map_over_byte_table): Likewise.
2370         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2371         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2372         database support, load encoding-table of the specified
2373         coded-charset if it is not loaded yet.
2374         (save_uint8_byte_table): New function of UTF-2000 with external
2375         database support.
2376         (save_uint16_byte_table): Likewise.
2377         (save_byte_table): Likewise.
2378         (Fput_char_attribute): Don't store value into external database
2379         even if the external database feature is supported in UTF-2000;
2380         set `attribute' as name of char-table if the external database
2381         feature is supported.
2382         (Fsave_char_attribute_table): New function in UTF-2000.
2383         (syms_of_chartab): Add new builtin function
2384         `save-char-attribute-table' in UTF-2000.
2385
2386 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2387
2388         * chartab.c (char_attribute_table_to_put): New variable in
2389         UTF-2000.
2390         (Qput_char_table_map_function): Likewise.
2391         (value_to_put): Likewise.
2392         (Fput_char_table_map_function): New function in UTF-2000.
2393         (put_char_table): Use `Fmap_char_attribute' for
2394         CHARTAB_RANGE_CHARSET in UTF-2000.
2395         (Fput_char_attribute): Store symbol instead of string in
2396         `XCHAR_TABLE_NAME (table)'.
2397         (load_char_attribute_maybe): Likewise.
2398         (syms_of_chartab): Add new symbol/function
2399         `put-char-table-map-function'.
2400
2401 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2402
2403         * database.h: Add new EXFUN for `Fmap_database'.
2404
2405         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2406         (syms_of_database): Likewise.
2407
2408         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2409         UTF-2000.
2410         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2411         (XCHAR_TABLE_UNLOADED): Likewise.
2412
2413         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2414         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2415         HAVE_DATABASE is defined.
2416         (char_attribute_table_to_load): New variable of UTF-2000 with
2417         external database support.
2418         (Qload_char_attribute_table_map_function): Likewise.
2419         (Fload_char_attribute_table_map_function): New function of
2420         UTF-2000 with external database support.
2421         (Fload_char_attribute_table): New function of UTF-2000.
2422         (Fmap_char_attribute): Call Fload_char_attribute_table if
2423         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2424         (syms_of_chartab): Add new symbol and function
2425         `load-char-attribute-table-map-function' in UTF-2000 with external
2426         database support; add new function `load-char-attribute-table' in
2427         UTF-2000.
2428
2429 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2430
2431         * chartab.h (load_char_attribute_maybe): New prototype for
2432         UTF-2000 with DATABASE support.
2433         (get_char_id_table): Use `load_char_attribute_maybe' if
2434         HAVE_DATABASE is defined.
2435
2436         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2437         with DATABASE support.
2438
2439 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2440
2441         * chartab.c (Fput_char_attribute): Use S-expression as key of
2442         external database.
2443
2444         * chartab.h (get_char_id_table): Use S-expression as key of
2445         external database.
2446
2447 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2448
2449         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2450         if an element is not loaded, load the corresponding attributes
2451         from an external database.
2452         (map_over_uint16_byte_table): Likewise.
2453         (map_over_byte_table): Likewise.
2454         (map_char_table): Modify for `map_over_uint8_byte_table',
2455         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2456         element is not loaded, load the corresponding attributes from an
2457         external database.
2458         (Fput_char_attribute): Change initial values to Qunloaded.
2459
2460         * chartab.h (get_char_id_table): If a character attribute is not
2461         loaded and the attribute value is not found in an external
2462         database, store Qunbound as the attribute value.
2463
2464 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2465
2466         * chartab.c (BT_UINT8_unloaded): New macro.
2467         (UINT8_VALUE_P): Accept Qunloaded.
2468         (UINT8_ENCODE): Likewise.
2469         (UINT8_DECODE): Likewise.
2470         (BT_UINT16_unloaded): New macro.
2471         (UINT16_VALUE_P): Accept Qunloaded.
2472         (UINT16_ENCODE): Likewise.
2473         (UINT16_DECODE): Likewise.
2474         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2475         BT_UINT16_unloaded.
2476         (mark_char_table): Mark `ct->name' in UTF-2000.
2477         (char_table_description): Add `name' in UTF-2000.
2478         (Fmake_char_table): Initialize `ct->name'.
2479         (Fcopy_char_table): Copy `ct->name'.
2480         (Fput_char_attribute): Store value into an external database if
2481         HAVE_DATABASE is defined.
2482
2483         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2484         UTF-2000.
2485         (CHAR_TABLE_NAME): New macro in UTF-2000.
2486         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2487         (get_char_id_table): Try to read an external database if Qunloaded
2488         is stored in a table.
2489
2490         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2491         Qunloaded.
2492
2493 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2494
2495         * database.h: Add EXFUN definitions for Fopen_database,
2496         Fput_database, Fget_database and Fclose_database.
2497
2498         * data.c (Qunloaded): New variable in UTF-2000.
2499
2500         * lisp.h (Qunloaded): New variable in UTF-2000.
2501
2502 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2503
2504         * mule-charset.c (put_char_ccs_code_point): Modify for
2505         `decoding_table_remove_char' and `decoding_table_put_char'.
2506         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2507
2508         * char-ucs.h (decoding_table_remove_char): Change arguments to
2509         hide decoding_table vector.
2510         (decoding_table_put_char): Likewise.
2511
2512 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2513
2514         * mule-charset.c (decoding_table_remove_char): Moved to
2515         char-ucs.h.
2516         (decoding_table_put_char): Likewise.
2517
2518         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2519         from mule-charset.c].
2520         (decoding_table_remove_char): New inline function [moved from
2521         mule-charset.c].
2522         (decoding_table_put_char): Likewise.
2523
2524 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2525
2526         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2527         extension.
2528
2529 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2530
2531         * mule-charset.c (decode_builtin_char): Support mother charsets.
2532
2533 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2534
2535         * mule-charset.c (Q94x94x60): New variable.
2536         (charset_code_point): Support conversion `94x94x60'.
2537         (Fmake_charset): Likewise.
2538         (syms_of_mule_charset): Add new symbol `94x94x60'.
2539
2540         * char-ucs.h (CONVERSION_94x94x60): New macro.
2541
2542 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2543
2544         * mule-charset.c (charset_code_point): Unify code about
2545         `code-offset'.
2546
2547 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2548
2549         * mule-charset.c (charset_code_point): Merge code about builtin
2550         characters into code about mother charsets; don't use
2551         `range_charset_code_point'.
2552         (range_charset_code_point): Deleted.
2553
2554 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2555
2556         * mule-charset.c (Qcode_offset): New variable.
2557         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2558         `max-code'; accept new property `code-offset'.
2559         (syms_of_mule_charset): Add new symbol `code-offset'.
2560
2561 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2562
2563         * mule-charset.c (range_charset_code_point): Fixed.
2564
2565 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2566
2567         * mule-charset.c (decode_builtin_char): Change semantics of
2568         code-offset of coded-charset.
2569         (charset_code_point): Likewise.
2570         (range_charset_code_point): Likewise.
2571         (complex_vars_of_mule_charset): Modify for the change.
2572
2573 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2574
2575         * mule-charset.c (Fencode_char): Reverse arguments.
2576
2577         * mule-charset.c (charset_code_point): Fixed.
2578
2579 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2580
2581         * mule-charset.c (Vcharset_mojikyo): Deleted.
2582         (Vcharset_mojikyo_2022_1): Deleted.
2583         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2584         (Qmin_code): New variable in UTF-2000.
2585         (Qmax_code): Likewise.
2586         (Qmother): Likewise.
2587         (Qconversion): Likewise.
2588         (Q94x60): Likewise.
2589         (Qmojikyo): Deleted.
2590         (Qmojikyo_2022_1): Deleted.
2591         (Qmojikyo_pj_{1..22}): Deleted.
2592         (mark_charset): Mark `cs->mother'.
2593         (charset_description): Add description for `mother'.
2594         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2595         new arguments `mother' and `conversion'; use
2596         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2597         (charset_code_point): Moved from char-ucs.h; support `mother'
2598         charset feature.
2599         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2600         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2601         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2602         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2603         allow 2 as the value of `graphic' in UTF-2000; add new properties
2604         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2605         require `final' in UTF-2000; modify for `make_charset'.
2606         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2607         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2608         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2609         (Fencode_char): New function.
2610         (syms_of_mule_charset): Add new builtin function `encode-char' in
2611         UTF-2000; add new symbols `min-code', `max-code', `mother',
2612         `conversion' and `94x60'; delete symbols `mojikyo',
2613         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2614         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2615         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2616         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2617
2618         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2619         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2620
2621         * char-ucs.h (Vcharset_mojikyo): Deleted.
2622         (Vcharset_mojikyo_2022_1): Deleted.
2623         (LEADING_BYTE_MOJIKYO): Deleted.
2624         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2625         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2626         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2627         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2628         add new member `mother'; add new member `conversion'.
2629         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2630         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2631         (CHARSET_MOTHER): New macro.
2632         (CHARSET_CONVERSION): New macro.
2633         (CONVERSION_IDENTICAL): New macro.
2634         (CONVERSION_94x60): New macro.
2635         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2636         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2637         (XCHARSET_MOTHER): New macro.
2638         (XCHARSET_CONVERSION): New macro.
2639         (MIN_CHAR_MOJIKYO): Deleted.
2640         (MAX_CHAR_MOJIKYO): Deleted.
2641         (DECODE_MOJIKYO_2022): Deleted.
2642         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2643         (charset_code_point): Changed to non-inline function.
2644         (encode_char_1): Use `charset_code_point'.
2645         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2646
2647 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2648
2649         * lread.c (read_compiled_function): Fix prototype.
2650         (read_vector): Likewise.
2651
2652 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2653
2654         * lrecord.h (struct lrecord_header): Delete `older'.
2655         (set_lheader_implementation): Delete code for `older'.
2656         (set_lheader_older_implementation): Deleted.
2657         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2658         (OLDER_RECORD_P): Deleted.
2659         (OLDER_RECORD_HEADER_P): Deleted.
2660         (alloc_older_lcrecord): Deleted.
2661         (alloc_older_lcrecord_type): Deleted.
2662
2663         * alloc.c (all_older_lcrecords): Deleted.
2664         (alloc_older_lcrecord): Deleted.
2665         (disksave_object_finalization_1): Delete code for older objects.
2666         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2667         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2668
2669 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2670
2671         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2672         instead of `make_older_vector'.
2673         (put_char_ccs_code_point): Likewise.
2674         (mark_charset): Mark `cs->decoding_table'.
2675         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2676
2677         * lisp.h (make_older_vector): Deleted.
2678         (make_vector_newer): Deleted.
2679
2680         * config.h.in (HAVE_GGC): Deleted.
2681
2682         * alloc.c (make_older_vector): Deleted.
2683         (make_vector_newer_1): Deleted.
2684         (make_vector_newer): Deleted.
2685
2686 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2687
2688         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2689         (Qideograph_daikanwa_2): New variable.
2690         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2691         (complex_vars_of_mule_charset): Add new coded-charset
2692         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2693         `LEADING_BYTE_DAIKANWA'.
2694
2695         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2696         (LEADING_BYTE_DAIKANWA_1): New macro.
2697         (LEADING_BYTE_DAIKANWA_2): New macro.
2698         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2699
2700 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2701
2702         * mule-charset.c (complex_vars_of_mule_charset): Change
2703         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2704         the second revised version.
2705
2706 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2707
2708         * mule-charset.c (Vcharset_ucs_smp): New variable.
2709         (Vcharset_ucs_sip): New variable.
2710         (Qucs_smp): New variable.
2711         (Qucs_sip): New variable.
2712         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2713         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2714         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2715         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2716         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2717         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2718
2719         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2720         (LEADING_BYTE_UCS_SIP): New macro.
2721         (MIN_CHAR_SMP): New macro.
2722         (MAX_CHAR_SMP): New macro.
2723         (MIN_CHAR_SIP): New macro.
2724         (MAX_CHAR_SIP): New macro.
2725
2726 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2727
2728         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2729         utf-2000.
2730
2731 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2732
2733         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2734         value; don't store value into `encoding_table' of `Lisp_Charset'.
2735         (mark_charset): `encoding_table' was deleted.
2736         (charset_description): Likewise.
2737         (make_charset): Likewise.
2738         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2739         `put_char_ccs_code_point'.
2740
2741         * chartab.h (Fput_char_attribute): New EXFUN.
2742
2743         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2744         is unified with normal symbol space.
2745         (Fget_char_attribute): Likewise.
2746         (Fput_char_attribute): Likewise; behavior of
2747         `put_char_ccs_code_point' is changed.
2748
2749         * char-ucs.h: Include "elhash.h".
2750         (Vchar_attribute_hash_table): New external variable.
2751         (struct Lisp_Charset): Delete `encoding_table'.
2752         (CHARSET_ENCODING_TABLE): New implementation; refer
2753         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2754         `Lisp_Charset'.
2755
2756 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2757
2758         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2759         (cs) == 0.
2760
2761 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2762
2763         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2764         `chinese-big5'.
2765
2766 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2767
2768         * chartab.c (uint8_byte_table_description): New constant.
2769         (uint8-byte-table): Use `uint8_byte_table_description'.
2770         (uint16_byte_table_description): New constant.
2771         (uint16-byte-table): Use `uint16_byte_table_description'.
2772
2773 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2774
2775         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2776         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2777
2778 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2779
2780         * mule-charset.c (Vcharset_ucs_ks): New variable.
2781         (Qucs_ks): New variable.
2782         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2783         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2784
2785         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2786
2787 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2788
2789         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2790         (Fdecode_char): Likewise.
2791
2792         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2793         chartab.h.
2794         (Fdefine_char): Modify for Fdecode_char.
2795         (Ffind_char): Likewise.
2796
2797         * mule-charset.c (Fdecode_char): Add new optional argument
2798         `defined-only'.
2799         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2800
2801 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2802
2803         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2804         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2805         (allocate_coding_system): Initialize initial-charsets of
2806         CODESYS_BIG5 in XEmacs UTF-2000.
2807         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2808         CODESYS_BIG5 in XEmacs UTF-2000.
2809         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2810         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2811
2812         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2813         variables.
2814         (Qideograph_hanziku_{1 .. 12}): Likewise.
2815         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2816         .. 12}'.
2817         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2818         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2819         `ideograph-hanziku-{1 .. 12}'.
2820
2821         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2822         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2823         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2824         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2825         (DECODE_DEFINED_CHAR): New inline function.
2826         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2827
2828 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2829
2830         * mule-charset.c (Vcharset_china3_jef): Renamed from
2831         `Vcharset_japanese_jef_china3'.
2832         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2833         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2834         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2835         (syms_of_mule_charset): Rename `china3-jef' from
2836         `japanese-jef-china3'.
2837         (complex_vars_of_mule_charset): Likewise; rename
2838         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2839
2840         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2841         `LEADING_BYTE_JEF_CHINA3'.
2842         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2843         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2844
2845 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2846
2847         * mule-charset.c (encode_builtin_char_1): Comment out special code
2848         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2849
2850         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2851         (MAX_CHAR_MOJIKYO_0): Comment out.
2852         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2853         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2854         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2855         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2856
2857 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2858
2859         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2860         (Qideograph_cbeta): New variable.
2861         (encode_builtin_char_1): Comment out special code for
2862         coded-charset `mojikyo' and `japanese-jef-china3'.
2863         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2864         (complex_vars_of_mule_charset): Add new coded-charset
2865         `ideograph-cbeta'.
2866
2867         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2868         (MIN_CHAR_CBETA): New macro.
2869         (MAX_CHAR_CBETA): New macro.
2870
2871 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2872
2873         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2874         (LEADING_BYTE_JEF_CHINA3): New macro.
2875         (MIN_CHAR_JEF_CHINA3): New macro.
2876         (MAX_CHAR_JEF_CHINA3): Likewise.
2877         (DECODE_CHAR): Fixed.
2878
2879 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2880
2881         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2882         (Qjapanese_jef_china3): New variable.
2883         (encode_builtin_char_1): Support `japanese-jef-china3'.
2884         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2885         (complex_vars_of_mule_charset): Add new coded-charset
2886         `japanese-jef-china3'.
2887
2888 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2889
2890         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2891         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2892         94^4, 96^3, 96^4, 128^n and 256^n set.
2893         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2894         (map_char_table): Likewise.
2895
2896 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2897
2898         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2899         UTF-2000.
2900
2901 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2902
2903         * chartab.h (get_char_id_table): New inline function.
2904
2905         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2906         function.
2907
2908 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2909
2910         * chartab.h (decode_char_table_range): New prototype in XEmacs
2911         UTF-2000.
2912         (put_char_id_table): New inline function in XEmacs UTF-2000.
2913
2914         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2915         function.
2916         (decode_char_table_range): Delete static declaration in XEmacs
2917         UTF-2000.
2918
2919 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2920
2921         * chartab.c (put_char_id_table): Use `put_char_table'.
2922
2923 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2924
2925         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2926         (map_over_uint16_byte_table): Likewise.
2927         (map_over_byte_table): Likewise.
2928         (map_char_table): Modify for `map_over_uint8_byte_table',
2929         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2930         UTF-2000.
2931
2932 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2933
2934         * chartab.c (struct map_char_table_for_charset_arg): New
2935         structure.
2936         (map_char_table_for_charset_fun): New function.
2937         (map_char_table): Use `map_char_table' for encoding_table of
2938         `range->charset'.
2939
2940 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2941
2942         * chartab.c (map_char_table): Check a character is found in
2943         range->charset instead of non default value is defined in
2944         char-table when range is CHARTAB_RANGE_ROW.
2945
2946 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2947
2948         * chartab.c (map_char_id_table): Deleted.
2949         (Fmap_char_attribute): Use `map_char_table' instead of
2950         `map_char_id_table'.
2951
2952 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2953
2954         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2955         UTF-2000.
2956         (update_syntax_table): Deleted in XEmacs UTF-2000.
2957
2958         * syntax.c (find_defun_start): Use `syntax_table' instead of
2959         `mirror_syntax_table' in XEmacs UTF-2000.
2960         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2961         UTF-2000.
2962         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2963         XEmacs UTF-2000.
2964         (Fmatching_paren): Likewise.
2965         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2966         in XEmacs UTF-2000.
2967         (find_start_of_comment): Likewise.
2968         (find_end_of_comment): Likewise.
2969         (Fforward_comment): Likewise.
2970         (scan_lists): Likewise.
2971         (char_quoted): Likewise.
2972         (Fbackward_prefix_chars): Likewise.
2973         (scan_sexps_forward): Likewise.
2974         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2975         (update_syntax_table): Likewise.
2976
2977         * search.c (skip_chars): Use `syntax_table' instead of
2978         `mirror_syntax_table' in XEmacs UTF-2000.
2979         (wordify): Likewise.
2980         (Freplace_match): Likewise.
2981
2982         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2983         `mirror_syntax_table' in XEmacs UTF-2000.
2984         (WORDCHAR_P_UNSAFE): Likewise.
2985         (re_match_2_internal): Likewise.
2986
2987         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2988         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2989
2990         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2991         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2992
2993         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2994         XEmacs UTF-2000.
2995
2996         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2997         UTF-2000.
2998         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2999         (char_table_description): Delete `mirror_table' in XEmacs
3000         UTF-2000.
3001         (fill_char_table): Don't call `update_syntax_table' in XEmacs
3002         UTF-2000.
3003         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
3004         (Fcopy_char_table): Likewise.
3005         (put_char_table): Don't call `update_syntax_table' in XEmacs
3006         UTF-2000.
3007
3008         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
3009         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3010         (casify_region_internal): Likewise.
3011
3012         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
3013
3014         * buffer.c (common_init_complex_vars_of_buffer): Don't use
3015         `mirror_syntax_table' in XEmacs UTF-2000.
3016
3017         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
3018         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3019         (Fexpand_abbrev): Likewise.
3020
3021 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3022
3023         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
3024
3025 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3026
3027         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
3028         (map_over_uint16_byte_table): Likewise.
3029         (map_over_byte_table): Likewise.
3030         (get_char_id_table): Refer `cit->default_value'.
3031         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3032         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
3033         of character-id ranges.
3034         (mark_char_table): Mark `ct->default_value'.
3035         (char_table_description): Add `default_value'.
3036         (fill_char_table): Use `default_value'.
3037         (decode_char_table_range): Decode `nil' as
3038         `CHARTAB_RANGE_DEFAULT'.
3039         (get_char_id_table): Refer `cit->default_value'.
3040         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3041         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
3042         temporary hack; check value of char-table is bound or not.
3043         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
3044
3045         * chartab.h (struct Lisp_Char_Table): Add new member
3046         `default_value' in XEmacs UTF-2000.
3047         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
3048         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
3049         UTF-2000.
3050
3051 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3052
3053         * chartab.h (Lisp_Char_ID_Table): Deleted.
3054
3055         * chartab.c (char_table_description): Fix typo.
3056         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
3057         `Lisp_Char_ID_Table'.
3058
3059 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3060
3061         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
3062         `CHAR_ID_TABLE_P'.
3063
3064         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
3065         `CHAR_ID_TABLE_P'.
3066
3067         * chartab.h (XCHAR_ID_TABLE): Deleted.
3068         (XSETCHAR_ID_TABLE): Deleted.
3069         (CHAR_ID_TABLE_P): Deleted.
3070
3071         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3072         `CHAR_ID_TABLE_P'.
3073         (Fget_composite_char): Likewise.
3074         (put_char_table): Likewise.
3075         (add_char_attribute_alist_mapper): Fixed.
3076         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3077         `CHAR_ID_TABLE_P'.
3078         (Fget_char_attribute): Likewise.
3079         (Fget_char_attribute): Likewise.
3080         (Fmap_char_attribute): Likewise.
3081
3082         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3083         `CHAR_ID_TABLE_P'.
3084         (encode_char_1): Likewise.
3085
3086 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3087
3088         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3089         `XCHAR_ID_TABLE'.
3090
3091         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3092         instead of `XCHAR_ID_TABLE'.
3093         (remove_char_ccs): Likewise.
3094
3095         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3096         `XCHAR_ID_TABLE'.
3097         (Fget_composite_char): Likewise.
3098         (Fchar_variants): Likewise.
3099         (put_char_table): Likewise.
3100         (add_char_attribute_alist_mapper): Likewise.
3101         (Fchar_attribute_alist): Likewise.
3102         (Fget_char_attribute): Likewise.
3103         (Fput_char_attribute): Likewise.
3104         (Fmap_char_attribute): Likewise.
3105         (Fmap_char_attribute): Likewise.
3106
3107         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3108         `XCHAR_ID_TABLE'.
3109         (encode_char_1): Likewise.
3110
3111 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3112
3113         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3114         `Lisp_Char_ID_Table'.
3115         (mark_char_id_table): Deleted.
3116         (print_char_id_table): Likewise.
3117         (char_id_table_equal): Likewise.
3118         (char_id_table_hash): Likewise.
3119         (char_id_table_description): Likewise.
3120         (char_id_table): Likewise.
3121         (make_char_id_table): Use `Fmake_char_table' and
3122         `fill_char_table'.
3123         (get_char_id_table): Use `Lisp_Char_Table' instead of
3124         `Lisp_Char_ID_Table'.
3125         (put_char_id_table): Likewise.
3126         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3127         `XCHAR_ID_TABLE'.
3128         (Fremove_char_attribute): Likewise.
3129         (syms_of_chartab): Don't define type `char-id-table'.
3130
3131         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3132         (char_id_table): Likewise.
3133         (GC_CHAR_ID_TABLE_P): Likewise.
3134         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3135         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3136         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3137         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3138         (get_char_id_table): Use `Lisp_Char_Table' instead of
3139         `Lisp_Char_ID_Table'.
3140         (put_char_id_table_0): Likewise.
3141         (put_char_id_table): Likewise.
3142
3143 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3144
3145         * chartab.h: Lisp_Byte_Table related codes are moved from
3146         chartab.h.
3147
3148         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3149
3150 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3151
3152         * chartab.h: Don't include "chartab.h".
3153         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3154         (Lisp_Char_ID_Table): Likewise.
3155         (char_id_table): Likewise.
3156         (XCHAR_ID_TABLE): Likewise.
3157         (XSETCHAR_ID_TABLE): Likewise.
3158         (CHAR_ID_TABLE_P): Likewise.
3159         (GC_CHAR_ID_TABLE_P): Likewise.
3160         (get_char_id_table): Likewise.
3161
3162         * char-ucs.h: Include "chartab.h".
3163         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3164         (Lisp_Char_ID_Table): Likewise.
3165         (char_id_table): Likewise.
3166         (XCHAR_ID_TABLE): Likewise.
3167         (XSETCHAR_ID_TABLE): Likewise.
3168         (CHAR_ID_TABLE_P): Likewise.
3169         (GC_CHAR_ID_TABLE_P): Likewise.
3170         (get_char_id_table): Likewise.
3171
3172 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3173
3174         * chartab.c (copy_uint8_byte_table): New function.
3175         (copy_uint16_byte_table): New function.
3176         (copy_byte_table): New function.
3177         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3178         characters to call.
3179         (map_over_uint16_byte_table): Likewise.
3180         (map_over_byte_table): Likewise.
3181         (get_byte_table): Move prototype to chartab.h.
3182         (put_byte_table): Likewise.
3183         (put_char_id_table_0): Moved to chartab.h.
3184         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3185         (char_table_entry_equal): Likewise.
3186         (char_table_entry_hash): Likewise.
3187         (char_table_entry_description): Likewise.
3188         (char_table_entry): Likewise.
3189         (make_char_table_entry): Likewise.
3190         (copy_char_table_entry): Likewise.
3191         (get_non_ascii_char_table_value): Likewise.
3192         (map_over_charset_ascii): Likewise.
3193         (map_over_charset_control_1): Likewise.
3194         (map_over_charset_row): Likewise.
3195         (map_over_other_charset): Likewise.
3196         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3197         (print_char_table): Likewise.
3198         (char_table_equal): Likewise.
3199         (char_table_hash): Likewise.
3200         (char_table_description): Likewise.
3201         (fill_char_table): Likewise.
3202         (Fcopy_char_table): Likewise.
3203         (get_char_table): Likewise.
3204         (Fget_range_char_table): Likewise.
3205         (put_char_table): Likewise.
3206         (map_char_table): Likewise.
3207         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3208         UTF-2000.
3209
3210 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3211
3212         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3213         `Vauto_fill_chars' in XEmacs UTF-2000.
3214
3215         * chartab.h (get_byte_table): New prototype [moved from
3216         chartab.c].
3217         (put_byte_table): Likewise [moved from chartab.c].
3218         (put_char_id_table_0): New inline function [moved from chartab.c].
3219         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3220         (Lisp_Char_Table_Entry): Likewise.
3221         (char_table_entry): Likewise.
3222         (XCHAR_TABLE_ENTRY): Likewise.
3223         (XSETCHAR_TABLE_ENTRY): Likewise.
3224         (CHAR_TABLE_ENTRYP): Likewise.
3225         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3226         (NUM_ASCII_CHARS): Likewise.
3227         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3228         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3229
3230 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3231
3232         * chartab.c (get_char_id_table): Change interface.
3233         (put_char_id_table_0): New function.
3234         (put_char_id_table): Change interface; new implementation.
3235         (Fget_composite_char): Modify for interface change of
3236         `get_char_id_table'.
3237         (Fchar_variants): Likewise.
3238         (add_char_attribute_alist_mapper): Likewise.
3239         (Fchar_attribute_alist): Likewise.
3240         (Fget_char_attribute): Likewise.
3241         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3242         as same as character as the first argument like `put-char-table';
3243         modify for interface change of `put_char_id_table'.
3244         (Fremove_char_attribute): Modify for interface change of
3245         `put_char_id_table'.
3246
3247 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3248
3249         * text-coding.c: Sync up with XEmacs 21.2.41.
3250         (COMPOSE_ADD_CHAR): Modify for interface change of
3251         `get_char_id_table'.
3252
3253         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3254         change of `put_char_id_table'.
3255         (remove_char_ccs): Likewise.
3256
3257         * chartab.h (put_char_id_table): Change interface.
3258
3259         * char-ucs.h (get_char_id_table): Change interface.
3260         (charset_code_point): Modify for interface change of
3261         `get_char_id_table'.
3262         (encode_char_1): Likewise.
3263
3264 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3265
3266         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3267         argument `ccs'.
3268         (map_over_uint16_byte_table): Likewise.
3269         (map_over_byte_table): Likewise.
3270         (map_char_id_table): Add new argument `range' like
3271         `map_char_table'.
3272         (Fmap_char_attribute): Add new argument `range' like
3273         `Fmap_char_table'.
3274
3275 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3276
3277         * chartab.c (map_over_uint8_byte_table): Change interface of
3278         mapping function to use struct chartab_range instead of Emchar.
3279         (map_over_uint16_byte_table): Likewise.
3280         (map_over_byte_table): Likewise.
3281         (map_char_id_table): Likewise.
3282         (struct slow_map_char_id_table_arg): Deleted.
3283         (slow_map_char_id_table_fun): Deleted.
3284         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3285         function `slow_map_char_table_fun' instead of struct
3286         `slow_map_char_id_table_arg' and function
3287         `slow_map_char_id_table_fun'.
3288
3289 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3290
3291         * mule-charset.c: Move char-it-table related codes to chartab.c.
3292         (Vutf_2000_version): Moved to chartab.c.
3293         (Fdefine_char): Likewise.
3294         (Ffind_char): Likewise.
3295         (syms_of_mule_charset): Move types `uint8-byte-table',
3296         `uint16-byte-table', `byte-table' and `char-id-table' to
3297         chartab.c; move functions `char_attribute_list,
3298         `find_char_attribute_table, `char_attribute_alist,
3299         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3300         `map_char_attribute, `define_char, `find_char, `char_variants and
3301         `get_composite_char to chartab.c; move symbols `=>ucs',
3302         `->decomposition', `compat', `isolated', `initial', `medial',
3303         `final', `vertical', `noBreak', `fraction', `super', `sub',
3304         `circle', `square', `wide', `narrow', `small' and `font' to
3305         chartab.c.
3306         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3307         setting codes for `Vcharacter_composition_table' and
3308         `Vcharacter_variant_table' to chartab.c.
3309         (complex_vars_of_mule_charset): Move setting code for
3310         `Vchar_attribute_hash_table' to chartab.c.
3311
3312         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3313         (make_char_id_table): New prototype.
3314         (put_char_id_table): Likewise.
3315         (Fget_char_attribute): Likewise.
3316
3317         * chartab.c: Move char-id-table related code from mule-charset.c.
3318         (Vutf_2000_version): Moved from mule-charset.c.
3319
3320         * char-ucs.h (Qucs): New external variable.
3321         (put_char_ccs_code_point): New prototype.
3322         (remove_char_ccs): Likewise.
3323
3324 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3325
3326         * mule-charset.c (Vcharset_ucs_jis): New variable.
3327         (Qucs_jis): Likewise.
3328         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3329         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3330
3331         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3332
3333 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3334
3335         * mule-charset.c (map_over_uint8_byte_table): New function.
3336         (map_over_uint16_byte_table): Likewise.
3337         (map_over_byte_table): Likewise.
3338         (map_char_id_table): Likewise.
3339         (slow_map_char_id_table_fun): Likewise.
3340         (Fmap_char_attribute): Likewise.
3341         (syms_of_mule_charset): Add new function `map-char-attribute'.
3342
3343 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3346         (syms_of_mule_charset): Add new function `find-char'.
3347
3348 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3351         XEmacs UTF-2000.
3352         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3353         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3354         XEmacs UTF-2000.
3355         (complex_vars_of_mule_charset): Add new coded-charset
3356         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3357         `ideograph-gt-pj-*'.
3358
3359         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3360
3361 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3362
3363         * mule-charset.c (encode_builtin_char_1): Purge codes about
3364         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3365         {MIN|MAX}_CHAR_HEBREW.
3366         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3367         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3368
3369         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3370         (MAX_CHAR_GREEK): Purged.
3371         (MIN_CHAR_CYRILLIC): Purged.
3372         (MAX_CHAR_CYRILLIC): Purged.
3373         (MIN_CHAR_HEBREW): Commented out.
3374         (MAX_CHAR_HEBREW): Likewise.
3375
3376 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3377
3378         * mule-charset.c (Qto_ucs): New variable.
3379         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3380         (Fdefine_char): Likewise.
3381         (syms_of_mule_charset): Add new symbol `=>ucs'.
3382
3383 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3384
3385         * mule-charset.c (Fdecode_char): Fixed.
3386
3387 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3388
3389         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3390         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3391         "tcvn5712-1".
3392
3393 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3394
3395         * mule-charset.c (Vcharset_ucs_big5): New variable.
3396         (Qucs_big5): Likewise.
3397         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3398         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3399
3400         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3401
3402 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3403
3404         * mule-charset.c (decode_builtin_char): Check Big5 code range
3405         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3406
3407 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3408
3409         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3410         (Qchinese_gb12345): Likewise.
3411         (Fdecode_builtin_char): Fixed.
3412         (syms_of_mule_charset): Add `chinese-gb12345'.
3413         (complex_vars_of_mule_charset): Add coded-charset
3414         `chinese-gb12345'.
3415
3416         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3417         (LEADING_BYTE_CHINESE_GB12345): New macro.
3418
3419 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3420
3421         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3422         and `latin-viscii-upper' for `latin-viscii'.
3423
3424 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3425
3426         * mule-charset.c (Fdecode_builtin_char): Comment out
3427         regularization code for ISO-IR GR representation.
3428
3429 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3430
3431         * mule-charset.c (decode_builtin_char): New function; renamed from
3432         `make_builtin_char'; return -1 instead of signal.
3433         (Fdecode_builtin_char): Use `decode_builtin_char'.
3434
3435         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3436         `make_builtin_char'.
3437         (DECODE_CHAR): Use `decode_builtin_char' instead of
3438         `make_builtin_char'; use mapping table of `chinese-big5' for
3439         `chinese-big5-{1,2}'.
3440
3441 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3442
3443         * text-coding.c (char_encode_big5): New function.
3444         (char_finish_big5): Likewise.
3445         (reset_encoding_stream): Use `char_encode_big5' and
3446         `char_finish_big5' for CODESYS_BIG5.
3447         (mule_encode): Don't use `encode_coding_big5'.
3448         (encode_coding_big5): Deleted.
3449
3450 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3451
3452         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3453         0x81- in XEmacs UTF-2000.
3454         (detect_coding_big5): Likewise.
3455
3456 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3457
3458         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3459         generate character-id if the CCS property does not have
3460         corresponding predefined character.
3461         (make_builtin_char): Return -1 if corresponding predefined
3462         character is not found.
3463         (Fdecode_char): Return nil if corresponding character is not
3464         found.
3465         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3466         don't map to builtin ucs space.
3467
3468 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3469
3470         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3471         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3472
3473 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3474
3475         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3476         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3477         (Qideograph_gt): Likewise.
3478         (Qideograph_gt_pj_{1..11}): Likewise.
3479         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3480         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3481         `ideograph-gt-pj-11'.
3482         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3483         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3484         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3485
3486         * char-ucs.h (LEADING_BYTE_GT): New macro.
3487         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3488         (MIN_CHAR_GT): Likewise.
3489         (MAX_CHAR_GT): Likewise.
3490
3491 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3492
3493         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3494         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3495
3496         * doprnt.c (unsigned_int_converters): Add `c'.
3497         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3498
3499         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3500         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3501         `MIN_CHAR_MOJIKYO'.
3502         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3503         (MAX_CHAR_MOJIKYO_0): New macro.
3504         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3505
3506 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3507
3508         * mule-charset.c (Fdefine_char): Delete cemented out code.
3509         (encode_builtin_char_1): Modify for new allocation of builtin
3510         Mojikyo characters.
3511
3512         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3513
3514 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3515
3516         * mule-charset.c (Vcharset_ucs_cns): New variable.
3517         (Qucs_cns): New variable.
3518         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3519         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3520
3521 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3522
3523         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3524
3525 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3526
3527         * search.c (search_buffer): Make `charset_base_code' as
3528         character-id >> 6 to eliminate the corresponding last byte in
3529         UTF-8 representation [I'm not sure it is right thing].
3530         (boyer_moore): Likewise.
3531
3532 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3533
3534         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3535         representation in MULE.
3536
3537 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3538
3539         * text-coding.c (Fmake_coding_system): Use
3540         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3541         `EXTERNAL_PROPERTY_LIST_LOOP'.
3542
3543 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3544
3545         * text-coding.c (decode_output_utf8_partial_char): New function.
3546         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3547
3548 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3549
3550         * text-coding.c (decode_coding_utf8): Output original byte
3551         sequence if it is broken; change order of conditions.
3552
3553         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3554         of conditions.
3555
3556         * mb-multibyte.h (BYTE_ASCII_P):
3557         Use bit ops for char-signedness safety.
3558         (BYTE_C0_P): Use bit ops for char-signedness safety.
3559         (BYTE_C1_P): Use bit ops for char-signedness safety.
3560
3561         * character.h: (XCHAR_OR_CHAR_INT):
3562         Always use inline function.
3563         Remove redundant type checking assert() - XINT will abort quite
3564         nicely.
3565
3566 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3567
3568         * text-coding.c: (Fencode_shift_jis_char):
3569         (Fencode_big5_char):
3570         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3571         Replace 0 with '\0' when working with bytes.
3572         Replace initial "(" with "\(" in docstrings.
3573
3574         (Fmake_coding_system):
3575         When type is ccl and value is vector, register it with a proper
3576         symbol.  And checks whether the given ccl program is valid.
3577         (mule_decode): When calling ccl_driver, if src indicates
3578         NULL pointer, set an empty string instead.
3579         (mule_encode): Likewise.
3580
3581         (detect_eol_type):
3582         (detect_coding_sjis):
3583         (decode_coding_sjis):
3584         (detect_coding_big5):
3585         (decode_coding_big5):
3586         (detect_coding_ucs4):
3587         (decode_coding_ucs4):
3588         (detect_coding_utf8):
3589         (decode_coding_utf8):
3590         (detect_coding_iso2022):
3591         (decode_coding_iso2022):
3592         (decode_coding_no_conversion):
3593         (mule_decode):
3594         Make all detecting and decoding functions take an Extbyte * arg.
3595         (text_encode_generic):
3596         (encode_coding_big5):
3597         (encode_coding_no_conversion):
3598         (mule_encode):
3599         Make all encoding functions take a Bufbyte * arg.
3600         Use size_t instead of unsigned int for memory sizes.
3601         Only cast to unsigned char whenever dereferencing Extbyte *.
3602
3603         (struct lrecord_description fcd_description_1): Use countof.
3604         (complex_vars_of_file_coding):
3605         Use countof instead of sizeof.
3606         Use CHECK_NATNUM instead of CHECK_INT.
3607
3608 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3609
3610         * mule-charset.c (Fget_char_attribute): Add new optional argument
3611         `default-value'.
3612         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3613         (remove_char_ccs): Likewise.
3614
3615 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3616
3617         * text-coding.c (char_encode_shift_jis): New implementation in
3618         UTF-2000.
3619         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3620         ...)'.
3621
3622         * mule-charset.c (Vcharset_chinese_big5): New variable in
3623         UTF-2000.
3624         (Qchinese_big5): New variable in UTF-2000.
3625         (BIG5_SAME_ROW): New macro in UTF-2000.
3626         (make_builtin_char): Use builtin characters of
3627         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3628         characters of `Vcharset_chinese_big5'.
3629         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3630         (complex_vars_of_mule_charset): Add new coded-charset
3631         `chinese-big5' in UTF-2000.
3632
3633         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3634         (Vcharset_chinese_big5): New external variable declaration.
3635         (Vcharset_japanese_jisx0208_1990): Likewise.
3636
3637 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3638
3639         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3640         function.
3641         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3642
3643 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3644
3645         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3646         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3647         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3648         `mojikyo-pj-*'.
3649
3650 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3651
3652         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3653
3654 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3655
3656         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3657         to 0.17.
3658
3659 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3660
3661         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3662         for `CHARSET_BY_ATTRIBUTES'.
3663         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3664         `CHARSET_BY_ATTRIBUTES'.
3665
3666         * text-coding.c (struct decoding_stream): Rename member `CH' to
3667         `CPOS'.
3668         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3669         (decode_coding_sjis): Likewise.
3670         (decode_coding_big5): Likewise.
3671         (decode_coding_ucs4): Likewise.
3672         (decode_coding_utf8): Likewise.
3673         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3674         `CHARSET_BY_ATTRIBUTES'.
3675         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3676         `str->counter'; decode 3, 4 bytes sets.
3677         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3678         sets.
3679         (decode_coding_no_conversion): Use `str->cpos' instead of
3680         `str->ch'.
3681
3682         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3683         (Qmojikyo_2022_1): New variable.
3684         (make_charset): Don't use `CHARSET_TYPE_*'.
3685         (range_charset_code_point): Support coded-charset
3686         `mojikyo-2022-1'.
3687         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3688         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3689         `CHARSET_BY_ATTRIBUTES'.
3690         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3691         `CHARSET_BY_ATTRIBUTES'.
3692         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3693         (complex_vars_of_mule_charset): Add new coded-charset
3694         `mojikyo-2022-1'.
3695
3696         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3697         interface; changed to inline function.
3698
3699         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3700         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3701         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3702         (CHARSET_TYPE_94): Deleted.
3703         (CHARSET_TYPE_94X94): Deleted.
3704         (CHARSET_TYPE_96): Deleted.
3705         (CHARSET_TYPE_96X96): Deleted.
3706         (CHARSET_TYPE_128): Deleted.
3707         (CHARSET_TYPE_128X128): Deleted.
3708         (CHARSET_TYPE_256): Deleted.
3709         (CHARSET_TYPE_256X256): Deleted.
3710         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3711         to inline function.
3712         (DECODE_MOJIKYO_2022): New inline function.
3713         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3714         `Vcharset_mojikyo_2022_1'.
3715
3716 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3717
3718         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3719         instead of `EQ'.
3720         (put_byte_table): Likewise.
3721         (char_id_table_equal): Use `get_byte_table' [new implementation].
3722
3723 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3724
3725         * mule-charset.c: Include <limits.h> in UTF-2000.
3726         (BT_UINT8_MIN): New macro in UTF-2000.
3727         (BT_UINT8_MAX): New macro in UTF-2000.
3728         (BT_UINT8_t): New macro in UTF-2000.
3729         (BT_UINT8_nil): New macro in UTF-2000.
3730         (BT_UINT8_unbound): New macro in UTF-2000.
3731         (INT_UINT8_P): New inline function in UTF-2000.
3732         (UINT8_VALUE_P): New inline function in UTF-2000.
3733         (UINT8_ENCODE): New inline function in UTF-2000.
3734         (UINT8_DECODE): New inline function in UTF-2000.
3735         (mark_uint8_byte_table): New function in UTF-2000.
3736         (print_uint8_byte_table): New function in UTF-2000.
3737         (uint8_byte_table_equal): New function in UTF-2000.
3738         (uint8_byte_table_hash): New function in UTF-2000.
3739         (make_uint8_byte_table): New function in UTF-2000.
3740         (uint8_byte_table_same_value_p): New function in UTF-2000.
3741         (BT_UINT16_MIN): New macro in UTF-2000.
3742         (BT_UINT16_MAX): New macro in UTF-2000.
3743         (BT_UINT16_t): New macro in UTF-2000.
3744         (BT_UINT16_nil): New macro in UTF-2000.
3745         (BT_UINT16_unbound): New macro in UTF-2000.
3746         (INT_UINT16_P): New inline function in UTF-2000.
3747         (UINT16_VALUE_P): New inline function in UTF-2000.
3748         (UINT16_ENCODE): New inline function in UTF-2000.
3749         (UINT16_DECODE): New inline function in UTF-2000.
3750         (UINT8_TO_UINT16): New inline function in UTF-2000.
3751         (mark_uint16_byte_table): New function in UTF-2000.
3752         (print_uint16_byte_table): New function in UTF-2000.
3753         (uint16_byte_table_equal): New function in UTF-2000.
3754         (uint16_byte_table_hash): New function in UTF-2000.
3755         (make_uint16_byte_table): New function in UTF-2000.
3756         (uint16_byte_table_same_value_p): New function in UTF-2000.
3757         (print_byte_table): New function in UTF-2000.
3758         (byte-table): Use `print_byte_table' as printer.
3759         (make_byte_table): Delete second argument `older'.
3760         (byte_table_same_value_p): New function in UTF-2000.
3761         (copy_byte_table): Deleted.
3762         (get_byte_table): New function in UTF-2000.
3763         (put_byte_table): New function in UTF-2000.
3764         (print_char_id_table): New function in UTF-2000.
3765         (char-id-table): Use `print_char_id_table' as printer.
3766         (make_char_id_table): Delete second argument `older'.
3767         (get_char_id_table): Use `get_byte_table [new implementation].
3768         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3769         implementation].
3770         (Ffind_char_attribute_table): New function in UTF-2000.
3771         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3772         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3773         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3774         (syms_of_mule_charset): Add new function
3775         `find-char-attribute-table' in UTF-2000.
3776
3777         * lrecord.h (enum lrecord_type): Add
3778         `lrecord_type_uint16_byte_table' and
3779         `lrecord_type_uint8_byte_table'.
3780
3781         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3782         (Lisp_Uint8_Byte_Table): New type.
3783         (XUINT8_BYTE_TABLE): New macro.
3784         (XSETUINT8_BYTE_TABLE): New macro.
3785         (UINT8_BYTE_TABLE_P): New macro.
3786         (GC_UINT8_BYTE_TABLE_P): New macro.
3787         (struct Lisp_Uint16_Byte_Table): New structure.
3788         (Lisp_Uint16_Byte_Table): New type.
3789         (XUINT16_BYTE_TABLE): New macro.
3790         (XSETUINT16_BYTE_TABLE): New macro.
3791         (UINT16_BYTE_TABLE_P): New macro.
3792         (GC_UINT16_BYTE_TABLE_P): New macro.
3793
3794 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3795
3796         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3797         (Vcharacter_ideographic_strokes_table): Deleted.
3798         (Vcharacter_total_strokes_table): Deleted.
3799         (Vcharacter_morohashi_daikanwa_table): Deleted.
3800         (Vcharacter_decomposition_table): Deleted.
3801         (Qname): Deleted because it is duplicated.
3802         (Qideographic_radical): Deleted.
3803         (Qideographic_strokes): Deleted.
3804         (Qtotal_strokes): Deleted.
3805         (Qmorohashi_daikanwa): Deleted.
3806         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3807         `ideographic-radical', `ideographic-strokes', `total-strokes',
3808         `morohashi-daikanwa' and `->decomposition'.
3809         (Fget_char_attribute): Likewise.
3810         (Fput_char_attribute): Likewise; use `make-vector' instead of
3811         `make_older_vector' for `->decomposition' value.
3812         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3813         `ideograph-daikanwa'.
3814         (syms_of_mule_charset): Delete builtin symbols `name',
3815         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3816         `morohashi-daikanwa'.
3817         (vars_of_mule_charset): Don't setup
3818         `Vcharacter_ideographic_radical_table',
3819         `Vcharacter_ideographic_strokes_table',
3820         `Vcharacter_total_strokes_table',
3821         `Vcharacter_morohashi_daikanwa_table' and
3822         `Vcharacter_decomposition_table'.
3823
3824 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3825
3826         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3827         `make_older_vector', `make_vector_newer_1' and
3828         `make_vector_newer'.
3829
3830         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3831         `make_older_vector' and `make_vector_newer'.
3832
3833         * config.h.in (HAVE_GGC): New macro.
3834
3835 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3836
3837         * mule-charset.c (struct char_attribute_list_closure): New
3838         structure in UTF-2000.
3839         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3840         (Fchar_attribute_list): Likewise.
3841         (Fset_charset_mapping_table): Use `make_vector_newer'.
3842         (Fdecode_builtin_char): New function in UTF-2000.
3843         (syms_of_mule_charset): Add new function `char-attribute-list' and
3844         `decode-builtin-char' in UTF-2000.
3845
3846         * lisp.h (make_vector_newer): New prototype.
3847
3848         * alloc.c (make_vector_newer_1): New function.
3849         (make_vector_newer): New function.
3850
3851 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3852
3853         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3854         50100)'.
3855
3856 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3857
3858         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3859         (Vcharacter_attribute_table): Deleted.
3860         (Vcharacter_name_table): Deleted.
3861         (put_char_attribute): Deleted.
3862         (remove_char_attribute): Deleted.
3863         (struct char_attribute_alist_closure): New structure.
3864         (add_char_attribute_alist_mapper): New function.
3865         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3866         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3867         (Fget_char_attribute): Likewise.
3868         (Fput_char_attribute): Likewise.
3869         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3870         of `remove_char_attribute'.
3871         (Fdefine_char): Return character.
3872         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3873         and `Vcharacter_name_table'.
3874         (complex_vars_of_mule_charset): Likewise
3875         `Vchar_attribute_hash_table'.
3876
3877 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3878
3879         * character.h (CHARC_CHARSET): New macro.
3880         (CHARC_CHARSET_ID): New macro.
3881         (CHARC_CODE_POINT): New macro.
3882         (CHARC_COLUMNS): New macro.
3883         (CHARC_TO_CHAR): New inline function.
3884         (CHARC_EQ): New inline function.
3885         (CHARC_ASCII_EQ): New inline function.
3886         (CHARC_IS_SPACE): New inline function.
3887         (ASCII_TO_CHARC): New inline function.
3888
3889         * char-ucs.h (encode_char_2): Deleted.
3890         (ENCODE_CHAR): Use `encode_char_1' again.
3891         (breakup_char_1): Likewise.
3892         (CHAR_TO_CHARC): New inline function.
3893
3894         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3895
3896 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3897
3898         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3899         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3900         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3901         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3902         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3903         `CHARC_IS_SPACE'.
3904         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3905
3906         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3907         `CHARC_CODE_POINT'.
3908         (x_output_display_block): Use `CHARC_CHARSET' and
3909         `CHARC_ASCII_EQ'.
3910
3911         * redisplay-tty.c (tty_output_display_block): Use
3912         `CHARC_ASCII_EQ'.
3913         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3914
3915         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3916
3917         * insdel.c (find_charsets_in_charc_string): Use
3918         `CHARC_CHARSET_ID'.
3919         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3920         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3921         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3922         (convert_charc_string_into_malloced_string): Likewise.
3923
3924 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3925
3926         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3927         instead of <Emchar_dynarr *> for buf; use
3928         `convert_bufbyte_string_into_charc_dynarr' instead of
3929         `convert_bufbyte_string_into_emchar_dynarr'; use
3930         `find_charsets_in_charc_string' instead of
3931         `find_charsets_in_emchar_string'.
3932
3933         * redisplay.h:
3934         - Include "character.h".
3935         (struct rune): New member `cglyph'; delete member `chr'.
3936
3937         * redisplay.c (redisplay_text_width_charc_string): New function;
3938         delete `redisplay_text_width_emchar_string'.
3939         (rtw_charc_dynarr): New variable; renamed from
3940         `rtw_emchar_dynarr'.
3941         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3942         `rtw_emchar_dynarr'; use
3943         `convert_bufbyte_string_into_charc_dynarr' instead of
3944         `convert_bufbyte_string_into_emchar_dynarr'; use
3945         `redisplay_text_width_charc_string' instead of
3946         `redisplay_text_width_emchar_string'.
3947         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3948         instead of `rtw_emchar_dynarr'; use
3949         `convert_bufbyte_string_into_charc_dynarr' instead of
3950         `convert_bufbyte_string_into_emchar_dynarr'.
3951         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3952         `redisplay_text_width_charc_string' instead of
3953         `redisplay_text_width_emchar_string'.
3954         (create_text_block): Modify for <struct rune> change.
3955         (generate_formatted_string_db): Likewise.
3956         (create_string_text_block): Likewise.
3957         (pixel_to_glyph_translation): Likewise.
3958
3959         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3960         instead of <const Emchar *>.
3961         (x_text_width): Likewise.
3962         (x_output_display_block): Use <Charc_dynarr *> instead
3963         <Emchar_dynarr *>; modify for <structure rune> change.
3964         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3965         *>.
3966
3967         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3968         <const Emchar *>; use `charc_string_displayed_columns' instead of
3969         `emchar_string_displayed_columns'.
3970         (tty_output_display_block): Use <Charc_dynarr *> instead of
3971         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3972         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3973         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3974         `tty_output_emchar_dynarr_dynarr'.
3975         (tty_output_charc_dynarr): New function; delete
3976         `tty_output_charc_dynarr'.
3977
3978         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3979         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3980         <Emchar_dynarr *> for buf; use
3981         `convert_bufbyte_string_into_charc_dynarr' instead of
3982         `convert_bufbyte_string_into_emchar_dynarr'.
3983
3984         * frame.c (title_string_charc_dynarr): New variable; renamed from
3985         `title_string_emchar_dynarr'.
3986         (generate_title_string): Use `title_string_charc_dynarr' instead
3987         of `title_string_emchar_dynarr'; use
3988         `convert_charc_string_into_malloced_string' instead of
3989         `convert_emchar_string_into_malloced_string'.
3990         (init_frame): Use `title_string_charc_dynarr' instead of
3991         `title_string_emchar_dynarr'.
3992
3993         * console.h:
3994         - Include "character.h".
3995         (struct console_methods): Use <const Charc *> instead of <const
3996         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3997         <Emchar_dynarr *> in output_string_method.
3998
3999         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
4000         <Emchar_dynarr *>.
4001
4002         * console-stream.c (stream_text_width): Use <const Charc *>
4003         instead of <const Emchar *>.
4004
4005         * character.h (Charc_dynarr): New type.
4006
4007         * char-ucs.h (structure Charc): New structure; define new type
4008         `Charc'.
4009
4010         * char-lb.h (DECODE_CHAR): New inline function.
4011         (encode_char_1): New inline function.
4012         (ENCODE_CHAR): New macro.
4013         (structure Charc): New structure; define new type `Charc'.
4014
4015         * char-1byte.h (Vcharset_control_1): New macro.
4016         (Vcharset_latin_iso8859_1): New macro.
4017         (DECODE_CHAR): New inline function.
4018         (encode_char_1): New inline function.
4019         (ENCODE_CHAR): New macro.
4020         (structure Charc): New structure; define new type `Charc'.
4021
4022         * insdel.c (find_charsets_in_charc_string): New function; delete
4023         `find_charsets_in_emchar_string'.
4024         (charc_string_displayed_columns): New function; delete
4025         `emchar_string_displayed_columns'.
4026         (convert_bufbyte_string_into_charc_dynarr): New function; delete
4027         `convert_bufbyte_string_into_emchar_dynarr'.
4028         (convert_charc_string_into_bufbyte_dynarr): New function; delete
4029         `convert_charc_string_into_bufbyte_dynarr'.
4030         (convert_charc_string_into_malloced_string): New function; delete
4031         `convert_charc_string_into_malloced_string'.
4032
4033         * buffer.h (find_charsets_in_charc_string): New prototype; delete
4034         `find_charsets_in_emchar_string'.
4035         (charc_string_displayed_columns): New prototype; delete
4036         `emchar_string_displayed_columns'.
4037         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
4038         `convert_charc_string_into_bufbyte_dynarr'.
4039         (convert_charc_string_into_malloced_string): New prototype; delete
4040         `convert_charc_string_into_malloced_string'.
4041
4042 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4043
4044         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
4045
4046 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4047
4048         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
4049
4050         * char-ucs.h: Use <short> for <Charset_ID>.
4051
4052         * mule-charset.h, char-1byte.h: Use <unsigned char> for
4053         <Charset_ID>.
4054
4055 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4056
4057         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4058         to 0.16.
4059
4060 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4061
4062         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
4063         variable.
4064         (Qmorohashi_daikanwa): New variable.
4065         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
4066         for `morohashi-daikanwa' attribute.
4067         (Fget_char_attribute): Likewise.
4068         (Fput_char_attribute): Likewise.
4069         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4070         has the same value of `ideograph-daikanwa'.
4071         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4072         (vars_of_mule_charset): Setup
4073         `Vcharacter_morohashi_daikanwa_table'.
4074
4075 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4076
4077         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4078         attributes.
4079         (add_charset_to_list_mapper): Add `key' instead of
4080         `XCHARSET_NAME (value)' to return aliases.
4081
4082 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4083
4084         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4085         variable.
4086         (Vcharacter_ideographic_strokes_table): New variable.
4087         (Qideographic_radical): New variable.
4088         (Qideographic_strokes): New variable.
4089         (Fchar_attribute_alist): Use
4090         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4091         attribute; use `Vcharacter_ideographic_strokes_table' for
4092         `ideographic-strokes' attribute.
4093         (Fget_char_attribute): Likewise.
4094         (Fput_char_attribute): Likewise.
4095         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4096         `ideographic-strokes'.
4097         (vars_of_mule_charset): Setup
4098         `Vcharacter_ideographic_radical_table' and
4099         `Vcharacter_ideographic_strokes_table'.
4100
4101 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4102
4103         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4104         (Qtotal_strokes): New variable.
4105         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4106         `total-strokes' attribute.
4107         (Fget_char_attribute): Likewise.
4108         (Fput_char_attribute): Likewise.
4109         (syms_of_mule_charset): Add new symbol `total-strokes'.
4110         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4111
4112 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4113
4114         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4115         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4116         are found.
4117         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4118         `->decomposition' attribute.
4119         (Fput_char_attribute): Likewise.
4120         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4121
4122 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4123
4124         * mule-charset.c (decoding_table_check_elements): New function.
4125         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4126
4127 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4128
4129         * mule-charset.c (Fset_charset_mapping_table): Use
4130         `put_char_ccs_code_point'.
4131
4132 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4133
4134         * mule-charset.c (decoding_table_put_char): New inline function.
4135         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4136
4137 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4138
4139         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4140         (XCHARSET_BYTE_SIZE): New macro.
4141         (decoding_table_remove_char): New inline function.
4142         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4143         `decoding_table_remove_char'.
4144         (remove_char_ccs): Use `decoding_table_remove_char'.
4145         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4146
4147 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4148
4149         * mule-charset.c (Vcharacter_name_table): New variable.
4150         (Qname): New variable.
4151         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4152         attribute.
4153         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4154         `Vcharacter_name_table' for `name' attribute.
4155         (Fremove_char_attribute): Use function `remove_char_ccs'.
4156         (put_char_ccs_code_point): New function.
4157         (remove_char_ccs): New function.
4158         (syms_of_mule_charset): Add new symbol `name'.
4159         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4160
4161 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4162
4163         * mule-charset.c (make_byte_table): Add new argument `older'.
4164         (make_char_id_table): Likewise.
4165         (copy_char_id_table): Comment out because it is not used.
4166         (put_char_id_table): Modify for `make_byte_table'.
4167         (Fput_char_attribute): Make encoding_table as older object;
4168         inherit older bit of `Vcharacter_composition_table'.
4169         (mark_charset): Don't mark `cs->encoding_table'.
4170         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4171         normal object; make `Vcharacter_composition_table' as an older
4172         object; delete staticpro for `Vcharacter_composition_table'; make
4173         `Vcharacter_variant_table' as a normal object.
4174
4175         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4176         (mark_object): Don't check older object in UTF-2000.
4177
4178         * lrecord.h (struct lrecord_header): Add new member `older' in
4179         UTF-2000.
4180         (set_lheader_implementation): Setup `SLI_header->older' in
4181         UTF-2000.
4182         (set_lheader_older_implementation): New macro in UTF-2000.
4183         (OLDER_RECORD_P): New macro in UTF-2000.
4184         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4185         (alloc_older_lcrecord): New prototype in UTF-2000.
4186         (alloc_older_lcrecord_type): New macro in UTF-2000.
4187
4188 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4189
4190         * mule-charset.c (byte_table_description): Use
4191         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4192         (char_id_table_description): Delete bogus `, 1'.
4193         (Fget_char_attribute): Refer encoding_table of each coded-charset
4194         to get value of coded-charset attribute of a character.
4195         (Fput_char_attribute): Use `make_older_vector' instead of
4196         `make_vector'; use encoding_table of each coded-charset to store
4197         value of coded-charset attribute of a character.
4198         (Fremove_char_attribute): Use encoding_table of each coded-charset
4199         to store value of coded-charset attribute of a character.
4200         (mark_charset): Mark `cs->encoding_table'; don't mark
4201         `cs->decoding_table'.
4202         (charset_description): Add description of new member
4203         `encoding_table'.
4204         (make_charset): Initialize `encoding_table'.
4205
4206         * char-ucs.h (struct Lisp_Charset): Add new member
4207         `encoding_table'.
4208         (CHARSET_ENCODING_TABLE): New macro.
4209         (XCHARSET_ENCODING_TABLE): New macro.
4210         (charset_code_point): New implementation.
4211         (encode_char_1): Likewise.
4212
4213         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4214         (disksave_object_finalization_1): Call finalizers of
4215         `all_older_lcrecords' in UTF-2000.
4216         (make_older_vector): New function in UTF-2000.
4217         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4218         UTF-2000.
4219
4220         * lisp.h (make_older_vector): New prototype in UTF-2000.
4221
4222 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4223
4224         * lrecord.h (enum lrecord_type): Rename
4225         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4226
4227         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4228         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4229         `get_char_code_table'.
4230
4231         * mule-charset.c (mark_char_id_table): Renamed from
4232         `mark_char_code_table'.
4233         (char_id_table_equal): Renamed from `char_code_table_equal'.
4234         (char_id_table_hash): Renamed from `char_code_table_hash'.
4235         (make_char_id_table): Renamed from `make_char_code_table'.
4236         (copy_char_id_table): Renamed from `copy_char_code_table'.
4237         (get_char_id_table): Renamed from `get_char_code_table'.
4238         (put_char_id_table): Renamed from `put_char_code_table'.
4239         (to_char_id): Renamed from `to_char_code'.
4240
4241         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4242         `Lisp_Char_Code_Table'.
4243         (char_id_table): Renamed from `char_code_table'.
4244         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4245         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4246         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4247         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4248         (get_char_id_table): Renamed from `get_char_code_table'.
4249
4250 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4251
4252         * lrecord.h (enum lrecord_type): Rename
4253         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4254
4255         * mule-charset.c (mark_byte_table): Renamed from
4256         `mark_char_byte_table'.
4257         (byte_table_equal): Renamed from `char_byte_table_equal'.
4258         (byte_table_hash): Renamed from `byte_table_hash'.
4259         (make_byte_table): Renamed from `make_byte_table'.
4260         (copy_byte_table): Renamed from `copy_char_byte_table'.
4261
4262         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4263         `Lisp_Char_Byte_Table'.
4264         (byte_table): Renamed from `char_byte_table'.
4265         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4266         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4267         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4268         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4269
4270 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4271
4272         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4273         (dfc_convert_to_internal_format): Likewise.
4274         
4275         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4276         * text-coding.c (Fcoding_system_alias_p): New function.
4277         * text-coding.c (Fcoding_system_aliasee): New function.
4278         * text-coding.c (append_suffix_to_symbol): New function.
4279         * text-coding.c (dangling_coding_system_alias_p): New function.
4280         * text-coding.c (Ffind_coding_system):
4281         * text-coding.c (Fcopy_coding_system):
4282         * text-coding.c (encode_coding_no_conversion):
4283         * text-coding.c (syms_of_file_coding):
4284         * text-coding.c (vars_of_file_coding):
4285         Rewrite coding system alias code.
4286         Allow nested aliases, like symbolic links.
4287         Allow redefinition of coding system aliases.
4288         Prevent existence of dangling coding system aliases.
4289         Eliminate convert_to_external_format.
4290         Eliminate convert_to_internal_format.
4291         
4292         * text-coding.c: Change enum eol_type to eol_type_t.
4293
4294 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4295
4296         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4297         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4298
4299         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4300         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4301
4302 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4303
4304         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4305         `ideograph-daikanwa'.
4306
4307         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4308         (Vcharset_ucs_bmp): Likewise.
4309         (Vcharset_mojikyo): Add new extern variable definition.
4310         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4311         (Vcharset_latin_iso8859_3): Likewise.
4312         (Vcharset_latin_iso8859_4): Likewise.
4313         (Vcharset_latin_iso8859_9): Likewise.
4314         (Vcharset_latin_viscii_lower): Likewise.
4315         (Vcharset_latin_viscii_upper): Likewise.
4316         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4317         `mojikyo' code-point is used to decode.
4318         (encode_char_2): New function [to convert `mojikyo' code-point to
4319         Mojikyo font encoding].
4320         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4321         (breakup_char_1): Likewise.
4322         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4323
4324 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4325
4326         * text-coding.c (Fmake_coding_system): Add document about
4327         `disable-composition' property.
4328
4329 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4330
4331         * text-coding.c (Qdisable_composition): New variable; delete
4332         `Qcomposite'.
4333         (Fmake_coding_system): Add new property `disable-composite';
4334         delete property `composite'.
4335         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4336         instead of `!CODING_SYSTEM_COMPOSITE'.
4337         (syms_of_file_coding): Add new symbol `disable-composition';
4338         delete symbol `composite'.
4339
4340         * file-coding.h (struct Lisp_Coding_System): Add
4341         `disable_composition'; delete `enable_composition'.
4342         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4343         `CODING_SYSTEM_COMPOSITE'.
4344         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4345         `XCODING_SYSTEM_COMPOSITE'.
4346
4347 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4348
4349         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4350         to 0.15.
4351
4352 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4353
4354         * text-coding.c (Qcomposite): New variable.
4355         (Fmake_coding_system): Add new property `composite'.
4356         (struct decoding_stream): Add `combined_char_count',
4357         `combined_chars' and `combining_table' in UTF-2000.
4358         (COMPOSE_FLUSH_CHARS): New macro.
4359         (COMPOSE_ADD_CHAR): New macro.
4360         (reset_decoding_stream): Reset `str->combined_char_count' and
4361         `str->combining_table' in UTF-2000.
4362         (decode_coding_iso2022): Modify for character-decomposition.
4363         (syms_of_file_coding): Add new symbol `composite'.
4364
4365 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4366
4367         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4368         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4369         of `Vcharacter_composition_table' if `->decomposition' property
4370         has only 1 element.
4371         (Qlatin_tcvn5712): New variable.
4372         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4373         (complex_vars_of_mule_charset): Add new coded-charset
4374         `latin-tcvn5712'.
4375
4376         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4377
4378 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4379
4380         * file-coding.h (struct Lisp_Coding_System): Add
4381         `enable_composition'.
4382         (CODING_SYSTEM_COMPOSITE): New macro.
4383         (XCODING_SYSTEM_COMPOSITE): New macro.
4384
4385 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4386
4387         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4388
4389 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4390
4391         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4392         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4393
4394 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4395
4396         * mule-charset.c (Vcharset_mojikyo): New variable.
4397         (Fdefine_char): Don't use coded-charset which does not have
4398         non-builtin character range to allocate character-id.
4399         (Qmojikyo): New variable.
4400         (syms_of_mule_charset): Add new symbol `mojikyo'.
4401         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4402
4403         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4404         (LEADING_BYTE_MOJIKYO): New macro.
4405         (MIN_CHAR_MOJIKYO): New macro.
4406         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4407         (MAX_CHAR_MOJIKYO): New macro.
4408
4409 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4410
4411         * mule-charset.c (remove_char_attribute): Fixed.
4412
4413 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4414
4415         * mule-charset.c (remove_char_attribute): New function.
4416         (Fremove_char_attribute): New function.
4417         (encode_builtin_char_1): Comment out builtin-support for
4418         greek-iso8859-7 and cyrillic-iso8859-5.
4419         (Fdecode_char): Check `code' is an integer.
4420         (syms_of_mule_charset): Add `remove-char-attribute'.
4421         (MIN_CHAR_GREEK): Deleted.
4422         (MAX_CHAR_GREEK): Likewise.
4423         (MIN_CHAR_CYRILLIC): Likewise.
4424         (MAX_CHAR_CYRILLIC): Likewise.
4425         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4426         MAX_CHAR_GREEK for `greek-iso8859-7'.
4427
4428         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4429         (MAX_CHAR_GREEK): Likewise.
4430         (MIN_CHAR_CYRILLIC): Likewise.
4431         (MAX_CHAR_CYRILLIC): Likewise.
4432
4433 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4434
4435         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4436         format is used without `ucs' property.
4437         (Fdecode_char): Fix problem with GR representation.
4438         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4439         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4440
4441 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4442
4443         * mule-charset.c (make_builtin_char): New function.
4444         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4445         (Fset_charset_mapping_table): Modify for new representation of
4446         code-point.
4447         (Fdecode_char): New function.
4448         (syms_of_mule_charset): Add new builtin function `decode-char' in
4449         UTF-2000.
4450
4451         * char-ucs.h (make_builtin_char): New prototype.
4452         (DECODE_CHAR): New inline function.
4453         (MAKE_CHAR): Use `DECODE_CHAR'.
4454
4455 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4456
4457         * text-coding.c (parse_charset_conversion_specs): Use
4458         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4459         `XCHARSET_TYPE'.
4460         (iso2022_designate): Likewise.
4461
4462         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4463         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4464
4465         * mule-charset.c (Vcharset_ucs): New variable.
4466         (print_charset): Change design; use `CHARSET_CHARS' and
4467         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4468         (make_charset): Change signature to specify `chars' and
4469         `dimension' instead of `type'.
4470         (range_charset_code_point): Modify for 256^n-set.
4471         (encode_builtin_char_1): Encode as `ucs' in default.
4472         (Fmake_charset): Modify for `make_charset'.
4473         (Fmake_reverse_direction_charset): Likewise.
4474         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4475         UTF-2000.
4476         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4477         for `make_charset'.
4478
4479         * char-ucs.h (Vcharset_ucs): New variable.
4480         (LEADING_BYTE_UCS): New macro.
4481         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4482         and `chars' to `unsigned short' from `unsigned int'.
4483         (CHARSET_TYPE): Deleted.
4484         (XCHARSET_TYPE): Deleted.
4485
4486 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4487
4488         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4489
4490         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4491         (ENCODE_CHAR): New macro.
4492
4493 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4494
4495         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4496         to 0.14 (Kawachi-Katakami).
4497
4498 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4499
4500         * text-coding.c (char_encode_shift_jis): Modify for
4501         `charset_code_point'.
4502         (char_encode_iso2022): Likewise.
4503
4504         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4505         (integer) instead of list of <Lisp_Object>s (integers) as the
4506         format of code-point of a coded-charset.
4507         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4508         (encode_builtin_char_1): New function; delete
4509         `split_builtin_char'.
4510         (charset_code_point): Return <int> instead of <Lisp_Object>.
4511         (Fsplit_char): Don't use `SPLIT_CHAR'.
4512
4513         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4514         prototype for `split_builtin_char'.
4515         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4516         (charset_code_point): Likewise.
4517         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4518         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4519
4520 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4521
4522         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4523         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4524
4525 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4526
4527         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4528
4529         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4530         (MAX_CHAR_OBS_94x94): Deleted.
4531
4532 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4533
4534         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4535
4536         * char-ucs.h (MAX_CHAR_BMP): New macro.
4537
4538 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4539
4540         * text-coding.c: Sync with r21-2-24.
4541
4542 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4543
4544         * file-coding.c: Modify for UTF-2000.
4545
4546 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4547
4548         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4549         to 0.13 (Takaida).
4550
4551 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4552
4553         * mule-charset.c (split_builtin_char): Delete builtin support for
4554         `katakana-jisx0201'.
4555         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4556         BMP area in builtin representation.
4557
4558         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4559         `Vcharset_katakana_jisx0201'.
4560
4561 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4562
4563         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4564         (Qisolated): New variable.
4565         (Qinitial): New variable.
4566         (Qmedial): New variable.
4567         (Qfinal): New variable.
4568         (Qvertical): New variable.
4569         (Qsmall): New variable.
4570         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4571         `Qvertical' and `Qsmall'.
4572         (Qmojikyo_pj_[1 .. 21]): New variable.
4573         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4574         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4575         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4576         .. 21]'.
4577
4578 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4579
4580         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4581         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4582         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4583
4584 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4585
4586         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4587         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4588         BMP.
4589         (Qjapanese_jisx0208_1990): New variable.
4590         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4591         (complex_vars_of_mule_charset): Add new coded-charset
4592         `japanese-jisx0208-1990'.
4593
4594         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4595         (MIN_CHAR_JIS_X0208_1990): New macro.
4596         (MAX_CHAR_JIS_X0208_1990): New macro.
4597
4598 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4599
4600         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4601         coded-charset is not found.
4602
4603 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4604
4605         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4606         (Fdefine_char): Use `Fmake_char'.
4607
4608 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4609
4610         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4611         (Vcharset_hiragana_jisx0208): Deleted.
4612         (Vcharset_katakana_jisx0208): Deleted.
4613         (Qideograph_daikanwa): New variable.
4614         (Qhiragana_jisx0208): Deleted.
4615         (Qkatakana_jisx0208): Deleted.
4616         (split_builtin_char): Split `ideograph-daikanwa'.
4617         (Fsplit_char): New implementation for UTF-2000.
4618         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4619         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4620         (complex_vars_of_mule_charset): Add new coded-charset
4621         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4622         `katakana-jisx0208'.
4623
4624         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4625         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4626         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4627         (MIN_CHAR_DAIKANWA): New macro.
4628         (MAX_CHAR_DAIKANWA): New macro.
4629
4630 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4631
4632         * data.c (Fstring_to_number): Don't recognize floating point if
4633         base is not 10.
4634
4635 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4636
4637         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4638
4639 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4640
4641         * mule-charset.c (Qsquare): New variable.
4642         (to_char_code): Add `Qsquare'.
4643         (syms_of_mule_charset): Add new symbol `square'.
4644
4645 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4646
4647         * mule-charset.c (Qcircle): New variable.
4648         (to_char_code): Add `Qcircle'.
4649         (syms_of_mule_charset): Add new symbol `circle'.
4650
4651 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4652
4653         * mule-charset.c (Qfont): New variable.
4654         (to_char_code): Add `Qfont'.
4655         (syms_of_mule_charset): Add new symbol `font'.
4656
4657 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4658
4659         * mule-charset.c (Qsub): New variable.
4660         (to_char_code): Add `Qsub'.
4661         (syms_of_mule_charset): Add new symbol `sub'.
4662
4663 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4664
4665         * mule-charset.c (Fput_char_attribute): Convert each element of
4666         VALUE to GL position if ATTRIBUTE is a GR-set,
4667
4668 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4669
4670         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4671         coded-charset is a GR-set.
4672
4673 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4674
4675         * mule-charset.c (Fput_char_attribute): Check each element of
4676         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4677
4678 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4679
4680         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4681         UTF-2000.
4682         (Qethiopic_ucs): New variable in UTF-2000.
4683         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4684         (complex_vars_of_mule_charset): Add new coded-charset
4685         `ethiopic-ucs' in UTF-2000.
4686
4687         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4688         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4689         9)'.
4690         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4691         10)'.
4692         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4693
4694 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4695
4696         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4697         `ascii'.
4698
4699 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4700
4701         * mule-charset.c (Vcharacter_variant_table): New variable.
4702         (Q_ucs): New variable.
4703         (Fchar_variants): New function.
4704         (Fput_char_attribute): Register `->ucs' value to
4705         `Vcharacter_variant_table'.
4706         (syms_of_mule_charset): Add new function `char-variants' and new
4707         symbol `->ucs'.
4708         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4709
4710 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4711
4712         * mule-charset.c (get_char_code_table): Allow negative character
4713         code.
4714         (put_char_code_table): Likewise.
4715         (Vcharacter_composition_table): New variable.
4716         (Q_decomposition): New variable.
4717         (Qwide): New variable.
4718         (Qnarrow): New variable.
4719         (Qcompat): New variable.
4720         (QnoBreak): New variable.
4721         (Qsuper): New variable.
4722         (Qfraction): New variable.
4723         (to_char_code): New function.
4724         (Fget_composite_char): New function.
4725         (Fput_char_attribute): Register `->decomposition' value to
4726         `Vcharacter_composition_table'.
4727         (syms_of_mule_charset): Add new function `get-composite-char', new
4728         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4729         `super' and `fraction'.
4730         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4731
4732 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4733
4734         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4735         character; copy the return value.
4736
4737 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4738
4739         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4740
4741         * mule-charset.c (range_charset_code_point): Must use make_int.
4742         (split_builtin_char): New function.
4743
4744 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4745
4746         * mule-charset.c (char_byte_table): Change name from
4747         "char-code-table" to "char-byte-table".
4748         (mark_char_code_table): New function.
4749         (char_code_table_equal): New function.
4750         (char_code_table_hash): New function.
4751         (char_code_table_description): New constant.
4752         (char_code_table): New type.
4753         (make_char_code_table): New function.
4754         (copy_char_code_table): New function.
4755         (get_char_code_table): Modify for `char_code_table' type.
4756         (put_char_code_table): Likewise.
4757         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4758         (Kashiwara).
4759
4760         * char-ucs.h (char_code_table): New type.
4761         (XCHAR_CODE_TABLE): New macro.
4762         (XSETCHAR_CODE_TABLE): New macro.
4763         (CHAR_CODE_TABLE_P): New macro.
4764         (GC_CHAR_CODE_TABLE_P): New macro.
4765         (struct Lisp_Char_Code_Table): New structure.
4766
4767 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4768
4769         * mule-charset.c (Fmake_charset): Setup byte_offset for
4770         {94|96}^n-set.
4771
4772 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4773
4774         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4775         character.
4776
4777 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4778
4779         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4780         is found.
4781
4782 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4783
4784         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4785         charset, it is regarded as a charset.
4786         (put_char_attribute): New function in UTF-2000.
4787         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4788         charset, mapping-table of the charset is modified.
4789         (Fdefine_char): New function in UTF-2000.
4790         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4791         `Fput_char_attribute'.
4792         (syms_of_mule_charset): Add new function `define-char' and new
4793         symbol `ucs' in UTF-2000.
4794         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4795
4796 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4797
4798         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4799         non-UTF-2000 configuration.
4800
4801 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4802
4803         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4804         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4805
4806         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4807         deleted.
4808         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4809         (Fset_charset_mapping_table): Likewise.
4810
4811         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4812         (CHARSET_ENCODING_TABLE): Delete.
4813         (XCHARSET_ENCODING_TABLE): Delete.
4814         (charset_code_point): New interface.
4815
4816 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4817
4818         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4819         instead of `charset_get_byte1' and `charset_get_byte2'.
4820
4821         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4822         (charset_get_byte2): Deleted.
4823
4824 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4825
4826         * char-ucs.h (SPLIT_CHAR): New inline function.
4827         (breakup_char_1): Use `SPLIT_CHAR'.
4828
4829         * mule-charset.c (range_charset_code_point): New function.
4830         (charset_code_point): New function.
4831
4832         * char-ucs.h (range_charset_code_point): New interface.
4833         (breakup_char_1): Use `range_charset_code_point'.
4834
4835 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4836
4837         * mule-charset.c (Fmake_charset): Delete unused local variable
4838         `code_offset'.
4839
4840         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4841         (breakup_char_1): Find a charset and code-point in
4842         `Vcharacter_attribute_table'.
4843
4844 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4845
4846         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4847         to 0.10 (Yao).
4848
4849 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4850
4851         * mule-charset.c (Vcharacter_attribute_table): New variable.
4852         (Fchar_attribute_alist): New function.
4853         (Fget_char_attribute): New function.
4854         (Fput_char_attribute): New function.
4855         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4856         too.
4857         (syms_of_mule_charset): Add new function `char-attribute-alist',
4858         `get-char-attribute' and `put-char-attribute'.
4859         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4860
4861 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4862
4863         * mule-charset.c (Fmake_charset): Just use
4864         `get_unallocated_leading_byte'.
4865
4866         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4867         sets; don't use final-byte based number for private sets.
4868
4869 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4870
4871         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4872         integer.
4873
4874 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4875
4876         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4877         to 0.9.
4878
4879 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4880
4881         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4882         of `CHAR_LEADING_BYTE' in UTF-2000.
4883
4884         * insdel.c (find_charsets_in_bufbyte_string): Use
4885         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4886         (find_charsets_in_emchar_string): Likewise.
4887
4888         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4889         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4890
4891         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4892         (CHAR_CHARSET_ID): New macro.
4893
4894 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4895
4896         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4897         charset-id - MIN_LEADING_BYTE.
4898         (put_char_table): Likewise.
4899
4900 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4901
4902         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4903         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4904         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4905         (CHARSET_ID_OFFSET): New macro.
4906         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4907         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4908         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4909         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4910         4).
4911         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4912         5).
4913         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4914         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4915         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4916         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4917         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4918
4919 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4920
4921         * mule-charset.c (next_allocated_leading_byte): New variable in
4922         UTF-2000.
4923         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4924         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4925         (get_unallocated_leading_byte): Simply use
4926         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4927         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4928         UTF-2000.
4929
4930         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4931         (MAX_LEADING_BYTE_PRIVATE): New macro.
4932         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4933         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4934
4935 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4936
4937         * mule-charset.c (Fmake_charset): Allocate final-byte based
4938         charset-id for 94-set, 96-set and 94x94-set.
4939
4940 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4941
4942         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4943         ambiguous `else'.
4944         (Fmake_charset): Likewise.
4945         (complex_vars_of_mule_charset): Modify the font registry of
4946         `ucs-bmp' not to match `Ethiopic-Unicode'.
4947
4948 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4949
4950         * mule-charset.c (complex_vars_of_mule_charset): Add font
4951         registory of `ucs-bmp'.
4952
4953 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4954
4955         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4956         coded-charsets in `default-coded-charset-priority-list' when
4957         breaking up a character.
4958
4959         * mule-charset.c (Vcharset_latin_viscii): New variable.
4960         (Qlatin_viscii): New variable.
4961         (make_charset): Don't use `decoding_table'.
4962         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4963         byte_offset.
4964         (Fset_charset_mapping_table): New implementation.
4965         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4966         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4967         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4968         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4969         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4970         charset `latin_viscii'.
4971
4972         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4973         (CHARSET_TYPE_94X94): Change to 1 from 2.
4974         (CHARSET_TYPE_96): Change to 2 from 1.
4975         (CHARSET_TYPE_128): New macro.
4976         (CHARSET_TYPE_128X128): Change to 5 from 4.
4977         (CHARSET_TYPE_256): New macro.
4978         (CHARSET_TYPE_256X256): Change to 7 from 5.
4979         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4980
4981 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4982
4983         * text-coding.c (char_encode_shift_jis): Refer
4984         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4985         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4986
4987         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4988         (char_byte_table_equal): New function in UTF-2000.
4989         (char_byte_table_hash): New function in UTF-2000.
4990         (char_byte_table_description): New constant in UTF-2000.
4991         (char_byte_table): New type in UTF-2000.
4992         (make_char_byte_table): New function in UTF-2000.
4993         (copy_char_byte_table): New function in UTF-2000.
4994         (make_char_code_table): New macro in UTF-2000.
4995         (get_char_code_table): New function in UTF-2000.
4996         (put_char_code_table): New function in UTF-2000.
4997         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4998         (charset_description): Add setting in UTF-2000.
4999         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
5000         `CHARSET_TO_BYTE1_TABLE(cs)'.
5001         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
5002         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
5003         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
5004         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
5005         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
5006         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
5007         `CHARSET_TO_BYTE2_TABLE(cs)'.
5008
5009         * char-ucs.h (char_byte_table): New type.
5010         (XCHAR_BYTE_TABLE): New macro.
5011         (XSETCHAR_BYTE_TABLE): New macro.
5012         (CHAR_BYTE_TABLE_P): New macro.
5013         (GC_CHAR_BYTE_TABLE_P): New macro.
5014         (struct Lisp_Char_Byte_Table): New structure.
5015         (get_char_code_table): New interface.
5016         (Emchar_to_byte_table): Deleted.
5017         (get_byte_from_character_table): Deleted.
5018         (struct Lisp_Charset): Add `encoding_table'; delete
5019         `to_byte1_table' and `to_byte2_table'.
5020         (CHARSET_ENCODING_TABLE): New macro.
5021         (CHARSET_TO_BYTE1_TABLE): Deleted.
5022         (CHARSET_TO_BYTE2_TABLE): Deleted.
5023         (XCHARSET_ENCODING_TABLE): New macro.
5024         (XCHARSET_TO_BYTE1_TABLE): Deleted.
5025         (XCHARSET_TO_BYTE2_TABLE): Deleted.
5026
5027 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5028
5029         * mule-charset.c (syms_of_mule_charset): Delete charset alias
5030         `vietnamese-viscii-*'.
5031
5032 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5033
5034         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
5035         (Qvietnamese_viscii_upper): New variable.
5036         (Fdefine_charset_alias): New function.
5037         (syms_of_mule_charset): Add new function `define-charset-alias'.
5038         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
5039         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
5040         `latin-viscii-*'.
5041
5042 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
5043
5044         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
5045         (MAX_CHAR_OBS_94x94): New macro.
5046         (breakup_char_1): Support obsolete XEmacs-UCS private code space
5047         for 94x94 sets.
5048
5049         * mule-charset.c (put_byte_from_character_table): Change unit size
5050         from 128 to 256.
5051         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
5052         not defined.
5053         (Fmake_reverse_direction_charset): Modify dummy argument of
5054         `make_charset' for non-UTF-2000 environment.
5055
5056 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5057
5058         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
5059
5060         * mule-charset.c (destroy_byte_from_character_table): New macro.
5061         (latin_jisx0201_to_ucs): Deleted.
5062         (latin_iso8859_2_to_ucs): Deleted.
5063         (latin_iso8859_3_to_ucs): Deleted.
5064         (latin_iso8859_4_to_ucs): Deleted.
5065         (latin_iso8859_9_to_ucs): Deleted.
5066         (latin_viscii_lower_to_ucs): Deleted.
5067         (latin_viscii_upper_to_ucs): Deleted.
5068         (mark_charset): Mark `cs->decoding_table'.
5069         (Fcharset_mapping_table): Fix DOC-string.
5070         (Fset_charset_mapping_table): New function.
5071         (syms_of_mule_charset): Add nwe function
5072         `set-charset-mapping-table'.
5073         (complex_vars_of_mule_charset): Don't setup and use
5074         `latin_*_to_ucs'.
5075
5076 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5077
5078         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5079         charset.
5080
5081 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5082
5083         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5084         (Vcharset_katakana_jisx0208): New variable.
5085         (Qhiragana_jisx0208): New variable.
5086         (Qkatakana_jisx0208): New variable.
5087         (make_charset): Add new argument `byte_offset'.
5088         (charset_get_byte1): Modify for new coded-charset definition; use
5089         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5090         `XCHARSET_BYTE_OFFSET'.
5091         (Fmake_charset): Modify for `make_charset'.
5092         (Fmake_reverse_direction_charset): Likewise.
5093         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5094         `katakana-jisx0208'.
5095         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5096         `.'  in font registry of charset `katakana-jisx0201',
5097         `latin-jisx0201', `vietnamese-viscii-lower' and
5098         `vietnamese-viscii-upper'; modify DOC-string of charset
5099         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5100         registry of charset `japanese-jisx0208' not to use font for JIS
5101         X0208:1990; add new charset `hiragana-jisx0208' and
5102         `katakana-jisx0208'.
5103
5104         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5105         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5106         (struct Lisp_Charset): Add `byte_offset'.
5107         (CHARSET_BYTE_OFFSET): New macro.
5108         (XCHARSET_UCS_MIN): New macro.
5109         (XCHARSET_UCS_MAX): New macro.
5110         (XCHARSET_CODE_OFFSET): New macro.
5111         (XCHARSET_BYTE_OFFSET): New macro.
5112         (MIN_CHAR_HIRAGANA): New macro.
5113         (MAX_CHAR_HIRAGANA): New macro.
5114         (MIN_CHAR_KATAKANA): New macro.
5115         (MAX_CHAR_KATAKANA): New macro.
5116         (MAKE_CHAR): Modify for new coded-charset definition; use
5117         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5118         `XCHARSET_BYTE_OFFSET'.
5119
5120 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5121
5122         * mule-charset.c (CHAR96): Deleted.
5123         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5124         <Lisp_Object>.
5125         (latin_iso8859_2_to_ucs): Likewise.
5126         (latin_iso8859_3_to_ucs): Likewise.
5127         (latin_iso8859_4_to_ucs): Likewise.
5128         (latin_iso8859_9_to_ucs): Likewise.
5129         (latin_viscii_lower_to_ucs): Likewise.
5130         (latin_viscii_upper_to_ucs): Likewise.
5131         (latin_tcvn5712_to_ucs): Commented out.
5132         (make_charset): Change type of argument `decoding_table' from
5133         <Emchar*> to <Lisp_Object> [vector of characters].
5134         (Fmake_charset): Modify for `make_charset'.
5135         (Fmake_reverse_direction_charset): Likewise.
5136         (Fcharset_mapping_table): New function in UTF-2000.
5137         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5138         UTF-2000.
5139         (complex_vars_of_mule_charset): Modify for type change of
5140         `*_to_ucs'; modify for `make_charset'.
5141
5142         * char-ucs.h (struct Lisp_Charset): Change type of
5143         `decoding_table' from <Emchar*> to <Lisp_Object>.
5144         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5145
5146 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5147
5148         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5149         error with non-UTF-2000-Mule.
5150
5151 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5152
5153         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5154         in lisp again].
5155         (Vcharset_chinese_cns11643_4): Likewise.
5156         (Vcharset_chinese_cns11643_5): Likewise.
5157         (Vcharset_chinese_cns11643_6): Likewise.
5158         (Vcharset_chinese_cns11643_7): Likewise.
5159         (Qchinese_cns11643_3): Likewise.
5160         (Qchinese_cns11643_4): Likewise.
5161         (Qchinese_cns11643_5): Likewise.
5162         (Qchinese_cns11643_6): Likewise.
5163         (Qchinese_cns11643_7): Likewise.
5164         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5165         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5166         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5167         (complex_vars_of_mule_charset): Likewise.
5168
5169 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5170
5171         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5172         96-set.
5173         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5174         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5175
5176 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5177
5178         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5179         0xFF60.
5180         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5181         (breakup_char_1): Likewise.
5182
5183         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5184         one of them includes the specified character.
5185
5186 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5187
5188         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5189
5190 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5191
5192         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5193
5194 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5195
5196         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5197         definition for non-UTF-2000 Mule.
5198         (latin_iso8859_3_to_ucs): Likewise.
5199         (latin_iso8859_4_to_ucs): Likewise.
5200         (latin_iso8859_9_to_ucs): Likewise.
5201         (latin_jisx0201_to_ucs): Likewise.
5202         (MIN_CHAR_THAI): Likewise.
5203         (MAX_CHAR_THAI): Likewise.
5204         (MIN_CHAR_GREEK): Likewise.
5205         (MAX_CHAR_GREEK): Likewise.
5206         (MIN_CHAR_HEBREW): Likewise.
5207         (MAX_CHAR_HEBREW): Likewise.
5208         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5209         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5210         (MIN_CHAR_CYRILLIC): Likewise.
5211         (MAX_CHAR_CYRILLIC): Likewise.
5212
5213 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5214
5215         * char-ucs.h (breakup_char_1): Use
5216         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5217         thai-tis620 and katakana-jisx0201 area.
5218
5219 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5220
5221         * char-ucs.h (breakup_char_1): Use
5222         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5223         area.
5224
5225         * text-coding.c (reset_encoding_stream): Fixed.
5226         (char_encode_ucs4): Delete `& 255'.
5227
5228         * char-ucs.h (breakup_char_1): Use
5229         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5230
5231 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5232
5233         * file-coding.c (Fmake_coding_system): Don't set up
5234         `codesys->fixed.size'.
5235         (encode_coding_no_conversion): Don't refer
5236         `str->codesys->fixed.size'.
5237
5238 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5239
5240         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5241         (latin_a_char_to_byte1): Deleted.
5242         (latin_a_char_to_byte2): Deleted.
5243
5244 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5245
5246         * mule-charset.c (make_charset): Add new argument `ucs_min',
5247         `ucs_max' and `code_offset'.
5248         (charset_get_byte1): New implementation [delete specific charset
5249         depended implementations].
5250         (Fmake_charset): Modify for `make_charset'.
5251         (Fmake_reverse_direction_charset): Likewise.
5252         (complex_vars_of_mule_charset): Likewise.
5253
5254         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5255         `code_offset'.
5256         (CHARSET_UCS_MIN): New macro.
5257         (CHARSET_UCS_MAX): New macro.
5258         (CHARSET_CODE_OFFSET): New macro.
5259         (MAKE_CHAR): Delete charset depended definitions [except
5260         katakana-jisx0201].
5261
5262 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5263
5264         * char-ucs.h (breakup_char_1): Use
5265         `Vdefault_coded_charset_priority_list' for C0-Controls,
5266         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5267
5268 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5269
5270         * char-ucs.h (charset_get_byte1): New function.
5271         (XCHARSET_GET_BYTE1): Deleted.
5272         (charset_get_byte2): New function.
5273         (XCHARSET_GET_BYTE2): Deleted.
5274         (Vdefault_coded_charset_priority_list): New external variable.
5275         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5276         `Vdefault_preferred_coded_charset_list'.
5277
5278         * mule-charset.c (charset_get_byte1): New function.
5279         (charset_get_byte2): New function.
5280         (Vdefault_coded_charset_priority_list): New variable.
5281         (vars_of_mule_charset): Add new variable
5282         `default-coded-charset-priority-list'.
5283
5284 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5285
5286         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5287         (XCHARSET_GET_BYTE2): New inline function.
5288         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5289         `XCHARSET_GET_BYTE2'.
5290
5291 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5292
5293         * mule-charset.c (make_charset): Initialize
5294         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5295         NULL if table is not defined.
5296
5297 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5298
5299         * text-coding.c (char_encode_shift_jis): Use
5300         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5301         `ucs_to_latin_jisx0201'.
5302
5303         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5304         (ucs_to_latin_iso8859_2): Deleted.
5305         (ucs_to_latin_iso8859_3): Deleted.
5306         (ucs_to_latin_iso8859_4): Deleted.
5307         (ucs_to_latin_iso8859_9): Deleted.
5308         (ucs_to_latin_viscii_lower): Deleted.
5309         (ucs_to_latin_viscii_upper): Deleted.
5310         (ucs_to_latin_tcvn5712): Deleted.
5311         (make_charset): Add new argument `decoding_table'; set up
5312         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5313         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5314         `decoding_table' is defined in UTF-2000.
5315         (Fmake_charset): Modify for `make_charset'.
5316         (Fmake_reverse_direction_charset): Likewise.
5317         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5318         and `GENERATE_96_SET'.
5319
5320         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5321         (ucs_to_latin_jisx0201): Deleted.
5322         (latin_iso8859_2_to_ucs): Deleted.
5323         (ucs_to_latin_iso8859_2): Deleted.
5324         (latin_iso8859_3_to_ucs): Deleted.
5325         (ucs_to_latin_iso8859_3): Deleted.
5326         (latin_iso8859_4_to_ucs): Deleted.
5327         (ucs_to_latin_iso8859_4): Deleted.
5328         (latin_iso8859_9_to_ucs): Deleted.
5329         (ucs_to_latin_iso8859_9): Deleted.
5330         (latin_viscii_lower_to_ucs): Deleted.
5331         (ucs_to_latin_viscii_lower): Deleted.
5332         (latin_viscii_upper_to_ucs): Deleted.
5333         (ucs_to_latin_viscii_upper): Deleted.
5334         (struct Lisp_Charset): Renamed `encoding_table' to
5335         `to_byte1_table'; add `to_byte2_table'.
5336         (CHARSET_DECODING_TABLE): New macro.
5337         (CHARSET_TO_BYTE1_TABLE): New macro.
5338         (CHARSET_TO_BYTE2_TABLE): New macro.
5339         (XCHARSET_DECODING_TABLE): New macro.
5340         (XCHARSET_TO_BYTE1_TABLE): New macro.
5341         (XCHARSET_TO_BYTE2_TABLE): New macro.
5342         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5343         tables.
5344         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5345         don't use `ucs_to_*' tables.
5346
5347 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5348
5349         * text-coding.c (Fmake_coding_system): Don't set up
5350         `codesys->fixed.size'.
5351         (encode_coding_no_conversion): Use `if' instead of `switch'.
5352
5353         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5354
5355 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5356
5357         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5358         (Fmake_charset): Modify for `make_charset'.
5359         (Fmake_reverse_direction_charset): Likewise.
5360         (complex_vars_of_mule_charset): Likewise.
5361
5362 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5363
5364         * text-coding.c (char_encode_shift_jis): Use table
5365         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5366
5367 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5368
5369         * text-coding.c (text_encode_generic): Use `if' instead of
5370         `switch'.
5371         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5372         decode JIS-Latin.
5373
5374 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5375
5376         * text-coding.c (encode_coding_sjis): Deleted.
5377         (char_encode_shift_jis): New function.
5378         (char_finish_shift_jis): New function.
5379         (reset_encoding_stream): Set up `encode_char' and `finish' for
5380         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5381         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5382         (char_encode_utf8): Treat `eol_type'.
5383
5384 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5385
5386         * file-coding.c (decode_coding_iso2022): Use
5387         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5388
5389 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5390
5391         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5392         to 0.7 (Hirano).
5393
5394 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5395
5396         * char-lb.h (CHAR_COLUMNS): New macro.
5397
5398 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5399
5400         * text-coding.c (char_encode_ucs4): New function.
5401         (char_finish_ucs4): New function.
5402         (encode_coding_ucs4): Deleted.
5403         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5404         (text_encode_generic): Delete local variable `charset' and `half'.
5405         (ucs_to_mule_table): Deleted.
5406         (mule_to_ucs_table): Deleted.
5407         (Fset_ucs_char): Deleted.
5408         (ucs_to_char): Deleted.
5409         (Fucs_char): Deleted.
5410         (Fset_char_ucs): Deleted.
5411         (Fchar_ucs): Deleted.
5412         (decode_ucs4): Deleted.
5413         (mule_char_to_ucs4): Deleted.
5414         (encode_ucs4): Deleted.
5415         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5416         (decode_coding_utf8): Likewise.
5417         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5418         (char_encode_iso2022): Fixed.
5419         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5420         `Fset_char_ucs' and `Fchar_ucs'.
5421         (complex_vars_of_file_coding): Don't initialize
5422         `ucs_to_mule_table'.
5423
5424         * objects-tty.c (tty_initialize_font_instance): Don't use
5425         `XCHARSET_COLUMNS'.
5426
5427         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5428         UTF-2000.
5429
5430         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5431         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5432
5433         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5434         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5435         (emchar_string_displayed_columns): Likewise.
5436
5437         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5438         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5439         (string_column_at_point): Likewise.
5440         (Fmove_to_column): Likewise.
5441
5442         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5443         `encoding_table' and `decoding_table'.
5444         (CHARSET_REP_BYTES): Deleted.
5445         (XCHARSET_REP_BYTES): Deleted.
5446         (XCHARSET_COLUMNS): Deleted.
5447         (CHAR_COLUMNS): New macro.
5448         (lookup_composite_char): Deleted unconditionally.
5449         (composite_char_string): Likewise.
5450
5451 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5452
5453         * char-ucs.h (Emchar_to_byte_table): New type.
5454         (get_byte_from_character_table): New function interface.
5455         (Vcharset_latin_jisx0201): New variable.
5456         (latin_jisx0201_to_ucs): New variable.
5457         (ucs_to_latin_jisx0201): New variable.
5458         (Vcharset_latin_iso8859_2): New variable.
5459         (latin_iso8859_2_to_ucs): New variable.
5460         (ucs_to_latin_iso8859_2): New variable.
5461         (Vcharset_latin_iso8859_3): New variable.
5462         (latin_iso8859_3_to_ucs): New variable.
5463         (ucs_to_latin_iso8859_3): New variable.
5464         (Vcharset_latin_iso8859_4): New variable.
5465         (latin_iso8859_4_to_ucs): New variable.
5466         (ucs_to_latin_iso8859_4): New variable.
5467         (Vcharset_latin_iso8859_9): New variable.
5468         (latin_iso8859_9_to_ucs): New variable.
5469         (ucs_to_latin_iso8859_9): New variable.
5470         (Vcharset_latin_viscii_lower): New variable.
5471         (latin_viscii_lower_to_ucs): New variable.
5472         (ucs_to_latin_viscii_lower): New variable.
5473         (Vcharset_latin_viscii_upper): New variable.
5474         (latin_viscii_upper_to_ucs): New variable.
5475         (ucs_to_latin_viscii_upper): New variable.
5476         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5477         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5478         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5479         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5480         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5481         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5482         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5483         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5484         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5485         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5486
5487         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5488         (Vcharset_latin_viscii_upper): New variable.
5489         (make_byte_from_character_table): New function.
5490         (put_byte_from_character_table): New function.
5491         (get_byte_from_character_table): New function.
5492         (CHAR96): New macro.
5493         (ucs_to_latin_jisx0201): New variable.
5494         (latin_jisx0201_to_ucs): New variable.
5495         (ucs_to_latin_iso8859_2): New variable.
5496         (latin_iso8859_2_to_ucs): New variable.
5497         (ucs_to_latin_iso8859_3): New variable.
5498         (latin_iso8859_3_to_ucs): New variable.
5499         (ucs_to_latin_iso8859_4): New variable.
5500         (latin_iso8859_4_to_ucs): New variable.
5501         (ucs_to_latin_iso8859_9): New variable.
5502         (latin_iso8859_9_to_ucs): New variable.
5503         (ucs_to_latin_viscii_lower): New variable.
5504         (latin_viscii_lower_to_ucs): New variable.
5505         (ucs_to_latin_viscii_upper): New variable.
5506         (latin_viscii_upper_to_ucs): New variable.
5507         (ucs_to_latin_tcvn5712): New variable.
5508         (latin_tcvn5712_to_ucs): New variable.
5509         (Qlatin_viscii_lower): New variable.
5510         (Qlatin_viscii_upper): New variable.
5511         (syms_of_mule_charset): Set up new symbol
5512         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5513         (complex_vars_of_mule_charset): Set up new charset
5514         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5515         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5516         `ucs_to_<CHARSET>' tables.
5517
5518 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5519
5520         * text-coding.c: New file.
5521
5522 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5523
5524         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5525
5526         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5527         (MAKE_CHAR): Modify for `ucs-bmp'.
5528         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5529         non-MULE characters of BMP.
5530
5531 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5532
5533         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5534         to 0.6.
5535
5536 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5537
5538         * lstream.h:
5539         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5540         - Include character.h for `CHAR_ASCII_P'.
5541
5542         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5543
5544         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5545         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5546
5547         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5548         (BYTE_C0_P): Likewise.
5549         (BYTE_C1_P): Likewise.
5550         (Lstream_get_emchar_1): Likewise.
5551         (Lstream_fput_emchar): Likewise.
5552         (Lstream_funget_emchar): Likewise.
5553         (copy_internal_to_external): Likewise.
5554         (copy_external_to_internal): Likewise.
5555
5556         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5557         (BYTE_C0_P): Likewise.
5558         (BYTE_C1_P): Likewise.
5559         (Lstream_get_emchar_1): Likewise.
5560         (Lstream_fput_emchar): Likewise.
5561         (Lstream_funget_emchar): Likewise.
5562         (copy_internal_to_external): Likewise.
5563         (copy_external_to_internal): Likewise.
5564
5565         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5566         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5567
5568         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5569         (BYTE_ASCII_P): Moved to mb-1byte.h.
5570
5571 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5572
5573         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5574
5575         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5576         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5577         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5578         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5579         (VALIDATE_CHARPTR_FORWARD): Likewise.
5580         (simple_charptr_emchar): Moved to mb-multibyte.h.
5581         (simple_set_charptr_emchar): Likewise.
5582         (simple_charptr_copy_char): Likewise.
5583         (non_ascii_charptr_emchar): Likewise.
5584         (non_ascii_set_charptr_emchar): Likewise.
5585         (non_ascii_charptr_copy_char): Likewise.
5586         (charptr_emchar): Moved to mb-*byte.h.
5587         (set_charptr_emchar): Likewise.
5588         (charptr_copy_char): Likewise.
5589
5590         * mb-1byte.h, mb-multibyte.h: New files.
5591
5592 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5593
5594         * mb-utf-8.h (MULTIBYTE): New macro.
5595         (MAX_EMCHAR_LEN): Moved from buffer.h.
5596         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5597
5598         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5599
5600         * mb-lb.h, multibyte.h: New files.
5601
5602         * char-1byte.h (Charset_ID): Moved from buffer.h.
5603         (MIN_LEADING_BYTE): Likewise.
5604         (LEADING_BYTE_ASCII): Likewise.
5605         (NUM_LEADING_BYTES): Likewise.
5606         (CHARSETP): Likewise.
5607         (CHARSET_BY_LEADING_BYTE): Likewise.
5608         (XCHARSET_LEADING_BYTE): Likewise.
5609         (XCHARSET_GRAPHIC): Likewise.
5610         (XCHARSET_COLUMNS): Likewise.
5611         (XCHARSET_DIMENSION): Likewise.
5612         (CHAR_CHARSET): Likewise.
5613         (CHAR_LEADING_BYTE): Likewise.
5614         (BREAKUP_CHAR): Likewise.
5615         (Vcharset_ascii): Likewise.
5616
5617         * buffer.h: Include multibyte.h unconditionally.
5618         (VALID_CHARPTR_P): Moved to multibyte.h.
5619         (ASSERT_VALID_CHARPTR): Likewise.
5620         (REAL_INC_CHARPTR): Likewise.
5621         (REAL_INC_CHARBYTIND): Likewise.
5622         (REAL_DEC_CHARPTR): Likewise.
5623         (INC_CHARPTR): Likewise.
5624         (INC_CHARBYTIND): Likewise.
5625         (DEC_CHARPTR): Likewise.
5626         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5627         (VALIDATE_CHARPTR_FORWARD): Likewise.
5628         (charptr_n_addr): Likewise.
5629         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5630         (simple_charptr_emchar): Moved to multibyte.h.
5631         (simple_set_charptr_emchar): Likewise.
5632         (simple_charptr_copy_char): Likewise.
5633         (non_ascii_charptr_emchar): Likewise.
5634         (non_ascii_set_charptr_emchar): Likewise.
5635         (non_ascii_charptr_copy_char): Likewise.
5636         (charptr_emchar): Likewise.
5637         (set_charptr_emchar): Likewise.
5638         (charptr_copy_char): Likewise.
5639         (charptr_emchar_n): Likewise.
5640         (Charset_ID): Moved to char-1byte.h.
5641         (Vcharset_ascii): Likewise.
5642         (CHAR_CHARSET): Likewise.
5643         (CHAR_LEADING_BYTE): Likewise.
5644         (LEADING_BYTE_ASCII): Likewise.
5645         (NUM_LEADING_BYTES): Likewise.
5646         (MIN_LEADING_BYTE): Likewise.
5647         (CHARSETP): Likewise.
5648         (CHARSET_BY_LEADING_BYTE): Likewise.
5649         (XCHARSET_LEADING_BYTE): Likewise.
5650         (XCHARSET_GRAPHIC): Likewise.
5651         (XCHARSET_COLUMNS): Likewise.
5652         (XCHARSET_DIMENSION): Likewise.
5653         (BREAKUP_CHAR): Likewise.
5654
5655 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5656
5657         * character.h: Add document about interface for characters.
5658
5659         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5660         (MAKE_CHAR): Delete comment about
5661         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5662         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5663         (BREAKUP_CHAR): Modify name of arguments.
5664         (CHAR_CHARSET): Modify name of argument.
5665
5666         * buffer.h: Delete document about Emchar accessors.
5667
5668 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5669
5670         * character.h (CHAR_INTP): Moved from buffer.h
5671         (CHAR_OR_CHAR_INTP): Likewise.
5672         (XCHAR_OR_CHAR_INT): Likewise.
5673         (CHECK_CHAR_COERCE_INT): Likewise.
5674
5675         * buffer.h (CHAR_INTP): Moved to character.h
5676         (CHAR_OR_CHAR_INTP): Likewise.
5677         (XCHAR_OR_CHAR_INT): Likewise.
5678         (CHECK_CHAR_COERCE_INT): Likewise.
5679
5680 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5681
5682         * character.h:
5683         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5684         - Include char-1byte.h, char-lb.h or char-ucs.h.
5685
5686         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5687
5688         * buffer.h: Include character unconditionally.
5689         (valid_char_p): Moved to char-*.h.
5690         (non_ascii_valid_char_p): Moved to char-lb.h.
5691
5692         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5693
5694 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5695
5696         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5697         in UTF-2000 because it is not ported yet and not to use
5698         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5699         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5700         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5701
5702         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5703         (CHAR_ASCII_P): Moved from character.h.
5704
5705         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5706         (CHAR_ASCII_P): Likewise.
5707         (CHAR_FIELD1_MASK): Deleted.
5708         (CHAR_FIELD2_MASK): Deleted.
5709         (CHAR_FIELD3_MASK): Deleted.
5710         (MAX_CHAR_BASIC_LATIN): New macro.
5711         (CHAR_FIELD1): Deleted.
5712         (CHAR_FIELD2_INTERNAL): Deleted.
5713         (CHAR_FIELD3_INTERNAL): Deleted.
5714         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5715         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5716         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5717         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5718         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5719         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5720         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5721         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5722         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5723         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5724         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5725         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5726         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5727         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5728         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5729         (MIN_CHAR_COMPOSITION): Deleted.
5730         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5731         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5732
5733 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5734
5735         * buffer.h: Include mb-utf-8.h in UTF-2000.
5736
5737         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5738
5739         * mb-utf-8.h: New file.
5740
5741 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5742
5743         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5744         instead of `int'.
5745
5746         * mule-charset.h, buffer.h (Charset_ID): New type.
5747
5748 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5749
5750         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5751         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5752         instead of `MULE_CHAR_PRIVATE_OFFSET',
5753         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5754         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5755         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5756
5757         * character.h (Vcharset_japanese_jisx0212): New variable
5758         definition.
5759
5760 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5761
5762         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5763         (charset_by_attributes): Delete array about direction.
5764         (latin_a_char_to_charset): New variable in UTF-2000.
5765         (latin_a_char_to_byte1): New variable in UTF-2000.
5766         (latin_a_char_to_byte2): New variable in UTF-2000.
5767         (Qucs_bmp): New variable.
5768         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5769         `Bufbyte'.
5770         (next_allocated_2_byte_leading_byte): Likewise.
5771         (non_ascii_set_charptr_emchar): Likewise.
5772         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5773         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5774         `charset_by_attributes'.
5775         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5776         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5777         and `CHARSET_BY_LEADING_BYTE'.
5778         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5779         `utf-2000-version' to `vars_of_mule_charset'.
5780         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5781         define `leading-code-private-11' in UTF-2000; move setting of
5782         `utf-2000-version' from `syms_of_mule_charset'.
5783         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5784         UTF-2000.
5785
5786         * character.h (Charset_ID): New type.
5787         (LEADING_BYTE_UCS_BMP): New macro.
5788         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5789         (CHARSET_ID_OFFSET_94): New macro.
5790         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5791         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5792         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5793         final-byte.
5794         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5795         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5796         (CHARSET_ID_OFFSET_96): New macro.
5797         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5798         CHARSET_ID_OFFSET_96 and final-byte.
5799         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5800         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5801         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5802         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5803         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5804         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5805         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5806         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5807         (LEADING_BYTE_THAI_TIS620): Likewise.
5808         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5809         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5810         (CHARSET_ID_OFFSET_94x94): New macro.
5811         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5812         CHARSET_ID_OFFSET_94x94 and final-byte.
5813         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5814         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5815         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5816         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5817         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5818         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5819         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5820         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5821         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5822         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5823         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5824         (CHARSET_TYPE_128X128): New macro.
5825         (CHARSET_TYPE_256X256): New macro.
5826         (XCHARSET_PRIVATE_P): Delete unconditionally.
5827         (charset_by_attributes): Delete array about direction.
5828         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5829         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5830         (MIN_CHAR_94): New macro.
5831         (MAX_CHAR_94): New macro.
5832         (MIN_CHAR_96): New macro.
5833         (MAX_CHAR_96): New macro.
5834         (MIN_CHAR_94x94): New macro.
5835         (MAX_CHAR_94x94): New macro.
5836         (MIN_CHAR_96x96): New macro.
5837         (MAX_CHAR_96x96): New macro.
5838         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5839         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5840         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5841         - 32)'.
5842         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5843         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5844         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5845         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5846         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5847         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5848         `XCHARSET_LEADING_BYTE' to make code-point.
5849         (latin_a_char_to_charset): New variable.
5850         (latin_a_char_to_byte1): New variable.
5851         (latin_a_char_to_byte2): New variable.
5852         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5853         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5854         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5855
5856         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5857         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5858         (find_charsets_in_emchar_string): Likewise.
5859         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5860
5861         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5862         `int'.
5863         (decode_coding_iso2022): Likewise.
5864
5865         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5866         of `unsigned char'.
5867
5868         * redisplay.c (redisplay_text_width_emchar_string): Use
5869         `Charset_ID' instead of `unsigned char'.
5870         (redisplay_frame_text_width_string): Likewise.
5871
5872         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5873         `unsigned char'.
5874
5875         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5876         instead of `unsigned char'.
5877         (face_cachel_charset_font_metric_info): Likewise.
5878
5879         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5880         (get_non_ascii_char_table_value): Likewise.
5881         (get_char_table): Likewise.
5882         (put_char_table): Likewise.
5883         (map_over_other_charset): Likewise.
5884         (map_char_table): Likewise.
5885
5886         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5887         instead of `unsigned char'.
5888
5889 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5890
5891         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5892         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5893
5894         * mule-charset.c (leading_code_private_11): Don't define in
5895         UTF-2000.
5896
5897         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5898         in UTF-2000 because it is not ported yet and not to use
5899         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5900
5901 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5902
5903         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5904
5905 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5906
5907         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5908         in UTF-2000.
5909
5910         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5911         of unsigned char to store leading-byte.
5912
5913         * chartab.c (get_non_ascii_char_table_value): Don't use
5914         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5915
5916         * file-coding.c (encode_coding_big5): Delete bogus implementation
5917         in UTF2000.
5918
5919         * character.h (LEADING_BYTE_*): Delete definition for
5920         non-UTF-2000.
5921         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5922         (LEADING_BYTE_PREFIX_P): Deleted.
5923         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5924         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5925         (BUFBYTE_LEADING_BYTE_P): Deleted.
5926         (CHARSET_PRIVATE_P): Deleted unconditionally.
5927         (rep_bytes_by_first_byte): Deleted unconditionally.
5928         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5929         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5930         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5931         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5932         (CHAR_FIELD2): Deleted.
5933         (CHAR_FIELD3): Deleted.
5934         (MAKE_CHAR): Delete definition for non-UTF-2000.
5935         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5936         (breakup_char_1): New implementation.
5937         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5938         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5939
5940 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5941
5942         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5943         condition.
5944
5945 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5946
5947         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5948         (CHARSET_PRIVATE_P): Likewise.
5949         (XCHARSET_PRIVATE_P): Likewise.
5950         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5951
5952         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5953         UTF2000.
5954         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5955
5956 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5957
5958         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5959         (NUM_LEADING_BYTES): Changed from 128 to 256.
5960         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5961         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5962         UTF2000.
5963         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5964
5965         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5966         UTF2000.
5967         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5968         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5969         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5970         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5971         (Qchinese_cns11643_3): New variable in UTF2000.
5972         (Qchinese_cns11643_4): New variable in UTF2000.
5973         (Qchinese_cns11643_5): New variable in UTF2000.
5974         (Qchinese_cns11643_6): New variable in UTF2000.
5975         (Qchinese_cns11643_7): New variable in UTF2000.
5976         (syms_of_mule_charset): Define `chinese-cns11643-3',
5977         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5978         and `chinese-cns11643-7' in UTF2000.
5979         (vars_of_mule_charset): Initialize
5980         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5981         + 1 in UTF2000.
5982         (complex_vars_of_mule_charset): Setup charset
5983         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5984         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5985
5986 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5987
5988         * mule-charset.c: Move setting for `leading-code-private-11' from
5989         `syms_of_mule_charset' to `vars_of_mule_charset'.
5990
5991 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5992
5993         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5994         and `NUM_LEADING_BYTES' in assert.
5995
5996 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5997
5998         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5999         instead of 128.
6000         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
6001         `NUM_LEADING_BYTES' instead of 128.
6002
6003 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
6004
6005         * mule-charset.h (charset_by_leading_byte): Use
6006         `NUM_LEADING_BYTES' instead of 128.
6007         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
6008
6009         * mule-charset.c (charset_by_leading_byte): Use
6010         `NUM_LEADING_BYTES' instead of 128.
6011         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
6012
6013         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
6014         128.
6015
6016 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
6017
6018         * mule-charset.c (syms_of_mule_charset): Update to
6019         0.4 (Shin-Imamiya).
6020
6021 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6022
6023         * file-coding.c (encode_coding_sjis): New implementation for
6024         UTF2000.  (decode_coding_sjis): Ditto.
6025
6026 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6027
6028         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
6029         Don't define in UTF2000.
6030
6031         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
6032         defined.
6033
6034         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6035         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
6036         MULE.
6037
6038 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6039
6040         * config.h.in (CHAR_IS_UCS4): New macro.
6041
6042         * mule-charset.c (rep_bytes_by_first_byte): Modify for
6043         conventional MULE representation.
6044         (syms_of_mule_charset): Update to 0.3 (Imamiya).
6045
6046         * mule-charset.h: Reverted to original.
6047
6048         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6049         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
6050         "mule-charset.h" if CHAR_IS_UCS4 is defined.
6051
6052         * character.h: New file.
6053
6054         * file-coding.c (Fmake_coding_system): Set 1 to
6055         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
6056         defined.
6057         (encode_coding_no_conversion): New implementation for UTF2000.
6058
6059         * file-coding.h (struct Lisp_Coding_System): Add new member
6060         `fixed.size'.
6061
6062 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
6063
6064         * file-coding.c (decode_coding_iso2022): Code-point arguments of
6065         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
6066         (encode_coding_iso2022): New implementation for UTF2000.
6067
6068 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6069
6070         * mule-canna.c (c2mu): New implementation for UTF2000.
6071         (m2c): Likewise.
6072
6073 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6074
6075         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6076
6077 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6078
6079         * file-coding.c (reset_encoding_stream): Set 0 to
6080         `str->iso2022.current_char_boundary' in UTF2000.
6081         (encode_utf8): Don't define in UTF2000.
6082         (encode_coding_utf8): New implementation for UTF-8 representation
6083         of UTF2000.
6084         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6085
6086 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6087
6088         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6089
6090         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6091         UTF2000.
6092         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6093
6094         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6095
6096         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6097         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6098         as UTF-8 in UTF2000.
6099         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6100         (non_ascii_valid_char_p): Don't define in UTF2000.
6101         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6102         (Lstream_get_emchar_1): Likewise.
6103         (utf-2000-version): New variable in UTF2000.
6104
6105         * lread.c (read_escape): Add new reader `u'.
6106
6107         * insdel.c (three_to_one_table): Don't define in UTF2000.
6108         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6109         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6110         UTF2000.
6111         (bytind_to_bufpos_func): Likewise.
6112         (buffer_mule_signal_inserted_region): Likewise.
6113         (vars_of_insdel): Don't initialize `three_to_one_table'.
6114         (init_buffer_text): Use `buf->text->mule_size' instead of
6115         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6116         UTF2000.
6117
6118         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6119         UTF-8 representation in UTF2000.
6120         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6121         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6122         (decode_coding_iso2022): Don't define local variable `lb' in
6123         UTF2000; don't use LEADING_BYTE in UTF2000; use
6124         `DECODE_ADD_UCS_CHAR' in UTF2000.
6125         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6126
6127         * config.h.in (UTF2000): New macro.
6128
6129         * buffer.h (struct buffer_text): Add new member `mule_size' and
6130         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6131         (valid_char_p): Return always 1 in UTF2000.
6132         (MAX_EMCHAR_LEN): 6 in UTF2000.
6133         (three_to_one_table): Don't define in UTF2000.
6134         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6135         UTF2000.
6136         (real_bytind_to_bufpos): Likewise.
6137
6138         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6139
6140 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6141
6142         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6143         representation change.
6144         (Vutf_2000_version): New variable.
6145         (leading_code_private_11): New variable.
6146         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6147         `leading-code-private-11'.
6148
6149         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6150         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6151         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6152         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6153         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6154         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6155         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6156         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6157         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6158         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6159         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6160         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6161         (MIN_CHAR_GREEK): New macro.
6162         (MAX_CHAR_GREEK): New macro.
6163         (MIN_CHAR_CYRILLIC): New macro.
6164         (MAX_CHAR_CYRILLIC): New macro.
6165         (MIN_CHAR_HEBREW): New macro.
6166         (MAX_CHAR_HEBREW): New macro.
6167         (MIN_CHAR_THAI): New macro.
6168         (MAX_CHAR_THAI): New macro.
6169         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6170         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6171         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6172         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6173         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6174         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6175         (CHAR_FIELD2): New inline function.
6176         (CHAR_FIELD3): New inline function.
6177         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6178         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6179         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6180         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6181         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6182         (MIN_CHAR_COMPOSITION): Likewise.
6183         (CHAR_LEADING_BYTE): Modified for character representation change.
6184         (MAKE_CHAR): Likewise.
6185
6186         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6187         (Vcharset_greek_iso8859_7): Likewise.
6188         (Vcharset_cyrillic_iso8859_5): Likewise.
6189         (Vcharset_hebrew_iso8859_8): Likewise.
6190         (Vcharset_thai_tis620): Likewise.
6191         (Vcharset_katakana_jisx0201): Likewise.
6192
6193 2008-12-28  Vin Shelton  <acs@xemacs.org>
6194
6195         * XEmacs 21.4.22 is released
6196
6197 2008-12-27  Vin Shelton  <acs@xemacs.org>
6198
6199         * syswindows.h: Don't define wide character interfaces for Cygwin
6200         1.7 and up.
6201
6202 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6203
6204         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6205
6206 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6207
6208         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6209         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6210
6211 2008-12-25  Vin Shelton  <acs@xemacs.org>
6212
6213         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6214         By Julian Bradfield in
6215         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6216
6217         * mule-ccl.c (ccl_driver): 
6218
6219 2007-10-07  Vin Shelton  <acs@xemacs.org>
6220
6221         * XEmacs 21.4.21 is released
6222
6223 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6224
6225         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6226
6227 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6228
6229         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6230         (png_instantiate): Initialize setjmp_buffer early, and avoid
6231         recursive entry to error handler.
6232
6233 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6234
6235         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6236         a typo fix.
6237
6238 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6239
6240         * event-Xt.c (x_reset_modifier_mapping):
6241         * event-gtk.c (gtk_reset_modifier_mapping):
6242         Zero out the device's modifier map once we've freed it, to prevent
6243         a double free on a re-entrant call. 
6244
6245 2007-05-17  Vin Shelton  <acs@xemacs.org>
6246
6247         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6248         64-bit linux.  Patch from Hans de Graaff.
6249
6250 2007-05-02  Vin Shelton  <acs@xemacs.org>
6251
6252         * dumper.c (pdump): Don't close pdump_fd (already closed by
6253         fclose() call.  Patch from Steve Higham.
6254         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6255         already closed.  Patch inspired by Steve Higham.
6256
6257 2007-05-01  Vin Shelton  <acs@xemacs.org>
6258
6259         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6260         (mswindows_fstat): Ditto.
6261         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6262
6263 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6264
6265         * postgresql.c: Update Steve Baur's email address by his request.
6266         * postgresql.h: Ditto.
6267
6268 2007-01-04  Vin Shelton  <acs@xemacs.org>
6269
6270         * fileio.c (check_writable): Check old-style readonly bit only for
6271         non-directories.
6272
6273 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6274
6275         * src/fileio.c (check_writable): 
6276         Cope with the fact that the read-only attribute trumps Windows NTFS
6277         ACLS.
6278
6279
6280 2006-12-09  Vin Shelton  <acs@xemacs.org>
6281
6282         * XEmacs 21.4.20 is released
6283
6284 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6285
6286         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6287         relocated the definitions to be used sooner in file.
6288         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6289         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6290         overflow.
6291
6292 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6293
6294         * sound.c (init_native_sound):
6295         Only X11 and GTK devices can possibly not be on the console of the
6296         associated machine. Fixes a crash when init_native_sound is called
6297         on a msprinter device. 
6298
6299 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6300
6301         * buffer.c (buffer-file-name): Document invariant.
6302         (buffer-file-truename): Sync wording to buffer-file-name.
6303         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6304         and discussion.
6305
6306 2006-11-19  Benson Margulies  <benson@dchbk.us>
6307
6308         * fileio.c: Add code to use full Win32 API to check for write
6309         access.  Win32 has the general design policy that you aren't
6310         supposed to ask this question, since security checks change
6311         depending on asynchronous processes.  Nonetheless, there is a way,
6312         by acting as if we are a server doing interpretive access
6313         control.
6314
6315 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6316
6317         * bytecode.c: Use xnew_array instead of alloca.
6318
6319 2006-07-04  Vin Shelton  <acs@xemacs.org>
6320
6321         * redisplay-msw.c: Fix tiny, but crucial typo.
6322
6323 2006-06-22  Jerry James  <james@xemacs.org>
6324
6325         * EmacsShell-sub.c (ChangeManaged):
6326         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6327         NULL.
6328         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6329         checking if it is NULL.  Also fix a memory leak.
6330         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6331         dereference it, not the other way around.
6332         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6333         overflow check.
6334         * dumper.c (pdump_register_struct): Ditto.
6335         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6336         to (short) warnpath overflow warnpath.
6337         * extents.c (detach_all_extents): Call extent_list_delete_all with
6338         a non-NULL parameter only.
6339         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6340         NULL width and height.
6341         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6342         xic before checking if they are NULL.
6343         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6344         allocated array.
6345         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6346         * nas.c (Err): Fix a memory leak.
6347         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6348         Don't create the buffer if there is nothing to do.
6349         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6350         * redisplay-output.c (redisplay_output_layout): Ditto.
6351         * redisplay-tty.c (tty_output_display_block): Ditto.
6352         * redisplay-x.c (x_output_display_block): Ditto.
6353         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6354         dereference instance->scrollbar_data if it is NULL.
6355         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6356         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6357         for sb->scrollbar_data.
6358         * sound.c (init_native_sound): Avoid a buffer overflow by
6359         allocating a buffer with the appropriate size.
6360
6361 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6362
6363         * EmacsShell-sub.c (RootGeometryManager):
6364         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6365         Based on a suggestion by Francois L'Archeveque.
6366
6367 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6368
6369         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6370         current values found in GNU Emacs.
6371
6372 2006-03-17  Vin Shelton  <acs@xemacs.org>
6373
6374         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6375         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6376
6377         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6378         'hex_initialized' because it conflicts with 'initialized' in
6379         lisp.h.
6380
6381 2006-01-28  Vin Shelton  <acs@xemacs.org>
6382
6383         * XEmacs 21.4.19 is released
6384
6385 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6386
6387         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6388
6389 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6390
6391         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6392         5000 to INT_MAX.
6393
6394 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6395
6396         * database.c: Suppress compiler warning under Cygwin.
6397         * database.c: Removed __FreeBSD__ check, should be handled by
6398         HAVE_U_xxx_T defines.
6399
6400 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6401
6402         * console.c (stuff_buffered_input): Compile body only if
6403         HAVE_TTY.
6404
6405 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6406
6407         * callproc.c: #include sysdir.h, so that any appropriate Mule
6408         magic happens with the chdir() call when calling a subprocess. 
6409
6410 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6411
6412         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6413         * mule-ccl.c: Check that a character set exists before using it
6414         to create a character. 
6415
6416 2005-12-06  Vin Shelton  <acs@xemacs.org>
6417
6418         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6419         to INT_MAX.
6420
6421 2005-12-03  Vin Shelton <acs@xemacs.org>
6422
6423         * XEmacs 21.4.18 is released
6424
6425 2005-11-27  Kean Johnston <kean@armory.com>
6426
6427         * redisplay-tty.c (set_tty_modes):
6428         (reset_tty_modes): disable auto-margins if the terminal supports
6429         them.
6430         (init_tty_for_redisplay): fix cursor shape.
6431
6432 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6433
6434         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6435         for control-1 characters properly, both when reading multibyte
6436         characters and writing them. 
6437
6438 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6439
6440         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6441         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6442         were seeing with incremental selection transfer failing. 
6443
6444 2005-11-26  Vin Shelton  <acs@xemacs.org>
6445
6446         * callproc.c (Fold_call_process_internal): Create the buffer if it
6447         does not already exist.  The original patch came from Ben Wing in
6448         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6449
6450 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6451
6452         * callproc.c: Process-related docstring improvements spurred by
6453         Norbert Koch.
6454
6455 2005-11-25  Vin Shelton  <acs@xemacs.org>
6456
6457         * depend: Regenerated.
6458
6459 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6460
6461         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6462         says it clashes with a global with the same name.
6463
6464 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6465
6466         * sysdll.c (dll_open): Under MacOS X return NULL under the
6467         filename is NULL.  Fixes problems finding local symbols under 10.4
6468         (Tiger)
6469
6470 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6471         
6472         * config.h.in: New HAVE_U_INT*_T defines.
6473         
6474         * database.c: Only use u_int*_t typedefs if not already
6475         defined.
6476
6477 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6478
6479         * src/process-unix.c (unix_open_network_stream): moved
6480           'portbuf' buffer out of an inner block as it is used in the
6481           entire function. With gcc4, the stack may get corrupted
6482           after leaving this block. This patches adjusts the size of
6483           the used buffer also; static '128' bytes are far too much
6484           currently and might not suffice for future architectures
6485           (e.g. for 512 bit ones ;)). Instead of, use only the really
6486           required space (max octets * ln(256)/ln(10) chars + space
6487           for '\0' and the sign)
6488
6489 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6490
6491         * callproc.c: Include sysdir.h, so any necessary Mule processing
6492         is done on the current directory name before starting a new
6493         process.
6494
6495 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6496
6497         * chartab.c (Fchar_table_p):
6498         (Fget_range_char_table):
6499         (Fput_char_table):
6500         (Fmap_char_table):
6501         Describe range representation and fix typo.
6502
6503 2005-02-12  Vin Shelton  <acs@xemacs.org>
6504
6505         * emacs.c (shut_down_emacs): Advise users to send email to the
6506         xemacs-beta list instead of crashes@xemacs.org.
6507
6508 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6509
6510         * process-unix.c (unix_send_process): Flush the last chunk, even
6511         when the pipe is blocked.
6512
6513 2005-02-06  Vin Shelton <acs@xemacs.org>
6514
6515         * XEmacs 21.4.17 is released
6516
6517 2005-01-31  Ben Wing  <ben@xemacs.org>
6518
6519         * emacs.c:
6520         Define assert_failed() always.
6521         * lisp.h:
6522         Always define ABORT().
6523
6524 2005-01-25  Ben Wing  <ben@xemacs.org>
6525
6526         * Makefile.in.in:
6527         * Makefile.in.in (%.o):
6528         Don't compile executable as Windows (-mwindows) under Cygwin.
6529         Semi-recent changes to Cygwin's executable-startup handling make
6530         it impossible to access the TTY this way.
6531
6532         Don't use special linker file under Cygwin (cygwin.sc) except
6533         when non-PDUMP (even in this case it is highly questionable); you
6534         get errors like
6535
6536       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6537    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6538
6539 2005-01-29  Ben Wing  <ben@xemacs.org>
6540
6541         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6542
6543         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6544
6545 2005-01-29  Ben Wing  <ben@xemacs.org>
6546
6547         * bytecode.c (optimize_compiled_function):
6548         * print.c (FROB):
6549         * print.c (long_to_string):
6550         Add casts to avoid warning.
6551         
6552         * glyphs-eimage.c:
6553         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6554         #### The better solution is to move the TIFF and JPEG code to
6555         different files.
6556         
6557         * glyphs-msw.c (mswindows_xbm_instantiate):
6558         Define __STDC__ to avoid problems with compface.h.
6559         
6560         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6561         * EmacsShell-sub.c:
6562         * EmacsShell-sub.c (ABORT):
6563         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6564         * EmacsShell-sub.c (RootGeometryManager):
6565         * EmacsShell.c:
6566         * EmacsShell.c (ABORT):
6567         * EmacsShell.c (EmacsShellUpdateSizeHints):
6568         * alloc.c (free_lcrecord):
6569         * alloca.c (i00afunc):
6570         * buffer.c (delete_from_buffer_alist):
6571         * buffer.c (MARKED_SLOT):
6572         * bytecode.c (execute_rare_opcode):
6573         * bytecode.c (optimize_byte_code):
6574         * bytecode.c (Ffetch_bytecode):
6575         * chartab.c (char_table_type_to_symbol):
6576         * chartab.c (Freset_char_table):
6577         * chartab.c (decode_char_table_range):
6578         * chartab.c (Fget_range_char_table):
6579         * chartab.c (check_valid_char_table_value):
6580         * chartab.c (map_char_table):
6581         * chartab.c (slow_map_char_table_fun):
6582         * chartab.c (chartab_instantiate):
6583         * cm.c (cmcheckmagic):
6584         * console-msw.c (DHEADER):
6585         * console.c (MARKED_SLOT):
6586         * data.c (finish_marking_weak_lists):
6587         * data.c (encode_weak_list_type):
6588         * debug.h (DASSERT):
6589         * device-gtk.c (gtk_init_device):
6590         * device-msw.c (mswindows_get_default_margin):
6591         * device-tty.c (tty_init_device):
6592         * device-x.c (get_device_from_display):
6593         * device-x.c (x_get_visual_depth):
6594         * doprnt.c (parse_doprnt_spec):
6595         * doprnt.c (get_doprnt_args):
6596         * dumper.c (pdump_get_indirect_count):
6597         * dumper.c (pdump_register_sub):
6598         * dumper.c (pdump_register_object):
6599         * dumper.c (pdump_register_struct):
6600         * dumper.c (pdump_dump_data):
6601         * dumper.c (pdump_reloc_one):
6602         * elhash.c (print_hash_table):
6603         * elhash.c (make_standard_lisp_hash_table):
6604         * elhash.c (hash_table_instantiate):
6605         * emacs.c:
6606         * emacs.c (Fforce_debugging_signal):
6607         * emacs.c (sort_args):
6608         * emacs.c (main):
6609         * emacs.c (assert_failed):
6610         * eval.c (throw_or_bomb_out):
6611         * eval.c (signal_1):
6612         * eval.c (Fsignal):
6613         * event-Xt.c:
6614         * event-Xt.c (emacs_Xt_mapping_action):
6615         * event-Xt.c (Xt_process_to_emacs_event):
6616         * event-msw.c:
6617         * event-stream.c (check_event_stream_ok):
6618         * event-stream.c (Fadd_timeout):
6619         * event-stream.c (Fadd_async_timeout):
6620         * event-stream.c (Fdiscard_input):
6621         * event-stream.c (execute_internal_event):
6622         * event-stream.c (Frecent_keys):
6623         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6624         * event-stream.c (lookup_command_event):
6625         * event-unixoid.c (poll_fds_for_input):
6626         * events.c:
6627         * events.c (mark_event):
6628         * events.c (event_equal):
6629         * events.c (event_hash):
6630         * events.c (Fmake_event):
6631         * events.c (Fdeallocate_event):
6632         * events.c (event_chain_find_previous):
6633         * events.c (event_to_character):
6634         * events.c (format_event_object):
6635         * events.c (Fevent_type):
6636         * events.c (event_pixel_translation):
6637         * events.c (Fevent_properties):
6638         * extents.c (extent_in_region_p):
6639         * extents.c (print_extent):
6640         * extents.c (process_extents_for_insertion_mapper):
6641         * extents.c (report_extent_modification_mapper):
6642         * extents.c (glyph_layout_to_symbol):
6643         * faces.c (face_validate):
6644         * file-coding.c (eol_type_to_symbol):
6645         * file-coding.c (subsidiary_coding_system):
6646         * file-coding.c (Fcoding_system_type):
6647         * file-coding.c (Fcoding_system_property):
6648         * file-coding.c (mule_decode):
6649         * file-coding.c (mule_encode):
6650         * file-coding.c (encode_coding_ucs4):
6651         * file-coding.c (encode_coding_utf8):
6652         * file-coding.c (parse_iso2022_esc):
6653         * file-coding.c (encode_coding_iso2022):
6654         * fileio.c:
6655         * fns.c (concat):
6656         * fns.c (Fsubseq):
6657         * fns.c (mapcar1):
6658         * fns.c (Fbase64_encode_region):
6659         * fns.c (Fbase64_encode_string):
6660         * fns.c (Fbase64_decode_region):
6661         * fns.c (Fbase64_decode_string):
6662         * font-lock.c (find_context):
6663         * font-lock.c (context_to_symbol):
6664         * frame-gtk.c (gtk_set_frame_pointer):
6665         * frame-gtk.c (gtk_update_frame_external_traits):
6666         * frame-x.c (x_wm_mark_shell_size_user_specified):
6667         * frame-x.c (x_wm_mark_shell_position_user_specified):
6668         * frame-x.c (x_wm_set_shell_iconic_p):
6669         * frame-x.c (x_wm_set_cell_size):
6670         * frame-x.c (x_wm_set_variable_size):
6671         * frame-x.c (x_wm_store_class_hints):
6672         * frame-x.c (x_wm_maybe_store_wm_command):
6673         * frame-x.c (x_initialize_frame_size):
6674         * frame-x.c (x_update_frame_external_traits):
6675         * frame.c:
6676         * frame.c (delete_frame_internal):
6677         * frame.c (mouse_pixel_position_1):
6678         * frame.c (change_frame_size_1):
6679         * free-hook.c (check_free):
6680         * free-hook.c (check_realloc):
6681         * free-hook.c (note_block_input):
6682         * free-hook.c (log_gcpro):
6683         * gccache-gtk.c (gc_cache_lookup):
6684         * glyphs-eimage.c (tiff_memory_write):
6685         * glyphs-gtk.c (gtk_finalize_image_instance):
6686         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6687         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6688         * glyphs-gtk.c (gtk_xpm_instantiate):
6689         * glyphs-gtk.c (gtk_unmap_subwindow):
6690         * glyphs-gtk.c (gtk_map_subwindow):
6691         * glyphs-gtk.c (gtk_button_redisplay):
6692         * glyphs-msw.c:
6693         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6694         * glyphs-x.c (init_image_instance_from_xbm_inline):
6695         * glyphs-x.c (extract_xpm_color_names):
6696         * glyphs-x.c (x_xpm_instantiate):
6697         * glyphs.c (get_image_instantiator_governing_domain):
6698         * glyphs.c (print_image_instance):
6699         * glyphs.c (image_instance_equal):
6700         * glyphs.c (image_instance_hash):
6701         * glyphs.c (encode_image_instance_type):
6702         * glyphs.c (make_image_instance_1):
6703         * glyphs.c (inherit_instantiate):
6704         * glyphs.c (image_instantiate):
6705         * glyphs.c (allocate_glyph):
6706         * glyphs.c (Fglyph_type):
6707         * glyphs.c (redisplay_subwindow):
6708         * glyphs.c (display_table_entry):
6709         * gtk-glue.c (xemacs_list_to_gtklist):
6710         * gtk-glue.c (xemacs_gtklist_to_list):
6711         * gtk-glue.c (xemacs_list_to_array):
6712         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6713         * gutter.c (gutter_was_visible):
6714         * gutter.c (get_gutter_coords):
6715         * input-method-xlib.c (get_XIM_input):
6716         * insdel.c (bufpos_to_bytind_func):
6717         * insdel.c (bytind_to_bufpos_func):
6718         * insdel.c (move_gap):
6719         * intl.c (x_get_composed_input):
6720         * keymap.c (keymap_lookup_directly):
6721         * keymap.c (keymap_delete_inverse_internal):
6722         * keymap.c (ensure_meta_prefix_char_keymapp):
6723         * keymap.c (accessible_keymaps_mapper_1):
6724         * keymap.c (where_is_recursive_mapper):
6725         * lisp.h:
6726         * lisp.h (ABORT):
6727         * lread.c (read_atom):
6728         * lstream.c (Lstream_delete):
6729         * lstream.c (make_lisp_buffer_stream_1):
6730         * macros.c (pop_kbd_macro_event):
6731         * malloc.c (malloc):
6732         * malloc.c (free):
6733         * marker.c (bi_marker_position):
6734         * marker.c (set_bi_marker_position):
6735         * menubar-gtk.c (menu_descriptor_to_widget_1):
6736         * menubar-msw.c (prune_menubar):
6737         * menubar-x.c (set_frame_menubar):
6738         * mule-charset.c (get_unallocated_leading_byte):
6739         * mule-charset.h (CHAR_LEADING_BYTE):
6740         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6741         * nt.c (init_environment):
6742         * nt.c (generate_inode_val):
6743         * ntproc.c (delete_child):
6744         * ntproc.c (_sys_read_ahead):
6745         * ntproc.c (create_child):
6746         * objects.c (color_instantiate):
6747         * objects.c (font_instantiate):
6748         * objects.c (face_boolean_instantiate):
6749         * print.c (printing_major_badness):
6750         * process-nt.c (nt_send_process):
6751         * process-unix.c (unix_send_process):
6752         * process.c (get_process):
6753         * ralloc.c (obtain):
6754         * ralloc.c (relinquish):
6755         * ralloc.c (relocate_blocs):
6756         * ralloc.c (resize_bloc):
6757         * ralloc.c (r_alloc_free):
6758         * ralloc.c (r_re_alloc):
6759         * ralloc.c (r_alloc_thaw):
6760         * ralloc.c (init_ralloc):
6761         * ralloc.c (Free_Addr_Block):
6762         * ralloc.c (r_alloc):
6763         * redisplay-gtk.c (gtk_output_display_block):
6764         * redisplay-msw.c (mswindows_output_display_block):
6765         * redisplay-output.c (get_next_display_block):
6766         * redisplay-output.c (get_cursor_size_and_location):
6767         * redisplay-output.c (redisplay_output_layout):
6768         * redisplay-output.c (redisplay_clear_region):
6769         * redisplay-tty.c (tty_output_display_block):
6770         * redisplay-x.c (x_output_display_block):
6771         * redisplay.c (add_propagation_runes):
6772         * redisplay.c (add_glyph_rune):
6773         * redisplay.c (create_text_block):
6774         * redisplay.c (add_margin_runes):
6775         * redisplay.c (create_left_glyph_block):
6776         * redisplay.c (create_right_glyph_block):
6777         * redisplay.c (create_string_text_block):
6778         * redisplay.c (regenerate_window):
6779         * redisplay.c (REGEN_INC_FIND_START_END):
6780         * redisplay.c (redisplay_frame):
6781         * redisplay.c (point_in_line_start_cache):
6782         * regex.c:
6783         * regex.c (ABORT):
6784         * regex.c (re_compile_fastmap):
6785         * regex.c (re_match_2_internal):
6786         * regex.c (regerror):
6787         * scrollbar-gtk.c (gtk_scrollbar_loop):
6788         * scrollbar-gtk.c (scrollbar_cb):
6789         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6790         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6791         * scrollbar-x.c (x_update_scrollbar_instance_status):
6792         * scrollbar-x.c (x_scrollbar_loop):
6793         * scrollbar-x.c (x_update_frame_scrollbars):
6794         * search.c (search_command):
6795         * search.c (Fmatch_data):
6796         * select-x.c (motif_clipboard_cb):
6797         * signal.c (interrupt_signal):
6798         * specifier.c (specifier_add_spec):
6799         * specifier.c (specifier_instance_from_inst_list):
6800         * specifier.c (specifier_instance):
6801         * specifier.h:
6802         * specifier.h (struct specifier_methods):
6803         * strftime.c (add_num_time_t):
6804         * sunplay.c (init_device):
6805         * symbols.c (Fsetplist):
6806         * symbols.c (do_symval_forwarding):
6807         * symbols.c (store_symval_forwarding):
6808         * symbols.c (Fset):
6809         * symbols.c (Fbuilt_in_variable_type):
6810         * symbols.c (decode_magic_handler_type):
6811         * symbols.c (handler_type_from_function_symbol):
6812         * syntax.c (update_syntax_cache):
6813         * sysdep.c (init_baud_rate):
6814         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6815         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6816         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6817         * toolbar.c (get_toolbar_coords):
6818         * ui-gtk.c (build_gtk_boxed):
6819         * ui-gtk.c (describe_gtk_arg):
6820         * ui-gtk.c (gtk_type_to_lisp):
6821         * ui-gtk.c (lisp_to_gtk_type):
6822         * ui-gtk.c (lisp_to_gtk_ret_type):
6823         * ui-gtk.c (lisp_to_flag):
6824         * unexnt.c (read_in_bss):
6825         * unexnt.c (map_in_heap):
6826         * window.c (real_window):
6827         * window.c (window_display_lines):
6828         * window.c (window_display_buffer):
6829         * window.c (set_window_display_buffer):
6830         * window.c (window_modeline_height):
6831         * window.c (unshow_buffer):
6832         * window.c (window_loop):
6833         * window.c (Fget_lru_window):
6834         * window.c (Fsplit_window):
6835         * window.c (Fset_window_configuration):
6836         * window.c (saved_window_index):
6837         * xgccache.c (gc_cache_lookup):
6838         abort() -> ABORT().  Eliminate preprocessor games with abort()
6839         since it creates huge problems in VC7, solvable only by including
6840         massive amounts of files in every compile (and not worth it).
6841
6842         * sysdep.c:
6843         * sysproc.h:
6844         Inclusion of process.h does not need to be before lisp.h any more.
6845         Move later and remove comment about abort().
6846
6847 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6848
6849         * regex.c (re_match_2_internal):
6850         Correctly initialize loop which clears uninitialized registers.
6851
6852 2005-01-28  Vin Shelton  <acs@xemacs.org>
6853
6854         * sheap.c (more_static_core): Applied Ben's version of the long
6855         string patch.
6856
6857 2005-01-24  Vin Shelton  <acs@xemacs.org>
6858
6859         * sheap.c (more_static_core): Reformatted printf string so
6860         gcc-3.3.3 will compile this on Cygwin.
6861
6862 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6863
6864         * console.c (function_key_map): Reference `key-binding'.
6865
6866         * keymap.c (Vkey_translation_map): Improve docstring.
6867
6868 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6869
6870         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6871         * window.c (window_loop): [fix] Take into account
6872         `allow-deletion-of-last-visible-frame' variable.
6873         * window.c (replace-buffer-in-windows): Ditto.
6874
6875 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6876
6877         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6878
6879 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6880
6881         * event-gtk.c: Recognise AltGr as a valid modifier.
6882
6883 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6884
6885         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6886
6887 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6888
6889         Fix backreference bug caught by test suite.
6890
6891         * regex.c (regex_compile):
6892         Make backref duplicate internal register.
6893
6894 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6895
6896         Documentation, code clarification, and warning suppression.
6897         
6898         * regex.c (regex_compile):
6899         Improve comments.
6900         (re_match_2_internal):
6901         Improve comments and avoid redundant braces.  [Most of the big hunk
6902         at l. 4710 is indentation; use diff -w to see the real changes.]
6903         (alt_match_null_string_p):
6904         (common_op_match_null_string_p):
6905         Avoid shadowing global on Mac OS X 10.4, at least.
6906
6907 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6908
6909         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6910         introduced with shy groups fix).  [Already applied, probably
6911         with the second "fix shy groups" patch of 2004-10-07.] 
6912
6913 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6914
6915         From Andrey Slusar <anrays@gmail.com>:
6916
6917         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6918
6919 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6920
6921         * Makefile (RECURSIVE_MAKE): Removed.
6922         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6923         handling parallel builds.
6924
6925 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6926
6927         * Makefile.in.in: Enable support for parallel builds.
6928
6929 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6930
6931         From Andrey Slusar <anrays@gmail.com>:
6932
6933         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6934         FreeBSD version is >= 199701 _and_ < 600006.
6935
6936 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6937
6938         * scrollbar.c (compute_scrollbar_instance_usage):
6939         Only call device method compute_scrollbar_instance_usage() if it
6940         is defined.
6941
6942 2004-12-05  Vin Shelton <acs@xemacs.org>
6943
6944         * XEmacs 21.4.16 is released
6945
6946 2004-12-04  Vin Shelton  <acs@xemacs.org>
6947
6948         * depend: Regenerated.
6949
6950 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6951
6952         * regex.c (re_match_2_internal): Map internal to external
6953         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6954         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6955
6956 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6957
6958         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6959         to fix a crash.  Also, check the buffer is live and it
6960         really exists in buffer_list.  If the buffer is not in the list,
6961         prepend it.
6962
6963 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6964
6965         Fix shy groups by implementing recording of all groups for
6966         repetition and backtracking.  Backport from 21.5.
6967         
6968         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6969         external_to_internal_register, external_to_internal_register_size,
6970         and update comments for re_nsub.
6971
6972         * regex.c (re_opcode_t): Update comments.
6973         (print_compiled_pattern): Ouput external_to_internal_register,
6974         external_to_internal_register_size, and re_ngroups for debugging.
6975         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6976         (regex_compile): Update header comment.
6977         Ensure that all groups are recorded so that repeat matches and
6978         backtracking work correctly.  Comment related warning for groups >
6979         255.
6980         (re_search_2): Construct map of API indexes (which count only
6981         nonshy groups) to internal register numbers, and keep it updated.
6982
6983 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6984
6985         * frame-gtk.c (gtk_make_frame_visible):
6986         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6987         show/hide.  This is what X uses and is prevents previously hidden
6988         widgets from suddenly reappearing.
6989         * gtk-xemacs.c (gtk_xemacs_paint):
6990         * gtk-xemacs.c (gtk_xemacs_draw):
6991         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6992         drawable.
6993         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6994         size and location changes so that they can be seen before the next
6995         idle event.  Without this rapid changes to scrollbar properties
6996         are not seen.
6997
6998 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6999
7000         * console-gtk.h:
7001         * console-gtk.h (struct gtk_frame):
7002         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
7003           Add hash tables track tab_control callback data.
7004           Added #defines for GTK object data names.
7005           Declaration of gtk_widget_to_frame().
7006         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
7007         * frame-gtk.c (gtk_widget_to_frame): New.
7008         * frame-gtk.c (gtk_create_widgets):
7009         * frame-gtk.c (allocate_gtk_frame_struct):
7010         * frame-gtk.c (gtk_mark_frame):
7011         Manage frame callbakc hash tables.
7012         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
7013         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
7014         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
7015         of widget size.
7016         * glyphs-gtk.c (gtk_widget_query_geometry): New
7017         * glyphs-gtk.c (gtk_register_gui_item): New
7018         * glyphs-gtk.c (gtk_add_tab_item): New
7019         * glyphs-gtk.c (gtk_tab_control_callback): New
7020         * glyphs-gtk.c (gtk_tab_control_instantiate): New
7021         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
7022         Use correct list when loading item.
7023         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
7024         Register new methods.
7025         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
7026         default size, for widgets.
7027         * gui-x.c:  Improved comment.
7028         * menubar-gtk.c (__generic_button_callback): Use
7029         gtk_widget_to_frame instead of __get_channel.
7030         * scrollbar-gtk.c:
7031         * ui-gtk.c: Use symbolic names for GTK object data.
7032
7033 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
7034
7035         * s/usg5-4.h (NSIG): Define only inside emacs binary.
7036
7037 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
7038
7039         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
7040
7041 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
7042
7043         * malloc.c (morecore): siz is a long because in some architectures
7044         (eg ia-64) an int cannot hold the address range.  Additional patch
7045         from the SuSe distribution.
7046
7047 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
7048
7049         * emacs.c:
7050         * malloc.c: lim_data is a long because in some architectures
7051         (eg ia-64) an int cannot hold the address range.
7052         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
7053         instead of ulimit() because ulimit() always returns -1.
7054
7055 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
7056
7057         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
7058
7059 2004-06-11  David Kastrup  <dak@gnu.org>
7060
7061         * search.c (match_limit): Don't flag an error if match-data
7062         exceeding the allocated search_regs.num_regs gets requested, just
7063         return Qnil.
7064
7065 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7066
7067         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7068         replace symbolic color entries with the real colors specified in
7069         xpm-color-symbols, before passing the XPM to gtk.
7070         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7071         instead of a GTK specific field, so that it is used in by generic
7072         code.
7073
7074 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7075
7076        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7077         coredump from deref of NULL ptr (ExtData)
7078
7079 2004-04-19  Jerry James  <james@xemacs.org>
7080
7081         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7082         VALBITS to compute the location of the sign bit.
7083         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7084         of VALBITS with EMACS_INT_MAX.
7085         * events.c (Fevent_timestamp): Ditto.
7086         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7087         compute the halfway point to timestamp wraparound.
7088         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7089         EMACS_INT_MIN instead of using VALBITS.
7090         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7091         incorrect number with VALBITS.
7092         * fns.c (Frandom): Correct number of integer bits in docstring.
7093         Use INT_VALBITS instead of VALBITS to compute the denominator.
7094         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7095         build random numbers.
7096
7097 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7098         * event-gtk.c:
7099         * event-gtk.c (gtk_event_to_emacs_event):
7100         * menubar-gtk.c:
7101         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7102         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7103         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7104         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7105         * menubar-gtk.c (__activate_menu):
7106         * menubar-gtk.c (convert_underscores):
7107         * menubar-gtk.c (remove_underscores):
7108         * menubar-gtk.c (menu_convert):
7109         * menubar-gtk.c (menu_descriptor_to_widget_1):
7110         * menubar-gtk.c (menu_descriptor_to_widget):
7111         * menubar-gtk.c (menu_can_reuse_widget):
7112         * menubar-gtk.c (menu_create_menubar):
7113         * menubar-gtk.c (gtk_popup_menu):
7114         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7115         Added support for Gtk menu bar and menu item mnemonics.
7116
7117 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7118
7119         * sysdll.c: (dll_function): Added support for finding symbols in
7120         Darwin shared libraries as well in Darwin bundles.
7121         * sysdll.c (image_for_address): New
7122         * sysdll.c (my_find_image): New
7123         * sysdll.c (search_linked_libs): New
7124
7125 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7126
7127         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7128         return to GTK requires a different API to marshalling data to use
7129         as GTK parameters.
7130         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7131
7132 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7133
7134         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7135
7136 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7137
7138         * glyphs.c (process_image_string_instantiator):
7139         (Fset_console_type_image_conversion_list):
7140         Stop GCC from warning about shadowing of `exp'.
7141
7142         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7143
7144 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7145
7146         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7147
7148 2004-02-03  Vin Shelton  <acs@xemacs.org>
7149
7150         * glyphs.c (image_instance_layout): Remove pointless assertion.
7151         * regex.c (regex_grow_registers): Return type is void.
7152
7153 2004-02-02  Vin Shelton <acs@xemacs.org>
7154
7155         * XEmacs 21.4.15 is released
7156
7157 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7158
7159         * device-x.c (x_error_handler): Don't call stderr_out
7160
7161 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7162
7163         * buffer.c (other-buffer): Clarify documentation of order of
7164         arguments for FSF Emacs.
7165
7166 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7167
7168         * window.c (Fdelete_window): Dirty the mirror structure _before_
7169         marking the window deleted.
7170
7171 2003-09-15  Jerry James  <james@xemacs.org>
7172
7173         * event-msw.c (debug_mswin_messages): Conditionally compile
7174         messages missing from the Cygwin headers.
7175
7176 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7177
7178         * data.c (eq_with_ebola_notice): Fix typo in comment.
7179         (Ftrue_list_p): Improve docstring.
7180
7181 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7182
7183         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7184
7185 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7186
7187         * search.c (trivial_regexp_p): Regexps containing "\{" are
7188         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7189         Stefan Monnier for suggesting a diagnosis.
7190
7191 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7192
7193         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7194
7195 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7196
7197         * search.c (Fsearch_forward):
7198         (Fsearch_backward):
7199         Document negative count.
7200
7201 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7202
7203         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7204
7205 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7206
7207         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7208
7209 2003-09-15  Vin Shelton  <acs@xemacs.org>
7210
7211         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7212         21.5.
7213
7214 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7215
7216         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7217         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7218         (re_match_2_internal): Use TRANSLATE instead of
7219         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7220         non-ASCII char case conversion.
7221
7222 2003-09-08  Mike Sperber  <mike@xemacs.org>
7223
7224         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7225         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7226
7227 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7228
7229        * .gdbinit (pobj): fix printing of symbol name.
7230
7231 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7232
7233         * frame-x.c (x_layout_widgets): When resizing is about to cause
7234         frame size slip, mark it for redisplay.
7235
7236 2003-08-18  Jerry James  <james@xemacs.org>
7237
7238         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7239
7240 2003-09-03  Vin Shelton <acs@xemacs.org>
7241
7242         * XEmacs 21.4.14 is released
7243
7244 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7245
7246         * config.h.in (REGEX_MALLOC): Make it configure'able.
7247
7248 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7249
7250         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7251         linking.
7252         * sysdll.c (dll_init):
7253         * sysdll.c (dll_open):
7254         * sysdll.c (dll_close):
7255         * sysdll.c (dll_function):
7256         * sysdll.c (dll_variable):
7257         * sysdll.c (dll_error):
7258         Add support for loading bundles using Darwin/MacOSX
7259         native API.
7260
7261 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7262
7263         * process.c (start-process-internal): Document coding systems.
7264
7265 2003-07-30  Jerry James  <james@xemacs.org>
7266
7267         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7268
7269 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7270
7271         * event-msw.c (mswindows_enqueue_mouse_button_event):
7272         * event-msw.c (mswindows_wnd_proc):
7273           enqueue button event when scrollwheel event isn't handled by 
7274           mswindows_handle_mousewheel_event, such as when the scrollbars
7275           are not showing.
7276
7277 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7278
7279         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7280
7281 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7282
7283         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7284
7285 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7286
7287         * regex.c (re_match_2_internal): Fix matching degenerate word
7288         boundaries.
7289
7290 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7291
7292         * XEmacs 21.4.13 is released
7293
7294 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7295
7296         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7297         * lisp.h (<inttypes.h>):
7298         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7299         the definition.
7300
7301 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7302
7303         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7304         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7305         Result: "temacs can only be run in -batch mode."
7306         Fix: Check xemacs executable candidate for directory-ness.
7307
7308 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7309
7310         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7311           they conflict with <sys/types.h>.
7312
7313 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7314
7315         * database.c: Berkeley DB wants __STDC__ to be defined.
7316
7317 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7318
7319         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7320
7321 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7322
7323         * process-unix.c (unix_send_process): Fix C++ compile error.
7324
7325 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7326
7327         * Added .dylib as an acceptable shared library file extension
7328         * to support MacOSX.
7329
7330 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7331
7332         * EmacsFrameP.h (EmacsFramePart):
7333         Kludge to allow compiling with Motif1, but linking with Motif2.
7334
7335 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7336
7337         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7338
7339
7340 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7341
7342         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7343
7344 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7345
7346         * sysdll.c: Included lisp.h to define needed alloca_array.
7347
7348 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7349
7350         Make XEmacs redisplay 10 times faster.
7351         If, that is, you're using a slow X connection and MoveOpaque.
7352         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7353         Use compress_motion = TRUE.
7354         * EmacsFrame.c (emacsFrameClassRec): 
7355         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7356         * EmacsManager.c (emacsManagerClassRec):
7357         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7358
7359 2003-01-30  Vin Shelton  <acs@xemacs.org>
7360
7361         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7362
7363 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7364
7365         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7366         Patch by Martin Buchholz.
7367
7368 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7369
7370         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7371         Thanks to icc for warning and Martin Buchholz for reporting.
7372
7373 2003-01-29  Vin Shelton <acs@xemacs.org>
7374
7375         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7376
7377         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7378         remember to multiply by the element size.
7379
7380 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7381
7382         * XEmacs 21.4.12 "Portable Code" is released.
7383
7384 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7385
7386         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7387         * s/cygwin.sc: new linker file.
7388
7389 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7390
7391         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7392
7393         * redisplay-x.c (x_output_string): Use X11-specified types.
7394         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7395         * emacs.c (__free_hook): Use typeof with Intel compiler.
7396         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7397
7398 2003-01-08  Andy Piper  <andy@xemacs.org>
7399
7400         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7401         reserve size during unexec().
7402
7403 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7404
7405         * process-unix.c (unix_create_process): Don't let outchannel block.
7406
7407 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7408
7409         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7410         Needed for IsBadReadPtr().
7411
7412 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7413
7414         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7415
7416 2002-12-14  Ben Wing  <ben@xemacs.org>
7417
7418         * callint.c: Declaration error.
7419         * dumper.c (pdump):
7420         * dumper.c (pdump_load): Warning fix.
7421         * process.c: GCPRO error.
7422         * glyphs.c (unmap_subwindow):
7423         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7424         * event-stream.c (maybe_kbd_translate): Wrong argument to
7425         character_to_event().
7426
7427         * alloc.c (garbage_collect_1):
7428         * emacs.c:
7429         * emacs.c (debug_can_access_memory):
7430         * emacs.c (fatal_error_signal):
7431         * emacs.c (mswindows_handle_hardware_exceptions):
7432         * emacs.c (main_1):
7433         * emacs.c (main):
7434         * emacs.c (assert_failed):
7435         * emacs.c (syms_of_emacs):
7436         * lisp.h:
7437         * print.c:
7438         * print.c (std_handle_out_va):
7439         * print.c (write_string_to_stdio_stream):
7440         * print.c (write_fmt_string):
7441         * print.c (printing_badness):
7442         * print.c (printing_major_badness):
7443         * print.c (print_internal):
7444         * print.c (debug_print_no_newline):
7445         * print.c (debug_backtrace):
7446         Be more defensive in handling bad values when printing.  Add code
7447         from trunk involving inhibit_non_essential_printing_operations.
7448         When going down or in debug_print(), don't do external conversion
7449         and such and try really, really hard when printing to avoid core
7450         dumping.  Add force-debugging-signal, debug_break().
7451
7452 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7453
7454         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7455         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7456
7457 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7458
7459         * database.c: Fix open_database. Berkeley DB API has changed in
7460         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7461
7462 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7463
7464         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7465
7466 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7467
7468         * event-Xt.c (Xt_timeout):
7469         (Xt_timeout_callback):
7470         (emacs_Xt_add_timeout):
7471         (emacs_Xt_remove_timeout):
7472         (Xt_timeout_to_emacs_event):
7473         Turn completed_timeouts from a stack into a queue.  Fixes
7474         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7475
7476 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7477
7478         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7479         * emacs.c (main): Assert that mmap'd allocation is disabled.
7480
7481 2002-10-14  Andy Piper  <andy@xemacs.org>
7482
7483         * glyphs-widget.c (layout_query_geometry): add in fiddle
7484         factor. Include border text in width layout calculation.
7485         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7486
7487 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7488
7489         * XEmacs 21.4.10 "Military Intelligence" is released.
7490
7491 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7492
7493         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7494         using the NAS private array SoundFileInfo that no longer exists in
7495         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7496         and earlier.  This is broken for some versions between 1.5a and
7497         1.5f.
7498
7499 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7500
7501         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7502
7503         * emacs.c (shut_down_emacs): Improve crash message.
7504
7505 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7506
7507         * file-coding.c (determine_real_coding_system): Check for coding
7508         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7509         shebangs and Python PEP 263.
7510
7511 2002-10-08  Andy Piper  <andy@xemacs.org>
7512
7513         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7514         if static sizes haven't been set.
7515
7516 2002-08-30  Mike Alexander  <mta@arbortext.com>
7517
7518         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7519         to close a socket.
7520
7521 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7522
7523         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7524
7525 2002-09-20  Mike Sperber <mike@xemacs.org>
7526
7527         (This partially gets back my patch from 2002-07-20 without the
7528         bug.)
7529         * callproc.c (child_setup): Remove Ben's comment noting confusion
7530         over the file descriptors >= 3: close_process_descs() doesn't
7531         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7532         * process-unix.c (unix_create_process): Call
7533         begin_dont_check_for_quit to inhibit unwanted interaction (and
7534         thus breaking of X event synchronicity) in the child.
7535
7536 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7537
7538         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7539         widget.
7540
7541 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7542
7543         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7544         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7545         the xemacs process did not exit, but looped infinitely here.  This
7546         fixes that problem.
7547
7548 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7549
7550         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7551         (find_context): Improve comments.
7552
7553         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7554         (re_match_2): An XCHAR_TABLE operation was missing.
7555
7556         Many of the following changes were inspired by Andy Piper's (now
7557         obsolete) patch to make syntax-table text property lookup optional.
7558
7559         [Documentation]
7560
7561         * syntax.h (top level): Document semantics of syntax flags.
7562         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7563         * syntax.c, syntax.h (top level): Document syntax cache better in
7564         comments.
7565
7566         [Instrument syntax caching (temporary change)]
7567
7568         * syntax.h (enum syntax_cache_statistics_functions, struct
7569         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7570         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7571         * syntax.c (scan_words, Fforward_comment, scan_lists,
7572         Fbackward_prefix_characters):
7573         * font-lock.c (find_context):
7574         Use them to instrument syntax caching. 
7575         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7576         syntax_cache_statistics_function_names): New type and variables.
7577         * syntax.c (update_syntax_cache): Update and report statistics.
7578
7579         [Major syntax cache optimizations]
7580
7581         syntax.c (lookup_syntax_properties): Default off.
7582
7583         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7584         * syntax.c (update_syntax_cache):
7585         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7586
7587         [Minor syntax cache optimizations and code clarifications]
7588
7589         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7590         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7591         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7592         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7593         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7594         (Code clarification.)
7595
7596         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7597         scan_lists): Compute code from syncode, use Boolean macros instead
7598         of redundant masking operations.  (Code clarification; any decent
7599         compiler can do this optimization.)
7600
7601         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7602         for clarity.
7603
7604         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7605         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7606         use F*_single_property_change instead of F*_extent_change.
7607         Currently F*_single_property_change is _much_ less efficient.
7608
7609         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7610         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7611         syntax_cache.object properly, don't leave Qt or Qnil.
7612         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7613         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7614         tests for Qt or Qnil.
7615
7616 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7617
7618         * redisplay.c (point_in_line_start_cache): 
7619         * extents.c (print_extent_1):
7620         Fix warnings.
7621
7622         * extents.c (Fset_extent_property): Document `syntax-table' property.
7623
7624         * extents.h (Fnext_single_property_change): EXFUN it.
7625
7626 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7627
7628         * search.c (clear_unused_search_regs): New static function.
7629         (search_buffer): 
7630         (simple_search): 
7631         (boyer_moore):
7632         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7633         Minor clarifications in comments.
7634
7635         * regex.c (re_match_2_internal): Ensure no stale submatches.
7636
7637 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7638
7639         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7640
7641 2002-08-29  Jerry James  <james@xemacs.org>
7642
7643         * lisp.h: structrures -> structures.
7644
7645 2002-06-03  Andy Piper  <andy@xemacs.org>
7646
7647         * frame.c (frame_conversion_internal): add conversion appropriate
7648         for setting frame dimensions in pixels.
7649
7650         * console.h (struct console_methods): add device-specific widget
7651         layout functions.
7652
7653         * emacs.c (main_1): initialize glyph vars.
7654
7655         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7656         (handle_focus_event_2): new function. Allow focus to
7657         be set to a particular window and widget.
7658         (enqueue_focus_event): new function. Create a
7659         synthetic focus event.
7660         (emacs_Xt_handle_magic_event): call
7661         handle_focus_event_2.
7662
7663         * frame.c (Fset_frame_pixel_height): new function. Allow
7664         pixel-based sizing. Does the right thing on character-oriented
7665         displays.
7666         (Fset_frame_pixel_width): ditto.
7667         (Fset_frame_pixel_size): ditto.
7668         (syms_of_frame): declare.
7669
7670         * general-slots.h: add :vertically-justify and
7671         :horizontally-justify.
7672
7673         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7674         (mswindows_widget_border_width): new function.
7675         (mswindows_combo_box_instantiate): set border widths.
7676         (console_type_create_glyphs_mswindows): declare.
7677
7678         * glyphs-widget.c:
7679         (check_valid_justification): allow vertical and horizontal
7680         justification.
7681         (widget_border_width): new function. Call device methods.
7682         (widget_instance_border_width): ditto.
7683         (logical_unit_height): new function. Determine the height of a
7684         logical-unit. Logical units are intended to provide grid-like
7685         layout for subcontrols in a layout. If the layout is
7686         :vertically-justify top then subcontrols will be positioned on
7687         logical-unit boundaries, thus allowing adjacent subcontrols to
7688         line up.
7689         (widget_logical_unit_height): ditto for widgets.
7690         (redisplay_widget): misc cleanup.
7691         (widget_spacing): new function. Call device specific
7692         methods. Intended to be the default gap between adjacent widgets.
7693         (widget_query_geometry): use new spacing functions to determine
7694         appropriate geometry.
7695         (initialize_widget_image_instance): initialize horizontal and
7696         vertical justification.
7697         (widget_instantiate): use logica-units where appropriate for
7698         sizing large widgets.
7699         (button_query_geometry): use widget_instance_border_width.
7700         (tree_view_query_geometry): ditto.
7701         (tab_control_query_geometry): ditto.
7702         (edit_field_query_geometry): new function.
7703         (layout_update): pick up :justify, :horizontally-justify and
7704         :vertically-justify none of which worked previously. :justify is
7705         used as a fallback for both horizontal and vertical justification.
7706         (layout_query_geometry): use logical units to size appropriately.
7707         (layout_layout): ditto.
7708         (Fwidget_logical_to_character_width): new function. Allow users to
7709         convert from logical units to characters so that frame sizes can
7710         be set appropriately.
7711         (Fwidget_logical_to_character_height): ditto.
7712         (syms_of_glyphs_widget): declare.
7713         (image_instantiator_edit_fields): add edit_field_query_geometry.
7714         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7715         :horizontally-justify.
7716         (specifier_vars_of_glyphs_widget): new function. Declare
7717         Vwidget_border_width which is not yet used.
7718
7719         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7720         (x_widget_border_width): new function.
7721         (x_widget_instantiate): create a sensible name for widgets.
7722         (console_type_create_glyphs_x): declare x_widget_border_width.
7723
7724         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7725         (struct Lisp_Image_Instance): add :vertically-justify and
7726         :horizontally-justify.
7727         (LAYOUT_JUSTIFY_TOP): new.
7728         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7729         (ROUND_UP): new macro. Round argument up to next integral
7730         interval.
7731
7732         * redisplay-output.c (redisplay_output_layout): misc formatting.
7733
7734         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7735
7736 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7737
7738         * XEmacs 21.4.9 "Informed Management" is released.
7739
7740 2002-08-19  Andy Piper  <andy@xemacs.org>
7741
7742         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7743         win32 format.
7744
7745         * realpath.c (xrealpath): normalize drive spec also so that dir
7746         sep chars are not mixed on cygwin.
7747
7748 2002-08-06  Jerry James  <james@xemacs.org>
7749
7750         * window.c (Fsplit_window): Count only half of the divider width
7751         against the left window when splitting horizontally. 
7752
7753 2002-06-24  Andy Piper  <andy@xemacs.org>
7754
7755         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7756         toolbar was cleared.
7757
7758         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7759         function. Split out from mswindows_output_frame_toolbars.
7760         (mswindows_output_frame_toolbars): move clear pieces to
7761         mswindows_output_frame_toolbars.
7762
7763         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7764         out from gtk_output_frame_toolbars.
7765         (gtk_output_frame_toolbars): move clear pieces to
7766         gtk_clear_frame_toolbars.
7767
7768         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7769         the frame is cleared. How this ever worked before is a mystery.
7770         (x_output_frame_toolbars): Only output toolbars.
7771         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7772
7773         * gutter.c (update_gutter_geometry):
7774         Mark frame layout changed.
7775         (update_frame_gutter_geometry, update_frame_gutters):
7776         Respect frame_layout_changed.
7777
7778         * console.h (struct console_methods): add
7779         clear_frame_toolbars_method.
7780
7781         * redisplay.c (redisplay_frame): call
7782         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7783
7784         * toolbar.h: declare update_frame_toolbars_geometry.
7785
7786         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7787         out from update_frame_toolbars.  Call clear_frame_toolbars.
7788         (update_frame_toolbars): only output, do not change geometry.
7789
7790         * redisplay.c: add frame_layout_changed.
7791
7792         * redisplay.h: add frame_layout_changed.
7793         (CLASS_RESET_CHANGED_FLAGS): set it.
7794         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7795         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7796         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7797
7798         * device.h (struct device): add frame_layout_changed.
7799         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7800
7801         * frame.h (struct frame): add frame_layout_changed.
7802         (MARK_FRAME_LAYOUT_CHANGED): new.
7803
7804 2002-06-30  Mike Alexander  <mta@arbortext.com>
7805
7806         * event-msw.c (mswindows_need_event): Don't wait for a new message
7807         if the queue is not empty.  Suggested by Paul Moore.
7808
7809 2002-06-12  Andy Piper  <andy@xemacs.org>
7810
7811         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7812         for printing on accurately.
7813
7814 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7815
7816         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7817         WM_ACTIVATE message. Make sure that the frame is visible if the
7818         window is visible. This seemss to fix the problem where XEmacs
7819         appears to freeze after switching desktops with certain virtual
7820         window managers.
7821         (debug_output_mswin_message): Added code to output message
7822         parameters for WM_WINDOWPOSCHANGED, 
7823         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7824
7825 2002-05-25  Andy Piper  <andy@xemacs.org>
7826
7827         * select-x.c (vars_of_select_x): Fix docstring of
7828         x-selection-strict-motif-ownership
7829
7830 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7831
7832         * keymap.c (get_keymap):
7833         Add comment about do_autoload GCPROs own args.
7834
7835 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7836
7837         * bytecode.c (execute_optimized_program): check_opcode ifdef
7838         ERROR_CHECK_BYTE_CODE.
7839
7840 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7841
7842         Thanks to Ben Wing and Michael Sperber.
7843
7844         * eval.c (Fcommand_execute):
7845         (Feval):
7846         (Ffuncall):
7847         (Fmacroexpand_internal):
7848         (function_argcount):
7849         callint.c (Fcall_interactively):
7850         Add comment about do_autoload GCPROs own args.
7851
7852         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7853
7854         * eval.c (Ffuncall): Extra braces to placate GCC.
7855
7856 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7857
7858         * backtrace.h (grow_specpdl):
7859         (SPECPDL_RESERVE):
7860         * EmacsFrame.c (EmacsFrameSetValues):
7861         * eval.c (grow_specpdl):
7862         * ExternalShell.c (hack_event_masks_1):
7863         * glyphs-x.c (convert_EImage_to_XImage): 
7864         (x_finalize_image_instance):
7865         * ralloc.c (page_size):
7866         (r_alloc_sbrk):
7867         * xgccache.c (gc_cache_hash):
7868         Fix unsigned comparison warnings.
7869
7870 2002-07-29  Jerry James  <james@xemacs.org>
7871
7872         * lread.c (locate_file): Any nonnegative return value indicates
7873         success if MODE is nonnegative.
7874
7875 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7876
7877         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7878         argument. 
7879
7880 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7881
7882         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7883
7884         * dumper.c (pdump_get_indirect_count):
7885         (pdump_scan_by_alignment):
7886         (pdump_dump_root_struct_ptrs):
7887         (pdump_dump_rtables):
7888         (pdump_dump_root_objects):
7889         (pdump):
7890         * nas.c (WaveOpenDataForReading):
7891         * fns.c (print_bit_vector):
7892         * font-lock.c (SINGLE_SYNTAX_STYLE):
7893         * glyphs.c (check_for_ignored_expose):
7894         (find_matching_subwindow):
7895         * glyphs-eimage.c:
7896         * imgproc.c (get_histogram):
7897         * redisplay.c (point_in_line_start_cache):
7898         * redisplay-output.c (redisplay_unmap_subwindows):
7899         * symbols.c (defsymbol_massage_name_1):
7900         (defkeyword_massage_name):
7901         (deferror_massage_name_and_message):
7902         * redisplay-x.c (x_output_string): 
7903         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7904         * frame.h (struct frame):
7905         * filelock.c (current_lock_owner):
7906         * doprnt.c (emacs_doprnt_1):
7907         * lisp.h (struct Lisp_Bit_Vector):
7908         (DO_REALLOC):
7909         Fix warnings.
7910
7911 2002-02-13  Ben Wing  <ben@xemacs.org>
7912
7913         * event-stream.c (reset_key_echo):
7914         * event-stream.c (reset_this_command_keys):
7915         * event-stream.c (execute_command_event):
7916         If console is dead as a result of C-x 5 0, then post-command stuff
7917         needs to be careful and do only non-console-specific stuff.
7918
7919 2002-07-01  Mike Sperber <mike@xemacs.org>
7920
7921         * process-unix.c (unix_send_process): Mark coding_outstream as
7922         non-open upon SIGPIPE.
7923
7924         * event-stream.c (Fnext_event): Reorder switch cases to something
7925         that makes sense.
7926
7927 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7928
7929         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7930         Don't bogusly reinitialize ascii_character property.
7931
7932 2002-07-08  Mike Sperber <mike@xemacs.org>
7933
7934         * process.c (Fstart_process_internal): Do error checking before we
7935         fork off the child, so the child can't muck with the state of the
7936         parent.
7937
7938 2002-07-08  Mike Sperber <mike@xemacs.org>
7939
7940         * ralloc.c (init_ralloc): Allocate properly for pdump.
7941
7942 2002-06-12  Andy Piper  <andy@xemacs.org>
7943
7944         * glyphs.c (query_string_geometry): check the string.
7945
7946         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7947         widget names.
7948
7949 2002-06-17  Jerry James  <james@xemacs.org>
7950
7951         * sysdll.c: Remove RTLD_GLOBAL initialization.
7952         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7953
7954 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7955
7956         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7957
7958 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7959
7960         * sysdep.c (sys_rename): Make sys_rename work for the case where
7961         Windows rename sets errno to EACCES if target file exists.
7962
7963 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7964
7965         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7966         Fix detection of metric units to work on Win95
7967
7968 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7969
7970         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7971
7972 2002-04-25  Andy Piper  <andy@xemacs.org>
7973
7974         * redisplay.c (create_text_block): Remove extra comment trailer.
7975
7976 2002-04-24  Andy Piper  <andy@xemacs.org>
7977
7978         * redisplay.c (create_text_block): Don't actually add propagation
7979         data if the line ends after we have added a glyph.
7980
7981 2002-04-22  Andy Piper  <andy@xemacs.org>
7982
7983         * extents.c (extent_fragment_update): check for glyphs we have
7984         previously displayed.
7985         * extents.c (print_extent_1): warning removal.
7986         * extents.h: change prototype.
7987         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7988         widths correctly for wide glyphs.
7989         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7990         * redisplay.c (prop_type): add PROP_GLYPH.
7991         * redisplay.c (struct prop_block): add glyph type
7992         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7993         to the propagation data.
7994         * redisplay.c (create_text_block): if there is a glyph in the
7995         propagation data use it to salt extent_fragment_update.
7996         * redisplay.c (create_string_text_block): ditto.
7997
7998 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7999
8000         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
8001         * redisplay-output.c (compare_runes): Compare them.
8002         * redisplay.c: Update copyright date.
8003         * redisplay.c (pos_data): Add need_baseline_computation field.
8004         * redisplay.c (add_glyph_rune): Update ascent, descent, and
8005         need_baseline_computation; zero yoffset. Set max_pixmap_height
8006         for all pixmaps, not just automatically positioned ones.
8007         * redisplay.c (calculate_yoffset): New, compute yoffset values.
8008         * redisplay.c (calculate_baseline): New, compute textual baseline.
8009         * redisplay.c (add_glyph_rune): Call them.
8010         * redisplay.c (create_text_block): Likewise.
8011         * redisplay.c (create_overlay_glyph_block): Likewise.
8012         * redisplay.c (add_margin_runes): Likewise.
8013         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
8014
8015         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
8016         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
8017         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
8018         * redisplay-msw.c (mswindows_output_string): Likewise.
8019         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
8020         * redisplay-gtk.c (gtk_output_display_block): Likewise.
8021         * redisplay-x.c (x_output_display_block): Likewise.
8022
8023 2002-03-28  Ben Wing  <ben@xemacs.org>
8024
8025         * redisplay.c: Fixed bug in redisplay
8026         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
8027         and down of the lines, since they're bigger than the line
8028         size. (It was seen most obviously when there's a horizontal scroll
8029         bar, e.g. do C-h a glyph or something like that.) The problem was
8030         that the glyph-contrib-p setting on glyphs was ignored even if it
8031         was set properly, which it wasn't until now.
8032
8033 2002-04-24  Andy Piper  <andy@xemacs.org>
8034
8035         * lisp.h (Dynarr_end): Fix definition.
8036
8037 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
8038
8039         * redisplay.c (mark_redisplay): Remove call to
8040         update_frame_window_mirror.
8041
8042 2001-11-15  Andy Piper  <andy@xemacs.org>
8043
8044         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
8045         cygwin (again).
8046
8047 2002-02-13  Andy Piper  <andy@xemacs.org>
8048
8049         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
8050         we did in fact enqueue the XM_MAPFRAME event.
8051
8052 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
8053
8054         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
8055         to fix problem switching between virtual desktops under virtuawin
8056         virtual window manager.
8057
8058 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
8059
8060         * event-msw.c: Typo fix.
8061         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
8062         magic XM_MAPFRAME event has been sent.
8063
8064 2001-11-23  Andy Piper  <andy@xemacs.org>
8065
8066         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
8067
8068 2001-11-21  Andy Piper  <andy@xemacs.org>
8069
8070         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8071         mouse events outside the frame.
8072
8073 2002-03-20  Andy Piper  <andy@xemacs.org>
8074
8075         * menubar-msw.c (mswindows_popup_menu): warning removal.
8076         * dialog-msw.c (dialog_popped_down): ditto.
8077
8078 2001-12-11  Andy Piper  <andy@xemacs.org>
8079
8080         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8081         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8082         popup_up_p.
8083         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8084         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8085         * menubar-msw.c (mswindows_popup_menu): ditto.
8086
8087 2001-10-29  Andy Piper  <andy@xemacs.org>
8088
8089         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8090         cancels.
8091
8092 2002-01-03  Andy Piper  <andy@xemacs.org>
8093
8094         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8095         letters.
8096         (xrealpath): ditto.
8097
8098 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8099
8100         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8101         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8102         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8103         Detect and handle case where machine is set up for metric units
8104
8105 2002-04-02  Andy Piper  <andy@xemacs.org>
8106
8107         * dired-msw.c (mswindows_get_files): 
8108         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8109         completely handled by XEmacs. Suggested by Thomas Vogler
8110         <mail@thomas-vogler.de>.
8111
8112 2001-11-14  Andy Piper  <andy@xemacs.org>
8113
8114         * nt.c (REG_ROOT): change registry key to XEmacs.
8115
8116 2002-04-27  Andy Piper  <andy@xemacs.org>
8117
8118         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8119
8120 2002-04-26  Andy Piper  <andy@xemacs.org>
8121
8122         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8123         behavior.
8124
8125 2002-03-14  Mike Alexander  <mta@arbortext.com>
8126
8127         * event-msw.c (mswindows_unwait_process): New, remove process from
8128         wait list
8129         * process-nt.c (nt_finalize_process_data): Call
8130         mswindows_unwait_process
8131         * console-msw.h: Declare mswindows_unwait_process
8132
8133 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8134
8135         * editfns.c (Fdecode_time):
8136         (Fformat_time_string):
8137         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8138         (make_time): Warning elimination (change arg name).
8139
8140 2001-11-24  Andy Piper  <andy@xemacs.org>
8141
8142         * window.c (Fsplit_window): Doc return type.
8143
8144 2002-04-01  Andy Piper  <andy@xemacs.org>
8145
8146         * emacs.c (Fkill_emacs): Only output message box in interactive
8147         mode.
8148
8149 2002-04-26  Andy Piper  <andy@xemacs.org>
8150  
8151         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8152         cygwin.
8153
8154 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8155
8156         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8157         bit platform.
8158
8159 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8160
8161         * XEmacs 21.4.8 "Honest Recruiter" is released.
8162
8163 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8164
8165         Supersedes 2002-04-17 patch.
8166
8167         * process.h (PROCESS_LIVE_P): Use the process status as
8168         evidence of health, not the state of the input stream.
8169         (PROCESS_READABLE_P): Say if the process is readable
8170         from. (It may be dead nonetheless.)
8171         (CHECK_READABLE_PROCESS): Test for that condition.
8172
8173         * process.c (create_process): Use PROCESS_READABLE_P.
8174         (read_process_output, set_process_filter): Likewise.
8175
8176         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8177         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8178
8179         This code is #if 0'd, this is not the time to add new functions:
8180
8181         * process.c (Fprocess_readable_p): Report readability status.
8182         * process.c (Qprocess_readable_p): New, associated symbol...
8183         * process.c (syms_of_process): ... initialize it.
8184
8185 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8186
8187         * XEmacs 21.4.7 "Economic Science" is released.
8188
8189 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8190
8191         * process.h (PROCESS_LIVE_P): Use the process status as
8192         evidence of health, not the state of the input stream.
8193
8194 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8195
8196         * sysdep.c (sys_siglist): change "signum" to "signal"
8197
8198 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8199
8200         * s/darwin.h: New file.
8201         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8202         
8203 2002-04-23  Andreas Jaeger  <aj@suse.de>
8204
8205         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8206         which use lib64 for 64-bit libs.
8207         (START_FILES): Likewise.
8208
8209 2002-02-11  Mike Sperber  <mike@xemacs.org>
8210
8211         * device-x.c: 
8212         (x_IO_error_handler):
8213         (x_init_device): Temporarily keep device in static variable
8214         `device_being_initialized' so we can recover gracefully from
8215         internal XOpenDevice failure.  (XOpenDevice is documented to
8216         return NULL on failure, but sometimes calls the IO error handler
8217         instead.)
8218
8219 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8220
8221         * dired.c (Ffile_name_all_completions): Change documentation --
8222         remove reference to completion-ignored-extensions.
8223         * dired.c (vars_of_dired): Change documentation for
8224         completion-ignored-extensions -- remove reference to
8225         file-name-all-completions.
8226
8227 2002-03-06  Jerry James  <james@xemacs.org>
8228
8229         * emodules.c (emodules_load): Fix multiple loading of same module.
8230
8231 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8232         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8233         RTLD_LAZY to avoid incorrect symbol binding when using nested
8234         shared libraries on Solaris.
8235
8236 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8237
8238         * fileio.c (Ffind_file_name_handler): Improve docstring.
8239
8240 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8241
8242         * fns.c (Fmapconcat): Improve docstring.
8243
8244 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8245
8246         * device-gtk.c: Add prototype for
8247         emacs_gtk_selection_clear_event_handle.
8248         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8249         selection.  Setup signal handler for "selection_clear_event"
8250         (emacs_gtk_selection_clear_event_handle).
8251
8252         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8253         other applications owning the clipboard (based on
8254         x_handle_selection_clear).
8255
8256 2001-12-23  William M. Perry  <wmperry@gnu.org>
8257
8258         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8259         
8260 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8261
8262         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8263
8264 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8265
8266         * XEmacs 21.4.6 "Common Lisp" is released.
8267
8268 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8269
8270         * search.c (Freplace_match): Add missing sub-expression functionality.
8271
8272         * buffer.c (decode_buffer): Add a check for pointer type to
8273         decode_buffer, before gcc's CSE optimization reorders a
8274         dereference in front of the allow_string test.
8275
8276 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8277
8278         * window.c (window_loop): Fix bug that sometimes prevented
8279         window_loop() from iterating across multiple devices.  Also, at
8280         Ben's request, changed infloop-detecting code to abort() instead
8281         of silently terminating window_loop().
8282
8283 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8284
8285         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8286         * editfns.c (make_time): New function.
8287         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8288         * lisp.h (make_time): Prototype and comment it.
8289         * dired.c (wasteful_word_to_lisp): Deprecate.
8290         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8291
8292 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8293
8294         * fileio.c (auto_save_1): Use current coding system, not
8295         escape-quoted.
8296
8297 2001-11-13  Ben Wing  <ben@xemacs.org>
8298
8299         * window.c:
8300         * window.c (window_truncation_on):
8301         * window.c (syms_of_window):
8302         truncate-partial-width-windows should respect the buffer being
8303         displayed, like other redisplay vars.
8304
8305 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8306
8307         * event-stream.c (Fread_key_sequence): save current buffer.
8308
8309 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8310
8311         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8312
8313 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8314
8315         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8316
8317 2001-10-26  Mike Alexander  <mta@arbortext.com>
8318
8319         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8320
8321 2001-10-25  Andy Piper  <andy@xemacs.org>
8322
8323         * ChangeLog:
8324         * dialog-msw.c (handle_directory_proc): new function.
8325          (handle_directory_dialog_box): new fucntion.
8326          (handle_file_dialog_box): use new directory dialog support.
8327          (mswindows_make_dialog_box_internal): ditto.
8328         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8329         handling.
8330         (mswindows_find_frame): make global.
8331         * fileio.c (Fexpand_file_name): build fix.
8332         * general-slots.h: add Qdirectory.
8333         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8334         handling.
8335         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8336         cygwin not leaving win32 paths unchanged.
8337         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8338         cygwin runtime to do path conversion.
8339         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8340         (syms_of_win32): add new function.
8341         * window.c (window_loop): build fix.
8342
8343 2001-10-15  Andy Piper  <andy@xemacs.org>
8344
8345         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8346
8347 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8348
8349         * XEmacs 21.4.5 "Civil Service" is released.
8350
8351 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8352
8353         * glyphs-x.c: Force buffer-tab highlight update when moving the
8354         buffer, avoiding an ugly black border, used for keyboard focus
8355         indication, on a widget that can never have keyboard focus, the
8356         buffer tab.
8357
8358 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8359
8360         * process-unix.c (unix_open_multicast_group): Remove too much
8361         conversion between host and network byte order.
8362
8363 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8364
8365         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8366         before replacing them.
8367
8368         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8369         operation.
8370
8371         * src/window.c (undedicate_windows): Use it.
8372         * src/window.h: Add prototype.
8373
8374 2001-09-17  Ben Wing  <ben@xemacs.org>
8375
8376         * fileio.c (normalize_filename):
8377         * fileio.c (Fexpand_file_name):
8378         Fix various C++ compile errors in Andy's recent code.
8379         
8380         * callint.c (Fcall_interactively):
8381         * editfns.c (Ftemp_directory):
8382         * editfns.c (Fuser_full_name):
8383         * emacs.c (argmatch):
8384         * lread.c (locate_file_map_suffixes):
8385         * redisplay-x.c (x_ring_bell):
8386         Fix sign-compare warnings.
8387         
8388 2001-09-08  Andy Piper  <andy@xemacs.org>
8389
8390         * fileio.c (normalize_filename): copied from nt.c
8391         * (Ffile_name_directory): enable win32 paths under cygwin.
8392         * (Ffile_name_nondirectory): ditto.
8393         * (directory_file_name): ditto.
8394         * (Fexpand_file_name): ditto.
8395         * (Ffile_truename): ditto.
8396         * (Fsubstitute_in_file_name): ditto.
8397         * (Ffile_name_absolute_p): ditto.
8398         * (Ffile_readable_p): ditto.
8399
8400 2001-09-08  Andy Piper  <andy@xemacs.org>
8401
8402         * device-msw.c (mswindows_finish_init_device): remove dde
8403         initialization.
8404         * device-msw.c (mswindows_init_dde): factor out from
8405         mswindows_finish_init_device()
8406         * device-msw.c (init_mswindows_very_early): new function
8407         initialize but don't enable dde.
8408         * emacs.c (main_1): call init_mswindows_very_early.
8409         * event-msw.c:
8410         * event-msw.c (mswindows_dde_callback): only execute when we are
8411         ready.
8412         * symsinit.h: declare init_mswindows_very_early.
8413
8414 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8415
8416         [sjt: This has been in 21.5 for months with no complaints.]
8417
8418         * console.h (struct console_methods): Added flags member.
8419         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8420         (CONMETH_IMPL_FLAG):
8421         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8422         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8423
8424         * device.c (window_system_pixelated_geometry): Use the above macros.
8425
8426         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8427         implememntation flag.
8428         * device.h (DEVICE_DISPLAY_P): Use it.
8429
8430         * frame.c (delete_frame_internal): Use the above macro.
8431
8432         * redisplay.c (redisplay_device): Use it.
8433         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8434         (redisplay_frame): Ditto.
8435
8436         * device-msw.c (mswindows_device_implementation_flags): Removed.
8437         (msprinter_device_implementation_flags): Removed.
8438         (console_type_create_device_mswindows): Removed references to
8439         implementation_flags methods, set implementation flags here.
8440         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8441
8442         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8443         (console_type_create_device_gtk): Removed method declaration.
8444         Added commented out statement which semantically matches the
8445         commented out statement in the above removed method.
8446
8447 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8448
8449         The attached patch fixes a few warnings. 
8450
8451         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8452         * src/frame-gtk.c: guard against GNOME calls in GTK only
8453         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8454         * src/select-gtk.c: prototype lisp_to_time
8455
8456 2001-06-08  Ben Wing  <ben@xemacs.org>
8457
8458         ------ gc-in-window-procedure fixes ------
8459         
8460         * alloc.c:
8461         * alloc.c (struct post_gc_action):
8462         * alloc.c (register_post_gc_action):
8463         * alloc.c (run_post_gc_actions):
8464         * alloc.c (garbage_collect_1):
8465         Create "post-gc actions", to avoid those dreaded "GC during window
8466         procedure" problems.
8467
8468         * event-msw.c:
8469         Abort, clean and simple, when GC in window procedure.  We want
8470         to flush these puppies out.
8471
8472         * glyphs-msw.c:
8473         * glyphs-msw.c (finalize_destroy_window):
8474         * glyphs-msw.c (mswindows_finalize_image_instance):
8475         Use a post-gc action when destroying subwindows.
8476
8477         * lisp.h:
8478         Declare register_post_gc_action().
8479
8480         * scrollbar-msw.c:
8481         * scrollbar-msw.c (unshow_that_mofo):
8482         Use a post-gc action when unshowing scrollbar windows, if in gc.
8483
8484         * redisplay.c (mark_redisplay):
8485         Add comment about the utter evilness of what's going down here.
8486
8487         ------ cygwin setitimer fixes ------
8488         
8489         * Makefile.in.in (sheap_objs):
8490         * Makefile.in.in (profile_objs):
8491         * Makefile.in.in (objs):
8492         Compile profile.c only when HAVE_SETITIMER.
8493         
8494         * nt.c (mswindows_sigset):
8495         * nt.c (mswindows_sighold):
8496         * nt.c (mswindows_sigrelse):
8497         * nt.c (mswindows_sigpause):
8498         * nt.c (mswindows_raise):
8499         * nt.c (close_file_data):
8500         Style fixes.
8501         
8502         * nt.c:
8503         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8504         
8505         * profile.c:
8506         * profile.c (Fstart_profiling):
8507         * profile.c (Fstop_profiling):
8508         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8509         instead of just plain setitimer().
8510         
8511         * signal.c:
8512         * signal.c (set_one_shot_timer):
8513         * signal.c (alarm):
8514         Define qxe_setitimer() as an encapsulation around setitimer() --
8515         call setitimer() directly unless Cygwin or MS Win, in which case
8516         we use our simulated version in win32.c.
8517         
8518         * systime.h:
8519         * systime.h (struct itimerval):
8520         * systime.h (ITIMER_REAL):
8521         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8522         comment about "qxe" and the policy regarding encapsulation.
8523
8524         * win32.c:
8525         * win32.c (setitimer_helper_proc):
8526         * win32.c (setitimer_helper_period):
8527         * win32.c (setitimer_helper):
8528         * win32.c (mswindows_setitimer):
8529         Move setitimer() emulation here, so Cygwin can use it.
8530         Rename a couple of functions and variables to be longer and more
8531         descriptive.  In setitimer_helper_proc(), send the signal
8532         using either mswindows_raise() or (on Cygwin) kill().  If for
8533         some reason we are still getting lockups, we'll change the kill()
8534         to directly invoke the signal handlers.
8535
8536         ------ windows shell fixes ------
8537         
8538         * callproc.c:
8539         * ntproc.c:
8540         Comments about how these two files must die.
8541
8542         * callproc.c (init_callproc):
8543         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8544         not just COMSPEC. (more correct and closer to FSF.) Don't
8545         force a value for SHELL into the environment. (Comments added
8546         to explain why not.)
8547         
8548         * nt.c (init_user_info):
8549         Don't shove a fabricated SHELL into the environment.  See above.
8550
8551 2001-06-01  Ben Wing  <ben@xemacs.org>
8552
8553         * Makefile.in.in (ldflags):
8554         eliminate that pesky "defaulting to 00401000" warning.
8555         * nt.h:
8556         eliminate warnings.
8557
8558 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8559
8560         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8561         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8562
8563 2001-04-24  Jerry James <james@xemacs.org>
8564
8565         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8566         correct order.
8567
8568 2001-06-01  Ben Wing  <ben@xemacs.org>
8569
8570         * event-msw.c (debug_mswin_messages):
8571         conditionalize the messages that were causing compile errors.
8572         (if only macros could generate #ifdef statements ...)
8573
8574 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8575
8576         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8577
8578 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8579
8580         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8581
8582 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8583
8584         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8585         * process-unix.c (unix_canonicalize_host_name):
8586         sysdep.c (init_system_name):
8587         Use it to conditionally support IPv6 canonicalization.
8588
8589 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8590
8591         * event-msw.c:
8592         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8593
8594 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8595
8596         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8597         attempt is made to scroll when no scroll bar is available.
8598
8599 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8600
8601         * input-method-motif.c (XIM_delete_frame): New callback.
8602         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8603         got deleted from 21.4.3.)
8604
8605 2001-06-01  Ben Wing  <ben@xemacs.org>
8606
8607         * nt.c (mswindows_utime):
8608         * nt.c (close_file_data):
8609         fix off-by-one-indirection error.
8610
8611 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8612
8613         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8614         because set_file_times() now takes Lisp_Object path, instead of
8615         char*.
8616         * nt.c: Include buffer.h.
8617         * nt.c (convert_from_time_t): New.
8618         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8619         not set mtime correctly.
8620         * nt.h: Declare mswindows_utime().
8621         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8622         path, instead of char*.
8623         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8624
8625 2001-05-30  Ben Wing  <ben@xemacs.org>
8626
8627         For 21.4:
8628
8629         (Stephen, just take all event-msw.c patches.  This includes
8630         the "iconify" fix below.)
8631
8632         * event-msw.c:
8633         * event-msw.c (mswindows_dequeue_dispatch_event):
8634         * event-msw.c (assert):
8635         * event-msw.c (emacs_mswindows_quit_p):
8636         * event-msw.c (debug_mswin_messages):
8637         * event-msw.c (debug_output_mswin_message):
8638         * event-msw.c (vars_of_event_mswindows):
8639         Fix yet more problems with C-g handling.
8640         Implement debug-mswindows-events.
8641         
8642 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8643
8644         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8645         
8646 2001-05-23  Ben Wing  <ben@xemacs.org>
8647
8648         * event-msw.c (winsock_writer):
8649         * event-msw.c (winsock_closer):
8650         prior kludgy code was clobbering the buffer, thinking it was
8651         "unused" space to store an unneeded return value; instead, use
8652         the variable we've already got staring us in the face.
8653
8654 2001-05-17  Andy Piper  <andy@xemacs.org>
8655
8656         * sysfile.h: don't assume that file attributes are boolean
8657
8658 2001-05-23  Ben Wing  <ben@xemacs.org>
8659
8660         * device-msw.c (msprinter_init_device):
8661         signal an error rather than crash with an unavailable network
8662         printer (from Mike Alexander).
8663         
8664         * event-msw.c:
8665         * event-msw.c (struct winsock_stream):
8666         * event-msw.c (winsock_writer):
8667         * event-msw.c (winsock_closer):
8668         * event-msw.c (make_winsock_stream_1):
8669         cleanup headers.  fix (hopefully) an error with data corruption
8670         when sending to a network connection.
8671
8672         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8673         to handle the ~user prefix by (a) always assuming we're referencing
8674         ourselves and not even verifying the user -- hence any file with
8675         a tilde as its first char is invalid! (b) if there wasn't a slash
8676         following the filename, the pointer was set *past* the end of
8677         file and we started reading from uninitialized memory.  Now we
8678         simply treat these as files, always.
8679
8680         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8681         
8682 2001-05-19  Ben Wing  <ben@xemacs.org>
8683
8684         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8685
8686         * process-nt.c:
8687         * process-nt.c (vars_of_process_nt):
8688         remove unused mswindows-quote-process-args.  rec for 21.4.
8689         
8690 2001-05-12  Ben Wing  <ben@xemacs.org>
8691
8692         * event-msw.c (mswindows_dde_callback):
8693         * event-msw.c (mswindows_wnd_proc):
8694         eliminate cygwin warnings.
8695
8696 2001-05-06  Ben Wing  <ben@xemacs.org>
8697
8698         * console-msw.h:
8699         * device-msw.c:
8700         * device-msw.c (print_dialog_worker):
8701         * device-msw.c (mswindows_handle_print_dialog_box):
8702         * device-msw.c (syms_of_device_mswindows):
8703         * dialog-msw.c (mswindows_make_dialog_box_internal):
8704         * general-slots.h:
8705         implement printing the selection when it's selected.
8706
8707 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8708
8709         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8710
8711 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8712
8713         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8714         EMACS_INT is signed.
8715
8716 2001-04-15  Michael Lausch  <mla@1012surf.net>
8717
8718         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8719         gtk_widget_request_size() to give scrollbar >0 width for
8720         GTK >1.2.8.
8721
8722 2001-05-30  William M. Perry  <wmperry@gnu.org>
8723
8724         * event-gtk.c: Check for buttons as modifier keys.
8725
8726 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8727
8728         * s\mingw32.h:
8729         Properly find MinGW's <process.h> inside Cygwin's restructured
8730         include directories.  Don't try to include <cygwin/version.h>
8731         since we are dropping support for MinGW in versions of Cygwin
8732         earlier than b21.
8733         * nt.c:
8734         Drop support for MinGW in versions of Cygwin before b21.
8735         * sysdep.c:
8736         Properly find MinGW's <process.h> inside Cygwin's restructured
8737         include directories.
8738         * syswindows.h:
8739         Drop support for MinGW in versions of Cygwin before b21.
8740         * unexcw.c:
8741         Even though a.out.h is no longer detected by configure, allow
8742         MinGW to use it until we figure out how to do the job with Win32.
8743
8744 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8745
8746         * syntax.c (find_start_of_comment):
8747         Fix `unbalanced parentheses' bug when dealing with mixed comment
8748         styles in c++/java/etc. mode
8749
8750 2001-05-29  Mike Alexander  <mta@arbortext.com>
8751
8752         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8753         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8754
8755 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8756
8757         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8758
8759 2001-03-31  Mike Sperber <mike@xemacs.org>
8760
8761         * search.c (Freplace_match): Support FSF-style specification of
8762         match subexpression when applied to a buffer.
8763
8764 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8765
8766         * event-stream.c (is_scrollbar_event): add missing semicolon
8767
8768 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8769
8770         * Makefile.in.in: Use TAR macro instead of hardcoding
8771           tar.  Allows use of GNU tar instead of system tar
8772
8773 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8774
8775         * event-stream.c (is_scrollbar_event): add missing semicolon
8776
8777 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8778
8779         * XEmacs 21.4.3 "Academic Rigor" is released.
8780
8781 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8782
8783         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8784
8785 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8786
8787         * buffer.c (Vcase_fold_search): Remove obsolete
8788           comment about non ASCII case-fold-search.  This
8789           bug has been fixed by case-table changes.
8790
8791 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8792
8793         * event-msw.c: Restore include of events-mod.h.
8794
8795 2001-04-22   zhaoway  <zw@debian.org>
8796
8797         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8798         !HAVE_SCROLLBARS.
8799
8800 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8801
8802         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8803
8804 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8805
8806         * mule-charset.c (Fmake_charset): Add missing else.
8807
8808 2001-04-23  Ben Wing  <ben@xemacs.org>
8809
8810         * event-msw.c (FAKE_MOD_QUIT):
8811         * event-msw.c (mswindows_dequeue_dispatch_event):
8812         * event-msw.c (mswindows_wnd_proc):
8813         * event-msw.c (emacs_mswindows_quit_p):
8814         Get critical quit working.
8815
8816 2001-05-05  Ben Wing  <ben@xemacs.org>
8817
8818         * console-msw.h:
8819         * device-msw.c:
8820         * device-msw.c (mswindows_get_default_margin):
8821         * frame-msw.c (mswindows_size_frame_internal):
8822         * frame-msw.c (msprinter_init_frame_1):
8823         * frame-msw.c (vars_of_frame_mswindows):
8824         Change top/bottom margin defaults to 0.5 inches.
8825
8826 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8827
8828         Fix link error with gcc 3.0 on Linux.
8829         * terminfo.c (UP): Remove.
8830         * terminfo.c (BC): Remove.
8831         * terminfo.c (PC): Remove.
8832         They weren't used, and in any case, these symbols should be
8833         defined in the *library*.
8834
8835 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8836
8837         * s/aix4.h: Fix crash with xlc -O3.
8838         Improve comment explaining how -O3 works.
8839
8840 2001-04-15  Ben Wing  <ben@xemacs.org>
8841
8842         * event-stream.c:
8843         * event-stream.c (Fnext_event):
8844         * event-stream.c (is_scrollbar_event):
8845         * event-stream.c (execute_command_event):
8846         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8847         crash' problem.  His fix introduces other problems.  We filter
8848         out scrollbar events specifically, making them somewhat invisible
8849         to command-building, and not appearing in `this-command-keys'.
8850         More work is still needed (see comments in event-stream.c), but
8851         this fixes all the major problems.
8852
8853 2001-04-20  Ben Wing  <ben@xemacs.org>
8854
8855         * .cvsignore: Added stuff for Windows.
8856
8857 2001-04-28  Ben Wing  <ben@xemacs.org>
8858
8859         * buffer.c (Ferase_buffer):
8860         * editfns.c (buffer_insert1):
8861         * editfns.c (Finsert_before_markers):
8862         * editfns.c (Finsert_string):
8863         * editfns.c (Finsert_char):
8864         * editfns.c (Fdelete_region):
8865         * editfns.c (Fwiden):
8866         * editfns.c (Fnarrow_to_region):
8867         remove bogus lines setting zmacs_region_stays to 0.
8868         
8869 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8870
8871         * process-unix.c (unix_open_network_stream): If connect() fails
8872         invalidate file descriptor after closing it.
8873
8874 2001-03-08  Mike Alexander  <mta@arbortext.com>
8875
8876         * event-msw.c (mswindows_need_event_in_modal_loop):
8877         Don't dispatch a message if we didn't get one.
8878         (mswindows_need_event):
8879         Terminate the correct process when one exits instead of the first
8880         one on Vprocess_list and look for process termination when in
8881         mswindows_protect_modal_loop.
8882
8883 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8884
8885         * XEmacs 21.4.1 "Copyleft" is released.
8886
8887 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8888
8889         * input-method-motif.c (XIM_delete_frame): New callback.
8890         (XIM_init_frame): Register it.
8891
8892 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8893
8894         * XEmacs 21.4.0 "Solid Vapor" is released.
8895
8896 2001-04-15  Ben Wing  <ben@xemacs.org>
8897
8898         * cmdloop.c (call_command_loop):
8899         Fix braino in bit-rotting code.
8900         
8901 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8902
8903         * extents.c (Fset_extent_endpoints): Force creation of extent info
8904         in buffer_or_string.
8905
8906         * extents.c (process_extents_for_insertion_mapper): Correctly
8907         check for open-open zero-length extents.
8908
8909 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8910
8911         * lisp.h: New typedefs Memory_count, Element_count.
8912         * regex.c:
8913         * regex.h:
8914         Sign-compare warning elimination: several unsigned -> signed.
8915         Based on work by Ben Wing <ben@xemacs.org>.
8916
8917 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8918
8919         * XEmacs 21.2.47 "Zephir" is released.
8920
8921 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8922
8923         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8924
8925 2001-04-03  Mike Sperber <mike@xemacs.org>
8926
8927         * search.c: Revert previous patch due because of release.
8928
8929 2001-03-30  Ben Wing  <ben@xemacs.org>
8930
8931         * s\cygwin32.h:
8932         Add missing killpg prototype.
8933
8934         * elhash.c:
8935         Add a comment about fixing problems when a new entry is added
8936         while mapping.
8937
8938         * frame-msw.c (mswindows_init_frame_1):
8939         Fix compile warnings.
8940
8941         * menubar.c (vars_of_menubar):
8942         Provide `menu-accelerator-support' to indicate that we properly
8943         support %_ in menu specifications, so that package code can
8944         conditionalize on this (and remove %_ from menu specifications
8945         on older versions).
8946
8947         * event-msw.c:
8948         * scrollbar-msw.c:
8949         * scrollbar-msw.c (can_scroll):
8950         * scrollbar-msw.h:
8951         Fix handling of mouse wheel under Windows to follow standards --
8952         now scrolls window under pointer, not selected window.
8953
8954 2001-03-31  Mike Sperber <mike@xemacs.org>
8955
8956         * search.c (Freplace_match): Support FSF-style specification of
8957         match subexpression when applied to a buffer.
8958
8959 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8960
8961         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8962         function to modify KEYMAP, so map over a copy of the hash table.
8963
8964 2001-03-21  Martin Buchholz <martin@xemacs.org>
8965
8966         * XEmacs 21.2.46 "Urania" is released.
8967
8968 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8969
8970         * realpath.c (xrealpath): Make file-truename work with symlinks to
8971         /cygdrive paths on cygwin. Always lowercase drive-letters on
8972         native windows.
8973         (cygwin_readlink): Don't try to find canonical filename unless
8974         file exists.
8975
8976 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8977
8978         * ChangeLog: Log GTK merge.
8979
8980         * dumper.c:
8981         * select-x.c:
8982         * specifier.c:
8983         * symeval.h:
8984         Revert gratuitous whitespace changes from GTK merge.
8985
8986         * emacs.c: Document end of complex #ifdef @ l. 1495.
8987
8988
8989 2001-03-12  Andy Piper  <andy@xemacs.org>
8990
8991         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8992         have to do likewise.
8993
8994 2001-03-12  Andy Piper  <andy@xemacs.org>
8995
8996         * sysdep.c: we only support mingw now.
8997
8998 2001-03-09  Andy Piper  <andy@xemacs.org>
8999
9000         * unexcw.c (copy_executable_and_dump_data_section): making approx
9001         overrun a warning only.
9002
9003 2001-03-10  William M. Perry  <wmperry@aventail.com>
9004
9005         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
9006         satisfy Stephen's identical-after-cpp plea.
9007
9008 2001-03-02  Ben Wing  <ben@xemacs.org>
9009
9010         * cmds.c:
9011         * cmds.c (Fforward_char):
9012         * syntax.c:
9013         * window.c:
9014
9015         Augment documentation of the most common motion commands to make
9016         note of the shifted-motion support.
9017         
9018 2001-03-02  Ben Wing  <ben@xemacs.org>
9019
9020         * nt.c (mswindows_fstat):
9021         * nt.c (mswindows_stat):
9022         * search.c (boyer_moore):
9023         Fix compile warnings under Windows.
9024         
9025         * sysdep.c (sys_readdir):
9026         Fix buggy filename-conversion code under Mule.
9027
9028 2001-03-09  William M. Perry  <wmperry@aventail.com>
9029
9030         * Makefile.in.in:
9031         * config.h.in:
9032         * console.c:
9033         * console.h:
9034         * device.c:
9035         * device.h:
9036         * dragdrop.c:
9037         * emacs.c:
9038         * event-stream.c:
9039         * events.c:
9040         * events.h:
9041         * faces.c:
9042         * frame.h:
9043         * general-slots.h:
9044         * glyphs.c:
9045         * gutter.c:
9046         * inline.c:
9047         * lisp.h:
9048         * lrecord.h:
9049         * make-src-depend:
9050         * redisplay-output.c:
9051         * redisplay.c:
9052         * symsinit.h:
9053         * sysfile.h:
9054         * toolbar.c:
9055         * window.c:
9056         The Great GTK Merge.
9057
9058         * ChangeLog.GTK:
9059         * console-gtk.c:
9060         * console-gtk.h:
9061         * device-gtk.c:
9062         * emacs-marshals.c:
9063         * emacs-widget-accessors.c:
9064         * event-gtk.c:
9065         * frame-gtk.c:
9066         * gccache-gtk.c:
9067         * gccache-gtk.h:
9068         * glade.c:
9069         * glyphs-gtk.c:
9070         * glyphs-gtk.h:
9071         * gtk-glue.c:
9072         * gtk-xemacs.c:
9073         * gtk-xemacs.h:
9074         * gui-gtk.c:
9075         * gui-gtk.h:
9076         * menubar-gtk.c:
9077         * native-gtk-toolbar.c:
9078         * objects-gtk.c:
9079         * objects-gtk.h:
9080         * redisplay-gtk.c:
9081         * scrollbar-gtk.c:
9082         * scrollbar-gtk.h:
9083         * select-gtk.c:
9084         * toolbar-gtk.c:
9085         * ui-byhand.c:
9086         * ui-gtk.c:
9087         * ui-gtk.h:
9088         The Great GTK Merge: new files.
9089
9090 2001-02-26  Ben Wing  <ben@xemacs.org>
9091
9092         Reapplied Lstream change.
9093
9094 2001-02-26  Ben Wing  <ben@xemacs.org>
9095
9096         Undid the last change, since it is more controversial than I
9097         thought.  It should be back in at some point soon.
9098         
9099 2001-02-25  Ben Wing  <ben@xemacs.org>
9100
9101         * buffer.c:
9102         * callproc.c (Fold_call_process_internal):
9103         * event-msw.c (ntpipe_slurp_reader):
9104         * event-msw.c (ntpipe_shove_writer):
9105         * event-msw.c (winsock_reader):
9106         * event-msw.c (winsock_writer):
9107         * file-coding.c:
9108         * file-coding.c (detect_eol_type):
9109         * file-coding.c (detect_coding_type):
9110         * file-coding.c (determine_real_coding_system):
9111         * file-coding.c (Fdetect_coding_region):
9112         * file-coding.c (decoding_reader):
9113         * file-coding.c (decoding_writer):
9114         * file-coding.c (mule_decode):
9115         * file-coding.c (Fdecode_coding_region):
9116         * file-coding.c (encoding_reader):
9117         * file-coding.c (encoding_writer):
9118         * file-coding.c (mule_encode):
9119         * file-coding.c (Fencode_coding_region):
9120         * file-coding.c (detect_coding_sjis):
9121         * file-coding.c (decode_coding_sjis):
9122         * file-coding.c (encode_coding_sjis):
9123         * file-coding.c (detect_coding_big5):
9124         * file-coding.c (decode_coding_big5):
9125         * file-coding.c (encode_coding_big5):
9126         * file-coding.c (detect_coding_ucs4):
9127         * file-coding.c (decode_coding_ucs4):
9128         * file-coding.c (encode_coding_ucs4):
9129         * file-coding.c (detect_coding_utf8):
9130         * file-coding.c (decode_coding_utf8):
9131         * file-coding.c (encode_coding_utf8):
9132         * file-coding.c (detect_coding_iso2022):
9133         * file-coding.c (decode_coding_iso2022):
9134         * file-coding.c (encode_coding_iso2022):
9135         * file-coding.c (decode_coding_no_conversion):
9136         * file-coding.c (encode_coding_no_conversion):
9137         * glyphs-x.c (write_lisp_string_to_temp_file):
9138         * gpmevent.c (tty_get_foreign_selection):
9139         * lisp.h:
9140         * lstream.c:
9141         * lstream.c (Lstream_flush_out):
9142         * lstream.c (Lstream_adding):
9143         * lstream.c (Lstream_write_1):
9144         * lstream.c (Lstream_write):
9145         * lstream.c (Lstream_raw_read):
9146         * lstream.c (Lstream_read_more):
9147         * lstream.c (Lstream_read):
9148         * lstream.c (Lstream_unread):
9149         * lstream.c (Lstream_fputc):
9150         * lstream.c (stdio_reader):
9151         * lstream.c (stdio_writer):
9152         * lstream.c (filedesc_reader):
9153         * lstream.c (filedesc_writer):
9154         * lstream.c (lisp_string_reader):
9155         * lstream.c (struct fixed_buffer_stream):
9156         * lstream.c (make_fixed_buffer_input_stream):
9157         * lstream.c (make_fixed_buffer_output_stream):
9158         * lstream.c (fixed_buffer_reader):
9159         * lstream.c (fixed_buffer_writer):
9160         * lstream.c (struct resizing_buffer_stream):
9161         * lstream.c (resizing_buffer_writer):
9162         * lstream.c (dynarr_writer):
9163         * lstream.c (lisp_buffer_reader):
9164         * lstream.c (lisp_buffer_writer):
9165         * lstream.h:
9166         * lstream.h (lstream_implementation):
9167         * lstream.h (struct lstream):
9168         * md5.c (Fmd5):
9169         * process-nt.c (nt_send_process):
9170         * process-unix.c (unix_send_process):
9171         
9172         Correct Lstream lossage due to mixing of signed and unsigned
9173         quantities.  All Lstream uses of size_t and ssize_t are now a
9174         single signed data type Lstream_data_count.  This fixes problems
9175         under Windows with sending large quantities of data to a process,
9176         and may well fix other subtle bugs.
9177
9178 2001-02-23  Martin Buchholz <martin@xemacs.org>
9179
9180         * XEmacs 21.2.45 "Thelxepeia" is released.
9181
9182 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9183
9184         * lisp-union.h (XSETINT): 
9185         (XSETCHAR):
9186         (XSETOBJ): 
9187         Reverse previous change of 2001-02-06.
9188
9189 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9190
9191         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9192         buffers.
9193         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9194         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9195         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9196         * regex.c (POS_AS_IN_BUFFER): removed
9197         * regex.c (re_search_2):
9198         * regex.c (re_match_2):
9199         Don't use an offset of 1 when calculating buffer positions, since
9200         `BI_BUF_BEGV' does it already.
9201
9202 2001-02-18  Wim Dumon  <wim@easics.be>
9203
9204         * insdel.c (prepare_to_modify_buffer): Also check for
9205         supersession when clash-detection is enabled. 
9206
9207 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9208
9209         * regex.c (re_match_2_internal):
9210         Convert temp characters from 'const unsigned char' to 're_char'.
9211         Fix crashing bug with extended characters under mule.
9212         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9213         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9214         font-lock, pdump, and new syntax-table code.
9215         * syntax.c (find_start_of_comment):
9216         (find_end_of_comment):
9217         (forward-comment):
9218         Fix crashing bugs involving moving beyond end of buffer.
9219         * syntax.c (find_start_of_comment):
9220         Fixed logic to allow proper detection of cases where the same
9221         character is used to end both a two-char comment start and a
9222         two-char comment end sequence. Fixes `(forward-comment -1)'.
9223         * syntax.c (find_start_of_comment):
9224         Return position just past last comment-end character for all cases
9225         (previously was only done for two-char comment-end sequences).
9226         * syntax.c (forward-comment):
9227         Take value returned from `find_end_of_comment', rather than
9228         incrementing it.
9229         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9230         Properly deal with BUFFERP (syntax_cache.object)
9231
9232 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9233
9234         * alloc.c (Fgarbage_collect): 
9235         * alloc.c (make_bit_vector_from_byte_vector):
9236         -Wsign-compare-correctness.
9237
9238 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9239
9240         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9241         (XSETCHAR): Likewise.
9242         (XSETOBJ): Likewise.
9243
9244 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9245
9246         * mule-canna.c (canna-func-delete_previous): 
9247         Rename to canna-func-delete-previous.
9248
9249 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9250
9251         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9252
9253 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9254
9255         * font-lock.c (find_context): Fix C++ compile errors introduced by
9256         recent patch
9257
9258 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9259
9260         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9261         pragma, but earlier ones barf on the same pragma.
9262
9263 2001-02-06  Mike Sperber <mike@xemacs.org>
9264
9265         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9266         `configure-mule-lisp-directory'.
9267
9268 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9269
9270         Make sure dump-id.c is compiled in the same way as other .c's.
9271         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9272         * dump-id.h: Remove.
9273         * emacs.c: Move dump-id.h into dumper.h.
9274         * dumper.h: Move dump-id.h into dumper.h.
9275         * Makefile.in.in:
9276         Use standard .c.o rule for building dump-id.o.
9277         Remove preprocessor flags from link command.
9278         Add dump-id.o to ${otherobjs} if PDUMP.
9279
9280 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9281
9282         Port FSF 20.7 syntax table improvements.
9283         * syntax.c.
9284         * syntax.h.
9285
9286         Fixups for new syntax table stuff.
9287         * dired.c: Include syntax.c.
9288         (Fdirectory_files): Initialize regex_match_object and
9289         regex_emacs_buffer.
9290         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9291         and Fget_char_property.
9292
9293         Use ported FSF 20.7 syntax table improvements.
9294         * font-lock.c.
9295         * regex.c.
9296         * search.c.
9297         
9298 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9299
9300         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9301         Unixware's enum boolean from sys/types.h.
9302
9303 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9304
9305         Fix support for building with latest Purify.
9306         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9307         (PURIFY_FLAGS): Likewise.
9308
9309 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9310
9311         * fileio.c (lisp_string_set_file_times): New.
9312         * fileio.c (Fcopy_file): Use it.
9313         Fixes bug:
9314         (copy-file filename non-ascii-filename t t)
9315         ==> No such file or directory, non-ascii-filename
9316
9317 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9318
9319         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9320         USHRT_MAX seems clearer than ~0 anyways.
9321
9322 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9323
9324         dumper improvements.  Inspired by Olivier.
9325         * dumper.c (pdump_max_align): New.
9326         * dumper.c (pdump_add_entry): Use pdump_max_align.
9327         * dumper.c (pdump_get_entry_list): Likewise.
9328         * dumper.c (pdump_scan_by_alignment): Likewise.
9329         Don't iterate through unnecessary alignments.
9330         * dumper.c (pdump_file_get): No need to align result of malloc().
9331         * dumper.c (pdump_mallocadr): Remove.  
9332         The result of malloc() is guaranteed to be maximally aligned.
9333         * dumper.c: s/elmt/elt/g;
9334         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9335         * dumper.c (pdump_alert_undump_object): Likewise.
9336         * dumper.c (pdump_align_table): 
9337         Don't support alignments > 64.
9338         Store ALIGNOF's, not shift counts, in table.
9339
9340 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9341
9342         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9343         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9344         * systime.h: Use HAVE_UTIME.
9345         * sysdep.c (struct utimbuf): Remove.
9346         * sysdep.c (set_file_times): Prefer utime() to utimes().
9347         * config.h.in (HAVE_UTIME): New.
9348         * config.h.in (HAVE_UTIME_H): Remove.
9349         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9350
9351 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9352
9353         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9354
9355 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9356
9357         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9358
9359 2001-02-08  Martin Buchholz <martin@xemacs.org>
9360
9361         * XEmacs 21.2.44 "Thalia" is released.
9362
9363 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9364
9365         Fixes crashes in kill-emacs on some systems.
9366         * process-unix.c (unix_kill_child_process):
9367         It's OK for kill() to fail with ESRCH.
9368
9369 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9370
9371         Contortions to make .gdbinit tricks work on most systems.
9372         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9373         * alloc.c (dbg_valmask): Make non-const.
9374         * alloc.c (dbg_typemask): Make non-const.
9375         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9376         * alloc.c (dbg_valbits): Make non-const.
9377         * alloc.c (dbg_gctypebits): Make non-const.
9378         * .gdbinit (decode_object): Make it work with AIX cc.
9379
9380 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9381
9382         * elhash.c (make_general_lisp_hash_table):
9383         Use simpler and more efficient calloc to clear entries.
9384
9385 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9386
9387         * window.c (window_scroll): Work around an AIX C compiler bug.
9388         Fixes 'scroll-up' does nothing problem with xlC.
9389
9390 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9391
9392         * .gdbinit: Remove obsolete comment.
9393
9394 2001-01-31  Mike Alexander  <mta@arbortext.com>
9395
9396         * select.c (Fown_selection_internal): Set owned_p for device
9397         method correctly.
9398
9399 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9400
9401         Port to g++ 2.97.
9402         "not" cannot be used as a macro name as it is an operator in C++
9403         * config.h.in: Stop #defining `not'.
9404         * chartab.c (check_category_char): not ==> not_p
9405         * chartab.h: Likewise.
9406         * regex.c (re_match_2_internal): Likewise.
9407
9408 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9409
9410         * lisp-disunion.h: Fix up comments.
9411
9412 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9413
9414         * keymap.c (define_key_check_and_coerce_keysym):
9415         (syms_of_keymap):
9416         Support mouse-6 and mouse-7 bindings in the obvious way.
9417
9418 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9419
9420         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9421
9422 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9423
9424         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9425         Previous patch missed DEFVAR_INT_MAGIC.
9426         Make sure future DEFVAR_foo use correct types.
9427         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9428         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9429         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9430         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9431         * (DEFVAR_INT): Likewise.
9432         * redisplay.c (vertical_clip): Should be of type Fixnum.
9433         * redisplay.c (horizontal_clip): Likewise.
9434         * lisp.h (dump_add_opaque_int): New.
9435         (dump_add_opaque_fixnum): New.
9436
9437 2001-01-29  Andy Piper  <andy@xemacs.org>
9438
9439         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9440         since they can be eval'ed
9441
9442 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9443
9444         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9445         Oops, XEmacs redefines `class'.  Use `typename' instead.
9446
9447 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9448
9449         * dumper.c: Fix C++ compile errors.
9450
9451 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9452
9453         * tparam.c: Use correct prototypes.
9454
9455 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9456
9457         * sysproc.h: #include util.h for NetBSD's openpty.
9458
9459 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9460
9461         More 64-bit correctness.
9462         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9463         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9464         Fix up comments.
9465         This finally finishes the 64-bit SGI port.
9466         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9467         * symbols.c: Fix up comments and type casts.
9468         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9469         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9470         * symeval.h (Fixnum): New type.
9471         * symeval.h (symbol_value_type): Fix up comment.
9472
9473         * commands.h:
9474         * nt.c:
9475         * emacs.c:
9476         * data.c:
9477         * redisplay.c:
9478         * abbrev.c:
9479         * dired-msw.c:
9480         * event-Xt.c:
9481         * eldap.c:
9482         * window.c:
9483         * sound.c:
9484         * event-stream.c:
9485         * eval.c:
9486         * buffer.c:
9487         * mule-canna.c: A million DEFVAR_INTs here...
9488         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9489         * extents.c:
9490         * cmdloop.c:
9491         * lisp.h:
9492         * select-x.c:
9493         * console-x.h:
9494         * event-msw.c:
9495         * mule-wnnfns.c:
9496         * hpplay.c:
9497         * ralloc.c:
9498         * alloc.c:
9499         * keymap.c:
9500         * profile.c:
9501         s/int/Fixnum/g in DEFVAR_INT declarations.
9502
9503 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9504
9505         Port pdump to SGI alignment-sensitive environment.
9506         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9507         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9508         properly aligned.
9509         Define and use aligned reading and writing macros.
9510         Use buffered stdio instead of posix i/o for faster dumping.
9511         Eliminate kludgy 256 byte space for header.
9512         Read and write from dump file using structs for alignment safety.
9513         * dumper.c (pdump_align_stream): New.
9514         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9515         * dumper.c (PDUMP_READ_ALIGNED): New.
9516         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9517         * dumper.c (pdump_static_Lisp_Object): New struct.
9518         * dumper.c (pdump_static_pointer): New struct.
9519         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9520         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9521         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9522         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9523
9524         * dumper.c (pdump_backtrace):
9525         * dumper.c (pdump_get_indirect_count):
9526         * dumper.c (pdump_register_object):
9527         * dumper.c (pdump_register_struct):
9528         * dumper.c (pdump_reloc_one):
9529         * dumper.c (pdump_scan_by_alignment):
9530         * dumper.c (pdump_dump_from_root_struct_ptrs):
9531         * dumper.c (pdump_dump_opaques):
9532         * dumper.c (pdump_dump_rtables):
9533         * dumper.c (pdump_dump_from_root_objects):
9534         * dumper.c (pdump):
9535         * dumper.c (pdump_load_finish):
9536         Use aligned reading and writing.
9537
9538         * dumper.c (pdump_free): Make static.
9539         * dumper.c (pdump_hFile): Likewise.
9540         * dumper.c (pdump_hMap): Likewise.
9541
9542 2001-01-26  Martin Buchholz <martin@xemacs.org>
9543
9544         * XEmacs 21.2.43 "Terspichore" is released.
9545
9546 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9547
9548         Type fiddling for window_config.saved_windows_count
9549         * window.c (struct window_config): 
9550         Make saved_windows_count member unsigned.
9551         * window.c (sizeof_window_config_for_n_windows): 
9552         Make parameter unsigned.
9553         * window.c (mark_window_config):
9554         * window.c (window_config_equal):
9555         * window.c (free_window_configuration):
9556         * window.c (Fset_window_configuration):
9557         * window.c (count_windows):
9558         * window.c (Fcurrent_window_configuration):
9559         * window.c (reinit_vars_of_window):
9560         Update all callers and users.
9561
9562 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9563
9564         Alignment correctness for flexible arrays.
9565         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9566         Make alignment-correct. Add interesting comments.
9567         * alloc.c (size_vector):
9568         * alloc.c (make_vector_internal):
9569         * alloc.c (make_bit_vector_internal):
9570         * alloc.c (sweep_bit_vectors_1):
9571         * fns.c (size_bit_vector):
9572         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9573         * window.c (sizeof_window_config_for_n_windows): 
9574         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9575
9576 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9577
9578         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9579
9580 2001-01-23  Andy Piper  <andy@xemacs.org>
9581
9582         * select.c (Fown_selection_internal): pass owned_p
9583
9584         * select-msw.c (mswindows_own_selection): New Signature.
9585
9586         * console.h (struct console_methods): add owned_p to
9587         _own_selection.
9588
9589         * select-x.c (x_own_selection): pass owned_p
9590         (hack_motif_clipboard_selection): use owned_p
9591         (vars_of_select_x): new variable -
9592         x_selection_strict_motif_ownership.
9593
9594 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9595
9596         * specifier.h (specifier_data_offset): Remove pointless parens.
9597         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9598
9599 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9600
9601         Make Lisp_Object sizeof methods be alignment-correct.
9602         pdump must restore objects to the same alignment as the C compiler
9603         assumes.  It really matters on SGIs.
9604         * lstream.c (aligned_sizeof_lstream): New.
9605         (sizeof_lstream): Use aligned_sizeof_lstream.
9606         (Lstream_new): Likewise.
9607         * opaque.c (aligned_sizeof_opaque): New.
9608         (sizeof_opaque): Use aligned_sizeof_opaque.
9609         (make_opaque): Likewise.
9610         * specifier.c (aligned_sizeof_specifier): New.
9611         (sizeof_specifier): Use aligned_sizeof_specifier.
9612         (make_specifier_internal): Likewise.
9613
9614 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9615
9616         * lstream.h (struct lstream): Use max_align_t for trailing data.
9617         * specifier.h (struct Lisp_Specifier): Likewise.
9618
9619 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9620
9621         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9622         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9623         (CCL_SUSPEND): Likewise.
9624         (CCL_INVALID_CMD): Likewise.
9625         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9626         (ccl_driver): Likewise.
9627         (CCL_WRITE_CHAR): Macro hygiene.
9628         (CCL_WRITE_STRING): Macro hygiene.
9629
9630 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9631
9632         Port "portable" dumper to SunOS 4 and HP-UX.
9633         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9634         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9635         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9636
9637 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9638
9639         * lisp.h (ALIGNOF): A better definition for C++.
9640
9641 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9642
9643         Macro hygiene.
9644         Fix printf warnings: int format, long int arg.
9645         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9646         (PUSH_FAILURE_POINT): Use correct printf formats.
9647         (POP_FAILURE_POINT): Use correct printf formats.  
9648         Use do {...} while (0)
9649
9650 2001-01-20  Martin Buchholz <martin@xemacs.org>
9651
9652         * XEmacs 21.2.42 "Poseidon" is released.
9653
9654 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9655
9656         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9657
9658 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9659
9660         De-kludgify FIXED_TYPE free list frobbing.
9661         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9662         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9663         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9664         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9665         * alloc.c (LRECORD_FREE_P): New.
9666         * alloc.c (MARK_LRECORD_AS_FREE): New.
9667         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9668         * alloc.c (STRUCT_FREE_P): Deleted.
9669         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9670         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9671         * alloc.c (STRING_CHARS_FREE_P): New.
9672         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9673         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9674         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9675         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9676         * alloc.c (resize_string): Use new definitions.
9677         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9678         * alloc.c (verify_string_chars_integrity): Use new definitions.
9679         * alloc.c (compact_string_chars): Use new definitions.
9680         * alloc.c: Update monster comments.
9681         * lrecord.h (lrecord_type): Add some new lrecord types for
9682         alloc.c's use.
9683
9684 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9685
9686         Improve alignment hackery.
9687         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9688         (max_align_t): Moved from opaque.h - general purpose.
9689         (ALIGN_PTR): Use size_t, not long.
9690         * opaque.h (max_align_t): Move to lisp.h.
9691
9692 2001-01-18  Norbert Koch  <nk@LF.net>
9693
9694         * gui.h: Fix and add prototypes to fix build problems.
9695
9696 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9697
9698         temacs is going away, so `dump-temacs' is now a bad name.
9699         * .dbxrc (dump-temacs): Rename to `dmp'.
9700         * .gdbinit (dump-temacs): Rename to `dmp'.
9701
9702 2001-01-17  Andy Piper  <andy@xemacs.org>
9703
9704         * glyphs.c (print_image_instance): comment to make martin happy.
9705
9706         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9707         change.
9708
9709         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9710         activation.
9711         (mswindows_tab_control_redisplay): warning suppression.
9712
9713         * glyphs-widget.c (widget_update): re-write to cope with updated
9714         items.
9715         (widget_instantiate): use new gui_item functions.
9716         (tab_control_update): deleted.
9717         (progress_gauge_update): deleted.
9718         (image_instantiator_progress_guage): take out update reference.
9719         (image_instantiator_tree_view): ditto.
9720         (image_instantiator_tab_control): ditto.
9721
9722         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9723         Right the new way.
9724         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9725         return whether anything was changed.
9726         (update_gui_item_keywords): as it sounds.
9727
9728         * gui.h: declare widget_gui_parse_item_keywords.
9729
9730         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9731         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9732
9733 2001-01-17  Martin Buchholz <martin@xemacs.org>
9734
9735         * XEmacs 21.2.41 "Polyhymnia" is released.
9736
9737 2001-01-16  Didier Verna  <didier@xemacs.org>
9738
9739         * glyphs.c (image_instantiate): don't use fallbacks when
9740         instantiating a face's background pixmap by inheritance.
9741
9742 2001-01-14  Mike Sperber <mike@xemacs.org>
9743
9744         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9745         Conditionalize accordingly.
9746
9747 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9748
9749         * dumper.c (pdump_file_get): Fix a compiler warning.
9750
9751 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9752
9753         Make Purify happy when pdumping.
9754         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9755         iniitalizing all bits of new lisp object memory.
9756         * symbols.c (Fmake_local_variable): Likewise.
9757         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9758         * symbols.c (Fdefvaralias): Likewise.
9759         * mule-charset.c (vars_of_mule_charset): Likewise.
9760
9761 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9762         Add the `-nd' flag when running pre-dump operations under the debugger.
9763         * .dbxrc (run-temacs): Add `-nd'.
9764         * .dbxrc (update-elc): Likewise.
9765         * .dbxrc (dump-temacs): Likewise.
9766         * .gdbinit (run-temacs): Likewise.
9767         * .gdbinit (check-temacs): Likewise.
9768         * .gdbinit (update-elc): Likewise.
9769         * .gdbinit (dump-temacs): Likewise.
9770
9771 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9772
9773         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9774         export OBJECT_MODE=64
9775         configure --pdump --use-union-type=no
9776         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9777         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9778
9779         * miscplay.c (sndcnv8U_2mono):
9780         Avoid two uses of `++' in the same expression.
9781         Suppresses a GCC warning.
9782
9783 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9784
9785         Make sure future compilers don't miscompile alloc.c.
9786         * alloc.c:
9787         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9788         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9789
9790 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9791
9792         * dumper.c: A little post-pdump-rename comment fixup.
9793
9794 2001-01-09  Jerry James  <james@eecs.ku.edu>
9795
9796         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9797
9798 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9799
9800         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9801         script:
9802         #!/bin/sh
9803         replace_symbol () {
9804           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9805         }
9806
9807         replace_symbol pdump_wire_lists pdump_weak_object_chains
9808         replace_symbol pdump_wire_list dump_add_weak_object_chain
9809
9810         replace_symbol pdump_wires pdump_root_objects
9811         replace_symbol pdump_wire dump_add_root_object
9812
9813         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9814         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9815
9816         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9817         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9818         replace_symbol dumpstructinfo pdump_root_struct_ptr
9819         replace_symbol dumpstruct dump_add_root_struct_ptr
9820
9821         replace_symbol dumpopaque dump_add_opaque
9822         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9823         replace_symbol dumpopaqueinfos pdump_opaques
9824         replace_symbol dumpopaqueinfo pdump_opaque
9825
9826         replace_symbol nb_structdump nb_root_struct_ptrs
9827         replace_symbol nb_opaquedump nb_opaques
9828
9829         replace_symbol align_table pdump_align_table
9830         replace_symbol dump_header pdump_header
9831
9832         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9833         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9834
9835
9836 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9837
9838         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9839         optimizing bytecount_to_charcount().
9840
9841 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9842
9843         * config.h.in:
9844         (HAVE_DLFCN_H): Removed.
9845         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9846
9847 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9848
9849         Portable dumper maintainability improvements.
9850         * alloc.c (staticpro):
9851         * alloc.c (staticpro_nodump):
9852         * alloc.c (garbage_collect_1):
9853         * alloc.c (reinit_alloc_once_early):
9854         * alloc.c (init_alloc_once_early):
9855         * alloc.c: Move dumper functions to alloc.c.
9856         * dumper.c (pdump_backtrace):
9857         * dumper.c (pdump_dump_structs):
9858         * dumper.c (pdump_dump_opaques):
9859         * dumper.c (pdump_dump_rtables):
9860         * dumper.c (pdump_dump_wired):
9861         * dumper.c (pdump):
9862         * dumper.c (pdump_load_check):
9863         * dumper.c (pdump_load_finish):
9864         * dumper.c (pdump_file_unmap):
9865         * dumper.c (pdump_file_get):
9866         * dumper.c (pdump_resource_free):
9867         * dumper.c (pdump_resource_get):
9868         * dumper.c (pdump_file_free):
9869         * dumper.c (pdump_file_try):
9870         * dumper.c (pdump_load):
9871         Remove fixed size limits on staticpro(), staticpro_nodump(),
9872         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9873         Remove custom code for dumping lrecord_implementations_table - use
9874         dumpopaque instead.
9875         Remove (most of the) custom code for dumping staticpros - dump it
9876         like any other dynarr.
9877
9878         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9879         * dumper.c: Moved functions from alloc.c.
9880         * alloc.c (dumpstruct): Moved to dumper.c.
9881         * alloc.c (dumpopaque): Likewise.
9882         * alloc.c (pdump_wire): Likewise.
9883         * alloc.c (pdump_wire_list): Likewise.
9884
9885         * lisp.h (Dynarr_sizeof): New.
9886         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9887         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9888         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9889
9890         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9891         * lisp.h (dumpopaque): ditto.
9892         * lisp.h (pdump_wire): ditto.
9893         * lisp.h (pdump_wire_list): ditto.
9894
9895 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9896
9897         * make-src-depend (PrintPatternDeps):
9898         Use `sort' to make output independent of perl version.
9899
9900 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9901
9902         Port to Netbsd 1.5.
9903         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9904         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9905
9906 2001-01-03  Didier Verna  <didier@xemacs.org>
9907
9908         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9909         that `focus_frame' is alive before thinking of calling
9910         `redisplay_redraw_cursor' on it.
9911
9912 2001-01-08  Martin Buchholz <martin@xemacs.org>
9913
9914         * XEmacs 21.2.40 is released.
9915
9916 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9917
9918         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9919
9920 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9921
9922         * alloc.c (dbg_valmask): Make const.
9923         * alloc.c (dbg_typemask): Make const.
9924         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9925         * alloc.c (dbg_valbits): Make const.
9926         * alloc.c (dbg_gctypebits): Make const.
9927
9928 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9929
9930         * redisplay-x.c (x_bevel_area):
9931         redisplay.h (struct rune):
9932         Typo fixes in comments.
9933
9934 2001-01-05  Andy Piper  <andy@xemacs.org>
9935
9936         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9937         adjustment.
9938
9939         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9940
9941 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9942
9943         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9944
9945         * mule-ccl.c (stack_idx_of_map_multiple):
9946         Non const global data must not be initialized!
9947         Found by MIYASHITA Hisashi.
9948
9949 2001-01-02  Andy Piper  <andy@xemacs.org>
9950
9951         * frame.c (change_frame_size): make sure frame size is always
9952         marked as changed.
9953
9954         * glyphs.c (image_instance_layout): minor code reuse.
9955
9956         * window.c (Fcurrent_window_configuration): revert previous
9957         change.
9958
9959 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9960
9961         * glyphs.h:
9962         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9963
9964 2000-12-31  Andy Piper  <andy@xemacs.org>
9965
9966         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9967         when widget gets unmapped.
9968
9969         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9970         function. Make sure widgets losing focus don't just drop it.
9971         (handle_focus_event_1): record the widget with focus.
9972
9973 2000-12-31  Andy Piper  <andy@xemacs.org>
9974
9975         * window.c (allocate_window): use
9976         make_image_instance_cache_hash_table.
9977         (make_dummy_parent): ditto.
9978         (Fset_window_configuration): ditto.
9979
9980         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9981
9982         * glyphs.c (process_image_string_instantiator): use
9983         INSTANTIATOR_TYPE.
9984         (get_image_instantiator_governing_domain): ditto.
9985         (normalize_image_instantiator): ditto.
9986         (instantiate_image_instantiator): ditto.
9987         (make_image_instance_1): ditto.
9988         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9989         (instantiator_eq_equal): new function for use with instance hash
9990         tables.
9991         (instantiator_eq_hash): ditto.
9992         (make_image_instance_cache_hash_table): create a suitable hash
9993         table for storing image instances.
9994
9995         * elhash.h (hash_table_weakness): new internal weakness type
9996         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9997         declare new functions.
9998
9999         * elhash.c (finish_marking_weak_hash_tables): introduce yet
10000         another weakness type for glyphs.
10001         (make_standard_lisp_hash_table): new function split out from
10002         make_general_lisp_hash_table.
10003         (make_lisp_hash_table): call make_standard_lisp_hash_table.
10004         (hash_table_instantiate): ditto.
10005         (Fmake_hash_table): ditto.
10006
10007 2000-12-31  Martin Buchholz <martin@xemacs.org>
10008
10009         * XEmacs 21.2.39 is released.
10010
10011 2000-12-29  Andy Piper  <andy@xemacs.org>
10012
10013         * menubar.c (menubar_visible_p_changed): signal the frame changed.
10014
10015         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
10016         the frame has changed so that we pick up geometry changes such as
10017         menubar visibility.
10018
10019 2000-12-28  Andy Piper  <andy@xemacs.org>
10020
10021         * lastfile.c (my_ebss): make a char array so we can pad the
10022         bss. Fixes cygwin unexec.
10023
10024         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
10025
10026 2000-12-26  Andy Piper  <andy@xemacs.org>
10027
10028         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
10029         comments and try and be more precise about a non-/SIGIO world.
10030         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
10031         SIGIO.
10032
10033         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
10034         we don't normalize to zero width or height.
10035
10036 2000-12-24  Andy Piper  <andy@xemacs.org>
10037
10038         * Makefile.in.in (ldflags): add -mwindows when appropriate.
10039
10040 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
10041
10042         * s/sco5.h: SCO 5 has pty support.
10043
10044 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
10045
10046         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
10047         input-method-xlib.c contains whole contents of input-method-xfs.c,
10048         so we can use input-method-xlib.c's code for USE_XFONTSET
10049         using #ifdefs.
10050         * input-method-xfs.c: removed.
10051
10052 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
10053
10054         * file-coding.h (enum coding_category_type): reorder enumerators to
10055         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
10056         (now one greater than largest real coding_category_type enumerator).
10057         * file-coding.c (coding_category_symbol, coding_category_by_priority,
10058         coding_category_system, fcd_descriptihon_1, decode_coding_category,
10059         Fcoding_category_list, Fset_coding_priority_list,
10060         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
10061         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
10062
10063 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10064
10065         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
10066         * redisplay-output.c (redisplay_output_window): Clear top of window
10067         when face is changed.
10068         * redisplay-x.c (x_redraw_exposed_window): Call
10069         redisplay_clear_top_of_window.
10070         * redisplay.h: Publish redisplay_clear_top_of_window.
10071
10072 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10073
10074         * buffer.c (Fkill_buffer): Map over all devices.
10075         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10076         (list_windows): New function.
10077         (list_all_windows): Ditto.
10078         (Freplace_buffer_in_windows): Use them.
10079
10080 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10081
10082         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10083         (Fopen_database): Use `db_create' instead of `db_open'.
10084         (syms_of_database): Initialize Qqueue.
10085
10086 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10087
10088         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10089         buffer_local_face_property.
10090         * buffer.h (struct buffer): New member buffer_local_face_property.
10091         * window.c (Fset_window_buffer):  Mark window's face as changed
10092         when buffer has buffer local face.
10093         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10094         * objects.c (color_after_change): Set buffer_local_face_property
10095         when locale of face specifier is buffer.
10096         * objects.c (font_after_change): Ditto.
10097         * objects.c (face_boolean_after_change): Ditto.
10098         * glyphs.c (image_after_change): Ditto.
10099
10100 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10101
10102         * nt.c (mswindows_fstat): Report file permissions, volume serial
10103         number, etc. Code adapted from FSF Emacs 20.7.
10104
10105 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10106
10107         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10108         of stat when we don't have symbolic links, to make sure
10109         mswindows_stat is called on mswindows.
10110
10111 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10112
10113         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10114
10115 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10116
10117         * doprnt.c (emacs_doprnt_1): More printing fixes.
10118         Make printing of numbers compatible with libc and FSF Emacs.
10119         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10120         Use the system printf to do most of the hard work of formatting,
10121         instead of doprnt_1().
10122         Calculate memory to allocate for format string.
10123         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10124         (doprnt_1): Cleaner code and documentation.
10125
10126 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10127
10128         * Makefile.in.in: Use the loop variable to install headers.
10129
10130 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10131
10132         * window.c (Fsplit_window): Don't invalidate face cache.
10133
10134 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10135
10136         * minibuf.c (Fall_completions): Undo the previous change
10137         which removed checking elements start with space.
10138
10139 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10140
10141         * mule-canna.c: Didier suppression.
10142
10143 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10144
10145         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10146         (warning suppression).  Add English comment translations.
10147
10148 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10149
10150         * unexelfsgi.c (unexec): Better test for mmap failure.
10151
10152 2000-12-05  Martin Buchholz <martin@xemacs.org>
10153
10154         * XEmacs 21.2.38 is released.
10155
10156 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10157
10158         * redisplay.c (bar-cursor): Make a user variable.
10159
10160         * symsinit.h: Add init_postgresql_from_environment.
10161
10162 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10163
10164         * regex.c: Convert to clean C.
10165
10166 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10167
10168         * realpath.c:
10169         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10170         initialization.
10171         (sys_readlink): renamed to system_readlink to avoid conflict with
10172         the other sys_readlink.
10173
10174 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10175
10176         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10177
10178 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10179
10180         * postgresql.c (init_postgresql_from_environment): new function.
10181         (vars_of_postgresql): Move code initializing Lisp variables out and
10182         into init_postgresql_from_environment.
10183         emacs.c (main_1): Call init_postgresql_from_environment if and only
10184         if running a dumped XEmacs.
10185
10186 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10187
10188         * buffer.c: Make find-file-compare-truenames default to true on
10189         windows.
10190
10191         * realpath.c (win32_abs_start):
10192         (cygwin_readlink):
10193         (win32_readlink): New functions.
10194         (xrealpath): Return really real filenames on windows.
10195
10196         * fileio.c (Ffile_truename): Make file-truename work on windows.
10197
10198 2000-11-29  Didier Verna  <didier@xemacs.org>
10199
10200         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10201         * faces.c (update_face_cachel_data): use it.
10202         * faces.c (add_face_cachel): use it. Complete background pixmap
10203         frobbing in face cache if `update_face_cachel_data' has not done so.
10204
10205 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10206
10207         * search.c (string_match_1): Don't set last_thing_searched
10208         when search failed.
10209
10210 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10211
10212         * buffer.c: Include casetab.h
10213         (common_init_complex_vars_of_buffer): Use new case-table object.
10214         * buffer.h: Include casetab.h
10215         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10216         (DOWNCASE_TABLE_OF): Ditto.
10217         * bufslots.h: Remove char-tables and add case-table.
10218         * casetab.c: Include casetab.h
10219         (CASE_TABLE_P): Removed.
10220         (mark_case_table): New function.
10221         (allocate_case_table): New function.
10222         (Fcase_table_p): Use new case-table.
10223         (case_table_char): New function.
10224         (Fget_case_table): Ditto.
10225         (Fput_case_table): Ditto.
10226         (Fput_case_table_pair): Ditto.
10227         (Fcopy_case_table): Ditto.
10228         (Fcurrent_case_table): Return case-table.
10229         (Fstandard_case_table): Return case-table.
10230         (Fset_case_table): Fix doc-string.
10231         (set_case_table): Use case-table
10232         (syms_of_casetab): DEFSUBR new functions.
10233         (complex_vars_of_casetab): Set up standard case-table.
10234         * casetab.h: New file.
10235         * editfns.c: Include casetab.h
10236         (Fcompare_buffer_substrings): Use case-table.
10237         * inline.c: Include casetab.h
10238         * lisp.h: Remove bogus extern.
10239         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10240         * search.c: Include casetab.h
10241         (TRANSLATE_ASCII): Removed.
10242         (TRANSLATE): Unconditionally translate character.
10243         (looking_at_1): Use case-table.
10244         (string_match_1): Ditto.
10245         (fast_string_match): Ditto.
10246         (search_command): Ditto.
10247         (search_buffer): Separate boyer_moore.  Check whether
10248         boyer_moore is possible.
10249         (simple_search): New function.
10250         (boyer_moore): Separated from search_buffer. Translate char.
10251
10252 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10253
10254         * regex.c (RE_TR_ASCII): Removed.
10255         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10256         (PATFETCH): Call PATFETCH_RAW.
10257         (PATFETCH_RAW): Fetch Emchar.
10258         (PATUNFETCH): Decrement charptr.
10259         (GET_BUFFER_SPACE): Rename b to buf_end.
10260         (BUF_PUSH): Ditto.
10261         (BUF_PUSH_2): Ditto.
10262         (BUF_PUSH_3): Ditto.
10263         (EXTEND_BUFFER): Ditto.
10264         (SET_LIST_BIT): Ditto.
10265         (regex_compile): Ditto.  Translate non ASCII char.
10266         (compile_range): Ditto.
10267         (re_search_2): Ditto.
10268         (re_match_2_internal): Compare Emchar.
10269         (bcmp_translate): Ditto.
10270
10271 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10272
10273         * lisp.h (basic char/int typedefs):  comment improvement.
10274
10275 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10276
10277         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10278         unstomp inhibit_site_lisp.  Improve comments.
10279
10280 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10281
10282         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10283
10284 2000-11-28  Andy Piper  <andy@xemacs.org>
10285
10286         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10287         clipped display for windows in the gutter also.
10288         (redisplay_display_boxes_in_window_p): change semantics of return
10289         codes to be more intuitive.
10290
10291         * gutter.h: declare display_boxes_in_gutter_p.
10292
10293         * gutter.c (display_boxes_in_gutter_p): new function for
10294         redisplay.
10295
10296 2000-11-22  Andy Piper  <andy@xemacs.org>
10297
10298         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10299         autodetect domain.
10300
10301 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10302
10303         * callproc.c (Fold_call_process_internal):
10304         * gpm.c (Freceive_gpm_event):
10305         (tty_get_foreign_selection): Might be just warning supression.
10306         * fileio.c (Fwrite_region_internal):
10307         (Fset_visited_file_modtime):
10308         * keymap.c (event_matches_key_specifier_p):
10309         Initialize GCPROed variable.
10310
10311         * menubar-x.c (command_builder_find_menu_accelerator):
10312         Initialize before use.
10313
10314 2000-11-23  Andy Piper  <andy@xemacs.org>
10315
10316         * unexcw.c (unexec): make the resulting executable executable.
10317
10318 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10319
10320         * doc.c (get_doc_string):
10321         Use size_t, not int, for result of XSTRING_LENGTH.
10322
10323         * cmds.c (Fdelete_char):
10324         * cmds.c (Fpoint_at_eol):
10325         * cmds.c (Fself_insert_command):
10326         Use EMACS_INT, not int, for result of XINT.
10327         Someday, someone will want to insert more than 2**31 identical characters.
10328
10329         * cmds.c (Fdelete_char):
10330         * cmds.c (Fdelete_backward_char):
10331         * syntax.c (Fforward_word):
10332         * syntax.c (Fforward_comment):
10333         Make COUNT argument optional, for consistency with forward-char et al.
10334
10335 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10336
10337         * lisp.h:
10338         * print.c (long_to_string):
10339         Return a useful value: the pointer at end of data written.
10340
10341         * doprnt.c:
10342         Use `static const char * const' for constant strings.
10343         (union printf_arg): Delete `i', `ui' members.
10344         (get_doprnt_args):
10345         (emacs_doprnt_1):
10346         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10347         Do all printf-ing via the `l' specifier.
10348         Use EMACS_INT instead of int.
10349         Optimize.
10350
10351 2000-11-20  Didier Verna  <didier@xemacs.org>
10352
10353         * faces.c (update_face_cachel_data): don't frob the background
10354         pixmap when the window is being created. The face is needed but
10355         does not exist yet.
10356
10357 2000-11-20  Andy Piper  <andy@xemacs.org>
10358
10359         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10360         messing with a debug environment.
10361
10362 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10363
10364         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10365
10366 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10367
10368         * casetab.c (Fcase_table_p): Fix compile error and crash.
10369
10370 2000-11-18  Philip Aston  <philipa@mail.com>
10371
10372         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10373
10374 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10375
10376         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10377         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10378
10379 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10380
10381         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10382         * unexelf.c: Use HAVE_ELF_H.
10383         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10384         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10385         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10386         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10387         for testing.
10388         So this is an unexelfsgi.c from a different line of development.
10389
10390 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10391
10392         * regex.c (RE_TR_ASCII): New function.
10393         (RE_TRANSLATE): Call it.
10394
10395 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10396
10397         * buffer.h (TRT_TABLE_OF): Remove assert.
10398         (IN_TRT_TABLE_DOMAIN): Removed.
10399
10400 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10401
10402         * free-hook.c (log_gcpro):
10403         (show_gcprohist): Add support for GCPRO5.
10404
10405 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10406
10407         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10408
10409 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10410
10411         * symeval.h: Declare flush_all_buffer_local_cache.
10412
10413         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10414         (flush_buffer_local_cache): Added.
10415         (flush_all_buffer_local_cache): Added.
10416
10417         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10418
10419         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10420         (pdump_dump_data): Ditto.
10421         (pdump_reloc_one): Ditto.
10422         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10423         before dumping.
10424
10425
10426 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10427
10428         * buffer.c: Remove if 0'ed entry.
10429         * buffer.h: Rewrite TRT to use char-table.
10430         * bufslots.h: Remove mirror tables.
10431         * casetab.c: Remove mirror tables.
10432         (CASE_TABLE_P): New macro.
10433         (Fcase_table_p): Element of a case table is string or char-table.
10434         (make_mirror_trt_table): Removed.
10435         (set_case_table): Setup char-table from strings for backward
10436         compatibility.
10437         * dired.c (Fdirectory_files):
10438         * dired-msw.c: (mswindows_get_files):
10439         * lisp.h: Change prototype of re_pattern_buffer.
10440         * regex.c: (RE_TRANSLATE): New macro.
10441         (TRANSLATE_P): Ditto.
10442         Change translate to type RE_TRANSLATE_TYPE.
10443         * regex.h: Define RE_TRANSLATE_TYPE
10444         * search.c (TRANSLATE): New macro.
10445         (TRANSLATE_ASCII): New macro.
10446         Translate table is changed to Lisp_Object.
10447         (signal_failure): Inhibit return.
10448
10449 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10450
10451         * device-msw.c:
10452         * eldap.c:
10453         * event-Xt.c:
10454         * event-stream.c:
10455         * print.c:
10456         Do UNGCPRO before return.
10457
10458 2000-11-14  Martin Buchholz <martin@xemacs.org>
10459
10460         * XEmacs 21.2.37 is released.
10461
10462 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10463
10464         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10465         Add comments about discarded return value.
10466
10467 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10468
10469         * callint.c:
10470         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10471
10472 2000-10-27  Andy Piper  <andy@xemacs.org>
10473
10474         * gutter.c (Fset_default_gutter_position): default left and right
10475         gutters to visible.
10476         (calculate_gutter_size): calculate resonable heuristic for left
10477         and right gutter sizes.
10478         (specifier_vars_of_gutter): change left and right gutter sizes to
10479         autodetect.
10480         (calculate_gutter_size_from_display_lines): new function.
10481         (output_gutter): check for resizing on left and right gutters.
10482         (clear_gutter): don't special case top and left gutters.
10483         (specifier_vars_of_gutter): use new signature for
10484         set_specifier_caching.
10485
10486         * glyphs-x.c (x_redisplay_widget): spelling fix.
10487         * glyphs.c (specifier_vars_of_glyphs):
10488         * menubar.c (specifier_vars_of_menubar):
10489         * redisplay.c (specifier_vars_of_redisplay):
10490         * toolbar.c (specifier_vars_of_toolbar):
10491         * window.c (specifier_vars_of_window):
10492         * scrollbar.c (specifier_vars_of_scrollbar):
10493         (complex_vars_of_scrollbar): use new signature for
10494         set_specifier_caching.
10495
10496         * specifier.c (set_specifier_caching): include recompute flag.
10497         (recompute_one_cached_specifier_in_window): always recompute if
10498         flag set.
10499         (recompute_one_cached_specifier_in_frame): ditto.
10500
10501         * specifier.h (struct specifier_caching): add recompute flag.
10502
10503 2000-10-24  Andy Piper  <andy@xemacs.org>
10504
10505         * unexcw.c (copy_executable_and_dump_data_section): add new
10506         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10507         5.0 happy.
10508
10509 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10510
10511         * console-x.h (x_device): New member modifier_release_time.
10512         * event-Xt.c (x_handle_sticky_modifiers):
10513         Bound interval modifier keys are sticky.
10514         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10515         * events.h: extern it.
10516
10517 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10518
10519         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10520
10521 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10522
10523         * event-stream.c (execute_command_event): Preserve current_events
10524         and the like when event is misc-user-event.
10525         Inhibit quit during the call to maybe_echo_keys.
10526
10527 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10528
10529         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10530         symlink when buffer is killed.
10531         (inhibit_clash_detection): New variable.
10532
10533 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10534
10535         * console.c (Fset_input_method): Trigger redisplay on tty.
10536
10537 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10538
10539         * process.c (Fprocess_status): Revert to previous behavior:
10540         (process-status "nosuchprocess") ==> nil
10541
10542 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10543
10544         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10545         Work around another GCC 2.95.2 optimizer bug.
10546
10547 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10548
10549         * process.c (Fget_process): Use LIST_LOOP_2.
10550         (kill_buffer_processes): Use LIST_LOOP_2.
10551
10552         * minibuf.c (Fall_completions):
10553         Delete old non-functional code for FSF fourth argument.
10554
10555         * frame.c (frame_matches_frame_spec):
10556         Renamed from `frame_matches_frametype'.  Update all callers.
10557         (device_matches_device_spec):
10558         Renamed from 'device_matches_console_spec'.  Update all callers.
10559
10560         * doc.c (Fsubstitute_command_keys):
10561         Remove buffer overflow crash.  Small code cleanups.
10562
10563         * casetab.c (check_case_table): Simpler code.
10564
10565         * window.c (Freplace_buffer_in_windows):
10566         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10567         (and similar implementation) as Fdelete_windows_on.
10568         Update all callers.
10569
10570         * alloc.c (Fmake_list):
10571         * alloc.c (make_vector):
10572         * alloc.c (Fmake_vector):
10573         * alloc.c (make_bit_vector):
10574         * alloc.c (Fmake_bit_vector):
10575         * alloc.c (Fbit_vector):
10576         * alloc.c (Fmake_string):
10577         * alloc.c (Fpurecopy):
10578         * alloc.c (Fmemory_limit):
10579         * buffer.c:
10580         * buffer.c (Fget_buffer):
10581         * buffer.c (Fkill_buffer):
10582         * buffer.c (complex_vars_of_buffer):
10583         * bytecode.c (Fcompiled_function_stack_depth):
10584         * callint.c (Fprefix_numeric_value):
10585         * event-stream.c:
10586         * event-stream.c (Fread_key_sequence):
10587         * casetab.c:
10588         * casetab.c (Fcase_table_p):
10589         * casetab.c (check_case_table):
10590         * casetab.c (Fset_case_table):
10591         * casetab.c (Fset_standard_case_table):
10592         * chartab.c:
10593         * chartab.c (Fchar_table_type):
10594         * chartab.c (Freset_char_table):
10595         * chartab.c (Fget_char_table):
10596         * chartab.c (Fget_range_char_table):
10597         * chartab.c (Fput_char_table):
10598         * chartab.c (Fmap_char_table):
10599         * chartab.c (Fcategory_table_p):
10600         * chartab.c (Fcheck_category_at):
10601         * chartab.c (Fchar_in_category_p):
10602         * chartab.c (Fcategory_table):
10603         * chartab.c (Fcopy_category_table):
10604         * chartab.c (Fset_category_table):
10605         * chartab.c (Fcategory_designator_p):
10606         * chartab.c (Fcategory_table_value_p):
10607         * cmds.c (Fdelete_char):
10608         * cmds.c (Fdelete_backward_char):
10609         * cmds.c (Fself_insert_command):
10610         * cmds.c (Fself_insert_internal):
10611         * console.c (Fvalid_console_type_p):
10612         * console.c (Fcdfw_console):
10613         * console.c (Fconsole_type):
10614         * console.c (Fconsole_name):
10615         * console.c (Fconsole_device_list):
10616         * console.c (Fconsole_on_window_system_p):
10617         * data.c:
10618         * data.c (Feq):
10619         * data.c (Fold_eq):
10620         * data.c (Fsubr_interactive):
10621         * data.c (Fchar_to_int):
10622         * data.c (Fint_to_char):
10623         * data.c (Fsetcar):
10624         * data.c (Fsetcdr):
10625         * data.c (Fnumber_to_string):
10626         * data.c (Fstring_to_number):
10627         * data.c (Frem):
10628         * database.c (mark_database):
10629         * database.c (finalize_database):
10630         * database.c (Fdatabase_live_p):
10631         * database.c (Fdatabasep):
10632         * device-x.c (Fx_get_resource):
10633         * device.c (Fdfw_device):
10634         * dired.c:
10635         * dired.c (Ffile_name_completion):
10636         * dired.c (Ffile_name_all_completions):
10637         * dired.c (Fuser_name_completion):
10638         * dired.c (Fuser_name_completion_1):
10639         * dired.c (Fuser_name_all_completions):
10640         * doc.c (Fdocumentation):
10641         * doc.c (Fdocumentation_property):
10642         * doc.c (Fsubstitute_command_keys):
10643         * editfns.c:
10644         * editfns.c (Fchar_to_string):
10645         * editfns.c (Fstring_to_char):
10646         * editfns.c (Ftemp_directory):
10647         * editfns.c (Finsert_char):
10648         * editfns.c (Fbuffer_substring_no_properties):
10649         * editfns.c (Fnarrow_to_region):
10650         * editfns.c (Fchar_equal):
10651         * editfns.c (Fchar_Equal):
10652         * editfns.c (Ftranspose_regions):
10653         * emacs.c (Fdump_emacs):
10654         * eval.c (Fthrow):
10655         * eval.c (Fcommand_execute):
10656         * eval.c (Fautoload):
10657         * eval.c (Fbacktrace):
10658         * eval.c (Fbacktrace_frame):
10659         * events.c:
10660         * events.c (Fcopy_event):
10661         * events.c (Fcharacter_to_event):
10662         * events.c (Fevent_button):
10663         * events.c (Fevent_process):
10664         * extents.c:
10665         * extents.c (Fnext_extent_change):
10666         * extents.c (Fextent_property):
10667         * faces.c (Ffacep):
10668         * faces.c (Fmake_face):
10669         * file-coding.c:
10670         * file-coding.c (Fencode_shift_jis_char):
10671         * file-coding.c (Fencode_big5_char):
10672         * fileio.c (Ffile_name_directory):
10673         * fileio.c (Ffile_name_nondirectory):
10674         * fileio.c (Ffile_name_as_directory):
10675         * fileio.c (Fdirectory_file_name):
10676         * fileio.c (Ffile_truename):
10677         * fileio.c (Fsubstitute_in_file_name):
10678         * fileio.c (Ffile_modes):
10679         * fileio.c (Fset_file_modes):
10680         * fileio.c (Fset_default_file_modes):
10681         * fileio.c (Fverify_visited_file_modtime):
10682         * floatfns.c (Facos):
10683         * floatfns.c (Fasin):
10684         * floatfns.c (Fatan):
10685         * floatfns.c (Fcos):
10686         * floatfns.c (Fsin):
10687         * floatfns.c (Ftan):
10688         * floatfns.c (Fbessel_j0):
10689         * floatfns.c (Fbessel_j1):
10690         * floatfns.c (Fbessel_jn):
10691         * floatfns.c (Fbessel_y0):
10692         * floatfns.c (Fbessel_y1):
10693         * floatfns.c (Fbessel_yn):
10694         * floatfns.c (Ferf):
10695         * floatfns.c (Ferfc):
10696         * floatfns.c (Flog_gamma):
10697         * floatfns.c (Fexp):
10698         * floatfns.c (Fexpt):
10699         * floatfns.c (Flog):
10700         * floatfns.c (Flog10):
10701         * floatfns.c (Fsqrt):
10702         * floatfns.c (Fcube_root):
10703         * floatfns.c (Facosh):
10704         * floatfns.c (Fasinh):
10705         * floatfns.c (Fatanh):
10706         * floatfns.c (Fcosh):
10707         * floatfns.c (Fsinh):
10708         * floatfns.c (Ftanh):
10709         * floatfns.c (Fabs):
10710         * floatfns.c (Ffloat):
10711         * floatfns.c (Flogb):
10712         * floatfns.c (Fceiling):
10713         * floatfns.c (Ffloor):
10714         * floatfns.c (Fround):
10715         * floatfns.c (Ftruncate):
10716         * floatfns.c (Ffceiling):
10717         * floatfns.c (Fffloor):
10718         * floatfns.c (Ffround):
10719         * floatfns.c (Fftruncate):
10720         * fns.c (Fstring_equal):
10721         * fns.c (Fstring_lessp):
10722         * fns.c (concat2):
10723         * fns.c (concat3):
10724         * fns.c (vconcat2):
10725         * fns.c (vconcat3):
10726         * fns.c (Fsubstring):
10727         * fns.c (Fassoc):
10728         * fns.c (Fold_assoc):
10729         * fns.c (assoc_no_quit):
10730         * fns.c (Fassq):
10731         * fns.c (Fold_assq):
10732         * fns.c (assq_no_quit):
10733         * fns.c (Frassoc):
10734         * fns.c (Fold_rassoc):
10735         * fns.c (Frassq):
10736         * fns.c (Fold_rassq):
10737         * fns.c (rassq_no_quit):
10738         * fns.c (Fremassoc):
10739         * fns.c (remassoc_no_quit):
10740         * fns.c (Fremassq):
10741         * fns.c (remassq_no_quit):
10742         * fns.c (Fremrassoc):
10743         * fns.c (Fremrassq):
10744         * fns.c (remrassq_no_quit):
10745         * fns.c (Fsort):
10746         * fns.c (Fplist_get):
10747         * fns.c (Fplist_put):
10748         * fns.c (Fplist_remprop):
10749         * fns.c (Fplist_member):
10750         * fns.c (Flax_plist_get):
10751         * fns.c (Flax_plist_put):
10752         * fns.c (Flax_plist_remprop):
10753         * fns.c (Flax_plist_member):
10754         * fns.c (Fequal):
10755         * fns.c (Fold_equal):
10756         * fns.c (Frequire):
10757         * fns.c (Fbase64_encode_region):
10758         * fns.c (Fbase64_encode_string):
10759         * fns.c (Fbase64_decode_region):
10760         * frame.c:
10761         * frame.c (frame_matches_frame_spec):
10762         * frame.c (device_matches_device_spec):
10763         * frame.c (next_frame):
10764         * frame.c (previous_frame):
10765         * frame.c (Fnext_frame):
10766         * frame.c (Fprevious_frame):
10767         * frame.c (Fframe_property):
10768         * frame.c (Fset_frame_height):
10769         * frame.c (Fset_frame_size):
10770         * frame.h:
10771         * glyphs.c:
10772         * glyphs.c (if):
10773         * glyphs.c (decode_error_behavior_flag):
10774         * glyphs.c (Fmake_image_instance):
10775         * indent.c (Findent_to):
10776         * intl.c (Fignore_defer_gettext):
10777         * keymap.c (Fkeymapp):
10778         * keymap.c (Flookup_key):
10779         * lread.c:
10780         * lread.c (Fload_internal):
10781         * lread.c (Feval_buffer):
10782         * lread.c (Feval_region):
10783         * macros.c (Fexecute_kbd_macro):
10784         * marker.c (set_marker_internal):
10785         * marker.c (Fset_marker):
10786         * marker.c (set_marker_restricted):
10787         * marker.c (Fcopy_marker):
10788         * marker.c (noseeum_copy_marker):
10789         * menubar.c:
10790         * menubar.c (Fpopup_menu):
10791         * minibuf.c:
10792         * mule-charset.c (Fcharset_name):
10793         * mule-charset.c (Fchar_charset):
10794         * mule-charset.c (Fchar_octet):
10795         * mule-charset.c (Fsplit_char):
10796         * mule-wnnfns.c (Fwnn_open):
10797         * mule-wnnfns.c (Fwnn_dict_comment):
10798         * mule-wnnfns.c (Fwnn_quit_henkan):
10799         * mule-wnnfns.c (Fwnn_word_toroku):
10800         * mule-wnnfns.c (Fwnn_word_sakujo):
10801         * mule-wnnfns.c (Fwnn_word_use):
10802         * mule-wnnfns.c (Fwnn_hindo_set):
10803         * objects.c:
10804         * objects.c (Fmake_color_instance):
10805         * objects.c (Fmake_font_instance):
10806         * print.c (Fwrite_char):
10807         * process.c:
10808         * process.c (mark_process):
10809         * process.c (print_process):
10810         * process.c (get_process_from_usid):
10811         * process.c (Fprocessp):
10812         * process.c (Fprocess_live_p):
10813         * process.c (Fget_process):
10814         * process.c (Fget_buffer_process):
10815         * process.c (get_process):
10816         * process.c (Fprocess_id):
10817         * process.c (Fprocess_name):
10818         * process.c (Fprocess_command):
10819         * process.c (init_process_io_handles):
10820         * process.c (start_process_unwind):
10821         * process.c (Fstart_process_internal):
10822         * process.c (Fopen_multicast_group_internal):
10823         * process.c (Fset_process_window_size):
10824         * process.c (read_process_output):
10825         * process.c (send_process):
10826         * process.c (Fprocess_tty_name):
10827         * process.c (Fset_process_buffer):
10828         * process.c (Fprocess_buffer):
10829         * process.c (Fprocess_mark):
10830         * process.c (set_process_filter):
10831         * process.c (Fset_process_filter):
10832         * process.c (Fprocess_filter):
10833         * process.c (Fprocess_send_region):
10834         * process.c (Fprocess_send_string):
10835         * process.c (exec_sentinel):
10836         * process.c (Fset_process_sentinel):
10837         * process.c (Fprocess_sentinel):
10838         * process.c (status_notify):
10839         * process.c (Fprocess_status):
10840         * process.c (Fprocess_exit_status):
10841         * process.c (process_send_signal):
10842         * process.c (Fprocess_send_eof):
10843         * process.c (deactivate_process):
10844         * process.c (remove_process):
10845         * process.c (Fdelete_process):
10846         * process.c (kill_buffer_processes):
10847         * process.c (Fprocess_kill_without_query):
10848         * process.c (Fprocess_kill_without_query_p):
10849         * rangetab.c:
10850         * rangetab.c (Fget_range_table):
10851         * rangetab.c (Fput_range_table):
10852         * rangetab.c (Fremove_range_table):
10853         * rangetab.c (Fclear_range_table):
10854         * search.c:
10855         * search.c (Fskip_chars_forward):
10856         * search.c (Fskip_chars_backward):
10857         * search.c (Fskip_syntax_forward):
10858         * search.c (Fskip_syntax_backward):
10859         * search.c (search_command):
10860         * search.c (Freplace_match):
10861         * search.c (Fregexp_quote):
10862         * select.c (Fown_selection_internal):
10863         * select.c (Fselection_owner_p):
10864         * select.c (Fselection_exists_p):
10865         * select.c (Fget_selection_internal):
10866         * specifier.c:
10867         * symbols.c:
10868         * symbols.c (Fintern):
10869         * symbols.c (Fintern_soft):
10870         * symbols.c (Funintern):
10871         * symbols.c (Fapropos_internal):
10872         * symbols.c (Fset_default):
10873         * syntax.c:
10874         * syntax.c (Fsyntax_table_p):
10875         * syntax.c (Fcopy_syntax_table):
10876         * syntax.c (Fset_syntax_table):
10877         * syntax.c (Fchar_syntax):
10878         * syntax.c (syntax_match):
10879         * syntax.c (Fmatching_paren):
10880         * syntax.c (Fforward_word):
10881         * syntax.c (scan_lists):
10882         * syntax.c (Fscan_lists):
10883         * syntax.c (Fscan_sexps):
10884         * syntax.c (Fparse_partial_sexp):
10885         * toolbar.c (Fcheck_toolbar_button_syntax):
10886         * tooltalk.doc:
10887         * window.c:
10888         * window.c (Fwindowp):
10889         * window.c (Fwindow_live_p):
10890         * window.c (Fwindow_point):
10891         * window.c (Fdelete_window):
10892         * window.c (Fnext_window):
10893         * window.c (Fprevious_window):
10894         * window.c (Fother_window):
10895         * window.c (window_loop):
10896         * window.c (Fget_lru_window):
10897         * window.c (Fsplit_window):
10898         * window.c (Fenlarge_window):
10899         * window.c (Fenlarge_window_pixels):
10900         * window.c (Fshrink_window):
10901         * window.c (Fshrink_window_pixels):
10902         * window.c (change_window_height):
10903         * window.c (Fwindow_configuration_p):
10904         * window.c (Fcurrent_window_configuration):
10905         * window.h:
10906         * casefiddle.c (casify_object):
10907         * casefiddle.c (Fupcase):
10908         * casefiddle.c (Fdowncase):
10909         * casefiddle.c (Fcapitalize):
10910         * casefiddle.c (Fupcase_initials):
10911         * casefiddle.c (casify_region_internal):
10912         * casefiddle.c (casify_region):
10913         * casefiddle.c (Fupcase_region):
10914         * casefiddle.c (Fdowncase_region):
10915         * casefiddle.c (Fcapitalize_region):
10916         * casefiddle.c (Fupcase_initials_region):
10917         * casefiddle.c (Fupcase_word):
10918         * casefiddle.c (Fdowncase_word):
10919         * casefiddle.c (Fcapitalize_word):
10920         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10921         Replace 0 with '\0' when working with bytes.
10922         Replace initial "(" with "\(" in docstrings.
10923
10924 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10925
10926         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10927
10928         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10929
10930 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10931
10932         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10933
10934 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10935
10936         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10937         correctly.
10938
10939 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10940
10941         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10942         (inhibit_auto_save_session): New variable.
10943         (vars_of_fileio): Declare and initialize them.
10944         * fileio.c (Fdo_auto_save): Don't create session file if
10945         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10946
10947 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10948
10949         * sgiplay.c (play_internal): C++ compilability.
10950         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10951         * callproc.c (Fold_call_process_internal):
10952         Remove unused vars `env', `first'.
10953         * scrollbar.c (update_scrollbar_instance):
10954         #### unused var `current_window'.
10955         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10956         etc. within #ifdef NOT_YET.
10957         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10958         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10959         * specifier.c (specifier_instance):
10960         #### unused var `tag'.
10961         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10962
10963 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10964
10965         * fns.c (Fbutlast):
10966         * fns.c (list_sort):
10967         * fns.c (Ffillarray):
10968         * fns.c (bytecode_nconc2):
10969         * fns.c (Fnconc):
10970         * fns.c (mapcar1):
10971         * fns.c (Fmapconcat):
10972         Be pedantically 64-bit correct.  For the time when someone will
10973         want to have a list with length > 2**32.
10974
10975         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10976         Work around MIPSpro compiler bug.
10977
10978         * process-unix.c (unix_kill_child_process): Add snarky comment.
10979         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10980
10981         * config.h.in: Oops, _getpt ==> _getpty
10982
10983 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10984
10985         * config.h.in:
10986         * regex.c:
10987         Use void*, not char*, as return type of alloca().
10988
10989         * alloc.c (free_marker): Side effect inside assert expression!
10990
10991 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10992
10993         * mule-charset.c (Fset_charset_ccl_program): To check
10994         if the given ccl program is valid, use setup_ccl_program()
10995         instead of CHECK_VECTOR().
10996         (Fmake_charset): Likewise.
10997
10998 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10999
11000         * faces.c (get_extent_fragment_face_cache_index):
11001         Fix cachel.merged_faces memory leak.
11002
11003 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
11004
11005         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
11006         Reset MSB of octets obtained by DECODE_SJIS
11007         because of the incompatibility with Emacs.
11008         (ccl_driver)<CCL_ENCODE_SJIS>:
11009         Set MSB of octets before passing them to
11010         ENCODE_SJIS because of the incompatibility
11011         with Emacs.
11012
11013 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
11014
11015         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
11016         (DECLARE_LRECORD): Undo the last change.
11017         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
11018
11019 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
11020
11021         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
11022         the implementation to lrecord_implementations_table.
11023
11024 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
11025
11026         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
11027         initial value of `lrecord_type_##c_name' and
11028         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
11029         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
11030         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
11031         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
11032         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
11033
11034 2000-10-17  Martin Buchholz  <martin@xemacs.org>
11035
11036         * miscplay.c (sndcnv8S_2mono):
11037         (sndcnv2monounsigned):
11038         (sndcnvULaw_2linear):
11039         (sndcnv16swap):
11040         Remove implementation-defined behavior.
11041
11042 2000-10-12  Martin Buchholz  <martin@xemacs.org>
11043
11044         * input-method-xlib.c: Warning suppression.
11045
11046 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
11047
11048         * mule-ccl.c: Sync up with Emacs 21.0.90.
11049         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
11050         Do nothing.
11051         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
11052         Likewise.
11053         (ccl_driver[WriteMultibyteChar2]): Bug fix.
11054         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
11055         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
11056         leading char belongs to official 2-dimensional charset.
11057         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
11058         write the given character as is.  Otherwise,
11059         if it is a multibyte char, convert it by
11060         non_ascii_set_charptr_emchar, then write it.
11061         (CCL_WRITE_STRING): Likewise.
11062         (ccl_get_compiled_code): New function.
11063         (setup_ccl_program): When ccl_prog is invalid,
11064         return -1.
11065         (Fregister_code_conversion_map): New function.
11066         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
11067
11068         * mule-ccl.h: Sync up with Emacs 21.0.90.
11069         (Fregister_ccl_program): export it.
11070
11071         * redisplay-msw.c (separate_textual_runs):
11072         If ccl program is not valid, don't do ccl conversion.
11073
11074         * redisplay-x.c (separate_textual_runs): Ditto.
11075
11076         * file-coding.c (Fmake_coding_system):
11077         When type is ccl and value is vector, register it
11078         with a proper symbol.  And checks whether the
11079         given ccl program is valid.
11080         (mule_decode): When calling ccl_driver, if src indicates
11081         NULL pointer, set an empty string instead.
11082         (mule_encode): Likewise.
11083
11084 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11085
11086         The following large batch of changes gets us back to a state of
11087         C++ compilability.  Extbyte is now a char, which means that
11088         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11089
11090         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11091
11092         * sound.c (Fplay_sound): Type correctness.
11093
11094         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11095         (x_get_window_property): Type correctness.
11096         (receive_incremental_selection): unsigned char ==> Extbyte
11097         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11098         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11099         (Fx_store_cutbuffer_internal): Type correctness.
11100
11101         * process-unix.c (try_to_initialize_subtty): Type correctness.
11102
11103         * objects-x.c (x_print_color_instance): Type correctness.
11104         (x_print_font_instance): Type correctness.
11105         (x_list_fonts): SExtbyte ==> Extbyte.
11106         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11107         (x_find_charset_font): SExtbyte ==> Extbyte.
11108         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11109         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11110         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11111         Use bufbyte_strcmp.
11112
11113         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11114         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11115         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11116         (BYTE_C0_P): Use bit ops for char-signedness safety.
11117         (BYTE_C1_P): Use bit ops for char-signedness safety.
11118         (CHARSET_BY_LEADING_BYTE):
11119         (CHARSET_BY_ATTRIBUTES):
11120         Always use inline function.
11121         Use type_checking_assert.
11122         Hide chlook.
11123
11124         * mule-charset.c (non_ascii_charptr_copy_char):
11125         Modify to work with both ASCII and non-ASCII characters.
11126         Improve docs and variable names.
11127         Replace over-clever fall-through switch with a simple loop.
11128         (Lstream_get_emchar_1):
11129         Replace over-clever fall-through switch with a simple loop.
11130
11131         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11132         Warning suppression.
11133
11134         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11135         the return value of Lstream_getc, which could be EOF as well.
11136
11137         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11138
11139         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11140         APIs can be used on Extbytes without casts.  Risky!
11141         (SExtbyte): Remove.
11142         (UExtbyte): Remove.
11143
11144         * input-method-xlib.c (XIM_init_device):
11145         Use Xlib.h instead of IntrinsicP.h.
11146         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11147         which will break in X11R7.
11148         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11149         to call XRegisterIMInstantiateCallback with correct types.
11150
11151         * gui-x.c (button_item_to_widget_value): Type correctness.
11152
11153         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11154
11155         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11156         (xbm_instantiate_1): Type correctness.
11157         (BUILD_GLYPH_INST):  Type correctness.
11158
11159         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11160
11161         * file-coding.c:
11162         (decode_coding_sjis):
11163         (decode_coding_big5):
11164         (decode_coding_ucs4):
11165         (decode_coding_utf8):
11166         (decode_coding_iso2022):
11167         (decode_coding_no_conversion):
11168         Make all decoding functions take an Extbyte * arg.
11169         (encode_coding_sjis):
11170         (encode_coding_big5):
11171         (encode_coding_ucs4):
11172         (encode_coding_utf8):
11173         (encode_coding_iso2022):
11174         (encode_coding_no_conversion):
11175         Make all encoding functions take a Bufbyte * arg.
11176         Use size_t instead of unsigned int for memory sizes.
11177         Only cast to unsigned char whenever dereferencing Extbyte *.
11178
11179         * doc.c (unparesseuxify_doc_string): Type correctness.
11180
11181         * console-x.c (split_up_display_spec):
11182         Rewrite without using details of internal string representation.
11183         (x_semi_canonicalize_device_connection): Type correctness.
11184
11185         * config.h.in:
11186         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11187         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11188         (HAVE_XFREE386): Removed.
11189
11190         * buffer.h (DEC_CHARPTR): `const' correctness.
11191         (bufbyte_strcmp): New.
11192         (bufbyte_memcmp): New.
11193
11194         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11195
11196         * buffer.h (XCHAR_OR_CHAR_INT):
11197         Always use inline function.
11198         Remove redundant type checking assert() - XINT will abort quite nicely.
11199
11200 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11201
11202         * search.c (Freplace_match): Set newtext to an empty string.
11203
11204 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11205
11206         * s/decosf1-3.h: Remove #include of stropts.h
11207         * s/ptx.h: Remove #include of stropts.h
11208         * s/usg5-4.h: Remove #include of stropts.h
11209         * sysproc.h:
11210         * config.h.in:
11211         Use stropts.h, not sys/stropts.h.
11212         Use strtio.h, not sys/strtio.h.
11213
11214 2000-10-04  Martin Buchholz <martin@xemacs.org>
11215
11216         * XEmacs 21.2.36 is released.
11217
11218 2000-09-21  Andy Piper  <andy@xemacs.org>
11219
11220         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11221         changes still involve copying the widget tree.
11222         (update_widget_face): make sure a change is register in the widget
11223         tree. Call update_tab_widget_face appropriately.
11224         (update_tab_widget_face): ditto.
11225         (x_tab_control_redisplay): make sure non-structural changes still
11226         involve copying the widget tree.
11227
11228 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11229
11230         * lread.c (locate_file): Check the path element is non-nil.
11231
11232 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11233
11234         * lisp.h: Warning suppression for SCO compilers.
11235
11236         * redisplay-tty.c (reset_tty_modes): Fix crash.
11237         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11238
11239 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11240
11241         Big signal/process handling overhaul.  Bugs fixed:
11242         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11243         M-x comint-kill-subjob should work for both values nil and t of
11244         process-connection-type. It was broken on most platforms.
11245         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11246         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11247         * process-unix.c: Signal/Process handling overhaul.
11248         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11249         (allocate_pty): Use all available modern methods of allocating
11250         ptys, falling back to old style BSD allocation as a last resort.
11251         Use allegedly more secure Unix98 pty allocation by default.
11252         (allocate_pty_the_old_fashioned_way): New. the last resort.
11253         (unix_create_process): Push ptem, ldterm, ttcompat where
11254         available.  Autoconfiscate.
11255         (try_to_initialize_subtty): New.
11256         (unix_kill_child_process): Proper signal handling for ptys on most
11257         platforms, using special knowledge of AIX, BSD, etc...
11258         (unix_create_process): Always disconnect_controlling_terminal() for
11259         subprocesses, whether using ptys or not.
11260         * process.h: Remove old getpt-dependent PTY code.
11261         * process.c (Fprocess_send_signal): New, obvious generic function.
11262         (decode_signal): New.
11263         (Finterrupt_process):
11264         (Fkill_process):
11265         (Fquit_process):
11266         (Fstop_process):
11267         (Fcontinue_process):
11268         (Fsignal_process): Use decode_signal.
11269         (process_send_signal):
11270         Many docstring corrections.
11271         Allow any signal to be sent to a process object.
11272         * config.h.in: Add symbols for big signal/process overhaul.
11273         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11274         * sysproc.h: Include process-related headers, where available:
11275         sys/stropts.h sys/strtio.h pty.h libutil.h
11276         * s/irix4-0.h:
11277         * s/irix5-0.h:
11278         * s/cygwin32.h:
11279         * s/gnu.h:
11280         * s/linux.h:
11281         * s/hpux.h:
11282         * s/aix3-1.h:
11283         Remove old S&M pty stuff.
11284         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11285         * systty.h: Simplify cpp hackery, improve comments.
11286         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11287
11288         * editfns.c (Fformat_time_string):
11289         Be a little more paranoid with the return value of ctime.
11290
11291         * fileio.c (check_executable):
11292         (check_writable):
11293         Use symbolic constants X_OK, W_OK.
11294
11295         * console-x.c (split_up_display_spec): Fix a warning.
11296
11297 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11298
11299         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11300         * ntproc.c (sys_spawnve): make_string ==> build_string
11301         Small clarity improvements.
11302
11303 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11304
11305         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11306
11307         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11308
11309         * config.h.in (HAVE_STRCASECMP): Remove.
11310
11311 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11312
11313         * redisplay-output.c (redisplay_output_pixmap):
11314         Cleaner and possibly more 64-bit correct code.
11315
11316 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11317
11318         * dumper.c (pdump_load_finish): move restoration of
11319         `noninteractive1' to emacs.c (main_1).
11320         * emacs.c (main_1): protect LISP-visible command-line flags
11321         from pdump_load().
11322
11323 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11324
11325         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11326         DUMP_TARGET instead of literal program names.
11327
11328 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11329
11330         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11331
11332 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11333
11334         * *: Spelling mega-patch
11335
11336 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11337
11338         * fns.c (bad_bad_turtle):
11339         Delete "Eek!" comment, since we fixed the bug to which it refers.
11340
11341 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11342
11343         * alloca.c: Replace REGISTER with register.
11344
11345 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11346
11347         * file-coding.c (ucs_to_char): Use countof.
11348
11349 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11350
11351         * file-coding.c: (ucs_to_char):
11352         (complex_vars_of_file_coding):
11353         Use countof instead of sizeof.
11354         Use CHECK_NATNUM instead of CHECK_INT.
11355
11356         * sysdep.c (strcasecmp): Remove.
11357         * device-x.c (ascii_strcasecmp): New.
11358         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11359         Avoid using non-standard non-portable strcasecmp.
11360
11361 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11362
11363         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11364         * font-lock.c: remove reference to emacsfns.h.
11365         * search.c: small doc improvement.
11366         * event-Xt.c: correct file names in comments.
11367         * console-x.h Correct file names in comments.
11368         * frame.c: Correct file names in comments.
11369         * event-stream.c: remove Energize from comments.
11370
11371 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11372
11373         * symeval.h (DEFERROR_STANDARD):
11374         (DEFERROR):
11375         (DEFSYMBOL):
11376         (DEFSYMBOL_NO_DUMP):
11377         (DEFSYMBOL_MULTIWORD_PREDICATE):
11378         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11379         (DEFKEYWORD):
11380         The construct &##name is not sensible C.
11381         Fixes compilation errors with Unixware native compiler.
11382
11383 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11384
11385         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11386         (next_frame_internal): Removed.  We now just have next_frame.
11387         (next_frame):
11388         Write a simpler and cleaner one-pass algorithm.
11389         Remove called_from_delete_device arg and #ifdefed-out code.
11390         (previous_frame):
11391         Renamed from prev_frame.  Update callers.
11392         Cleaned up to have an analogous implementation to next_frame.
11393         (other_visible_frames_internal): Remove the
11394         called_from_delete_device bogus arg, and hence, remove this
11395         function.  Just use other_visible_frames().
11396
11397         * window.c (Fnext_window):
11398         Prettify docstring.
11399         Since next_frame() is guaranteed to return a frame, remove check
11400         for nil inserted in previous patch.
11401         (Fprevious_window):
11402         Prettify docstring.
11403         Make code look more like Fnext_window.
11404         (window_loop):
11405         Respect the `console' arg when iterating through windows.
11406         Fixes bug: (get-buffer-window buffer t device) not respecting
11407         the `device' arg.
11408         This function needs more work, as others have pointed out.
11409
11410         * frame.h: Rename prev_frame to previous_frame.
11411         device_matches_console_spec no longer takes a `frame' arg.
11412
11413         * s/gnu.h:
11414         * s/linux.h:
11415         * s/hpux.h:
11416         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11417         From "Golubev I. N." <gin@mo.msk.ru>.
11418
11419         * make-src-depend: Fix typo.
11420
11421 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11422
11423         * window.c (Fnext_window):
11424         next_frame() might return nil, not a frame.
11425         Fixes this crash:
11426         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11427
11428         * frame.c (next_frame_internal):
11429         We've passed a frame if we've passed its device.
11430         Fixes this crash:
11431         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11432 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11433
11434 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11435
11436         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11437         Allow option to suppress accelerators in menu/dialog items.
11438         (populate_or_checksum_helper): Pass dialog title through above.
11439
11440 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11441
11442         * event-msw.c (mswindows_key_to_emacs_keysym):
11443         Add "pause" key, fix "menu" key.
11444
11445 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11446
11447         * eval.c (reinit_vars_of_eval):
11448         Increase max_lisp_eval_depth to 1000,
11449         required for thai-xtis.el to byte-compile under some circumstances.
11450
11451 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11452
11453         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11454         From Kenichi Handa.
11455
11456 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11457
11458         * make-src-depend: Make the generated Makefiles smaller.
11459
11460         * s/hpux.h (SETUP_SLAVE_PTY):
11461         Provide a %d in the format string for the errno argument.
11462
11463         * editfns.c (Ftemp_directory):
11464         Warning fix.
11465         Avoid buffer overrun on very long file name.
11466
11467         * input-method-xlib.c (XIM_init_device):
11468         6th parameter of XRegisterIMInstantiateCallback has different
11469         pointer types on different OSes, so simply cast to (void *).
11470
11471         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11472
11473         * sysdll.c (dll_open):
11474         shl_load will hang hard if passed a NULL filename.
11475         Simply return NULL for compatibility with dlopen.
11476         * sysdll.c: Conform to XEmacs coding standards.
11477
11478         * sysdep.c (get_pty_max_bytes):
11479         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11480
11481 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11482
11483         * tooltalk.c: Add #include <syssignal.h>
11484
11485 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11486
11487         * s/hpux.h: Don't use undefined function sigunblock().
11488
11489 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11490
11491         * config.h.in: Add HAVE_BALLOON_HELP.
11492         * emacs.c: Use HAVE_BALLOON_HELP.
11493         * Makefile.in.in (x_objs):
11494         Make Balloon Help conditional on finding shape.h.
11495
11496 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11497
11498         * syntax.c (regex_emacs_buffer_p): New variable.
11499         * syntax.h (regex_emacs_buffer_p): extern.
11500         * search.c (looking_at_1):
11501         (string_match_1):
11502         (fast_string_match):
11503         (search_buffer): Set regex_emacs_buffer_p.
11504         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11505         when before_dot, at_dot, after_dot.
11506
11507 2000-08-23  Andy Piper  <andy@xemacs.org>
11508
11509         * gui-x.c (popup_selection_callback): Only set action_occurred
11510         when we really have an image instance.
11511         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11512
11513 2000-08-23  Andy Piper  <andy@xemacs.org>
11514
11515         * gui-msw.c (mswindows_handle_gui_wm_command): set
11516         action_occurred.
11517         * gui-x.c (popup_selection_callback): ditto.
11518
11519         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11520         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11521         (struct Lisp_Image_Instance): add action_occurred flag.
11522
11523         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11524         (image_instance_changed): ditto.
11525         (reset_frame_subwindow_instance_cache): only unmap windows - do
11526         not remove them from the cache also.
11527
11528         * glyphs-widget.c (tab_control_update): better debug.
11529         (progress_gauge_update): ditto.
11530         (layout_update): ditto.
11531         (layout_instantiate): ditto.
11532         (tab_control_order_only_changed): cope with null pending items.
11533
11534         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11535         debug. Force selection of an item when an action occurred. Cope
11536         with null pending_items.
11537         (mswindows_progress_gauge_redisplay): better debug.
11538         * glyphs-x.c (x_tab_control_redisplay): ditto.
11539
11540         * redisplay.c (redisplay_frame): reset the frame cache if the
11541         frame is garbaged.
11542
11543         * window.c (Fset_window_configuration): potentially re-enable
11544         frame cache reset.
11545         (window_unmap_subwindows): need to finalize instances here since
11546         it is only used in mark_window_as_deleted.
11547
11548 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11549
11550         * nas.c (SndOpenDataForReading):
11551         nas.c (WaveOpenDataForReading):
11552         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11553         Somehow escaped from the 2000-08-14 patch.
11554
11555 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11556
11557         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11558         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11559
11560 2000-08-21  Andy Piper  <andy@xemacs.org>
11561
11562         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11563         window if it is not already displayed.
11564
11565         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11566         it is not already displayed.
11567
11568         * window.c (Fset_window_configuration): don't reset the frame
11569         cache.
11570
11571         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11572         instances from the frame cache if we are actually finalizing them.
11573         (reset_frame_subwindow_instance_cache): reset frame cache only
11574         after unmapping everything.
11575         (map_subwindow): set displayed flag after mapping.
11576
11577 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11578
11579         * data.c (indirect_function):
11580         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11581
11582         * eval.c (function_argcount):
11583         Use original function when signaling errors.
11584
11585 2000-08-18  Andy Piper  <andy@xemacs.org>
11586
11587         * frame.c (delete_frame_internal): use new
11588         free_frame_subwindow_instances name.
11589
11590         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11591         (add_tab_item): make return type correct.
11592         (mswindows_tab_control_instantiate): assert index of tab.
11593         (mswindows_tab_control_redisplay): Re-code to use
11594         gui_item_equal_sans_selected and gui_item_list_find_selected.
11595
11596         * glyphs-widget.c (tab_control_update): Correct comment.
11597
11598         * window.c (window_unmap_subwindows): use new
11599         unmap_subwindow_instance_cache_mapper.
11600         (window_unmap_subwindows_cache_mapper): deleted.
11601         (Fset_window_configuration): comparisons should now be with
11602         EQ. Preserve the subwindow instance cache across configuration
11603         changes.
11604         (allocate_window): ditto.
11605         (make_dummy_parent): ditto.
11606
11607         * glyphs.c (free_frame_subwindow_instances): rename from
11608         free_frame_subwindow_instance_cache. finalize all instances rather
11609         than just those in the display cache.
11610         (finalize_all_subwindow_instances): walk windows unmapping and
11611         finalizing subwindows.
11612         (unmap_subwindow_instance_cache_mapper): moved from
11613         window.c. Allow finalization as well as unmapping.
11614
11615         * gui.c (gui_item_list_find_selected): new function.
11616
11617         * gui.h (gui_item_list_find_selected): declare.
11618
11619         * glyphs-x.c (x_tab_control_redisplay): pick tab
11620         explicitly. Re-code to use gui_item_equal_sans_selected and
11621         gui_item_list_find_selected.
11622
11623         * glyphs-x.h: add lwlib-utils.h
11624
11625         * buffer.c (Frecord_buffer): undo previous change.
11626
11627 2000-08-09  Vin Shelton  <acs@xemacs.org>
11628
11629         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11630         possible.  Create temporary files more securely.  The patch was
11631         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11632         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11633         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11634         for details.
11635
11636 2000-08-07  Ben Wing  <ben@xemacs.org>
11637
11638         * getloadavg.c: remove duplicate (and windows-breaking)
11639         includes of fcntl.h and sys/file.h.
11640
11641         * nt.c: remove duplicate getloadavg() definition.
11642
11643         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11644         encodings.
11645
11646 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11647
11648         * eval.c (function_argcount): If function needs to be autoloaded
11649         actually use the loaded definition.
11650         GCPRO function.
11651
11652 2000-08-05  Ben Wing  <ben@xemacs.org>
11653
11654         * getloadavg.c: add prototype for getloadavg().  remove
11655         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11656         of the code).  remove duplicate header includes.
11657
11658         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11659
11660         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11661         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11662         useful load average.
11663
11664         * alloc.c (reinit_alloc_once_early): removed references to
11665         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11666         the lisp vars are the only things referencing the malloc_sbrk_*
11667         vars, and they were already if 0'd out.  these vars only exist
11668         in the older malloc.c, which is basically unused, and they're
11669         only for informational purposes.
11670
11671         * m\*.h: removed useless VIRT_ADDR_VARIES.
11672
11673         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11674
11675 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11676
11677         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11678         color if the image is a mono pixmap.
11679
11680 2000-07-30  Ben Wing  <ben@xemacs.org>
11681
11682         * Makefile.in.in (release):
11683         Remove stray @.
11684
11685         * buffer.c (directory_is_current_directory):
11686         * dired-msw.c (mswindows_get_files):
11687         * dired.c:
11688         * dired.c (Fdirectory_files):
11689         * dired.c (file_name_completion_stat):
11690         * dired.c (Ffile_attributes):
11691         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11692         preprocessor tricks, to avoid problems on some machines
11693         (e.g. SCO).
11694
11695         * callproc.c (egetenv): GC docs.
11696
11697         * console-msw.h:
11698         * console-msw.h (struct mswindows_dialog_id):
11699         * lrecord.h (lrecord_type):
11700         New object for use with MSW dialogs.
11701
11702         * console.h (struct console_methods):
11703         New enable/disable frame methods, for proper modal dialogs.
11704
11705         * device-msw.c (msprinter_default_printer): Fix to follow
11706         proper Mule conventions.
11707
11708         * device-msw.c:
11709         * device-msw.c (signal_open_printer_error):
11710         * device-msw.c (msprinter_init_device):
11711         * device-msw.c (ensure_not_printing):
11712         * device-msw.c (plist_get_margin):
11713         * device-msw.c (Fmsprinter_select_settings):
11714         * device-msw.c (finalize_devmode):
11715         * device-msw.c (Fmsprinter_settings_despecialize):
11716         * device-msw.c (signal_enum_priner_error):
11717         * extents.c (decode_extent):
11718         * extents.c (decode_map_extents_flags):
11719         * extents.c (decode_extent_at_flag):
11720         * extents.c (Fextent_at):
11721         * extents.c (Fextents_at):
11722         * extents.c (symbol_to_glyph_layout):
11723         [[[[2]]]] Use structured errors.
11724
11725         * dialog-msw.c:
11726         * dialog-msw.c (mswindows_is_dialog_msg):
11727         * dialog-msw.c (mark_mswindows_dialog_id):
11728         * dialog-msw.c (dialog_proc):
11729         * dialog-msw.c (handle_question_dialog_box):
11730         * dialog-msw.c (syms_of_dialog_mswindows):
11731         Define new object to clean up marking; use it as a dialog identifier.
11732         Call new delete-dialog-box-hook.
11733
11734         * dialog-x.c (dbox_selection_callback):
11735         * dialog-x.c (dbox_descriptor_to_widget_value):
11736         * dialog-x.c (x_make_dialog_box_internal):
11737         Call new delete-dialog-box-hook.
11738         Return an id.
11739
11740         * dialog.c:
11741         * dialog.c (syms_of_dialog):
11742         * dialog.c (vars_of_dialog):
11743         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11744
11745         * eval.c:
11746         * eval.c (signal_call_debugger):
11747         when noninteractive, output stack traces on the console instead
11748         of in a (never-seen) buffer.
11749
11750         * eval.c (signal_type_error):
11751         * eval.c (invalid_argument_2):
11752         * lisp.h:
11753         new funs for use w/structured errors.
11754
11755         * event-Xt.c:
11756         * event-Xt.c (x_to_emacs_keysym):
11757         * event-Xt.c (describe_event):
11758         * event-Xt.c (emacs_Xt_event_handler):
11759         * event-Xt.c (vars_of_event_Xt):
11760         * event-msw.c:
11761         * event-msw.c (mswindows_wnd_proc):
11762         * event-msw.c (vars_of_event_mswindows):
11763         rename {x,mswindows}-debug-events to debug-{}-events for
11764         consistency with other debug-foo variables.
11765
11766         * event-stream.c:
11767         document next-event more clearly.
11768
11769         * fileio.c (Ffile_name_directory):
11770         * fileio.c (Ffile_name_nondirectory):
11771         * fileio.c (Funhandled_file_name_directory):
11772         * fileio.c (file_name_as_directory):
11773         * fileio.c (Ffile_name_as_directory):
11774         * fileio.c (directory_file_name):
11775         * fileio.c (Fdirectory_file_name):
11776         * fileio.c (Fmake_temp_name):
11777         * fileio.c (Ffile_truename):
11778         * fileio.c (Fsubstitute_in_file_name):
11779         * fileio.c (expand_and_dir_to_file):
11780         * fileio.c (barf_or_query_if_file_exists):
11781         * fileio.c (check_executable):
11782         * fileio.c (Ffile_exists_p):
11783         * fileio.c (Ffile_writable_p):
11784         * fileio.c (Ffile_directory_p):
11785         * fileio.c (Ffile_regular_p):
11786         * fileio.c (Ffile_modes):
11787         * fileio.c (Ffile_newer_than_file_p):
11788         * fileio.c (Fverify_visited_file_modtime):
11789         * fileio.c (Fset_visited_file_modtime):
11790         * fileio.c (auto_save_1):
11791         (1). (2).
11792         fix up gcpro's.
11793
11794         * frame-msw.c:
11795         * frame-msw.c (mswindows_init_frame_1):
11796         * frame-msw.c (mswindows_enable_frame):
11797         * frame-msw.c (error_frame_unsizable):
11798         * frame-msw.c (msprinter_init_frame_1):
11799         * frame-msw.c (msprinter_init_frame_3):
11800         * frame-msw.c (console_type_create_frame_mswindows):
11801         (2).
11802         implement new enable/disable frame methods.
11803
11804         * frame-x.c:
11805         * frame-x.c (x_enable_frame):
11806         * frame-x.c (console_type_create_frame_x):
11807         implement new enable/disable frame methods.
11808
11809         * frame.c:
11810         * frame.c (Fdisable_frame):
11811         * frame.c (syms_of_frame):
11812         * frame.h (struct frame):
11813         implement new enable/disable frame methods/functions.
11814
11815         * general-slots.h:
11816         add initial-focus.
11817
11818         * glyphs-msw.c (mswindows_widget_instantiate):
11819         comment that initial-focus should be implemented.
11820
11821         * glyphs-widget.c:
11822         * glyphs-widget.c (check_valid_instantiator):
11823         * glyphs-widget.c (check_valid_orientation):
11824         * glyphs-widget.c (check_valid_tab_orientation):
11825         * glyphs-widget.c (check_valid_justification):
11826         * glyphs-widget.c (check_valid_border):
11827         * glyphs-widget.c (check_valid_callback):
11828         * glyphs-widget.c (check_valid_int_or_function):
11829         * glyphs-widget.c (check_valid_string_or_vector):
11830         * glyphs-widget.c (check_valid_item_list_1):
11831         * glyphs-widget.c (widget_validate):
11832         * glyphs-widget.c (combo_box_validate):
11833         * glyphs-widget.c (widget_instantiate):
11834         * glyphs-widget.c (syms_of_glyphs_widget):
11835         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11836         * glyphs-widget.c (image_instantiator_combo_box):
11837         * glyphs-widget.c (image_instantiator_scrollbar):
11838         * glyphs-widget.c (image_instantiator_tab_control):
11839         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11840         (2).
11841         support (unimplemented) keyword initial-focus.
11842         reindent long macros.
11843
11844         * glyphs-x.c (x_redisplay_widget):
11845         * glyphs-x.c (x_button_instantiate):
11846         * glyphs-x.c (x_button_redisplay):
11847         * glyphs-x.c (x_progress_gauge_instantiate):
11848         * glyphs-x.c (x_edit_field_instantiate):
11849         * glyphs-x.c (x_combo_box_instantiate):
11850         * glyphs-x.c (x_tab_control_instantiate):
11851         * glyphs-x.c (x_label_instantiate):
11852         * gui-x.c:
11853         * gui-x.c (button_item_to_widget_value):
11854         * gui-x.c (gui_items_to_widget_values_1):
11855         * gui-x.c (gui_item_children_to_widget_values):
11856         * gui-x.c (gui_items_to_widget_values):
11857         * gui-x.h:
11858         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11859         add new flag to gui-parsing routines to indicate whether
11860         accelerator specs should be supported.
11861
11862         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11863
11864         * glyphs.h (struct Lisp_Image_Instance):
11865         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11866         add initial-focus flag.
11867
11868         * gui.c:
11869         * gui.c (syms_of_gui):
11870         * gui.c (vars_of_gui):
11871         clean up menu-no-selection-hook.
11872
11873         * gui.h:
11874         support delete-dialog-box-hook.
11875
11876         * lread.c (Fload_internal):
11877         * lread.c (locate_file_in_directory_mapper):
11878         (1).
11879
11880         * lrecord.h:
11881         * lrecord.h (struct toolbar_button):
11882         * lrecord.h (syms_of_toolbar):
11883         document how to create a new object.
11884
11885         * menubar-msw.c (mswindows_char_is_accelerator):
11886         may be called on frames w/o menus.
11887
11888         * menubar.c (vars_of_menubar):
11889         clean up :filter docs.
11890
11891         * nt.c (readdir):
11892         * ntproc.c:
11893         (1).
11894
11895         * process-nt.c:
11896         * process-nt.c (validate_signal_number):
11897         * process-nt.c (signal_cannot_launch):
11898         * process-nt.c (nt_create_process):
11899         * process-nt.c (nt_send_process):
11900         * process-nt.c (nt_kill_child_process):
11901         * process-nt.c (nt_open_network_stream):
11902         * process-nt.c (syms_of_process_nt):
11903         (2).
11904         delete quote-handling.  call new lisp code that does it better.
11905
11906         * process-unix.c (connect_to_file_descriptor):
11907         * process-unix.c (allocate_pty):
11908         * process-unix.c (unix_send_process):
11909         * process-unix.c (unix_kill_child_process):
11910         * process-unix.c (unix_open_network_stream):
11911         * process-unix.c (unix_open_multicast_group):
11912         (1). (2).
11913
11914         * process.c:
11915         * process.c (Fstart_process_internal):
11916         (2).  need to canonicalize process path even if absolute.
11917
11918         * select-msw.c (symbol_to_ms_cf):
11919         * select-msw.c (ms_cf_to_symbol):
11920         * select-msw.c (cf_is_autofreed):
11921         * select-msw.c (mswindows_destroy_selection):
11922         * select.c:
11923         * select.c (syms_of_select):
11924         * select.h:
11925         support dibv5, fix bugs. (from Mike Alexander)
11926
11927         * select.c (Fget_selection_internal):
11928         * select.c (select_convert_out):
11929
11930         * sysdep.c:
11931         * sysdep.c (xemacs_stat):
11932         renamed.
11933
11934         * sysdep.c (mkdir):
11935         * sysdep.c (rmdir):
11936         but keep original stat() here because we provide encapsulation
11937         around these funs.
11938
11939         * sysfile.h:
11940         * sysfile.h (fstat):
11941         remove stat garbage.
11942
11943         * syswindows.h:
11944         fix X/MSW conflict.
11945         don't include tchar.h.  it's inappropriate because it makes
11946         compile-time distinctions when we want runtime distinctions.
11947         (we provide our own tchar replacements)
11948
11949         * toolbar.c:
11950         use default object printer for toolbar-button.
11951
11952         * unexcw.c:
11953         make sure we don't encapsulate.
11954
11955         * window.c (vars_of_window):
11956         emphasize that temp-buffer-show-hook is obsolete.
11957
11958 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11959
11960         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11961         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11962
11963         * events.c (Fevent_timestamp_lessp):
11964         Not 64-bit clean.  Use EMACS_INT, not int.
11965
11966 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11967
11968         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11969         unsigned int and changed the last enum to
11970         lrecord_type_last_built_in_type.
11971         (lrecord_implementations_table): changed prototype to know how
11972         long the array is supposed to be.
11973         (lrecord_type_count): new unsigned int to keep track of the
11974         current number of lisp lrecord types.
11975         (DEFINE_EXTERNAL_LRECORD):
11976         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11977         dynamic-modules to declare new lisp types. They are the same
11978         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11979         int for each new type, and increment lrecord_type_count by 1.
11980
11981         * alloc.c (lrecord_implementations_table): Changed to reference
11982         lrecord_type_last_built_in_type for the size of the array.
11983         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11984
11985 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11986
11987         * glyphs.h (check_valid_item_list): Renamed from
11988         check_valid_item_list_1.
11989
11990 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11991
11992         * select.c (Qselect_coerce): New.
11993         * select.c (Vselection_coercion_alist): New.
11994         * select.c (syms_of_select): Declare.
11995         * select.c (get-selection-internal): Use it.
11996         Use the new select-coerce functionality.
11997
11998         * select.c (select_coerce): New.
11999         * select.h (select_coerce): Declare.
12000         New function to coerce one type of data into another.
12001
12002 2000-08-03  Martin Buchholz  <martin@xemacs.org>
12003
12004         * callproc.c (Fcall_process_internal):
12005         (Fcall_process_internal):
12006         * process-unix.c (unix_create_process):
12007         Save and restore the value of errno, so that error messages are accurate.
12008
12009 2000-08-01  Martin Buchholz  <martin@xemacs.org>
12010
12011         * elhash.c (print_hash_table):
12012         Fix printing of hash tables to also use `key-and-value' instead of `t'.
12013         Prettify docstrings and indentation.
12014
12015 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
12016
12017         * window.c (Fwindow_pixel_edges): Subtract frame border and
12018         gutter size.
12019
12020 2000-07-31  Andy Piper  <andy@xemacs.org>
12021
12022         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
12023         will acknowledge the change.
12024
12025         * glyphs.h: declare tab_control_order_only_changed.
12026
12027         * glyphs-x.c (x_tab_control_redisplay): use
12028         tab_control_order_only_changed.
12029
12030         * glyphs-widget.c (tab_control_order_only_changed): new function.
12031
12032         * glyphs-msw.c (mswindows_tab_control_redisplay): use
12033         tab_control_order_only_changed.
12034
12035         * gui.c (gui_item_equal_sans_selected): new function.
12036         (gui_item_equal): use it.
12037
12038         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
12039         :properties in favor of :items..
12040
12041         * glyphs-widget.c (check_valid_item_list): rename from
12042         check_valid_item_list_1.
12043         (check_valid_item_list_1): renamed.
12044         (combo_box_validate): deprecate :properties in favor of :items.
12045         (widget_instantiate): ditto.
12046         (tab_control_update): ditto.
12047         (image_instantiator_combo_box): ditto.
12048         (image_instantiator_tree_view): ditto.
12049         (image_instantiator_tab_control): ditto.
12050         (layout_post_instantiate): remove dead code.
12051
12052         * print.c (debug_print_no_newline): only write to debugger if in
12053         WIN32_NATIVE.
12054
12055         * elhash.c (Fmake_hash_table): update doc string.
12056
12057         * event-msw.c (mswindows_wnd_proc): don't allow processing of
12058         messages whilst in GC. This at least stops XEmacs crashing but has
12059         the potential for wierd behaviour.
12060
12061 2000-07-31  Martin Buchholz  <martin@xemacs.org>
12062
12063         * config.h.in:
12064         Make existence of s&m files optional.
12065
12066         * s/bsd386.h: Remove HAVE_GETLOADAVG.
12067         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12068         * s/gnu.h: Remove HAVE_GETLOADAVG.
12069         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12070         * s/sol2.h: Remove HAVE_GETLOADAVG.
12071         * lisp.h: Remove getloadavg() declaration.
12072         * fns.c:
12073         Include <sys/loadavg.h> if available.
12074         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12075         * config.h.in:  Group together getloadavg()-related macros.
12076         Use only configure-time tests to detect getloadavg().
12077
12078 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12079
12080         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12081
12082 2000-07-25  Andy Piper  <andy@xemacs.org>
12083
12084         * syswindows.h: add tchar.h for native builds.
12085
12086         * frame.c (syms_of_frame): remove set-glyph-image.
12087
12088         * general-slots.h: add Qset_glyph_image.
12089
12090         * glyphs-widget.c (layout_update): add domain arg to
12091         set-glyph-image.
12092         (syms_of_glyphs_widget): remove set-glyph-image.
12093
12094 2000-07-23  Ben Wing  <ben@xemacs.org>
12095
12096         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12097         Vpopup_frame_list.
12098
12099 2000-07-22  Andy Piper  <andy@xemacs.org>
12100
12101         * symsinit.h: add syms_of_win32().
12102
12103         * gui-msw.c (syms_of_gui_mswindows): remove
12104         Fmswindows_shell_execute.
12105         (Fmswindows_shell_execute): moved to win32.c.
12106
12107         * emacs.c (main_1): add syms_of_win32 ().
12108
12109         * win32.c (init_potentially_nonexistent_functions): rewrite in
12110         compiler-friendly terms.
12111         (Fmswindows_shell_execute): move here from gui-msw.c.
12112         (syms_of_win32): new.
12113
12114         * device-msw.c (Fmswindows_printer_list): clean up args to
12115         EnumPrinters.
12116         Don't include tchar under cygwin or mingw.
12117         (msprinter_default_printer): make cygwin-friendly.
12118
12119 2000-07-21  Andy Piper  <andy@xemacs.org>
12120
12121         * glyphs-widget.c (image_instantiator_tree_view): use tab
12122         control's update function.
12123         (layout_property): new function. Retrieve items.
12124
12125         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12126         function. Re-populate the tree view from the pending items.
12127
12128         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12129         is designated the parent if the domain is an image instance. This
12130         is needed so that dirtiness can be cascade up the hierarchy and
12131         thus for layout children to be redisplayed correctly.
12132         (allocate_image_instance): rename glyph -> parent.
12133
12134         * redisplay.h: change redisplay_output_layout signature.
12135
12136         * redisplay-msw.c (mswindows_output_display_block): use domain
12137         arg.
12138
12139         * redisplay-x.c (x_output_display_block): use domain arg.
12140
12141 2000-07-10  Andy Piper  <andy@xemacs.org>
12142
12143         * window.c (Fset_window_configuration): add comment.
12144
12145         * redisplay-output.c (compare_runes):
12146         (redisplay_output_subwindow): redisplay rather than update subwindow.
12147         (redisplay_output_layout): ditto.
12148
12149         * redisplay-msw.c (mswindows_frame_output_end):
12150         (mswindows_frame_output_end): make defer window pos optional.
12151
12152         * lisp.h: add Flast.
12153
12154         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12155         normalize method. Change update method to be for changed
12156         instantiators. Add redisplay method. Change signature of layout
12157         method.
12158         (struct Lisp_Image_Instance): add instantiator.
12159         (IMAGE_INSTANCE_INSTANTIATOR): new.
12160         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12161         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12162         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12163
12164         * glyphs.c:
12165         (find_instantiator_differences): new function.
12166         (Fset_instantiator_property): new convenience function.
12167         (check_image_instance_structure): strictly check for vector
12168         instantiators.
12169         (normalize_image_instantiator): make non-static.
12170         (instantiate_image_instantiator): pass on dest_mask and use new
12171         signatures for image_instance_layout and friends.
12172         (mark_image_instance): mark the instantiator. Mark the subwindow
12173         face not the widget face.
12174         (image_instance_equal): add instantiator.
12175         (image_instance_hash): ditto.
12176         (allocate_image_instance): ditto.
12177         (Fset_image_instance_property): removed.
12178         (Fimage_instance_file_name): ditto.
12179         (Fcolorize_image_instance): ditto.
12180         (image_instance_layout): add offsets to be set.
12181         (update_image_instance): new function. update an image instance
12182         from its changed instantiator.
12183         (inherit_normalize): add dest_mask.
12184         (xbm_normalize): ditto.
12185         (xface_normalize): ditto.
12186         (xpm_normalize): ditto.
12187         (text_update): set_property -> update.
12188         (image_instantiate): use the glyph identity as a hash key, not the
12189         instantiator.
12190         (glyph_width): use new image_instance_layout signature.
12191         (glyph_ascent): ditto.
12192         (glyph_descent): ditto.
12193         (glyph_height): ditto.
12194         (glyph_query_geometry): ressurrect.
12195         (glyph_layout): ditto.
12196         (redisplay_subwindow): update -> redisplay.
12197         (syms_of_glyphs): add Fset_instantiator_property.
12198         (image_instantiator_format_create): set_property -> update.
12199
12200         * glyphs-x.c:
12201         (autodetect_normalize): add dest_maks to signature.
12202         (x_redisplay_subwindow): update -> redisplay.
12203         (x_redisplay_widget): ditto.
12204         (x_button_redisplay): ditto.
12205         (x_progress_gauge_redisplay): ditto.
12206         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12207         stacking order.
12208         (console_type_create_glyphs_x): update -> redisplay.
12209         (image_instantiator_format_create_glyphs_x): ditto.
12210
12211         * glyphs-widget.c:
12212         (check_valid_instantiator): disallow glyphs in the instantiator,
12213         they must now be vectors.
12214         (check_valid_instantiator_list): ditto.
12215         (glyph_instantiator_to_glyph): use internal symbol rather than
12216         intern.
12217         (widget_update): renamed from widget_set_property. Call cascaded
12218         update methods.
12219         (redisplay_widget): renamed from update_widget.
12220         (widget_layout): image_instance_layout now takes position as well
12221         as size.
12222         (widget_normalize): ditto.
12223         (widget_instantiate): ditto.
12224         (tab_control_query_geometry) ditto.:
12225         (tab_control_update): renamed from tab_control_set_property.
12226         (progress_gauge_update): set_property -> update.
12227         (layout_normalize): rewrite so that child instantiators are
12228         normalized also.
12229         (layout_update): new function. Create glyphs from the normalized
12230         children and cope with any other layout keywords. We do not
12231         instantiate children here that will be take care of by
12232         redisplay_output_layout.
12233         (layout_instantiate): call layout_update and not much else.
12234         (layout_post_instantiate): not sure whether this is needed
12235         anymore.
12236         (layout_query_geometry): query glyph geometry rather than
12237         image_instance geometry.
12238         (layout_layout): set offsets from pass in parameters. Use glyph
12239         geometry and layout functions rather than image instance ones.
12240         (native_layout_layout): ditto.
12241         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12242         (image_instantiator_widget): set_property -> update.
12243         (image_instantiator_buttons): ditto.
12244         (image_instantiator_progress_guage): ditto.
12245         (image_instantiator_tab_control): ditto.
12246         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12247         (image_instantiator_layout): add update method.
12248
12249         * glyphs-msw.c (bmp_normalize):
12250         (mswindows_resource_normalize): add dest_mask so that it can be
12251         proprogated by layout_normalize.
12252         (begin_defer_window_pos): make optional because it may not be the
12253         right thing to do and it introduces differences with X.
12254         (mswindows_unmap_subwindow): ditto.
12255         (mswindows_map_subwindow): ditto.
12256         (mswindows_redisplay_subwindow): renamed from
12257         mswindows_update_subwindow.
12258         (mswindows_redisplay_widget): ditto.
12259         (mswindows_button_redisplay): renamed from
12260         mswindows_button_update. Update is now what the instantiation
12261         function does for a changed instantiator.
12262         (mswindows_progress_gauge_instantiate): set the progress value
12263         here if appropriate.
12264         (mswindows_tab_control_redisplay): cope with re-ordering of the
12265         members of the tab widget by simply selecting the new top
12266         widget. This makes things appear ok if you click on a tab.
12267         (mswindows_combo_box_instantiate): image_instance_layout now takes
12268         position as well as size.
12269         (mswindows_progress_gauge_redisplay): renamed from
12270         mswindows_progress_gauge_update.
12271         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12272         (image_instantiator_format_create_glyphs_mswindows): ditto.
12273
12274         * glyphs-eimage.c (jpeg_normalize):
12275         (gif_normalize):
12276         (png_normalize):
12277         (tiff_normalize): add dest_mask so that it can be proprogated by
12278         layout_normalize.
12279
12280         * elhash.c:
12281         (print_hash_table):
12282         (hash_table_weakness_validate):
12283         (decode_hash_table_weakness):
12284         (Fhash_table_weakness):
12285         (Fhash_table_type):
12286         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12287
12288         * console.h (struct console_methods): move update_* to
12289         redisplay_*.
12290
12291 2000-07-20  Ben Wing  <ben@xemacs.org>
12292
12293         * *.[ch] (XSETOBJ): remove unused middle argument.
12294         lisp-disunion.h: correct wrap_object() to one argument.
12295
12296 2000-07-15  Ben Wing  <ben@xemacs.org>
12297
12298         * s/cygwin32.h:
12299         * s/cygwin32.h (CYGWIN_CONV_PATH):
12300         Add missing logb prototype for v1.1.
12301         Use post-b20 names and alias to pre-b20 names when pre-b20.
12302
12303         * s/windowsnt.h: [5].
12304
12305 2000-07-15  Ben Wing  <ben@xemacs.org>
12306
12307         * Makefile.in.in (x_objs):
12308         * Makefile.in.in (sheap_objs):
12309         * Makefile.in.in (objs):
12310         added win32.o, cosmetic cleanups.
12311
12312         * alloc.c (Fmake_byte_code):
12313         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12314         etc. macros which declare their own args now.
12315
12316         * alloc.c (syms_of_alloc):
12317         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12318
12319         * buffer.c:
12320         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12321
12322         * buffer.c (Fget_file_buffer):
12323         Fixed GCPRO problem.
12324
12325         * buffer.c (get_truename_buffer):
12326         Fixed comment about GC checking.
12327
12328         * buffer.c (syms_of_buffer):
12329         Undeclared those dedicated frame funs.
12330         [2].
12331
12332         * buffer.h:
12333         Define convenience macros for internal/external conversions.
12334         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12335         and Qenvironment_variable_encoding for cleaner code.
12336
12337         * bufslots.h:
12338         Remove dedicated-frame; in lisp.
12339
12340         * bytecode.c (funcall_compiled_function):
12341         [1].
12342
12343         * bytecode.c (syms_of_bytecode):
12344         [2].
12345
12346         * console-msw.c:
12347         * console-msw.c (mswindows_show_console): Rewrote.
12348
12349         * console-msw.c (Fmswindows_debugging_output): New.
12350         Sends to OutputDebugString (special MSWin debugger interface).
12351
12352         * console-msw.c (Fmswindows_message_box):
12353         Fixed stupid bugs so it works when called from kill-emacs.
12354
12355         * console-msw.c (syms_of_console_mswindows):
12356         Declare Fmswindows_debugging_output.
12357
12358         * console-msw.h:
12359         New MSWin prototypes.
12360
12361         * console-msw.h (struct mswindows_frame):
12362         New entry last-click-mods for improved button-modifier support.
12363
12364         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12365         New struct entry `popup' with corresponding accessor.
12366
12367         * console-x.c:
12368         * console-x.c (split_up_display_spec):
12369         * console-x.c (get_display_arg_connection):
12370         * console-x.c (x_semi_canonicalize_console_connection):
12371         * console-x.c (x_canonicalize_device_connection):
12372         [[[6]]]: Change char to more specific type.
12373         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12374
12375         * console-x.c (x_semi_canonicalize_console_connection):
12376         * console-x.c (x_canonicalize_device_connection):
12377         [[[9]]]: Fix up error signalling to use new structured error system.
12378
12379         * console-x.h:
12380         [[[4]]]: Define codesys aliases:
12381         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12382         Qx_color_name_encoding, Qx_display_name_encoding.
12383
12384         * console.h (struct console_methods):
12385         New method make_dialog_box_internal supersedes older
12386         popup_dialog_box method.
12387
12388         * data.c:
12389         Define many new errors, part of new structured errors.
12390
12391         * data.c (init_errors_once_early):
12392         * data.c (syms_of_data):
12393         [2].
12394
12395         * device-msw.c (mswindows_init_device):
12396         [[[5]]]: Cleanup to support NT 3.51.
12397
12398         * device-msw.c (decode_devmode): Cleanup.
12399
12400         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12401         * device-msw.c (mswindows_handle_print_dialog_box):
12402         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12403         * device-msw.c (syms_of_device_mswindows):
12404         Delete the dialog box primitives recently introduced by Kirill and
12405         instead interface to general dialog box interface.
12406
12407         * device-x.c:
12408         * device-x.c (compute_x_app_name):
12409         * device-x.c (x_init_device):
12410         * device-x.c (Fx_valid_keysym_name_p):
12411         * device-x.c (Fx_set_font_path):
12412         [6].
12413         [7].
12414
12415         * device.h (wrap_device): New.
12416         First of its kind; meant to replace XSETDEVICE.
12417
12418         * dialog-msw.c: Many file-dialog symbols.
12419
12420         * dialog-msw.c (mswindows_register_popup_frame): New.
12421         * dialog-msw.c (mswindows_is_dialog_msg): New.
12422         For supporting kbd traversal in dialog boxes.
12423
12424         * dialog-msw.c (dialog_proc):
12425         Support hitting ESC in dialogs.
12426
12427         * dialog-msw.c (struct):
12428         Common dialog box errors.
12429
12430         * dialog-msw.c (handle_file_dialog_box): New.
12431         Add file dialog code.
12432
12433         * dialog-msw.c (handle_question_dialog_box):
12434         Redo existing code to support new question dialog syntax.
12435
12436         * dialog-msw.c (console_type_create_dialog_mswindows):
12437         We support new dialog console method.
12438
12439         * dialog-msw.c (syms_of_dialog_mswindows):
12440         * dialog-msw.c (vars_of_dialog_mswindows):
12441         New file dialog symbols, vars.
12442
12443         * dialog-x.c:
12444         * dialog-x.c (maybe_run_dbox_text_callback):
12445         * dialog-x.c (dbox_descriptor_to_widget_value):
12446         * dialog-x.c (x_make_dialog_box_internal):
12447         * dialog-x.c (console_type_create_dialog_x):
12448         Mule-ize entire file.
12449         Redo to support question dialog syntax.
12450         [6].
12451
12452         * dialog.c:
12453         * dialog.c (Fmake_dialog_box_internal):
12454         * dialog.c (syms_of_dialog):
12455         Kill old popup-dialog-box, replace with new primitive.
12456         Just call device method or signal error.
12457
12458         * eldap.c (Fldap_open):
12459         * eldap.c (Fldap_search_basic):
12460         * eldap.c (Fldap_add):
12461         * eldap.c (Fldap_modify):
12462         [1].
12463         [7].
12464
12465         * emacs.c:
12466         * emacs.c (make_arg_list_1):
12467         * emacs.c (make_arg_list):
12468         Mule-ize call to dll_init().
12469         [6].
12470         [8].
12471
12472         * emacs.c (make_argc_argv):
12473         * emacs.c (free_argc_argv):
12474         * emacs.c (init_cmdargs):
12475         * emacs.c (main_1):
12476         * emacs.c (Fkill_emacs):
12477         * emacs.c (Fdump_emacs):
12478         Update comments about what can be used in syms_* etc.
12479         Call init_win32() when necessary.
12480         Fix up MS Win dialog box in kill-buffer to actually work right.
12481         [7].
12482
12483         * eval.c:
12484         * eval.c (For):
12485         * eval.c (Fand):
12486         * eval.c (Fprogn):
12487         * eval.c (Fprog1):
12488         * eval.c (Fprog2):
12489         * eval.c (FletX):
12490         * eval.c (Flet):
12491         * eval.c (condition_case_3):
12492         * eval.c (Feval):
12493         * eval.c (function_argcount):
12494         * eval.c (funcall_lambda):
12495         [1].
12496
12497         * eval.c (type_error): New.
12498         * eval.c (maybe_type_error): New.
12499         * eval.c (continuable_type_error): New.
12500         * eval.c (maybe_continuable_type_error): New.
12501         * eval.c (type_error_with_frob): New.
12502         * eval.c (maybe_type_error_with_frob): New.
12503         * eval.c (continuable_type_error_with_frob): New.
12504         * eval.c (maybe_continuable_type_error_with_frob): New.
12505         New functions for use with structured errors.
12506
12507         * event-Xt.c:
12508         * event-Xt.c (x_event_to_emacs_event):
12509         Buttons are now modifiers too.
12510
12511         * event-Xt.c (emacs_Xt_current_event_timestamp):
12512         Implement new event method.
12513         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12514
12515         * event-msw.c:
12516         * event-msw.c (ntpipe_shove_writer): [5].
12517         * event-msw.c (mswindows_enqueue_mouse_button_event):
12518         * event-msw.c (mswindows_drain_windows_queue):
12519         * event-msw.c (mswindows_wnd_proc): [7].
12520         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12521         * event-msw.c (mswindows_modifier_state):
12522         Throughout: support new button modifiers.
12523
12524         * event-msw.c (emacs_mswindows_current_event_timestamp):
12525         Implement new event method.
12526         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12527
12528         * event-stream.c:
12529         * event-stream.c (event_stream_current_event_timestamp): New.
12530         * event-stream.c (maybe_kbd_translate): New functionality.
12531         * event-stream.c (vars_of_event_stream):
12532         Document new kbd-translate-table functionality.
12533
12534         * event-stream.c (Fcurrent_event_timestamp): New.
12535         New primitive for use in fabricated events.
12536         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12537
12538         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12539
12540         * events.c:
12541         * events.c (Fmake_event):
12542         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12543         [1].
12544         [9].
12545
12546         * events.c (format_event_object): fix gcc warnings.
12547
12548         * events.c (Fevent_timestamp): Document new primitives.
12549
12550         * events.c (TIMESTAMP_HALFSPACE): New.
12551
12552         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12553         comparing timestamps correctly (half-space algorithm).
12554
12555         * events.c (Fevent_modifier_bits): Doc fix.
12556
12557         * events.c (Fevent_modifiers): Major doc addition.
12558         * events.c (event_x_y_pixel_internal): Typo fix.
12559         * events.c (syms_of_events): Declare new primitives.
12560
12561         * events.h:
12562         Update long comment for button modifiers, timestamps.
12563
12564         * events.h (struct event_stream):
12565         New current_event_timestamp method.
12566
12567         * extents.c:
12568         * extents.c (extent_in_region_p):
12569         * extents.c (decode_extent):
12570         * extents.c (Fset_extent_parent):
12571         * extents.c (decode_map_extents_flags):
12572         Fix gcc warnings.
12573         [9].
12574
12575         * extents.c (struct extent_at_arg):
12576         * extents.c (decode_extent_at_flag):
12577         * extents.c (extent_at_mapper):
12578         * extents.c (extent_at_bytind):
12579         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12580         * extents.c (Fextents_at): New primitive. [9].
12581         * extents.c (symbol_to_glyph_layout): [9].
12582         Support new primitive `extents-at'.
12583
12584
12585         * extents.c (get_text_property_bytind):
12586         extent_at_bytind has another arg.
12587         [9].
12588
12589         * extents.c (syms_of_extents): New primitive.
12590
12591         * file-coding.c (Fmake_coding_system): [1].
12592         * file-coding.c (subsidiary_coding_system): fix gcc warning
12593         * file-coding.c (syms_of_file_coding): [2].
12594
12595         * fileio.c (Fexpand_file_name):
12596         * fileio.c (Fsysnetunam):
12597         * fileio.c (Ffile_exists_p):
12598         * fileio.c (Ffile_executable_p):
12599         * fileio.c (Fverify_visited_file_modtime):
12600         Clean up GCPROing.
12601
12602         * fileio.c (syms_of_fileio): [2].
12603
12604         * filelock.c (lock_file_1):
12605         * filelock.c (current_lock_owner):
12606         * filelock.c (lock_if_free):
12607         * filelock.c (lock_file):
12608         * filelock.c (unlock_file):
12609         Clean up GCPROing.
12610
12611         * fns.c (concat): Fix gcc warning.
12612
12613         * fns.c (Fmember):
12614         * fns.c (Fold_member):
12615         * fns.c (Fmemq):
12616         * fns.c (Fold_memq):
12617         * fns.c (memq_no_quit):
12618         * fns.c (Fassoc):
12619         * fns.c (Fold_assoc):
12620         * fns.c (Fassq):
12621         * fns.c (Fold_assq):
12622         * fns.c (assq_no_quit):
12623         * fns.c (Frassoc):
12624         * fns.c (Fold_rassoc):
12625         * fns.c (Frassq):
12626         * fns.c (Fold_rassq):
12627         * fns.c (rassq_no_quit):
12628         * fns.c (Fdelete):
12629         * fns.c (Fold_delete):
12630         * fns.c (Fdelq):
12631         * fns.c (Fold_delq):
12632         * fns.c (delq_no_quit):
12633         * fns.c (Fremassoc):
12634         * fns.c (Fremassq):
12635         * fns.c (remassq_no_quit):
12636         * fns.c (Fremrassoc):
12637         * fns.c (Fremrassq):
12638         * fns.c (remrassq_no_quit):
12639         * fns.c (Freverse):
12640         * fns.c (mapcar1):
12641         [1].
12642
12643         * frame-msw.c (mswindows_init_frame_1):
12644         * frame-msw.c (mswindows_delete_frame):
12645         Register popups with dialog code so keyboard traversing works.
12646
12647         * frame-tty.c (tty_raise_frame_no_select): [1].
12648
12649         * frame-x.c:
12650         * frame-x.c (x_set_frame_text_value):
12651         * frame-x.c (x_set_frame_properties):
12652         * frame-x.c (x_create_widgets):
12653         [7].
12654
12655         * frame.c:
12656         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12657
12658         * frame.h (wrap_frame): New.
12659         Macro like wrap_device.
12660
12661         * general.c:
12662         * general.c (SYMBOL):
12663         * general.c (syms_of_general):
12664         Major reorg.  This is now just a wrapper and symbols themselves
12665         are listed in general-slots.h.
12666
12667         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12668         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12669
12670         * glyphs-msw.c (mswindows_native_layout_instantiate):
12671         Add DS_CONTROL so keyboard traversal will work.
12672
12673         * glyphs-widget.c:
12674         * glyphs-widget.c (syms_of_glyphs_widget):
12675         Move some symbols to general-slots.h.
12676
12677         * glyphs-x.c:
12678         * glyphs-x.c (xbm_instantiate_1):
12679         * glyphs-x.c (x_xbm_instantiate):
12680         * glyphs-x.c (x_xface_instantiate):
12681         * glyphs-x.c (autodetect_instantiate):
12682         * glyphs-x.c (cursor_font_instantiate):
12683         * glyphs-x.c (x_update_widget):
12684         * glyphs-x.c (x_widget_instantiate):
12685         * glyphs.c (bitmap_to_lisp_data):
12686         * glyphs.c (pixmap_to_lisp_data):
12687         [7].
12688
12689         * glyphs.c (syms_of_glyphs):
12690         [2].
12691
12692         * gui-x.c:
12693         * gui-x.c (print_widget_value):
12694         * gui-x.c (menu_separator_style_and_to_external):
12695         * gui-x.c (add_accel_and_to_external):
12696         * gui-x.c (button_item_to_widget_value):
12697         * gui-x.c (gui_items_to_widget_values_1):
12698         * gui-x.c (gui_items_to_widget_values):
12699         * gui-x.c (syms_of_gui_x):
12700         * gui-x.c (vars_of_gui_x):
12701         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12702         [9].
12703
12704         * gui-x.h:
12705         Muleize, prototype changes matching gui-x.c.
12706
12707         * gui.c:
12708         * gui.c (separator_string_p):
12709         * gui.c (gui_item_add_keyval_pair):
12710         * gui.c (make_gui_item_from_keywords_internal):
12711         * gui.c (signal_too_long_error):
12712         * gui.c (parse_gui_item_tree_item):
12713         * gui.c (syms_of_gui):
12714         * gui.c (vars_of_gui):
12715         * gui.h:
12716         menu-no-selection-hook moved here (used by MSWin).
12717         Move some symbols to general-slots.h.
12718         [6].
12719         [9].
12720
12721         * insdel.c (get_buffer_pos_char):
12722         * insdel.c (get_buffer_range_char):
12723         Add GC comments.
12724
12725         * keymap.c (keymap_lookup_directly):
12726         * keymap.c (keymap_store):
12727         * keymap.c (ensure_meta_prefix_char_keymapp):
12728         * keymap.c (describe_map):
12729         * keymap.h:
12730         Support new button modifiers.
12731
12732         * lisp-disunion.h (wrap_object):
12733         * lisp-disunion.h (XSETOBJ):
12734         Rename make_obj to wrap_object.
12735
12736         * lisp-union.h:
12737         * lisp-union.h (make_int):
12738         * lisp-union.h (make_char):
12739         Support wrap_object.
12740
12741         * lisp.h:
12742         * lisp.h (LIST_LOOP):
12743         * lisp.h (EXTERNAL_LIST_LOOP):
12744         * lisp.h (LIST_LOOP_2):
12745         * lisp.h (EXTERNAL_LIST_LOOP_1):
12746         * lisp.h (EXTERNAL_LIST_LOOP_2):
12747         * lisp.h (EXTERNAL_LIST_LOOP_3):
12748         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12749         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12750         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12751         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12752         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12753         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12754         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12755         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12756         * lisp.h (struct Lisp_Symbol):
12757         * lisp.h (maybe_continuable_error_with_frob):
12758         Fix up section comments.
12759         Add new types for char to indicate usage.
12760         Delete symbols auto-generated from general-slots.h.
12761         Add prototypes for structured error functions.
12762         Add long comments describing looping macros and change interface
12763         so that lvalues are automatically declared.
12764         Add NO_DECLARE macro in case callers want to declare lvalues
12765         themselves.
12766
12767         * lread.c (read_syntax_error):
12768         * lread.c (continuable_read_syntax_error):
12769         * lread.c (read_structure):
12770         * lread.c (sequence_reader):
12771         * lread.c (read_list_conser):
12772         * lread.c (read_compiled_function):
12773         Rename syntax_error and continuable_syntax_error to avoid clash
12774         with same-named structured error functions.
12775
12776         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12777         * menubar-msw.c (populate_menu_add_item):
12778         * menubar-msw.c (populate_or_checksum_helper):
12779         [5].
12780         [9].
12781
12782         * menubar-x.c:
12783         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12784         Mule-ize whole file.
12785
12786         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12787
12788         * mule-charset.c (Fmake_charset):
12789         * mule-wnnfns.c (Fwnn_set_param):
12790         [1].
12791
12792         * ntproc.c (create_child):
12793         * ntproc.c (Fwin32_set_current_locale):
12794         Add comments portending doom.
12795
12796         * objects-msw.c:
12797         * objects-msw.c (old_font_enum_callback_2):
12798         * objects-msw.c (font_enum_callback_1):
12799         * objects-msw.c (mswindows_enumerate_fonts):
12800         [5].
12801
12802         * objects-x.c:
12803         * objects-x.c (allocate_nearest_color):
12804         * objects-x.c (x_parse_nearest_color):
12805         * objects-x.c (x_initialize_color_instance):
12806         * objects-x.c (x_print_color_instance):
12807         * objects-x.c (x_finalize_color_instance):
12808         * objects-x.c (x_valid_color_name_p):
12809         * objects-x.c (x_initialize_font_instance):
12810         * objects-x.c (x_print_font_instance):
12811         * objects-x.c (valid_x_font_name_p):
12812         * objects-x.c (truename_via_FONT_prop):
12813         * objects-x.c (truename_via_random_props):
12814         * objects-x.c (truename_via_XListFonts):
12815         * objects-x.c (x_font_truename):
12816         * objects-x.c (x_font_instance_truename):
12817         * objects-x.c (x_font_instance_properties):
12818         * objects-x.c (x_list_fonts):
12819         * objects-x.c (x_find_charset_font):
12820         Mule-ize entire file.
12821         [7].
12822
12823         * objects-x.h:
12824         Mule-verify.
12825
12826         * print.c:
12827         * print.c (std_handle_out_external):
12828         * print.c (debug_print_no_newline):
12829         * print.c (syms_of_print):
12830         Output to all debugger kinds in debug-print.
12831         Fix console-output code under MSWin to actually work.
12832
12833         * process-nt.c (send_signal):
12834         * process-nt.c (nt_create_process):
12835         Use newer Unicode macros.
12836
12837         * process-unix.c (unix_create_process):
12838         * process-unix.c (unix_canonicalize_host_name):
12839         * process-unix.c (unix_open_network_stream):
12840         [7].
12841
12842         * scrollbar-x.c:
12843         Mule-verify.
12844
12845         * search.c (syms_of_search):
12846         [2].
12847
12848         * select-msw.c (mswindows_destroy_selection):
12849         Use LIST_LOOP_2.
12850
12851         * select-x.c (symbol_to_x_atom):
12852         [7].
12853
12854         * select.c (syms_of_select):
12855         [2].
12856
12857         * sound.c (Fplay_sound_file):
12858         [7].
12859
12860         * specifier.c:
12861         * specifier.c (decode_specifier_type):
12862         * specifier.c (Fvalid_specifier_locale_type_p):
12863         * specifier.c (check_valid_locale_or_locale_type):
12864         * specifier.c (decode_locale):
12865         * specifier.c (decode_locale_type):
12866         * specifier.c (decode_locale_list):
12867         * specifier.c (check_valid_domain):
12868         * specifier.c (decode_specifier_tag_set):
12869         * specifier.c (Fcanonicalize_tag_set):
12870         * specifier.c (Fdefine_specifier_tag):
12871         * specifier.c (Fspecifier_tag_predicate):
12872         * specifier.c (check_valid_inst_list):
12873         * specifier.c (check_valid_spec_list):
12874         * specifier.c (decode_how_to_add_specification):
12875         * specifier.c (check_modifiable_specifier):
12876         * specifier.c (specifier_add_spec):
12877         * specifier.c (boolean_validate):
12878         * specifier.c (display_table_validate):
12879         [9].
12880
12881         * specifier.c (syms_of_specifier):
12882         Move some symbols to general-slots.h.
12883         [2].
12884
12885         * symbols.c:
12886         * symbols.c (Fmapatoms):
12887         * symbols.c (Fapropos_internal):
12888         Add GCPROs.
12889
12890         * symbols.c (set_default_buffer_slot_variable):
12891         * symbols.c (set_default_console_slot_variable):
12892         [1].
12893
12894         * symbols.c (defsymbol_massage_name_1):
12895         * symbols.c (defkeyword_massage_name):
12896         * symbols.c (deferror_1):
12897         * symbols.c (deferror):
12898         * symbols.c (deferror_massage_name_and_message):
12899         * symeval.h:
12900         * symeval.h (DEFSYMBOL):
12901         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12902
12903         * symbols.c (syms_of_symbols):
12904         [2].
12905
12906         * symsinit.h:
12907         * symsinit.h (init_win32): New.
12908         Also new is syms_of_dialog_mswindows.
12909
12910         * syswindows.h:
12911         Add new Unicode macros, missing Cygwin wide-char functions,
12912         convenience conversion macros for Qmswindows_tstr, macros for
12913         encapsulating required MSWin <-> Cygwin filename conversions,
12914         prototype for dynamically-extracted (not in NT 3.51) functions.
12915
12916         * toolbar-x.c:
12917         Mule-verify.
12918
12919         * tooltalk.c (Fadd_tooltalk_message_arg):
12920         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12921         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12922         [7].
12923
12924         * tooltalk.c (syms_of_tooltalk):
12925         [2].
12926
12927         * unexnt.c:
12928         * unexnt.c (unexec):
12929         Fix up headers, declaration of unexec() to be more standard.
12930
12931 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12932
12933         * offix.h: Revert change to guard macros - they're used in offix.c!
12934
12935 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12936
12937         * lisp.h: Defsubred Fdelete.
12938
12939         * console-msw.h:  (msprinter_default_printer): Added.
12940
12941         * console-msw.c (msprinter_canonicalize_console_connection):
12942         (msprinter_canonicalize_device_connection): Added.
12943
12944         * device-msw.c (msprinter_default_printer):
12945         (Fmswingows_get_default_printer):
12946         (signal_enum_priner_error):
12947         (Fmswingows_printer_list): Added.
12948
12949 2000-07-19  Martin Buchholz <martin@xemacs.org>
12950
12951         * XEmacs 21.2.35 is released.
12952
12953 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12954
12955         * select-x.c (x_handle_selection_request):
12956         Text selected in xemacs and pasted into xterm failed to appear.
12957         Spelling fixes and cosmetic changes.
12958
12959 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12960
12961         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12962         XEmacs frame (fix for doubling chars in dialog boxes).
12963
12964 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12965
12966         * select.c (select_convert_in, select_convert_out):
12967         Don't call intern() every time.
12968
12969         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12970         * select.c (vars_of_select): Initialise them.
12971
12972 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12973
12974         * select.c (selection-coercible-types): New.
12975
12976         * select.c (own-selection-internal):
12977         * select.c (get-selection-internal):
12978         MULE bug fix - these should default to COMPOUND_TEXT and not
12979         STRING for MULE. I think.
12980
12981         * select.c (select_convert_out): Use selection-coercible-types
12982         to find types that we can attempt to perform coercions on.
12983
12984 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12985
12986         * mule-wnnfns.c:
12987         * mule-canna.c:
12988         Add coding: cookie to identify encoding.
12989
12990         * mule-canna.c (CANNA_mode_keys): make static.
12991         Use proper prototypes, even for functions of no arguments.
12992         Remove external prototype for Fding().
12993
12994         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12995
12996         * select.c (syms_of_select): Add missing DEFSUBR.
12997
12998 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12999
13000         * select.c (get_selection_internal, own_selection_internal):
13001         Make the type default to STRING, rather than placing a nil type
13002         into Vselection_alist.
13003
13004 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
13005
13006         * gpmevent.c (tty_selection_exists_p):
13007         * gpmevent.c (tty_own_selection):
13008         Updated parameter lists.
13009
13010 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
13011
13012         * select.h (selection-alist): Removed declaration.
13013
13014         * select.h (get_local_selection):
13015         * select.c (get_local_selection):
13016         Made static.
13017
13018         * select.h (convert_selection): Removed declaration.
13019         * select.c (convert_selection): Removed.
13020         This function belongs in Lisp.
13021
13022         * select.h (select_convert_in): Declare.
13023         * select.h (select_convert_out): Declare.
13024         * select.c (select_convert_in): New.
13025         * select.c (select_convert_out): New.
13026         New conversion functions for other files to call.
13027
13028         * select.h (select_notify_buffer_kill): Declare.
13029         * select.c (select_notify_buffer_kill): New.
13030         New functions that get called from kill-buffer.
13031
13032         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
13033         X-specific lisp code.
13034
13035         * select.h: Declare some of the lisp-visible functions for
13036         external use.
13037
13038         * select.c (clean_local_selection_data): Removed. This was
13039         a disgusting function, and previously should have been in
13040         select-x.c in any case. The functionality is now provided
13041         in select-convert-from-integer (select.el).
13042
13043         * select.c (available-selection-types): Fixed stupidity where
13044         INTEGER and ATOM got added twice. Also add STRING when we see an
13045         extent.
13046
13047         * select.c (get-selection-internal): Removed symbol stripping. No
13048         longer causes conversion when data comes from the internal cache.
13049
13050         * select.c (syms_of_select): Added new functions.
13051
13052         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
13053         error checking - previously this called abort!
13054
13055         * select-x.c (x_own_selection): Changed comment.
13056
13057         * select-x.c (x_handle_selection_request): Use select_convert_out.
13058         Don't mess with selection-alist; it's an internal variable of select.c.
13059
13060         * select-x.c (x_get_foreign_selection): Use select_convert_in.
13061
13062         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
13063         rather than messing with selection-alist.
13064
13065         * select-msw.c (mswindows_get_foreign_selection):
13066         Use TO_INTERNAL_FORMAT rather than hacking.
13067
13068 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13069
13070         * process-unix.c (unix_open_multicast_group):
13071         (unix_open_multicast_group): Remove useless casts.
13072
13073 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13074
13075         * sound.c (Fplay_sound): Fix `unused variable' warning.
13076
13077         * emacs.c (main): Use correct type for _environ on SCO5.
13078
13079 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13080
13081         * console.h (own_selection_method):
13082         * console.h (selection_exists_p_method):
13083         * console.h (available_selection_types_method): New.
13084         * console.h (register_selection_data_type_method): New.
13085         * console.h (selection_data_type_name): New.
13086
13087         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13088         function & alist to track GlobalAlloc()'d handles that need
13089         releasing when the clipboard data gets replaced or emptied.
13090
13091         * event-msw.c (mswindows_wnd_proc): Call it.
13092
13093         * lisp.h, general.c (Qappend): New symbol representing a
13094         `how-to-add' mode.
13095
13096         * select.c (own-selection-internal):
13097         * select.c (selection-exists-p):
13098         * select.c (available-selection-types): New.
13099         * select.c (register-selection-data-type): New.
13100         * select.c (selection-data-type-name): New.  New functions to deal
13101         with device-specific selection data formats.
13102         * select.c (selection-converter-out-alist): Renamed.
13103         * select.c (selection-converter-in-alist): New.
13104         * select.c (selection-appender-alist): New.  Added new alists.
13105         * select.c (syms_of_select, vars_of_select): Added new symbols &
13106         variables.
13107         * select.c (get_local_selection): Split.
13108         * select.c: Removed spurious type checking - selections may now be
13109         of any type, not just strings.
13110         * select.c (own-selection-internal):
13111
13112         * select.h, select.c (convert_selection): New. Created
13113         convert_selection() function based on get_local_selection().
13114         * select.h, select.c (QCF_*): New symbols representing mswindows
13115         clipboard formats.
13116         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13117         symbols representing `how-to-add' modes.
13118
13119         * select-msw.c (x_sym_p): New.
13120         * select-msw.c (symbol_to_ms_cf): New.
13121         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13122         symbols & clipboard formats. Can also handle string names.
13123         * select-msw.c (mswindows_own_selection):
13124         * select-msw.c (mswindows_selection_exists_p):
13125         Added `data-type' parameter. Use it.
13126         * select-msw.c (mswindows_available_selection_types): New.
13127         * select-msw.c (mswindows_register_selection_data_type): New.
13128         * select-msw.c (mswindows_selection_data_type_name): New.
13129         * select-msw.c (mswindows_own_selection):
13130         * select-msw.c (mswindows_get_foreign_selection):
13131         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13132         * select-msw.c (console_create_select_mswindows): Added new methods.
13133         * select-msw.c (mswindows_destroy_selection): New.
13134         * select-msw.c (Vhandle_alist): New list.
13135         * select-msw.c (mswindows_own_selection):
13136
13137         * select-x.c (x_own_selection):
13138         * select-x.c (x_selection_exists_p):
13139         * select-x.c: Added some comments about maybe using new
13140         functionality.
13141         * select-x.c (x_own_selection):
13142
13143         * specifier.c: Remove definition of Qappend (now in general.c)
13144         * specifier.c (syms_of_specifier): Remove Qappend.
13145
13146 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13147
13148         * config.h.in: Add socklen_t.
13149
13150         * s/decosf4-0.h: No special compiler flags needed or desired.
13151         In particular, undefine _BSD for DEC OSF 4.0.
13152
13153 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13154
13155         * redisplay-msw.c (msprinter_frame_output_end): Added.
13156         (console_type_create_redisplay_mswindows): Referred the above.
13157
13158         * frame.c (setup_frame_without_minibuffer): Do not create a
13159         default minibuffer frame on a printer device.
13160
13161         * frame-msw.c (apply_dc_geometry): Added.
13162         (msprinter_start_page):
13163         (msprinter_init_frame_3):
13164         (msprinter_eject_page): Use it.
13165
13166         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13167         and removed residual duplex and orientation properties.
13168
13169 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13170
13171         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13172
13173         * unexalpha.c: Remove system prototypes from C sources!
13174
13175 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13176
13177         * eval.c: Remove references to M-x edit-options in DEFUNs for
13178         `defvar' and `defconst'.
13179
13180 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13181
13182         * config.h.in: Remove SMART_INCLUDE hackery.
13183
13184         PostgreSQL hacking:
13185         * config.h.in: Don't use SMART_INCLUDE.
13186
13187         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13188         * inline.c: Simply #include "postgresql.h"
13189         * postgresql.c:
13190         - Don't use SMART_INCLUDE
13191         - Use simply "const".
13192         - Use standard doc string conventions.
13193         - Use correct type for result of PQstatus.
13194
13195 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13196
13197         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13198
13199         C++ compilation changes.
13200         * config.h.in (EXTERN_C): Define.
13201         * config.h.in (not): This is also a C++ keyword.
13202         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13203         * cm.c: Use EXTERN_C.
13204         * redisplay-tty.c: Use EXTERN_C.
13205         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13206
13207 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13208
13209         * general.c: Remove duplicate definition for Qfunction.
13210
13211 2000-07-08  Ben Wing  <ben@xemacs.org>
13212
13213         * device-msw.c (msprinter_init_device):
13214         * device-msw.c (sync_printer_with_devmode):
13215         * device-msw.c (handle_devmode_changes):
13216         * device-msw.c (print_dialog_worker):
13217         * device-msw.c (Fmsprinter_apply_settings):
13218         * device-msw.c (hash_devmode):
13219         * device-msw.c (Fmsprinter_settings_despecialize):
13220         use Qmswindows_tstr, not Qctext.
13221
13222         * vm-limit.c (check_memory_limits):
13223         avoid infinite loop printing warning messages.
13224
13225 2000-07-05  Craig Lanning  <lanning@scra.org>
13226
13227         * Makefile.in.in: Add support for including the Windows resources
13228         when building with the cygwin and mingw targets.
13229
13230         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13231         not set or not correct.
13232         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13233         (init_initial_directory): Don't try to use $PWD on the
13234         WIN32_NATIVE target.
13235
13236         * s\cygwin32.h:
13237         [[Add -mwindows to eliminate console window.]] not required --ben
13238         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13239         (MAIL_USE_POP): removed; now handled by configure.
13240
13241         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13242         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13243         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13244         (MAIL_USE_POP): removed; now handled by configure.
13245         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13246         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13247         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13248         constant string.
13249         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13250         up from <winsock.h> via systime.h.
13251         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13252         (getpagesize): from Dan Holmsand, added.
13253         Added #endif which was left dangling by Ben's mega patch; added
13254         comment to help prevent this in the future.
13255
13256         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13257
13258 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13259
13260         * console-msw.h (struct mswindows_device): Removed unnecessary
13261         cached device geometry values.
13262         Added update_tick and an accessor macro.
13263         (Lisp_Devmode): Added lrecord declaration.
13264         (struct msprinter_device): Contain devmode as a Lisp object.
13265         Added mswindows_get_selected_frame_hwnd();
13266
13267         * console.h (struct console_methods): Indentation nitpicking.
13268
13269         * device-msw.c (mswindows_init_device): Do not initialize geometry
13270         cache. Initialize update tick.
13271         (mswindows_device_system_metrics): Ask the device for its geometry.
13272         (global_free_2_maybe):
13273         (devmode_to_hglobal):
13274         (handle_printer_changes):
13275         (ensure_not_printing):
13276         (print_dialog_worker):
13277         (Fmsprinter_print_setup_dialog):
13278         (Fmsprinter_print_dialog):
13279         (plist_get_margin):
13280         (plist_set_margin):
13281         (Fmsprinter_page_setup_dialog): Added functions.
13282         (sync_printer_with_devmode):
13283         (handle_devmode_changes):
13284         (Fmsprinter_get_settings):
13285         (Fmsprinter_select_settings):
13286         (Fmsprinter_apply_settings):
13287         (allocate_devmode):
13288         (Fmsprinter_settings_copy):
13289         (Fmsprinter_settings_despecialize):
13290         (print_devmode):
13291         (finalize_devmode):
13292         (equal_devmode):
13293         (hash_devmode): Added functions
13294         (syms_of_device_mswindows): Init devmode lrecord class.
13295
13296         * device.h: Added an exfun for find-device.
13297
13298         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13299         geometry; although, recreate the device compatible DC.
13300
13301         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13302         (msprinter_init_frame_3):
13303         (msprinter_frame_property):
13304         (msprinter_internal_frame_property_p):
13305         (msprinter_frame_properties):
13306         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13307         print job properties (will move to device settings).
13308
13309         * lisp.h: Added symbols.
13310
13311         * general.c (syms_of_general): Declared them.
13312
13313         * hash.c (string_hash): Added.
13314
13315         * lrecord.h (lrecord_type): Added devmode lrecord type.
13316
13317 2000-07-02  Mike Sperber <mike@xemacs.org>
13318
13319         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13320         FreeBSD 4.0.
13321
13322 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13323
13324         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13325         integer.
13326
13327 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13328
13329         * data.c (Fstring_to_number): Don't recognize floating point if
13330         base is not 10.
13331
13332 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13333
13334         * glyphs-widget.c (tab_control_query_geometry):
13335         (widget_query_geometry):
13336         (button_query_geometry):
13337         * glyphs.c (text_query_geometry):
13338         Enforce type correctness.
13339
13340 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13341
13342         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13343         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13344
13345 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13346
13347         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13348         conflicts with gcc's fixincluded version of FOO.h.
13349
13350         * glyphs.h (image_instance_geometry): Remove trailing `,'
13351
13352 2000-06-08  Mike Alexander  <mta@arbortext.com>
13353
13354         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13355         (shove_thread): Don't write the same output twice
13356         (make_ntpipe_output_stream): Increase priority of shove thread
13357         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13358         chance to run
13359         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13360         it.
13361
13362 2000-06-12  Ben Wing  <ben@xemacs.org>
13363
13364         * s\mingw32.h (sigset):
13365         * s\windowsnt.h (sigset):
13366         rename msw_ to mswindows_ for consistency with general convention.
13367
13368 2000-06-12  Ben Wing  <ben@xemacs.org>
13369
13370         * console-msw.c:
13371         * console-msw.c (mswindows_get_console_hwnd):
13372         * console-msw.c (mswindows_ensure_console_allocated):
13373         * console-msw.c (mswindows_hide_console):
13374         * console-msw.c (mswindows_show_console):
13375         * console-msw.c (mswindows_ensure_console_buffered):
13376         * console-msw.c (mswindows_output_console_string):
13377         * console-msw.c (mswindows_windows9x_p):
13378         * console-msw.h:
13379         * device-msw.c (mswindows_get_workspace_coords):
13380         * device-msw.c (mswindows_device_system_metrics):
13381         * dialog-msw.c (mswindows_popup_dialog_box):
13382         * event-msw.c (mswindows_wnd_proc):
13383         * frame-msw.c (mswindows_size_frame_internal):
13384         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13385         * menubar-msw.c (displayable_menu_item):
13386         * menubar-msw.c (mswindows_char_is_accelerator):
13387         * nt.c:
13388         * nt.c (mswindows_sigset):
13389         * nt.c (mswindows_sigrelse):
13390         * nt.c (mswindows_sigpause):
13391         * nt.c (mswindows_raise):
13392         * nt.c (timer_proc):
13393         * ntproc.c:
13394         * ntproc.c (find_child_console):
13395         * ntproc.c (sys_kill):
13396         * print.c:
13397         * print.c (std_handle_out_external):
13398         * process-nt.c (find_child_console):
13399         * process-nt.c (send_signal_the_95_way):
13400         * process-nt.c (ensure_console_window_exists):
13401         * process-nt.c (nt_create_process):
13402         * syssignal.h:
13403         rename msw_ to mswindows_ for consistency with general convention.
13404
13405         * emacs.c:
13406         * dumper.c:
13407         include nt.h, not syswindows.h.
13408
13409         * nt.c (mswindows_fstat):
13410         * nt.c (mswindows_stat):
13411         prefix mswindows_ instead of attempting to directly override the
13412         library functions.  fix declarations.
13413
13414         * nt.h:
13415         include syswindows.h.  move some sysdep.h stuff here.
13416
13417         * ntheap.h:
13418         include syswindows.h, not <windows.h>.
13419
13420         * ntplay.c:
13421         clean up headers.
13422
13423         * sysdep.c:
13424         clean up headers.
13425
13426         * sysdep.c (sys_fstat):
13427         * sysdep.c (sys_stat):
13428         call mswindows versions when appropriate.
13429
13430         * sysdep.h:
13431         move mswin decls to nt.h.
13432
13433         * syswindows.h:
13434         add long comment describing appropriate use of the various windows
13435         headers.
13436
13437 2000-06-11  Ben Wing  <ben@xemacs.org>
13438
13439         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13440
13441 2000-06-10  Ben Wing  <ben@xemacs.org>
13442
13443         * Makefile.in.in (release):
13444         Correction to make sure xemacs.exe always dumped when correct.
13445
13446         * alloca.c:
13447         * balloon_help.c:
13448         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13449
13450         * buffer.c (set_buffer_internal):
13451         [[[[2]]]]: Remove HAVE_FEP code.
13452
13453         * buffer.c (init_initial_directory):
13454         [3].
13455
13456         * bytecode.c:
13457         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13458         individual files.
13459
13460         * callproc.c:
13461         * callproc.c (call_process_cleanup):
13462         * callproc.c (Fold_call_process_internal):
13463         * callproc.c (child_setup):
13464         * callproc.c (getenv_internal):
13465         * callproc.c (init_callproc):
13466         * callproc.c (vars_of_callproc):
13467         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13468         __CYGWIN32__ -> CYGWIN.
13469         DOS_NT -> WIN32_NATIVE.
13470         Remove MSDOS support/references, converting to WIN32_NATIVE
13471           where correct.
13472         __MINGW32__ -> MINGW.
13473         Fix windows.h includes.
13474         Remove bogus HAVE_NTGUI.
13475
13476         * config.h.in:
13477         [2].
13478
13479         * console-msw.c:
13480         mswindows_message_outputted added for use in allowing startup
13481         errors on the console to be seen.
13482
13483         * console-msw.c (msw_ensure_console_allocated):
13484         * console-msw.c (msw_output_console_string):
13485         * console-msw.c (DHEADER):
13486         * console-msw.c (DOPAQUE_DATA):
13487         * console-msw.c (DEVENT):
13488         * console-msw.c (DCONS):
13489         * console-msw.c (DCONSCDR):
13490         * console-msw.c (DSTRING):
13491         * console-msw.c (DVECTOR):
13492         * console-msw.c (DSYMBOL):
13493         * console-msw.c (DSYMNAME):
13494         Fix warnings.
13495
13496         * console-stream.c (stream_init_console):
13497         Fix text/binary problems.
13498
13499         * device-msw.c:
13500         * device-msw.c (mswindows_finish_init_device):
13501         * device-msw.c (mswindows_delete_device):
13502         [1].
13503
13504         * device.c (handle_asynch_device_change):
13505         [3].
13506
13507         * dgif_lib.c:
13508         * dgif_lib.c (DGifOpenFileName):
13509         * dgif_lib.c (DGifOpenFileHandle):
13510         * dgif_lib.c (DGifGetLine):
13511         * dgif_lib.c (DGifGetPixel):
13512         Added config.h/lisp.h, fix up includes.
13513         [1].
13514
13515         * dired-msw.c:
13516         [4].
13517
13518         * dired.c:
13519         * dired.c (file_name_completion):
13520         * dired.c (Ffile_attributes):
13521         * dired.c (syms_of_dired):
13522         [1].
13523
13524         * dumper.c:
13525         * dumper.c (pdump_file_unmap):
13526         * dumper.c (pdump_load):
13527         [1].
13528
13529         * editfns.c:
13530         * editfns.c (Ftemp_directory):
13531         * editfns.c (user_login_name):
13532         * editfns.c (Fuser_real_login_name):
13533         * editfns.c (get_home_directory):
13534         [1].
13535
13536         * elhash.c (finish_marking_weak_hash_tables):
13537         [[[[5]]]]: Fix GCC warnings.
13538
13539         * emacs.c:
13540         * emacs.c (mswindows_handle_hardware_exceptions):
13541         * emacs.c (make_arg_list_1):
13542         * emacs.c (main_1):
13543         * emacs.c (Fkill_emacs):
13544         * emacs.c (Fdump_emacs):
13545         [1].
13546         Fix problems with nested crashes, add long comment.
13547
13548         * event-Xt.c (init_event_Xt_late):
13549         [1].
13550
13551         * event-msw.c:
13552         * event-msw.c (mswindows_dde_callback):
13553         * event-msw.c (mswindows_handle_sticky_modifiers):
13554         * event-msw.c (mswindows_wnd_proc):
13555         [1].
13556         [5].
13557
13558         * events.c (character_to_event):
13559         [1].
13560
13561         * fileio.c:
13562         * fileio.c (Ffile_name_directory):
13563         * fileio.c (Ffile_name_nondirectory):
13564         * fileio.c (directory_file_name):
13565         * fileio.c (Fexpand_file_name):
13566         * fileio.c (Fsubstitute_in_file_name):
13567         * fileio.c (Ffile_name_absolute_p):
13568         * fileio.c (check_executable):
13569         * fileio.c (Ffile_readable_p):
13570         * fileio.c (Ffile_accessible_directory_p):
13571         * fileio.c (Ffile_modes):
13572         * fileio.c (Funix_sync):
13573         * fileio.c (vars_of_fileio):
13574         [1]. [4].
13575
13576         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13577
13578         Expand getdefdir defn.
13579         Fix bogus rename() comment.
13580
13581         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13582         to use standard XEmacs include files, e.g. sysfile.h, rather
13583         than system-specific includes.
13584
13585         * fns.c:
13586         * fns.c (Fsubseq):
13587         [5]. [6].
13588
13589         * frame.c (vars_of_frame):
13590         [1].
13591
13592         * getloadavg.c:
13593         * getloadavg.c (getloadavg):
13594         [1]. [6].
13595         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13596         (We don't use it elsewhere in the code; just add a comment.)
13597
13598         * gif_io.c:
13599         [6].
13600         Add config.h.
13601
13602         * glyphs-msw.c:
13603         * glyphs-msw.c (mswindows_resource_instantiate):
13604         [1].
13605
13606         * glyphs-x.c (x_native_layout_instantiate):
13607         [5].
13608
13609         * gui-msw.c (Fmswindows_shell_execute):
13610         [1].
13611
13612         * insdel.c:
13613         [4].
13614
13615         * lisp.h:
13616         [4]. [5].
13617
13618         * lread.c (locate_file_in_directory_mapper):
13619         [1].
13620
13621         * lstream.c:
13622         [4].
13623
13624         * mem-limits.h:
13625         * mem-limits.h (get_lim_data):
13626         [1].
13627
13628         * menubar-msw.c:
13629         [4].
13630
13631         * ndir.h:
13632         [1].
13633
13634         * nt.c:
13635         * nt.c (getwd):
13636         * nt.c (closedir):
13637         * nt.c (rva_to_section):
13638         * nt.c (mswindows_executable_type):
13639         [1]. [6].
13640         Fix closedir() defn.
13641
13642         * nt.h:
13643         [[[[8]]]]: *_OK defs moved to sysfile.h.
13644
13645         * ntproc.c:
13646         [6]. [7].
13647
13648         * objects-x.c:
13649         [4].
13650
13651         * print.c:
13652         * print.c (std_handle_out_external):
13653         [1]. [4].
13654
13655         * process-nt.c:
13656         * process-nt.c (nt_create_process):
13657         [6].
13658         try to fix process quoting somewhat.
13659
13660         * process-unix.c (unix_create_process):
13661         [1].
13662
13663         * process.c:
13664         * process.c (vars_of_process):
13665         Add Vnull_device.
13666
13667         * process.h:
13668         [1].
13669
13670         * realpath.c:
13671         * realpath.c (xrealpath):
13672         [1].
13673
13674         * redisplay-tty.c (init_tty_for_redisplay):
13675         [3].
13676
13677         * redisplay.c:
13678         [4]. [6].
13679
13680         * scrollbar-msw.c:
13681         [4].
13682
13683         * sheap.c:
13684         * sheap.c (more_static_core):
13685         * sheap.c (report_sheap_usage):
13686         [5]. [6].
13687
13688         * signal.c:
13689         * signal.c (alarm_signal):
13690         [1]. [6].
13691
13692         * sound.c:
13693         [6].
13694
13695         * strftime.c:
13696         * strftime.c (zone_name):
13697         [1]. [5].
13698
13699         * symsinit.h (init_sunpro):
13700         [1].
13701
13702         * syscommctrl.h:
13703         commctrl.h not in Cygwin b20.1.
13704
13705         * sysdep.c:
13706         * sysdep.c (endif):
13707         * sysdep.c (sys_subshell):
13708         * sysdep.c (init_baud_rate):
13709         * sysdep.c (emacs_get_tty):
13710         * sysdep.c (emacs_set_tty):
13711         * sysdep.c (tty_init_sys_modes_on_device):
13712         * sysdep.c (init_system_name):
13713         * sysdep.c (sys_open):
13714         * sysdep.c (interruptible_open):
13715         * sysdep.c (sys_fopen):
13716         * sysdep.c (sys_mkdir):
13717         * sysdep.c (sys_rename):
13718         * sysdep.c (get_process_times_1):
13719         [1]. [6].
13720
13721         * sysdep.h:
13722         [1].
13723
13724         * sysdir.h:
13725         * sysdir.h (DIRENTRY_NONEMPTY):
13726         [1]. [6].
13727
13728         * sysdll.c (dll_init):
13729         * sysdll.h:
13730         [1].
13731
13732         * sysfile.h:
13733         [1]. [6]. [8].
13734         added text/binary defs.
13735
13736         * sysfloat.h:
13737         [1].
13738
13739         * sysproc.h:
13740         * sysproc.h (EDESTADDRREQ):
13741         * sysproc.h (poll_fds_for_input):
13742         [1]. [6].
13743
13744         * syspwd.h:
13745         [6].
13746
13747         * syssignal.h:
13748         [1].
13749
13750         * systime.h:
13751         [1]. [6].
13752
13753         * systty.h:
13754         [1].
13755
13756         * syswindows.h:
13757         [1].
13758         Always define WIN32_LEAN_AND_MEAN.
13759
13760         * unexcw.c (unexec):
13761         [5].
13762
13763         * unexec.c:
13764         * unexec.c (copy_text_and_data):
13765         * unexec.c (adjust_lnnoptrs):
13766         [1].
13767
13768         * unexnt.c:
13769         * unexnt.c (_start):
13770         [1].
13771
13772 2000-06-07  Ben Wing  <ben@xemacs.org>
13773
13774         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13775         was used only as a model.  We've long since extracted any useful
13776         logic or code out of this. (I just did an exhaustive search.)
13777
13778         * s\msdos.h: Removed.
13779
13780         * s\windows95.h: Removed.
13781
13782 2000-06-10  Ben Wing  <ben@xemacs.org>
13783
13784         * s\cygwin32.h:
13785         [1]. [5].
13786         Don't use extern with fun defs.
13787
13788         * s\mingw32.h:
13789         [1]. [7].
13790         Remove nt\inc include.
13791         Remove getdisk, getdefdir. (The former is unused, the latter
13792         expanded in fileio.h.)
13793
13794         * s\windowsnt.h:
13795         * s\windowsnt.h (WIN32_NATIVE):
13796         * s\windowsnt.h (HAVE_STRCASECMP):
13797         [1]. [7].
13798         Add long comment about preprocessor changes.
13799         Remove getdisk, getdefdir. (The former is unused, the latter
13800         expanded in fileio.h.)
13801
13802 2000-06-10  Ben Wing  <ben@xemacs.org>
13803
13804         * m\arm.h:
13805         * m\delta.h:
13806         * m\intel386.h:
13807         * m\sequent.h:
13808         * m\template.h:
13809         * m\windowsnt.h:
13810         [1].
13811         Remove bogus/unused NO_SOCK_SIGIO.
13812
13813 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13814
13815         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13816         not an Emchar.
13817
13818 2000-06-04  Mike Sperber <mike@xemacs.org>
13819
13820         * casetab.c (set_case_table): For `set-standard-case-table',
13821         actually deposit the new case tables where the rest of XEmacs can
13822         see them.
13823
13824 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13825
13826         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13827
13828 2000-06-05  Ben Wing  <ben@xemacs.org>
13829
13830         * callproc.c (child_setup): Don't do close_load_descs() under
13831         MS Windows.  Put in a comment explaining why.
13832
13833 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13834
13835         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13836         Toolkit shell" which breaks `kill-compilation' on Windows NT
13837         native, retaining STDERR handling improvements.
13838
13839 2000-06-01  Andreas Jaeger  <aj@suse.de>
13840
13841         * s/s390.h: Support for S390, based on a patch by Martin
13842         Schwidefsky <schwidefsky@de.ibm.com>.
13843
13844 2000-05-30  Andy Piper  <andy@xemacs.org>
13845
13846         * window.c (allocate_window):
13847         (make_dummy_parent):
13848         (Fset_window_configuration): use new hashtable type.
13849
13850         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13851         (struct image_instantiator_methods):
13852         (struct Lisp_Image_Instance): make instance geometry signed.
13853
13854         * glyphs.c (instantiate_image_instantiator):
13855         (image_instance_query_geometry):
13856         (image_instance_layout):
13857         (image_instance_layout):
13858         (query_string_geometry):
13859         (text_query_geometry):
13860         (image_instantiate):
13861         (image_instantiate):
13862         (cache_subwindow_instance_in_frame_maybe):
13863         (subwindow_query_geometry): make instance geometry signed.
13864
13865         * glyphs-widget.c (widget_query_geometry):
13866         (widget_layout):
13867         (button_query_geometry):
13868         (tree_view_query_geometry):
13869         (tab_control_query_geometry):
13870         (layout_query_geometry):
13871         (layout_layout):
13872         (native_layout_layout): make instance geometry signed.
13873
13874 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13875
13876         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13877         constant.
13878
13879         * general.c (syms_of_general): Add Qfull_assoc symbol.
13880
13881         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13882         correctly.
13883         (decode_weak_list_type): Decode full-assoc type.
13884         (encode_weak_list_type): Encode full-assoc type.
13885         (Fmake_weak_list): Update doc string.
13886
13887 2000-05-30  Andy Piper  <andy@xemacs.org>
13888
13889         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13890
13891         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13892         (decode_hash_table_weakness): ditto.
13893         (Fhash_table_weakness): ditto.
13894         (Fhash_table_type): ditto.
13895         (finish_marking_weak_hash_tables): ditto.
13896         (hash_table_weakness_validate): ditto.
13897         (syms_of_elhash): ditto.
13898
13899 2000-05-28  Martin Buchholz <martin@xemacs.org>
13900
13901         * XEmacs 21.2.34 is released.
13902
13903 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13904
13905         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13906         start cache.
13907         (updating_line_start_cache): Gone.
13908         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13909         generic code to force a minimum of 1 line laid out in the
13910         CMOTION_DISP case.
13911
13912 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13913
13914         * glyphs.c (instantiate_image_instantiator): Check for initialized
13915         height & width no longer special cases IMAGE_NOTHING.
13916         (nothing_instantiate): Set height and width of instance.
13917
13918 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13919
13920         * unexelf.c (unexec): Search for ".data" section.
13921         Initialize new_data2_offset from old_data_index.
13922         Remove redundant check for ElfW.
13923
13924 2000-05-23  Andy Piper  <andy@xemacs.org>
13925
13926         * glyphs.c (get_image_instantiator_governing_domain): allow more
13927         specific domains as the governing domain rather than expecting an
13928         exact match. This fixes problems with layouts.
13929
13930 2000-05-22  Andy Piper  <andy@xemacs.org>
13931
13932         * redisplay-output.c (compare_runes): check for non-images
13933
13934         * glyphs.c (set_glyph_dirty_p): ditto.
13935         (update_glyph_cachel_data): ditto.
13936
13937         * glyphs-widget.c (layout_post_instantiate): ditto.
13938         (layout_post_instantiate): ditto.
13939
13940         * event-msw.c (mswindows_wnd_proc): warning removal.
13941
13942 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13943
13944         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13945
13946         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13947
13948         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13949
13950         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13951         (mswindows_executable_type): mingw32 now has enough headers for
13952         this to work.
13953
13954 2000-05-20  Andy Piper  <andy@xemacs.org>
13955
13956         * console-msw.c (mswindows_output_last_error): ; -> ,
13957
13958 2000-05-12  Andy Piper  <andy@xemacs.org>
13959
13960         * console-msw.c (FROB): compare ints with ints.
13961
13962 2000-05-11  Andy Piper  <andy@xemacs.org>
13963
13964         * glyphs-x.c (x_finalize_image_instance): make minimal build
13965         happy.
13966
13967 2000-05-20  Ben Wing  <ben@xemacs.org>
13968
13969         * event-Xt.c:
13970         * event-Xt.c (vars_of_event_Xt):
13971         move modifier-keys-are-sticky to event-stream.c.
13972
13973         * event-msw.c:
13974         * event-msw.c (mswindows_enqueue_mouse_button_event):
13975         * event-msw.c (key_needs_default_processing_p):
13976         * event-msw.c (XEMSW_LCONTROL):
13977         * event-msw.c (mswindows_handle_sticky_modifiers):
13978         * event-msw.c (FROB):
13979         * event-msw.c (clear_sticky_modifiers):
13980         * event-msw.c (output_modifier_keyboard_state):
13981         * event-msw.c (output_alt_keyboard_state):
13982         * event-msw.c (mswindows_wnd_proc):
13983         * event-msw.c (mswindows_modifier_state):
13984         * event-msw.c (emacs_mswindows_handle_magic_event):
13985         implement sticky modifiers.
13986
13987         * event-stream.c:
13988         * event-stream.c (vars_of_event_stream):
13989         move modifier-keys-are-sticky here.
13990
13991         * lisp.h:
13992         add CHECK_FUNCTION.
13993
13994         * rangetab.c:
13995         implement map-range-table.
13996
13997
13998 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13999
14000         * redisplay-tty.c (reset_tty_modes):
14001         (tty_redisplay_shutdown): Adjust argument type to
14002         tty_frame_output_end.
14003
14004 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14005
14006         * eval.c (Fbacktrace): Don't output a line with only right
14007         parenthesis.
14008
14009 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
14010
14011         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
14012         (Fpq_reset_poll): Ditto.
14013
14014 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
14015
14016         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
14017
14018 2000-05-16  Ben Wing  <ben@xemacs.org>
14019
14020         * buffer.c:
14021         * buffer.c (dfc_convert_to/from_internal_format):
14022         * buffer.c (reinit_vars_of_buffer):
14023         Fix conversion functions to allow reentrancy.
14024
14025         * console-msw.c:
14026         * console-msw.c (mswindows_output_last_error):
14027         New fun, generally useful -- output a human-readable
14028         version of GetLastError() on the console.
14029
14030         * console-msw.h:
14031         * console-msw.h (struct mswindows_frame):
14032         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
14033
14034         * console-stream.c (stream_output_begin):
14035         * console-stream.c (stream_output_end):
14036         * console-stream.c (stream_output_vertical_divider):
14037         * console-stream.c (stream_clear_region):
14038         * console-stream.c (stream_flash):
14039         * console-stream.c (console_type_create_stream):
14040         Delete blank stream methods, not needed.
14041
14042         * console.h (struct console_methods):
14043         Split begin/end methods into window and frame.
14044
14045         * event-msw.c:
14046         * event-msw.c (mswindows_handle_paint):
14047         * event-msw.c (output_alt_keyboard_state):
14048         * event-msw.c (mswindows_wnd_proc):
14049         * event-msw.c (vars_of_event_mswindows):
14050         Comment about problems with ignored-expose.
14051         Define mswindows-debug-events; not really implemented.
14052
14053         * frame-msw.c (mswindows_init_frame_1):
14054         random cleanups.
14055
14056         * glyphs-msw.c:
14057         * glyphs-msw.c (begin_defer_window_pos):
14058         * glyphs-msw.c (mswindows_unmap_subwindow):
14059         * glyphs-msw.c (mswindows_map_subwindow):
14060         * glyphs-msw.c (mswindows_resize_subwindow):
14061         Use DeferWindowPos to reduce flashing when mapping/unmapping.
14062
14063         * glyphs.c (make_image_instance_1):
14064         Fix crash.
14065
14066         * gutter.c (Fredisplay_gutter_area):
14067         Use new begin/end methods.
14068
14069         * lisp.h (Dynarr_new2):
14070         New creation fun.
14071
14072         * redisplay-msw.c:
14073         * redisplay-msw.c (mswindows_frame_output_begin):
14074         * redisplay-msw.c (mswindows_frame_output_end):
14075         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14076         New begin/end methods -- handle DeferWindowPos.
14077
14078         * redisplay-output.c (redisplay_move_cursor):
14079         * redisplay-output.c (redraw_cursor_in_window):
14080         * redisplay-output.c (redisplay_update_line):
14081         * redisplay-output.c (redisplay_output_window):
14082         New begin/end methods.
14083
14084         * redisplay-tty.c:
14085         * redisplay-tty.c (tty_frame_output_begin):
14086         * redisplay-tty.c (tty_frame_output_end):
14087         * redisplay-tty.c (console_type_create_redisplay_tty):
14088         New begin/end methods.
14089
14090         * redisplay-x.c:
14091         * redisplay-x.c (x_window_output_begin):
14092         * redisplay-x.c (x_window_output_end):
14093         * redisplay-x.c (console_type_create_redisplay_x):
14094         New begin/end methods.
14095
14096         * redisplay.c (redisplay_frame):
14097         * redisplay.c (Fredisplay_echo_area):
14098         New begin/end methods.
14099         use MAYBE_DEVMETH for clear_frame; it may not exist.
14100
14101         * window.h (WINDOW_XFRAME):
14102         WINDOW_XFOO macros -- get locale and decode struct pointer.
14103
14104
14105 2000-05-12  Ben Wing  <ben@xemacs.org>
14106
14107         * emacs.c:
14108         * emacs.c (ensure_no_quitting_from_now_on):
14109         * emacs.c (fatal_error_signal):
14110         * emacs.c (mswindows_handle_hardware_exceptions):
14111         * emacs.c (main):
14112         * emacs.c (Fkill_emacs):
14113         * emacs.c (shut_down_emacs):
14114         * emacs.c (assert_failed):
14115         various improvements in fatal error handling.
14116
14117         * eval.c:
14118         move preparing_for_armageddon to emacs.c.
14119
14120         * lisp.h:
14121         declare fatal_error_in_progress.
14122
14123         * print.c:
14124         * print.c (std_handle_out_external):
14125         * print.c (std_handle_out_va):
14126         * print.c (stderr_out):
14127         * print.c (stdout_out):
14128         use console under mswin when no standard output.
14129         don't do code conversion during fatal error.
14130
14131         * scrollbar.c (Fscrollbar_page_up):
14132         * scrollbar.c (Fscrollbar_page_down):
14133         fix missing else.  reindent.
14134
14135 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14136
14137         Emergency fix.
14138
14139         * glyphs.h (GLYPH_CACHEL_DESCENT):
14140         (GLYPH_CACHEL_DESCENT):
14141         (GLYPH_CACHEL_DESCENT):
14142         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14143         used in case these are inline functions.
14144         Use more absurd values to error check.
14145
14146         include window.h for error check functions.
14147
14148 2000-05-11  Ben Wing  <ben@xemacs.org>
14149
14150         * cmdloop.c (Freally_early_error_handler):
14151         Display message box under windows; otherwise, message will disappear
14152         before it can be viewed.
14153
14154         * console-msw.c:
14155         * console-msw.c (Fmswindows_message_box):
14156         * console-msw.c (FROB):
14157         * console-msw.c (syms_of_console_mswindows):
14158         Define new fun `mswindows-message-box'.
14159         #### I will merge this into `popup-dialog-box'; just give me
14160         a bit of time.
14161
14162         * general.c:
14163         * general.c (syms_of_general):
14164         Some new symbols used in `mswindows-message-box'.
14165
14166         * glyphs.c:
14167         * glyphs.c (Fset_image_instance_property):
14168         put warning in this fun.
14169
14170         * glyphs.h:
14171         * glyphs.h (GLYPH_CACHEL_WIDTH):
14172         * glyphs.h (GLYPH_CACHEL_ASCENT):
14173         * glyphs.h (GLYPH_CACHEL):
14174         * glyphs.h (GLYPH_CACHEL_GLYPH):
14175         define error-checking versions to try to catch a bug i've seen --
14176         redisplay gets in an infinite loop because the glyph width of the
14177         continuation glyph is 65535.
14178
14179         * lisp.h:
14180         Extern message-box stuff.
14181
14182         * window.c (allocate_window):
14183         * window.c (make_dummy_parent):
14184         * window.c (Fset_window_configuration):
14185         Use EQUAL not EQ for subwindow caches to make them work a bit
14186         better. (Something is still very broken.)
14187
14188
14189 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14190
14191         * glyphs.c (image_instantiate): Suppress gcc warnings.
14192         (Fmake_image_instance): Fix doc string.
14193         * specifier.c (Fmake_specifier): Ditto.
14194
14195 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14196
14197         * paths.h.in (PATH_LOCK): Removed.
14198         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14199         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14200
14201 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14202
14203         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14204         Document (featurep '(and xemacs 21.02)).
14205
14206 2000-05-09  Ben Wing  <ben@xemacs.org>
14207
14208         * buffer.c (complex_vars_of_buffer):
14209         update modeline-format doc.
14210
14211         * device.h:
14212         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14213
14214         * emacs.c:
14215         timeline of all released versions of Emacs, for use in creating
14216         authorship comments and in synching up.
14217
14218         * glyphs-widget.c (image_instantiator_buttons):
14219         * glyphs-widget.c (image_instantiator_edit_fields):
14220         * glyphs-widget.c (image_instantiator_combo_box):
14221         * glyphs-widget.c (image_instantiator_scrollbar):
14222         * glyphs-widget.c (image_instantiator_progress_guage):
14223         * glyphs-widget.c (image_instantiator_tree_view):
14224         * glyphs-widget.c (image_instantiator_tab_control):
14225         * glyphs-widget.c (image_instantiator_labels):
14226         * glyphs-widget.c (image_instantiator_layout):
14227         * glyphs-widget.c (image_instantiator_native_layout):
14228         rename decode_domain method to governing_domain.
14229
14230         * glyphs.c:
14231         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14232         * glyphs.c (add_entry_to_device_ii_format_list):
14233         make sure we don't put an entry more than once into the list.
14234         * glyphs.c (check_instance_cache_mapper):
14235         *************************************************************
14236         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14237         HAVE BEEN GETTING.
14238         *************************************************************
14239         * glyphs.c (get_image_instantiator_governing_domain):
14240         clean up, expand on new concept of governing domain.
14241         * glyphs.c (instantiate_image_instantiator):
14242         * glyphs.c (allocate_image_instance):
14243         use governing_domain instead of cache_domain in naming.
14244         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14245         * glyphs.c (make_image_instance_1):
14246         * glyphs.c (Fmake_image_instance):
14247         allow for any domain (not just device), and process the
14248         governing domain correctly.  very big doc fix.
14249         * glyphs.c (Fimage_instance_domain):
14250         new primitive, to retrieve the governing domain of an image instance.
14251         * glyphs.c (image_instantiate):
14252         use new governing_domain stuff.  this fixes a crash you could get
14253         by instantiating certain widget glyphs in frame locales. (should
14254         signal an error instead of crashing.)
14255         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14256         * glyphs.c (Fglyphp): clean up doc.
14257         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14258         * glyphs.c (syms_of_glyphs):
14259         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14260         * glyphs.c (image_instantiator_format_create): add some comments about
14261         bogus code.
14262         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14263         for current-display-table. (Apparently Hrjove implemented in 1998 a
14264         design I wrote up in 1996, but didn't update the doc string.)
14265
14266         * glyphs.h: clean up a doc string.
14267         * glyphs.h (governing_domain):
14268         * glyphs.h (struct image_instantiator_methods):
14269         changes for governing_domain stuff.
14270
14271         * gutter.c:
14272         * gutter.c (Fgutter_specifier_p):
14273         * gutter.c (Fgutter_size_specifier_p):
14274         * gutter.c (Fgutter_visible_specifier_p):
14275         * objects.c:
14276         * objects.c (Fcolor_specifier_p):
14277         * objects.c (Ffont_specifier_p):
14278         * objects.c (Fface_boolean_specifier_p):
14279         doc strings moved to make-*-specifier.
14280
14281         * redisplay.c (add_disp_table_entry_runes_1):
14282         * redisplay.c (generate_fstring_runes):
14283         * redisplay.c (screen):
14284         add random comments and doc strings.
14285
14286         * specifier.c:
14287         * specifier.c (Fmake_specifier):
14288         major overhaul of this doc string.
14289
14290         * specifier.c (Fvalid_specifier_domain_p):
14291         comment about the bogosity of image instances being domains.
14292         * specifier.c (decode_domain):
14293         now non-static, used in glyphs.c.
14294         * specifier.c (specifier_instance):
14295         comment about the bogosity of image instances being domains.
14296         * specifier.c (Fgeneric_specifier_p):
14297         move doc string to make-generic-specifier.
14298         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14299         rebackslashify.
14300
14301         * specifier.h:
14302         * specifier.h (DOMAIN_FRAME):
14303         * specifier.h (DOMAIN_LIVE_P):
14304         * specifier.h (DOMAIN_XDEVICE):
14305         rebackslashify.
14306         add comments about problems with these macros.
14307         prototype for decode_domain.
14308
14309         * toolbar.c:
14310         * toolbar.c (Ftoolbar_specifier_p):
14311         move doc string to `make-toolbar-specifier'.
14312
14313         * window.c (window_unmap_subwindows_cache_mapper):
14314         *************************************************************
14315         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14316         HAVE BEEN GETTING.
14317         *************************************************************
14318
14319 2000-05-09  Andy Piper  <andy@xemacs.org>
14320
14321         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14322
14323         * window.c (Fset_window_configuration): reset the frame subwindow
14324         cache and re-initialize the window subwindow caches.
14325
14326         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14327
14328 2000-05-09  Ben Wing  <ben@xemacs.org>
14329
14330         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14331         DWORD.
14332
14333 2000-04-26  Mike Woolley  <mike@bulsara.com>
14334
14335         * ntheap.c: Changed recreate_heap to limit the amount reserved
14336         for the heap to that which is actually available. Also now
14337         displays a message box (with some dignostics) in the event that
14338         it still can't start.
14339
14340 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14341
14342         * callproc.c (Fold_call_process_internal): GCPRO path
14343
14344 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14345
14346         Patch by Bill Perry.
14347
14348         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14349         back data instead of #ifdef.
14350         (Fscrollbar_page_down): ditto.
14351
14352 2000-05-07  Ben Wing  <ben@xemacs.org>
14353
14354         * buffer.h:
14355         Kludge for defining Qmswindows_tstr.
14356
14357         * nt.c:
14358         * nt.c (open_input_file):
14359         * nt.c (open_output_file):
14360         * nt.c (rva_to_section):
14361         * nt.c (mswindows_executable_type):
14362         Move all memory-mapped-file routines here (some were in unexnt.c,
14363         which is bad because they are used by process-nt.c, and unexnt
14364         won't be around when portable dumping).  Synched the above routines
14365         with FSF 20.6.
14366
14367         * nt.h:
14368         Removed ifdef'd out bogus code.
14369         Fixed some prototypes.
14370
14371         * nt.h (file_data):
14372         * nt.h (OFFSET_TO_RVA):
14373         * nt.h (RVA_TO_OFFSET):
14374         * nt.h (RVA_TO_PTR):
14375         Moved the memory-mapped-file structures, macros and prototypes
14376         here, to parallel nt.c.  ntheap.h should really be removed
14377         entirely, and it's a non-portable-dumper specific file.
14378
14379         * ntheap.h (round_to_next):
14380         Moved the memory-mapped-file structures, macros and prototypes
14381         to nt.h.
14382
14383         * ntproc.c (compare_env):
14384         Moved rva_to_section and mswindows_executable_type to nt.c.
14385         Moved compare_env to process-nt.c.
14386         ntproc.c will die, one day.
14387
14388         * ntproc.c (sys_spawnve):
14389         Account for win32_ -> mswindows_.
14390
14391         * process-nt.c:
14392         * process-nt.c (struct nt_process_data):
14393         * process-nt.c (ensure_console_window_exists):
14394         * process-nt.c (compare_env):
14395         * process-nt.c (nt_create_process):
14396         * process-nt.c (nt_kill_process_by_pid):
14397         * process-nt.c (syms_of_process_nt):
14398         * process-nt.c (vars_of_process_nt):
14399         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14400         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14401         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14402         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14403         Move compare_env here from ntproc.c.
14404
14405         * process.c (Fprocess_send_region):
14406         Takes an optional fourth argument, BUFFER, which should fix some
14407         problems with call-process.
14408
14409         * syscommctrl.h:
14410         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14411
14412         * syswindows.h:
14413         Move ICC_BAR_CLASSES to syscommctrl.h.
14414         Add preliminary macros for MSWindows/Mule.  More to come.
14415
14416         * unexnt.c:
14417         * unexnt.c (unexec):
14418         open_output_file moved to nt.c.
14419
14420
14421 2000-05-05  Andy Piper  <andy@xemacs.org>
14422
14423         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14424         instance from the frame cache also since GC may catch up too late
14425         to make frame deletion sane.
14426
14427 2000-05-04  Andy Piper  <andy@xemacs.org>
14428
14429         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14430         (x_finalize_image_instance): ungcpro on deletion.
14431
14432         * glyphs.c (image_instantiator_format_create): give pointers a
14433         query geometry method so that the geometry is at least set.
14434
14435         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14436         initialize layouts if using widgets.
14437
14438 2000-05-03  Andy Piper  <andy@xemacs.org>
14439
14440         * nt.c: remove bogus reference to sysmmsystem.h
14441
14442         * gui-x.c (popup_selection_callback): fix no selection abort.
14443
14444 2000-05-02  Andy Piper  <andy@xemacs.org>
14445
14446         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14447         (mswindows_widget_instantiate): ditto.
14448
14449         * glyphs-widget.c (initialize_widget_image_instance): initialize
14450         children correctly.
14451         (widget_instantiate): cope with children and items in the same
14452         instance.
14453
14454         * glyphs.c (mark_image_instance): cope with children as a first
14455         class member.
14456         (image_instance_equal): ditto.
14457         (image_instance_hash): ditto.
14458         (image_instance_changed): ditto.
14459
14460 2000-04-30  Andy Piper  <andy@xemacs.org>
14461
14462         * glyphs.c (subwindow_query_geometry): new function. Return some
14463         defaults.
14464         (subwindow_instantiate): don't assign dimensions if none have been
14465         given.
14466         (image_instantiator_format_create): add subwindow_query_geometry.
14467         (print_image_instance): cope with layouts as widgets.
14468
14469 2000-04-29  Andy Piper  <andy@xemacs.org>
14470
14471         * frame.c (delete_frame_internal): call
14472         free_frame_subwindow_instance_cache so that all subwindows are
14473         finalized before their parent.
14474         (mark_frame): remove subwindow_cachels.
14475         (Fmake_frame): remove subwindow_cachel manipulation.
14476         (allocate_frame_core): subwindow_instance_cache is a weak list.
14477         (delete_frame_internal): set subwindow_instance_cache to nil.
14478
14479         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14480         finalization safe.
14481         (mswindows_finalize_image_instance): use the device
14482         not the domain as the domain may have died already.
14483
14484         * glyphs-x.c (x_finalize_image_instance): ditto.
14485         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14486         HEIGHT.
14487
14488         * redisplay-output.c (redisplay_unmap_subwindows): update for
14489         subwindow instance cache as a weak list.
14490         (redisplay_unmap_subwindows_maybe): ditto.
14491         (redisplay_unmap_subwindows_except_us): ditto.
14492
14493         * glyphs.c (unmap_subwindow): error checking will check the domain
14494         so don't deal with it here. Don't use cachels anymore.
14495         (map_subwindow): ditto.
14496         (update_subwindow_cachel_data): remove old accessor names.
14497         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14498         (Fresize_subwindow): don't update cachel.
14499         (mark_subwindow_cachels):
14500         (update_subwindow_cachel_data):
14501         (add_subwindow_cachel):
14502         (get_subwindow_cachel_index):
14503         (update_subwindow_cachel):
14504         (reset_subwindow_cachels):
14505         (mark_subwindow_cachels_as_not_updated): deleted.
14506         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14507         subwindow instance to the frame cache.
14508         (find_matching_subwindow): update for subwindow instance cache as
14509         a weak list.
14510         (update_widget_instances): ditto.
14511         (image_instance_type_to_mask):inlined.
14512         (free_frame_subwindow_instance_cache): new function. finalize all
14513         subwindows that are instantiated.
14514
14515         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14516         of cachel information.
14517         (IMAGE_INSTANCE_DISPLAY_X):
14518         (IMAGE_INSTANCE_DISPLAY_Y):
14519         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14520         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14521         (XIMAGE_INSTANCE_DISPLAY_X):
14522         (XIMAGE_INSTANCE_DISPLAY_Y):
14523         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14524         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14525         remove subwindow_cachel structure and function references.
14526         (image_instance_type_to_mask): inline from glyphs.c
14527
14528         * redisplay.c (redisplay_frame): remove subwindow_cachel
14529         references.
14530
14531         * frame.h (struct frame): remove subwindow_cachels.
14532         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14533
14534         * frameslots.h: add subwindow_instance_cache.
14535
14536         * window.c (replace_window): check subwindow cache of replacement.
14537         (window_unmap_subwindows_cache_mapper):
14538         (window_unmap_subwindows): new functions. Unmap all subwindows
14539         cached on this window.
14540         (mark_window_as_deleted): unmap all subwindows.
14541
14542 2000-04-27  Andy Piper  <andy@xemacs.org>
14543
14544         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14545
14546         * glyphs-widget.c (widget_layout): return something.
14547         (layout_layout): return something. Fail if not initialized.
14548         (layout_query_geometry): ditto.
14549         (image_instantiator_native_layout): new function. Initialized the
14550         native layout type.
14551         (widget_instantiate): don't do layout stuff here.
14552
14553         * glyphs.c (instantiate_image_instantiator): reorded calling or
14554         instantiate and post_instantiate with layout in between.
14555         (image_instance_layout): be more selective about deciding whether
14556         the layout has been done or not.
14557
14558         * glyphs.h (struct image_instantiator_methods): return a value
14559         from layout_method.
14560
14561 2000-04-26  Andy Piper  <andy@xemacs.org>
14562
14563         * glyphs.c (allocate_image_instance): make initial width and
14564         height unspecified. Set initialized to 0.
14565
14566         * syscommctrl.h new file. Encapsulates commctrl.h.
14567
14568         * syswindows.h new file. Encapsulates windows.h.
14569
14570         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14571         * nt.c: ditto.
14572         * console-msw.h: ditto.
14573
14574         * redisplay-tty.c (tty_output_display_block): remove layout references.
14575
14576         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14577         window handle rather than just the frame.
14578
14579         * glyphs.c (mark_image_instance): remove layout references.
14580         (print_image_instance): ditto.
14581         (image_instance_equal): ditto.
14582         (image_instance_hash): ditto.
14583         (decode_image_instance_type): ditto.
14584         (encode_image_instance_type): ditto.
14585         (image_instantiate): ditto.
14586         (allocate_glyph): ditto.
14587         (Fimage_instance_height): ditto.
14588         (Fimage_instance_width): ditto.
14589         (update_subwindow): ditto.
14590
14591         * redisplay-x.c (x_output_display_block): recode for layouts as
14592         widgets.
14593
14594         * redisplay-output.c (redisplay_output_layout): recode for layouts
14595         as widgets.
14596         (compare_runes): remove layout references.
14597
14598         * redisplay-msw.c (mswindows_output_display_block): recode for
14599         layouts as widgets.
14600
14601         * glyphs-widget.c (image_instantiator_layout): remove
14602         layout_possible_dest_types.
14603         (layout_possible_dest_types): deleted.
14604
14605         * glyphs.h (image_instance_type): remove layout references.
14606         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14607         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14608         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14609
14610 2000-04-25  Andy Piper  <andy@xemacs.org>
14611
14612         * glyphs-widget.c (image_instantiator_buttons):
14613         (image_instantiator_edit_fields):
14614         (image_instantiator_combo_box):
14615         (image_instantiator_scrollbar):
14616         (image_instantiator_progress_guage):
14617         (image_instantiator_tree_view):
14618         (image_instantiator_tab_control):
14619         (image_instantiator_labels):
14620         (image_instantiator_layout): call default post_instantiate method.
14621         (widget_post_instantiate): new function. Simply lays out the
14622         widgets.
14623
14624         * glyphs.h (struct image_instantiator_methods): add
14625         post_instantiate method.
14626
14627         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14628         method calls.
14629
14630 2000-04-23  Andy Piper  <andy@xemacs.org>
14631
14632         * glyphs.h (struct image_instantiator_methods): add
14633         decode_domain_method.
14634         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14635         derived from the domain.
14636         (IMAGE_INSTANCE_FRAME): new accessor.
14637         (XIMAGE_INSTANCE_FRAME): ditto.
14638
14639         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14640         instead of _SUBWINDOW_FRAME.
14641         (finalize_image_instance): ditto.
14642         (Fimage_instance_foreground): ditto.
14643         (Fimage_instance_background): ditto.
14644         (image_instantiate): ditto.
14645         (update_subwindow_cachel): ditto.
14646         (update_subwindow): ditto.
14647         (unmap_subwindow): ditto.
14648         (map_subwindow): ditto
14649         (subwindow_instantiate): ditto.
14650         * glyphs-msw.c (mswindows_update_widget): ditto.
14651         (mswindows_progress_gauge_instantiate): ditto.
14652         (mswindows_tab_control_update): ditto.
14653         * glyphs-x.c (x_update_widget): ditto.
14654         (x_widget_instantiate): ditto.
14655         (x_tab_control_instantiate): ditto.
14656         (x_tab_control_update): ditto.
14657         * event-msw.c (mswindows_wnd_proc): ditto
14658
14659         * glyphs-widget.c (image_instantiator_layout): use
14660         subwindow_decode_domain.
14661         (image_instantiator_buttons): ditto.
14662         (image_instantiator_edit_fields): ditto.
14663         (image_instantiator_combo_box): ditto.
14664         (image_instantiator_scrollbar): ditto.
14665         (image_instantiator_progress_guage): ditto.
14666         (image_instantiator_tree_view): ditto.
14667         (image_instantiator_tab_control): ditto.
14668         (image_instantiator_labels): ditto.
14669         (image_instantiator_layout): ditto.
14670
14671         * glyphs.c: add instance error checking to many functions.
14672         (instantiate_image_instantiator): decode device from cache_domain.
14673         (image_instantiate): partially rewrite by using
14674         decode_image_instantiator_domain to determine what domain the
14675         instance needs to be cached in.
14676         (decode_image_instantiator_domain): new function. Determine what
14677         domain the image needs to be cached in.
14678         (check_window_subwindow_cache): new error checking function.
14679         (check_instance_cache_mapper): ditto.
14680         (check_image_instance_structure): ditto.
14681         (subwindow_decode_domain): new function. Encodes a window as a
14682         subwindow's cache domain.
14683         (image_instantiator_format_create): use it for text and
14684         subwindows.
14685
14686 2000-04-21  Andy Piper  <andy@xemacs.org>
14687
14688         * glyphs.c (image_instance_device): new function.
14689         (image_instance_frame): new function.
14690         (image_instance_window): new function.
14691         (image_instance_live_p): new function.
14692
14693         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14694         cache to nil.
14695
14696         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14697         (IMAGE_INSTANCE_DOMAIN): new accessor.
14698         (XIMAGE_INSTANCE_DOMAIN): ditto.
14699
14700         * glyphs-x.c (x_finalize_image_instance): device->domain.
14701
14702         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14703         (mswindows_finalize_image_instance): ditto.
14704
14705         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14706         (gif_instantiate): ditto.
14707         (png_instantiate): ditto.
14708         (tiff_instantiate): ditto.
14709
14710         * glyphs.c (instantiate_image_instantiator): use domain rather
14711         than device.
14712         (mark_image_instance): device -> domain.
14713         (print_image_instance): ditto.
14714         (finalize_image_instance): ditto.
14715         (image_instance_equal): ditto.
14716         (allocate_image_instance): ditto.
14717         (Fcolorize_image_instance): ditto.
14718         (query_string_geometry): ditto.
14719         (image_instantiate): ditto
14720         (query_string_font): ditto.
14721         (image_instantiate): ditto.
14722         (update_subwindow): ditto.
14723         (unmap_subwindow): ditto.
14724         (map_subwindow): ditto.
14725         (subwindow_instantiate): ditto.
14726
14727         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14728         (DOMAIN_FRAME): ditto.
14729         (DOMAIN_WINDOW): ditto.
14730         (DOMAIN_LIVE_P): ditto.
14731         (XDOMAIN_DEVICE): ditto.
14732         (XDOMAIN_FRAME): ditto.
14733         (XDOMAIN_WINDOW): ditto.
14734
14735         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14736         a valid specifier domain.
14737
14738 2000-04-19  Andy Piper  <andy@xemacs.org>
14739
14740         * glyphs-widget.c (syms_of_glyphs_widget): remove
14741         widget-callback-current-channel.
14742         (vars_of_glyphs_widget): ditto.
14743         * glyphs.h: ditto
14744
14745         * gui.c (get_gui_callback): revert to previous behaviour.
14746
14747 2000-04-18  Andy Piper  <andy@xemacs.org>
14748
14749         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14750         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14751         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14752
14753         * glyphs.c (image_instance_equal): add margin_width.
14754         (image_instance_hash): ditto.
14755
14756         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14757         (layout_query_geometry): ditto.
14758         (layout_layout): ditto.
14759         (syms_of_glyphs_widget): add margin-width.
14760         (image_instantiator_layout): allow margin-width.
14761
14762         * glyphs.c (update_widget_instances): make a normal function.
14763         (syms_of_glyphs): remove Qupdate_widget_instances.
14764         * glyphs.h: ditto.
14765
14766         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14767         so that we don't corrupt ideas about the last event or
14768         command. Remove widget-callback-current-channel fiddling.
14769         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14770
14771 2000-05-01  Martin Buchholz <martin@xemacs.org>
14772
14773         * XEmacs 21.2.33 is released.
14774
14775 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14776
14777         * make-src-depend: Allow dots in header file name.
14778
14779 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14780
14781         * mule-charset.h (struct charset_lookup): Add
14782         next_allocated_1_byte_leading_byte and
14783         next_allocated_2_byte_leading_byte.
14784         * mule-charset.c: Move above two variables so that those values
14785         will be dumped.
14786
14787 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14788
14789         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14790         when string length is zero.
14791         (find_charsets_in_emchar_string): Ditto.
14792
14793 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14794
14795         * lisp.h: extern Qdialog and Qmenubar.
14796
14797         * gui-x.c: added events.h.
14798                 also fixed typo which made the file uncompilable.
14799
14800         * general.c: Added Qmenubar and Qdialog
14801
14802 2000-04-28  Ben Wing  <ben@xemacs.org>
14803
14804         * frame-msw.c (mswindows_init_frame_1):
14805         * frame-msw.c (mswindows_mark_frame):
14806         * event-msw.c (mswindows_enqueue_dispatch_event):
14807         * console-msw.h:
14808         * console-msw.h (struct mswindows_frame):
14809         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14810         there are now three hash tables for callbacks.
14811         mswindows_enqueue_dispatch_event is no longer static.
14812
14813         * dialog-x.c (maybe_run_dbox_text_callback):
14814         * dialog-x.c (dbox_descriptor_to_widget_value):
14815         switch to new cons3 form for callbacks.
14816
14817         * glyphs-msw.c (mswindows_register_gui_item):
14818         * glyphs-msw.c (mswindows_widget_instantiate):
14819         * glyphs-msw.c (add_tree_item):
14820         * glyphs-msw.c (add_tab_item):
14821         new image instance parameter, so it can be passed to callback-ex.
14822         respect :callback-ex as well as :callback.
14823
14824         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14825         add :callback-ex.
14826
14827         * glyphs.c (print_image_instance):
14828         prettify, e.g. now prints widget type.
14829
14830         * gui-x.h:
14831         certain funs have new image instance parameter.
14832
14833         * gui.c:
14834         * gui.c (get_gui_callback):
14835         * gui.c (gui_item_add_keyval_pair):
14836         * gui.c (gui_item_init):
14837         * gui.c (gui_add_item_keywords_to_plist):
14838         * gui.c (mark_gui_item):
14839         * gui.c (gui_item_hash):
14840         * gui.c (gui_item_equal):
14841         * gui.c (copy_gui_item):
14842         * gui.c (syms_of_gui):
14843         recognize callback-ex in a number of places.
14844         also, fix the annoying "can't get out of yes-no dialog" bug.
14845
14846         * gui.h:
14847         * gui.h (struct Lisp_Gui_Item):
14848         recognize callback-ex in a number of places.
14849
14850         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14851         new parameter in button_item_to_widget_value.
14852
14853         * glyphs-x.c (x_update_widget):
14854         * glyphs-x.c (x_button_instantiate):
14855         * glyphs-x.c (x_button_update):
14856         * glyphs-x.c (x_progress_gauge_instantiate):
14857         * glyphs-x.c (x_edit_field_instantiate):
14858         * glyphs-x.c (x_combo_box_instantiate):
14859         * glyphs-x.c (x_tab_control_instantiate):
14860         * glyphs-x.c (x_label_instantiate):
14861         new image instance parameter in various places.
14862
14863         * event-Xt.c:
14864         * event-Xt.c (enqueue_Xt_dispatch_event):
14865         this fun gets exported.
14866
14867         * gui-msw.c:
14868         * gui-msw.c (mswindows_handle_gui_wm_command):
14869         handle both :callback and :callback-ex, and generate our own
14870         event because it's one of the callback-ex arguments.
14871
14872         * gui-x.c:
14873         * gui-x.c (popup_selection_callback):
14874         handle both :callback and :callback-ex, and generate our own
14875         event because it's one of the callback-ex arguments.
14876         * gui-x.c (button_item_to_widget_value):
14877         * gui-x.c (gui_items_to_widget_values_1):
14878         * gui-x.c (gui_item_children_to_widget_values):
14879         * gui-x.c (gui_items_to_widget_values):
14880         new image instance parameter in various places.
14881
14882         * fns.c (Freplace_list):
14883         fix small typo in doc string.
14884
14885         * lisp.h:
14886         declare enqueue_Xt_dispatch_event.
14887
14888 2000-04-28  Ben Wing  <ben@xemacs.org>
14889
14890         * buffer.c:
14891         * buffer.c (Frecord_buffer):
14892         * buffer.c (syms_of_buffer):
14893         delete record-buffer-hook.
14894
14895         * fns.c:
14896         * fns.c (Freplace_list):
14897         * fns.c (syms_of_fns):
14898         new primitive replace-list.
14899
14900         * frameslots.h:
14901         slot for old buffer-alist.
14902
14903         * lisp.h:
14904         exfun replace-list.
14905
14906         * redisplay.c:
14907         * redisplay.c (redisplay_frame):
14908         * redisplay.c (syms_of_redisplay):
14909         * redisplay.c (vars_of_redisplay):
14910         new hook buffer-list-changed-hook.
14911         call it.
14912
14913 2000-04-27  Ben Wing  <ben@xemacs.org>
14914
14915         * extents.h: extern in_modeline_generation.
14916
14917         * redisplay.c (generate_formatted_string_db): set
14918         in_modeline_generation.
14919
14920         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14921         flags if in modeline generation.  otherwise frame-modified-tick
14922         is ticked far too often.
14923         Declare in_modeline_generation.
14924
14925 2000-04-26  Ben Wing  <ben@xemacs.org>
14926
14927         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14928         option.
14929         (vars_of_emacs): add quick-build as an error-checking option.
14930         A bit kludgy, but there doesn't seem much point in creating
14931         a real var for this.
14932
14933         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14934
14935 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14936
14937         * redisplay.h (struct display_line): Add a new variable,
14938         line_continuation.
14939
14940         * redisplay.c (create_text_block): Set dl->line_continuation if
14941         the line continues.
14942         (create_string_text_block): Ditto.
14943         (regenerate_window_incrementally): Use line_continuation instead
14944         of searching continuation glyph.
14945         (add_margin_runes): Call add_glyph_rune.
14946         (add_glyph_rune): Handle margin glyph.
14947
14948 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14949
14950         * filelock.c (fill_in_lock_file_name):
14951         ANSIfy.
14952         Check for IS_ANY_SEP instead of '/'.
14953         (lock_file_1):
14954         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14955         Never check errno without first seeing that system call failed.
14956         (unlock_file): Add GCPRO.
14957         (Flock_buffer): Fix docstring.
14958         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14959
14960 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14961
14962         * sysdep.c (get_pty_max_bytes):
14963         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14964         strings longer than 252 bytes.
14965
14966         * md5.c: Unconditionally include ANSI header <limits.h>
14967
14968         * glyphs-x.c (convert_EImage_to_XImage):
14969         * lisp-union.h (union Lisp_Object):
14970         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14971
14972 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14973
14974         * filelock.c (current_lock_owner): Remove unused variable o, p.
14975
14976 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14977
14978         * callint.c: Remove multiply defined symbol Qlet
14979         (syms_of_callint): ditto.
14980
14981 2000-04-14  Andy Piper  <andy@xemacs.org>
14982
14983         * general.c (syms_of_general): add last-command, this-command, let
14984         and funcall.
14985
14986         * lisp.h: declare various symbols.
14987
14988         * glyphs.h: declare Qwidget_callback_current_channel;
14989
14990         * glyphs-widget.c (syms_of_glyphs_widget): add
14991         Qgui_callback_current_channel.
14992         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14993
14994         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14995         widget-callback-current-channel when invoking the interactive
14996         arg. Also bind last-command and next-command when invoking the
14997         widget updates.
14998         * gui-x.c (popup_selection_callback): ditto.
14999
15000         * gui.c (get_gui_callback): massage args so that we are always
15001         calling eval. This allows us to add our own variable bindings
15002         outside.
15003
15004         * glyphs-x.c (x_button_instantiate): use
15005         gui_items_to_widget_values since this is GC safe.
15006         (x_progress_gauge_instantiate): ditto.
15007         (x_edit_field_instantiate): ditto.
15008         (x_label_instantiate): ditto.
15009
15010         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
15011         (emacs_Xt_event_widget_focus_out): new function
15012         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
15013         focus.
15014         (emacs_Xt_event_add_widget_actions): new function. add focus
15015         functions as actions.
15016         (init_event_Xt_late): use it.
15017
15018 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
15019
15020         * event-stream.c (Fdispatch_event): Doc fix.
15021
15022 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
15023
15024         * postgresql.c: Remove all references to PQsetenv*.
15025
15026         * postgresql.h: Remove references to PGsetenvHandler object.
15027         * lrecord.h (lrecord_type): Ditto.
15028
15029 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15030
15031         * glyphs-msw.h (struct mswindows_image_instance_data): Added
15032         real_heigh and real_width members, and accessor macros for these.
15033
15034         * glyphs-msw.c (init_image_instance_geometry): New function.
15035         (init_image_instance_from_dibitmap): Use it.
15036         (mswindows_resource_instantiate): Use it.
15037         (init_image_instance_from_xbm_inline): Use it.
15038         (mswindows_initialize_image_instance_mask): Use real bitmap
15039         geometry.
15040         (mswindows_create_resized_bitmap): Ditto.
15041         (mswindows_create_resized_mask): Ditto.
15042
15043         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
15044         and bitmap to their surface size.
15045
15046 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
15047
15048         * process-unix.c (unix_send_process): Guard against process MIA
15049         after Faccept_process_output.
15050
15051 2000-04-11  Ben Wing  <ben@xemacs.org>
15052
15053         * eval.c (unbind_to_hairy): fix brokenness introduced by
15054         nanosecond speed improvements.
15055
15056 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
15057
15058         * sunplay.c (init_device): To play sounds correctly, the device
15059         apparently needs to be initialized at least once by XEmacs.  Make
15060         it so.
15061
15062 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15063
15064         * redisplay.c (add_margin_runes): Add text image glyph
15065           handling.
15066
15067 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15068
15069         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15070         gcc is newer than 2.5.
15071
15072 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15073
15074         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15075
15076         * fns.c (size_bit_vector):
15077         * alloc.c (size_vector):
15078         (make_vector_internal):
15079         (make_bit_vector_internal):
15080         (sweep_bit_vectors_1):
15081         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15082
15083 2000-04-06  Andy Piper  <andy@xemacs.org>
15084
15085         * gmalloc.c (malloc): undo previous change.
15086         (malloc): ditto.
15087         (free): ditto.
15088         (realloc): ditto.
15089
15090 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15091
15092         * line-number.c (buffer_line_number): Revert to former version.
15093
15094 2000-04-06  Andy Piper  <andy@xemacs.org>
15095
15096         * gmalloc.c (malloc): add error checking.
15097         (malloc): ditto.
15098         (free): ditto.
15099         (realloc): ditto.
15100
15101         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15102         button_item_to_widget_value arg.
15103
15104         * glyphs-x.c (x_button_instantiate): add extra
15105         button_item_to_widget_value arg.
15106         (x_progress_gauge_instantiate): ditto.
15107         (x_edit_field_instantiate): ditto.
15108         (x_label_instantiate): ditto.
15109
15110         * gui-x.c (gui_items_to_widget_values_1): add extra
15111         button_item_to_widget_value arg.
15112         (button_item_to_widget_value): add extra menu_item_p arg.
15113
15114         * gui-x.h: change signature of button_item_to_widget_value.
15115
15116         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15117         button_item_to_widget_value arg.
15118
15119 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15120
15121         * buffer.h (struct buffer): auto_save_modified should be long.
15122
15123 2000-04-05  Andy Piper  <andy@xemacs.org>
15124
15125         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15126         type.
15127         (button_query_geometry): give a little more room so that athena
15128         buttons fit.
15129
15130 2000-04-05  Andy Piper  <andy@xemacs.org>
15131
15132         * faces.c (complex_vars_of_faces): The widget face should inherit
15133         the font of the gui-element face.
15134
15135 2000-04-04  Andy Piper  <andy@xemacs.org>
15136
15137         * glyphs-x.c (x_button_update): new function. unconditionally
15138         update a button's state when the instance is dirty.
15139         (image_instantiator_format_create_glyphs_x): add x_button_update.
15140         (x_widget_instantiate): remove old resize cruft.
15141
15142 2000-04-02  Andy Piper  <andy@xemacs.org>
15143
15144         * frame.c (change_frame_size_1): The introduction of gutters means
15145         that we need to allow 0 as a potential frame dimension.
15146
15147 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15148
15149         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15150         image glyph if allow_cursor.
15151         (add_hscroll_rune): Don't allow cursor to border glyph.
15152         (create_text_block): Ditto.
15153
15154         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15155         text not in buffer.
15156         (redisplay_output_layout): Call ensure_face_cachel_complete for
15157         text image glyph.
15158
15159
15160 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15161
15162         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15163
15164         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15165         not in buffer
15166
15167         * redisplay-tty.c (tty_output_display_block): Delete the routine
15168         for text image glyph
15169         * redisplay-x.c (x_output_display_block): ditto
15170         * redisplay-msw.c (mswindows_output_display_block): ditto
15171
15172 2000-02-02  Mike Alexander  <mta@arbortext.com>
15173
15174         Note: Some of these were committed by accident as part of other
15175         patches.
15176
15177         * regex.c (regex_compile): Avoid compiler warnings.
15178
15179         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15180
15181         * nt.h: Declare term_ntproc correctly.
15182
15183         * nt.c: Remove incorrect declaration of get_home_directory which
15184         is declared correctly in lisp.h.
15185
15186         * keymap.c (get_keyelt): Avoid compiler warnings.
15187         (raw_lookup_key_mapper): Avoid compiler warnings.
15188
15189         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15190
15191         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15192
15193         * filemode.c (mode_string): Avoid compiler warnings.
15194
15195         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15196         avoid warning.
15197
15198         * events-mod.h: Undef some things that winuser.h defines differently.
15199
15200         * data.c (Faset): Avoid compiler warnings.
15201
15202         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15203
15204 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15205
15206         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15207         Fall through to simple beep on error.
15208         Replace "extern" by real header file.
15209
15210         * linuxplay.c: Use nativesound.h
15211         (play_sound_data): Return error code. Be less verbose on error.
15212
15213         * sunplay.c: Use nativesound.h
15214         (play_sound_data): Return error code. Be less verbose on error.
15215
15216         * ntplay.c: Use nativesound.h
15217         (play_sound_data): Return fake error code
15218
15219         * sgiplay.c: Use nativesound.h
15220         (play_sound_data): Return error code
15221
15222         * hpplay.c: Use nativesound.h, partially implement
15223         new error code. Break compilation until finished.
15224         (play_sound_data): error code.
15225
15226         * nativesound.h (play_sound_file):
15227           (play_sound_data): Prototype in new header.
15228
15229 2000-03-31  Andy Piper  <andy@xemacs.org>
15230
15231         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15232         for toggle and radio buttons.
15233         (image_instantiator_buttons): use it.
15234
15235 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15236
15237         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15238         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15239         found. Scrollbar event probably belonged to some old config.
15240
15241 2000-03-31  Andy Piper  <andy@xemacs.org>
15242
15243         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15244         than 1.
15245         (initialize_widget_image_instance): default layout to
15246         LAYOUT_HORIZONTAL rather than 0.
15247         (widget_instantiate): reverse the item list at the end rather than
15248         every iteration.
15249         (layout_layout): re-code for the border text at the front of the
15250         item list rather than at the end.
15251         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15252         provided by the user.
15253         (widget_query_geometry): comment.
15254
15255 2000-03-30  Andy Piper  <andy@xemacs.org>
15256
15257         * glyphs-widget.c (image_instantiator_layout): allow standard
15258         widget keywords in layouts.
15259
15260         * gutter.c (output_gutter): cope with nil gutter contents.
15261
15262         * frame.c (Fset_frame_properties): add gutter docs.
15263
15264 2000-03-29  Andy Piper  <andy@xemacs.org>
15265
15266         * toolbar-msw.c (TBSTYLE_FLAT): add.
15267         (mswindows_output_toolbar): minor fiddling.
15268
15269 2000-03-29  Andy Piper  <andy@xemacs.org>
15270
15271         * gutter.c (output_gutter): force gutter size recalculation if
15272         what we are trying to display won't fit.
15273         (update_gutter_geometry): new function. A per-gutter version of
15274         update_frame_gutter_geometry.
15275         (update_frame_gutter_geometry): use it.
15276         (redraw_exposed_gutter): add extra debugging output.
15277
15278 2000-03-28  Mike Alexander  <mta@arbortext.com>
15279
15280         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15281         (pdump_file_unmap): Implement it on Windows
15282         (pdump_file_get): Save alocated handles for pdump_file_unmap
15283
15284 2000-03-28  Andy Piper  <andy@xemacs.org>
15285
15286         * gui.c (get_gui_callback): treat Quit specially.
15287
15288 2000-03-27  Andy Piper  <andy@xemacs.org>
15289
15290         * glyphs.c (image_instantiate): be careful to check in the same
15291         way we assigned.
15292
15293 2000-03-27  Didier Verna  <didier@xemacs.org>
15294
15295         * config.h.in: define the proper SMART_INCLUDE macro.
15296         handle renaming of `foo_h_path' to `foo_h_file'.
15297
15298         * database.c: ditto.
15299
15300         * emacs.c: ditto.
15301
15302         * linuxplay.c: ditto.
15303
15304         * terminfo.c: ditto.
15305
15306         * tooltalk.h: ditto.
15307
15308 2000-03-27  Andy Piper  <andy@xemacs.org>
15309
15310         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15311         gets updated whenever the face might have changed.
15312
15313 2000-03-26  Mike Alexander  <mta@arbortext.com>
15314
15315         * dumper.c (pdump_resource_free): Fix the comment.
15316
15317 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15318
15319         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15320
15321 2000-03-22  Mike Alexander  <mta@arbortext.com>
15322
15323         * dumper.c: Include Windows headers on Windows
15324         (pdump_resource_free): Add a body to the function
15325         (pdump_load): exe_name -> exe_path and add some comments.
15326
15327 2000-03-25  Mike Alexander  <mta@arbortext.com>
15328
15329         * gui.c (copy_gui_item_tree): Return a value in all cases
15330
15331 2000-03-21  Didier Verna  <didier@xemacs.org>
15332
15333         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15334         lwlib/config.h.in.
15335         (SMART_INCLUDE): new macro.
15336         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15337         the proper location.
15338
15339         * postgresql.c: use it.
15340
15341         * inline.c: ditto.
15342
15343 2000-03-24  Andy Piper  <andy@xemacs.org>
15344
15345         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15346         do this.
15347
15348 2000-03-24  Andy Piper  <andy@xemacs.org>
15349
15350         * redisplay-output.c (compare_runes): use image_instance_changed
15351         to detect changes. Do not depend on glyphs_changed, only depend on
15352         dirtiness.
15353          (redisplay_output_layout): add debug messages.
15354         (compare_runes): ditto.
15355
15356         * glyphs.h: declare new functions.
15357         (struct Lisp_Image_Instance): remove percent and associated
15358         accessors.
15359
15360         * gui.h: declare new copying functions.
15361
15362         * gui.c (copy_gui_item_tree): new function.
15363         (copy_gui_item): new function.
15364         (gui_item_id_hash): revert to standard hash.
15365         (gui_item_hash): ditto.
15366         (gui_item_hash_internal): deleted.
15367         (mark_gui_item): mark value.
15368         (gui_item_add_keyval_pair): add value.
15369         (gui_item_init): ditto.
15370         (gui_add_item_keywords_to_plist): ditto.
15371         (gui_item_equal): ditto.
15372         (syms_of_gui): add Q_value.
15373
15374         * glyphs-x.c (x_progress_gauge_update): use pending items and
15375         value for setting the state.
15376         (x_update_widget): don't set items from pending here.
15377
15378         * glyphs-widget.c (update_widget): update items here.
15379         (progress_gauge_set_property): use items for storing value. Put
15380         new value in pending items.
15381
15382         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15383         items for new value. Convert percent -> value.
15384         (mswindows_tab_control_update): don't update items here.
15385
15386         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15387         (update_subwindow): ditto.
15388         (image_instance_changed): new function. Compare hash values and
15389         past and present widget items.
15390         (image_instantiate): We more careful about where we instantiate
15391         things.
15392         (image_instantiate): add error checking.
15393
15394         * gutter.c (syms_of_gutter): use -hook.
15395
15396 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15397
15398         * console-tty.c (Fset_console_tty_input_coding_system): Use
15399         Qkeyboard.
15400         (Fset_console_tty_output_coding_system): Use Qterminal.
15401         (tty_init_console): Use Qkeyboard and Qterminal.
15402
15403 2000-03-21  Ben Wing  <ben@xemacs.org>
15404
15405         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15406         From Mike Alexander <mta@arbortext.com>.
15407
15408 2000-03-21  Ben Wing  <ben@xemacs.org>
15409
15410         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15411         process brokenness.  Proper implementation to come.
15412         * callproc.c:
15413         Rename call-process-internal to old-call-process-internal.
15414         New impl. in process.el.
15415
15416 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15417
15418         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15419
15420 2000-03-20  Andy Piper  <andy@xemacs.org>
15421
15422         * glyphs.c (full_list_hash): make hashes of the same elements in
15423         different orders return different values.
15424
15425 2000-03-20  Martin Buchholz <martin@xemacs.org>
15426
15427         * XEmacs 21.2.32 is released.
15428
15429 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15430
15431         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15432         (DFC_MALLOC_USE_CONVERTED_DATA):
15433         Add aliasing-safe casts to allow use with char* or unsigned char*
15434         lvalues.
15435
15436         * eldap.c (Fldap_open):
15437         (Fldap_search_basic):
15438         (Fldap_add):
15439         (Fldap_modify):
15440         Make C++-compilable.
15441         Make sure GCPRO'ed variables are initialized.
15442         Use temp variables to avoid repeated calls to Flength.
15443
15444 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15445
15446         * sysfile.h:
15447         Make sure PATH_MAX is always defined.
15448         Include limits.h for PATH_MAX.
15449         Deprecate use of MAXPATHLEN.
15450
15451 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15452
15453         * emacs.c: Add reinit_vars_of_fileio.
15454         * symsinit.h: Add reinit_vars_of_fileio.
15455         * fileio.c (reinit_vars_of_fileio): New.
15456         * fileio.c (Fmake_temp_name):
15457         Initialize temp_name random number from microseconds to make
15458         collisions even less likely.  Initialize always at process startup
15459         time.  (make-temp-name) used to return the same file name twice in
15460         a row when PDUMP.
15461         Random stylistic fiddling.
15462         Comment fixes.
15463
15464 2000-03-20  Andy Piper  <andy@xemacs.org>
15465
15466         * glyphs.c (image_instantiate): allow text glyphs to be
15467         instantiated in the minibuffer window.
15468
15469 2000-03-19  Andy Piper  <andy@xemacs.org>
15470
15471         * glyphs.c (image_instance_hash): be careful about which items we
15472         hash on.
15473
15474         * glyphs-widget.c (tab_control_set_property): record into pending
15475         items rather than the actual items.
15476
15477         * glyphs-x.c (x_update_widget): use pending items to update with.
15478
15479         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15480         to update with.
15481
15482         * glyphs.c (mark_image_instance): mark pending items.
15483
15484         * window.c (Fset_window_configuration): record the buffer.
15485         (Fselect_window): totally revert previous change which breaks many
15486         things.
15487
15488 2000-03-18  Andy Piper  <andy@xemacs.org>
15489
15490         * glyphs-msw.c (mswindows_tab_control_update): force selected
15491         item.
15492
15493         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15494         window domain cache, otherwise we get inconsistencies at
15495         startup. There is something fishy at startup which can lead to the
15496         minibuffer being the selected window when the gutter content is
15497         instantiated.
15498
15499         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15500         gcpros.
15501         (parse_gui_item_tree_children): ditto.
15502         (parse_gui_item_tree_item): ditto.
15503
15504         * glyphs.c (Fupdate_widget_instances): return something.
15505
15506 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15507
15508         * window.c (Fselect_window): Undo 2000-03-17 change.
15509
15510 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15511
15512         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15513         against v7.0 libraries.  Insta-coredump city until the postgres
15514         folks fix it.
15515
15516 2000-03-17  Andy Piper  <andy@xemacs.org>
15517
15518         * faces.c (complex_vars_of_faces): don't give the widget face an
15519         inherited background pixmap.
15520
15521         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15522         selected item.
15523
15524         * event-stream.c (Fdispatch_non_command_events): return something.
15525
15526         * gutter.c (output_gutter): use widget face.
15527         (clear_gutter): ditto.
15528
15529         * NEWS: adjust again.
15530
15531         * window.c (Fselect_window): make sure this runs to completion to
15532         avoid oddities with Fset_window_configuration.
15533         (Fcurrent_window_configuration): in general do not save the
15534         minibuffer as the selected window.
15535
15536         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15537
15538 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15539
15540         * emacs.c (Frunning_temacs_p): Revert previous patch.
15541         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15542
15543 2000-03-16  Andy Piper  <andy@xemacs.org>
15544
15545         * glyphs-x.c (x_tab_control_update): if no widget values then
15546         return.
15547
15548         * NEWS: update for new features.
15549
15550         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15551         synthetic event to the native system.
15552         (reinit_vars_of_event_Xt): set force_event_pending to
15553         emacs_Xt_force_event_pending.
15554
15555         * events.h (struct event_stream): add force_event_pending.
15556
15557         * specifier.c (recompute_one_cached_specifier_in_window): add
15558         comment.
15559
15560         * redisplay.c (redisplay_frame): don't call
15561         update_frame_subwindows. Reset subwindow cachels when
15562         subwindows_changed, removing this was an optimization too far.
15563
15564         * redisplay-output.c (compare_runes): reorganize so that we catch
15565         glyph changes when we want them. Set optimize_output when this
15566         would help layouts.
15567         (redisplay_output_layout): remove frame_really_changed, use
15568         optimize_output instead.
15569
15570         * redisplay-msw.c (mswindows_output_display_block): reset
15571         optimize_output after outputting a glyph.
15572         * redisplay-x.c (x_output_display_block): ditto.
15573         * redisplay-tty.c (tty_output_display_block): ditto.
15574
15575         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15576         functions.
15577         (gutter_specs_changed): do specific gutter positions.
15578         (top_gutter_specs_changed): new function. Only update the
15579         specified gutter specs.
15580         (bottom_gutter_specs_changed): ditto.
15581         (left_gutter_specs_changed): ditto.
15582         (right_gutter_specs_changed): ditto.
15583
15584         * gui.c (gui_item_hash_internal): new function, does a real hash.
15585         (gui_item_id_hash): use it.
15586         (gui_item_hash): hash the eval'ed gui_item.
15587
15588         * gui-x.c (popup_selection_callback): send an eval event to call
15589         Fupdate_widget_instances.
15590
15591         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15592         to call Fupdate_widget_instances.
15593
15594         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15595         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15596
15597         * glyphs.c: (update_frame_subwindows): deleted.
15598         (Fupdate_widget_instances): new function for updating the dirty
15599         state of widgets that might have changed.
15600         (syms_of_glyphs): add Qupdate_widget_instances.
15601         (full_list_hash): hash a list completely.
15602         (image_instance_hash): use it for items and properties.
15603
15604         * frame-msw.c (mswindows_size_frame_internal): remove unused
15605         variable.
15606
15607         * faces.h (struct face_cachel): fix comment.
15608
15609         * event-stream.c (Fdispatch_non_command_events): new
15610         function. Process non-command events, forcing an event cycle
15611         beforehand.
15612         (syms_of_event_stream): declare.
15613         (event_stream_force_event_pending): new function. Force an event
15614         on the native event queue so that an event cycle will occur next
15615         time we check.
15616
15617         * event-msw.c:
15618         (struct ntpipe_shove_stream):
15619         (mswindows_enqueue_dispatch_event):
15620         (mswindows_dequeue_dispatch_event):
15621         (mswindows_cancel_dispatch_event):
15622         (mswindows_pump_outstanding_events):
15623         (mswindows_drain_windows_queue):
15624         (mswindows_handle_paint):
15625         (mswindows_wnd_proc):
15626         (mswindows_key_to_emacs_keysym):
15627         (get_process_input_waitable):
15628         (emacs_mswindows_delete_stream_pair): re-indent file.
15629         (mswindows_need_event): do not process further fds if the windows
15630         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15631         fixes the 100% cpu problem.
15632         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15633
15634 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15635
15636         * alloc.h: New.
15637         * dumper.h: New.
15638         * dumper.c: New.
15639
15640         * emacs.c: Moved dump file searching to dumper.c.
15641         (Frunning_temacs_p): Fixed.
15642
15643         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15644         last_lrecord_type_index_assigned.
15645
15646 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15647
15648         * symsinit.h: Added reinit parameter to init_console_stream
15649         declaration.
15650
15651         * lisp.h: Added file parameter to pdump_load declaration.
15652
15653         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15654         support.  Added dump file searching.
15655
15656         * config.h.in: Added EMACS_PROGNAME.
15657
15658         * console-stream.c (init_console_stream): Fix reinitialisation
15659         when running from temacs.
15660
15661         * alloc.c (pdump): Add id support.
15662         (pdump_load): Add file parameter and signature/id support.
15663
15664         * Makefile.in.in: Add full pdump support.
15665
15666 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15667
15668         * postgresql.c: Update documentation to reflect latest code
15669         status.
15670         (print_result): Show tuple counts in printed representation when
15671         appropriate.
15672         (Fpq_put_nbytes): MULE-ize.
15673         (Fpq_get_line_async): Ditto.
15674
15675 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15676
15677         * postgresql.c (Fpq_lo_import): Fix return value.
15678         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15679
15680 2000-03-13  Ben Wing  <ben@xemacs.org>
15681
15682         * alloc.c (pdump_load):
15683         Fix compile warning under mswin.
15684
15685 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15686
15687         * postgresql.c: Mule-ization, bug fixes.
15688         Use PG_CODING to encapsulate coding system name changes.
15689         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15690         (pg-coding-system): Create.
15691
15692         (Fpq_conn_defaults): Mule-ize.
15693         (Fpq_connectdb): Mule-ize & bug fix.
15694         (Fpq_connect_start): Mule-ize.
15695         (Fpq_set_client_encoding): Mule-ize.
15696         (Fpq_finish): Document `DEAD' connection status.
15697         (Fpq_clear): Ditto.
15698         (Fpq_pgconn): Mule-ize.
15699         (Fpq_exec): Mule-ize & bug fix.
15700         (Fpq_send_query): Ditto.
15701         (Fpq_get_result): Ditto.
15702         (Fpq_res_status): Mule-ize.
15703         (Fpq_result_error_message): Mule-ize.
15704         (Fpq_ntuples): fix comments.
15705         (Fpq_fname): Mule-ize.
15706         (Fpq_fnumber): Mule-ize.
15707         (Fpq_ftype): fix comments.
15708         (Fpq_get_value): Mule-ize.
15709         (Fpq_cmd_status): Ditto.
15710         (Fpq_cmd_tuples): Ditto.
15711         (Fpq_oid_value): Ditto.
15712         (Fpq_notifies): Ditto.
15713         (Fpq_lo_import): Ditto.
15714         (Fpq_lo_export): Ditto.
15715         (Fpq_get_line): Ditto.
15716         (Fpq_put_line): Mule-ize and bug fix.
15717         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15718
15719 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15720
15721         * postgresql.c (vars_of_postgresql): Mule-ize.
15722         (Fpq_conn_defaults): Ditto.
15723
15724 2000-03-12  Ben Wing  <ben@xemacs.org>
15725
15726         * alloc.c (Fmake_byte_code):
15727         * alloc.c (debug_string_purity_print):
15728         * alloc.c (pdump_backtrace):
15729         * alloc.c (pdump_get_indirect_count):
15730         * alloc.c (pdump_register_sub):
15731         * alloc.c (pdump_register_object):
15732         * alloc.c (pdump_register_struct):
15733         * alloc.c (pdump_dump_data):
15734         * alloc.c (pdump_reloc_one):
15735         Minor cleanups.
15736
15737         * console-msw.c:
15738         * console-msw.c (GetConsoleHwnd):
15739         * console-msw.c (msw_hide_console):
15740         * console-msw.c (msw_show_console):
15741         * console-msw.c (msw_ensure_console_buffered):
15742         * console-msw.c (msw_output_console_string):
15743         * console-msw.c (console_type_create_mswindows):
15744
15745         a) Added functions to manipulate the console window for use with
15746         shell support.
15747
15748         b) Added support for writing text to the console, which is now
15749         used under Windows when xemacs is not being run non-interactively,
15750         to write text that would otherwise be destined for stdout because
15751         under these circumstances, text written to stdout tends to
15752         disappear and not be seen.
15753
15754         * console-msw.h:
15755         * event-Xt.c:
15756         * event-Xt.c (x_event_to_emacs_event):
15757         * event-Xt.c (describe_event_window):
15758         * events-mod.h (XEMACS_MOD_CONTROL):
15759         * events.c:
15760         * events.c (Fmake_event):
15761         * events.c (character_to_event):
15762         * events.c (event_to_character):
15763         * events.c (format_event_object):
15764         * events.c (Fevent_modifiers):
15765         * events.h:
15766         * events.h (struct key_data):
15767         * events.h (struct button_data):
15768         * events.h (struct misc_user_data):
15769         * frame-x.c (Fcde_start_drag_internal):
15770         * frame-x.c (Foffix_start_drag_internal):
15771         * gpmevent.c (Freceive_gpm_event):
15772         * keymap.c:
15773         * keymap.c (bucky_sym_to_bucky_bit):
15774         * keymap.c (control_meta_superify):
15775         * keymap.c (make_key_description):
15776         * keymap.c (keymap_lookup_directly):
15777         * keymap.c (create_bucky_submap):
15778         * keymap.c (keymap_store):
15779         * keymap.c (define_key_check_and_coerce_keysym):
15780         * keymap.c (define_key_parser):
15781         * keymap.c (define_key_alternate_name):
15782         * keymap.c (Fdefine_key):
15783         * keymap.c (raw_lookup_key_mapper):
15784         * keymap.c (struct map_keymap_unsorted_closure):
15785         * keymap.c (map_keymap_unsorted_mapper):
15786         * keymap.c (map_keymap_sort_predicate):
15787         * keymap.c (map_keymap_sorted):
15788         * keymap.c (accessible_keymaps_mapper_1):
15789         * keymap.c (where_is_recursive_mapper):
15790         * keymap.c (describe_map_mapper):
15791         * keymap.c (describe_map_sort_predicate):
15792         * keymap.c (describe_map):
15793         * keymap.c (complex_vars_of_keymap):
15794         And a number of other files, the key modifier preprocessor
15795         constants that xemacs uses have names that conflict with constants
15796         defined under MS Windows for other purposes, so they were renamed
15797         to begin with the prefix XEMACS_. The variables that hold such
15798         modifiers were changed to consistently be of type int to fix
15799         various compile warnings.
15800
15801         * console.c (complex_vars_of_console):
15802         * device.c:
15803         * device-msw.c:
15804         * device-msw.c (mswindows_finish_init_device):
15805         * device-msw.c (msw_get_workspace_coords):
15806         * device-msw.c (mswindows_device_system_metrics):
15807         and various other files, added support for a new
15808         device property called offset-workspace which returns the position
15809         of the upper left corner of the workspace area and goes along with
15810         the existing size-workspace property.
15811
15812         * dialog-msw.c:
15813         * dialog-msw.c (push_bufbyte_string_as_unicode):
15814         * dialog-msw.c (mswindows_popup_dialog_box):
15815         Added support for XEmacs-style accelerator specifications in
15816         button text.  Note: I didn't add support for this under X Windows,
15817         and somebody needs to do this.
15818
15819         * dialog.c:
15820         * dialog.c (Fpopup_dialog_box):
15821         Documented the support for accelerators that was just mentioned.
15822
15823         editfns.c (get_home_directory): Changed behavior under Windows
15824         when HOME not defined; former behavior was irretrievably broken.
15825
15826         * emacs.c:
15827         * emacs.c (main_1):
15828         * emacs.c (main):
15829         * minibuf.c (clear_echo_area_internal):
15830         * minibuf.c (echo_area_append):
15831         * print.c:
15832         * print.c (std_handle_out_external):
15833         * print.c (std_handle_out_va):
15834         * print.c (fatal):
15835         * print.c (write_string_to_stdio_stream):
15836         * print.c (output_string):
15837         * print.c (debug_print):
15838         * print.c (debug_backtrace):
15839         * print.c (debug_short_backtrace):
15840         Cleaned up the code that prints text to stdout so that this can be
15841         changed to output into a console window instead under MS Windows,
15842         as described above.
15843
15844         * eval.c:
15845         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15846         * eval.c (internal_catch):
15847         * eval.c (unwind_to_catch):
15848         * eval.c (throw_or_bomb_out):
15849         * eval.c (condition_case_1):
15850         * eval.c (signal_1):
15851         * eval.c (check_error_state_sanity):
15852         * eval.c (call_with_suspended_errors_1):
15853         * eval.c (call_with_suspended_errors):
15854         * eval.c (reinit_vars_of_eval):
15855         Added code to catch throw loops and check for a pesky bug that may
15856         be gone now.
15857
15858         * event-msw.c:
15859         * event-msw.c (key_needs_default_processing_p):
15860         * event-msw.c (mswindows_wnd_proc):
15861         * event-msw.c (mswindows_modifier_state):
15862         * event-msw.c (emacs_mswindows_quit_p):
15863         * event-msw.c (vars_of_event_mswindows):
15864         a) Added support for using the alt key to select menu items as is
15865         standard under MS Windows.  This is controlled using the variable
15866         menu-accelerator-enabled, just like under X Windows.  There is an
15867         option on the options menu to turn this support on.  I really
15868         think that it should be on by default under Windows, but I'm not
15869         going to make this change yet.
15870
15871         b)  Added support for dynamic display size changes under Windows.
15872
15873         * event-stream.c:
15874         * event-stream.c (maybe_echo_keys):
15875         * event-stream.c (Fnext_event):
15876         * event-stream.c (command_builder_find_leaf):
15877         * event-stream.c (lookup_command_event):
15878         * event-stream.c (execute_command_event):
15879         * event-stream.c (pre_command_hook):
15880         * event-stream.c (post_command_hook):
15881         * event-stream.c (syms_of_event_stream):
15882         * event-stream.c (vars_of_event_stream):
15883         * event-stream.c (complex_vars_of_event_stream):
15884         * events.h (struct command_builder):
15885
15886         a) Tried to clean up a little bit the horribly written x-specific
15887         accelerator code that crept into this file.  I moved this code
15888         into menubar-x.c where it belongs. I also needed to move the
15889         command builder structure into the file events.h because it is
15890         accessed directly by this accelerator code.  What I didn't do, but
15891         which should be done at some point, is to properly abstract this
15892         code using device methods instead of the kludgy way that it
15893         currently hooks into the event code.
15894
15895         b) Added the lisp variables this-command-properties and
15896         last-command- properties, which should be used to synchronize two
15897         adjacent commands in preference to playing games with the variable
15898         this-command, which is typically what happens.
15899
15900         c) Added some slightly nasty code to hook into the lisp support
15901         for shifted- motion-key selection.  This is actually necessary for
15902         somewhat complicated reasons, which are described in
15903         simple.el. (NB: I think the proper thing would be to have the code
15904         that calls the pre and post command hooks also call out to generic
15905         lisp functions in simple.el, where all built-in stuff could be
15906         added.  I will think about this more.)
15907
15908         * event-unixoid.c (poll_fds_for_input):
15909         * lread.c (readchar):
15910         * redisplay-tty.c (tty_clear_frame):
15911         * redisplay-x.c (x_get_gc):
15912         * signal.c (interrupt_signal):
15913         And a whole bunch of other files: fixed up places that printed
15914         directly to stderr to instead call the function stderr_out so that
15915         the changes I made under Windows work correctly.
15916
15917         * filemode.c (mode_string):
15918         Warning fixes.
15919
15920         * frame-msw.c:
15921         * frame-msw.c (mswindows_size_frame_internal):
15922         Fixed the computation of frame size and position to keep the frame
15923         within the workspace area, rather than within the physical
15924         dimensions of the screen, so that the frame doesn't overlap window
15925         manager decorations, such as the start menu and toolbar, typically
15926         at the bottom of the screen.
15927
15928         * frame.c (vars_of_frame):
15929         Changed the default frame title format under MS Windows to consist
15930         of buffername-XEmacs, which is standard under MS Windows.  I think
15931         it might be a good idea to change this everywhere because I think
15932         it is superior to the current frame title format, but this is the
15933         kind of change that is likely to cause some people to get annoyed,
15934         so I'm not making it.
15935
15936         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15937
15938         * gui-msw.c (mswindows_handle_gui_wm_command):
15939         Fixed compile warnings.
15940
15941         * gui-x.c:
15942         * gui-x.c (strdup_and_add_accel):
15943         * gui-x.c (button_item_to_widget_value):
15944         * gui-x.h:
15945         Added code to automatically put an accelerator onto the beginning
15946         of menu items that don't have one as is now the standard, and is
15947         described more later.  Also fixed things so that the menu item
15948         name can be an evaluated expression, again a new standard.
15949
15950         * gui.c:
15951         * gui.c (gui_item_add_keyval_pair):
15952         * gui.c (make_gui_item_from_keywords_internal):
15953         * gui.c (gui_add_item_keywords_to_plist):
15954         * gui.c (gui_item_accelerator):
15955         * gui.c (gui_name_accelerator):
15956         * gui.c (gui_item_included_p):
15957         * gui.c (gui_item_display_flush_left):
15958         * gui.c (gui_item_display_flush_right):
15959         * gui.c (parse_gui_item_tree_item):
15960         * gui.c (parse_gui_item_tree_children):
15961         * gui.c (parse_gui_item_tree_list):
15962         Mule-ized.  Cleanup.  GCPRO addition.
15963
15964         * line-number.c (buffer_line_number):
15965         * lisp.h:
15966         * lisp.h (EMACS_INT_MAX):
15967         Added the manifest constant EMACS_INT_MIN corresponding to the
15968         existing constant EMACS_INT_MAX.  This is partially to fix compile
15969         warnings under Windows, and partly for cleanliness.
15970
15971         * menubar-msw.c:
15972         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15973         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15974         * menubar-msw.c (displayable_menu_item):
15975         * menubar-msw.c (populate_menu_add_item):
15976         * menubar-msw.c (populate_or_checksum_helper):
15977         * menubar-msw.c (populate_menu):
15978         * menubar-msw.c (update_frame_menubar_maybe):
15979         * menubar-msw.c (prune_menubar):
15980         * menubar-msw.c (msw_char_is_accelerator):
15981         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15982         * menubar-msw.c (mswindows_handle_wm_command):
15983         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15984         * menubar-msw.c (mswindows_handle_wm_initmenu):
15985         * menubar-msw.c (mswindows_update_frame_menubars):
15986         * menubar-msw.c (mswindows_free_frame_menubars):
15987         * menubar-msw.c (mswindows_popup_menu):
15988         Fixed a bug in handling accelerators where an extra character
15989         would be displayed in the menu item.  Also generalized the
15990         function displayable_menu_item because it is now used by the
15991         dialog box code as well.  And finally, added code in the functions
15992         that create the menubar to extract a list of accelerators for the
15993         top level menubar, which is used in the event code to determine
15994         whether a particular alt-key combination should be used to invoke
15995         a menu item, or should be passed through to access the standard
15996         XEmacs keymap binding for this key combination.
15997
15998         Much needed GCPROing.
15999
16000         * menubar-x.c:
16001         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
16002         * menubar-x.c (menu_item_descriptor_to_widget_value):
16003         * menubar-x.c (restore_in_menu_callback):
16004         * menubar-x.c (x_popup_menu):
16005         * menubar-x.c (menu_move_up):
16006         * menubar-x.c (menu_move_down):
16007         * menubar-x.c (menu_move_left):
16008         * menubar-x.c (menu_move_right):
16009         * menubar-x.c (menu_select_item):
16010         * menubar-x.c (command_builder_operate_menu_accelerator):
16011         * menubar-x.c (menu_accelerator_junk_on_error):
16012         * menubar-x.c (command_builder_find_menu_accelerator):
16013         * menubar-x.c (Faccelerate_menu):
16014         * menubar.h:
16015         Moved a whole bunch of code here that was previously in
16016         event-stream.c as described above.  There is also code connected
16017         to the new standard of adding an accelerator to the beginning of
16018         menu items that don't have one as described above and below.
16019
16020         * menubar.c:
16021         * menubar.c (menu_parse_submenu_keywords):
16022         * menubar.c (Fmenu_find_real_submenu):
16023         * menubar.c (Fnormalize_menu_item_name):
16024         * menubar.c (syms_of_menubar):
16025         * menubar.c (vars_of_menubar):
16026         * menubar.c (complex_vars_of_menubar):
16027
16028         a) Cleaned up a bunch of documentation and improved it.
16029
16030         b) XEmacs now automatically adds an accelerator onto the beginning
16031         of any menu items that don't have one.  I did this because there
16032         will inevitably be some menu items on the main menubar that don't
16033         have accelerators on them because the package that adds that
16034         particular menu item hasn't yet been fixed up to have accelerators
16035         in them and it looked rather strange to have some items with and
16036         some items without accelerators, especially since even in items
16037         without accelerators, you can, at least under windows, still
16038         access the item through an accelerator corresponding to the first
16039         character in the item's name.  If people don't like this behavior,
16040         I can add a variable to turn it off optionally, but I'm not sure
16041         this is a good idea because we really do need to have accelerators
16042         on all of the menu items, and if a package doesn't like the
16043         accelerators being put on the first character, then it should put
16044         the accelerators where they belong.
16045
16046         c) I made a behavior change, which is that the descriptor that
16047         specifies the text of the menu item, which formerly was just a
16048         string, can now also be an evaluated expression.  This makes this
16049         descriptor parallel with all of the others, which could also be
16050         evaluated expressions.  This also obviates the need for the
16051         keyword :label, which was previously listed in the documentation
16052         as unimplemented, and which was for the same purpose.
16053
16054         d) GCPROing.
16055
16056         * ntproc.c:
16057         * ntproc.c (new_child):
16058         * ntproc.c (sys_spawnve):
16059         * ntproc.c (find_child_console):
16060         * ntproc.c (sys_kill):
16061         Fixed compile warnings.  By the way, this file should really go
16062         away entirely, and this will happen as soon as Kirill makes his
16063         final round of process cleanups, which affect the function
16064         call-process.
16065
16066         * process-nt.c:
16067         * process-nt.c (struct nt_process_data):
16068         * process-nt.c (find_process_from_pid):
16069         * process-nt.c (send_signal_the_nt_way):
16070         * process-nt.c (enable_child_signals):
16071         * process-nt.c (find_child_console):
16072         * process-nt.c (send_signal_the_95_way):
16073         * process-nt.c (nt_finalize_process_data):
16074         * process-nt.c (ensure_console_window_exists):
16075         * process-nt.c (nt_create_process):
16076         * process-nt.c (nt_kill_child_process):
16077         * process-nt.c (nt_kill_process_by_pid):
16078         * process-nt.c (nt_open_network_stream):
16079         * process-nt.c (vars_of_process_nt):
16080         Copied over code from Emacs 20.5 to correctly send signals to sub-
16081         processes under Windows 95.  Also added code to automatically
16082         create and hide console window when a sub-process is created under
16083         Windows 95, which obviates the need for the separate runemacs.exe
16084         executable, and finally implemented some variables that were
16085         implemented in Emacs 20.5, but previously not in XEmacs.  These
16086         include mswindows- start-process-share-console and
16087         mswindows-start-process-inherit-error-mode. (Both of these only
16088         apply to Windows 95.)
16089
16090         * regex.c (regex_compile): Fixed a compile warning.
16091
16092         * select-msw.c:
16093         * select-msw.c (mswindows_own_selection):
16094         * select-msw.c (mswindows_get_foreign_selection):
16095         * select-msw.c (mswindows_disown_selection):
16096         * select-msw.c (console_type_create_select_mswindows):
16097         * select-msw.c (syms_of_select_mswindows):
16098         Cleaned up the file and implemented the device method
16099         selection_exists_p, which had accidentally been left out.  Also
16100         removed four lisp functions that were remnants from before the
16101         time when the selection code was properly device abstracted.
16102         These functions are no longer needed because there are generic
16103         equivalents, and because they were added recently and don't exist
16104         in FSF Emacs, I don't think there's any problem with just deleting
16105         them.
16106
16107         * sysdep.c:
16108         * sysdep.c (sys_subshell):
16109         Fixed a compile warning, although in this case there's probably
16110         something wrong with this code, and it ought to be looked into
16111         more thoroughly by somebody who understands it.
16112
16113         * window.c:
16114         * window.c (Fwindow_text_area_height):
16115         * window.c (Fwindow_width):
16116         * window.c (Fwindow_full_width):
16117         * window.c (Fwindow_pixel_width):
16118         * window.c (debug_print_window):
16119         * window.c (syms_of_window):
16120         Added functions window-text-area-height and window-full-width,
16121         which are functions for returning various width and height
16122         characteristics of a window. (One of these functions is necessary
16123         for making the file dialog box work correctly, and the other one
16124         was added for completeness.)  Also added a table to the
16125         documentation for window-height which describes the entire scheme
16126         for accessing width and height characteristics of a window.
16127
16128 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16129
16130         * nt.c (fstat): Added a comment for another problem with
16131         non-encapsulated [f]stat(), reported by Adrian Aichner
16132         <aichner@ecf.teradyne.com>.
16133
16134 2000-03-11  Andy Piper  <andy@xemacs.org>
16135
16136         * window.c (make_dummy_parent): initialize subwindow instance
16137         cache.
16138         (Fset_window_configuration): zero extent_modiff.
16139
16140 2000-03-10  Andy Piper  <andy@xemacs.org>
16141
16142         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16143         more changes can be triggered.
16144         (Fredisplay_frame): ditto.
16145         (Fredraw_device): ditto.
16146         (Fredisplay_device): ditto.
16147         (redisplay_frame): make non-static.
16148         (redisplay_frame): call update_frame_gutter_geometry outside of
16149         display proper.
16150
16151         * gutter.h: declare update_frame_gutter_geometry.
16152
16153         * redisplay.h: declare redisplay_frame.
16154
16155         * gutter.c (update_frame_gutter_geometry): move geometry changes
16156         in update_frame_gutters here. Geometry changes can only occur
16157         outside of redisplay.
16158         (update_frame_gutters): remove geometry change code.
16159         (Fredisplay_gutter_area): make sure that we are in display when we
16160         update and that we have flushed any size changes.
16161
16162 2000-03-11  Andy Piper  <andy@xemacs.org>
16163
16164         * alloc.c (pdump_dump_data): remove i & count shadows.
16165
16166 2000-02-27  Mike Alexander  <mta@arbortext.com>
16167
16168         * sysdep.h: Declare pdump_read_file
16169
16170         * sysdep.c (pdump_read_file): New function
16171
16172         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16173         dump data
16174
16175 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16176
16177         * lrecord.h: add `lrecord_type_pgsetenv'.
16178
16179 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16180
16181         * symsinit.h: declare (vars|syms)_of* functions.
16182         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16183
16184 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16185
16186         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16187
16188         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16189         GCCs.
16190
16191         * emacs.c (main_1): Call postgres initialization code.
16192
16193         * postgresql.h: New file.  PostgreSQL RDBMS support.
16194         * postgresql.c: New file.
16195
16196 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16197
16198         * redisplay-output.c (redisplay_output_display_block): Disable
16199         redundant code.
16200
16201 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16202
16203         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16204         (Fcanna_henkan_next): Ditto.
16205         (Fcanna_bunsetu_henkou): Ditto.
16206         (Fcanna_henkan_kakutei): Ditto.
16207         (Fcanna_henkan_end): Ditto.
16208         (Fcanna_henkan_quit): Ditto.
16209         (Fcanna_henkan_next): Set retun value correctly.
16210         (c2mu): Use unsigned char instead of signed char.
16211
16212 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16213
16214         * emacs.c (main_1): Always call syms_of_gui.
16215         * inline.c: include gui.h
16216
16217 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16218
16219         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16220         converted to Lisp_Object.
16221         (Qtop_bottom): New variable.
16222         (syms_of_redisplay): Initialize it.
16223         * redisplay.h (Vvisible_bell): Ditto.
16224         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16225         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16226         only flash top and bottom.
16227
16228 2000-03-08  Andy Piper  <andy@xemacs.org>
16229
16230         * buffer.c (Frename_buffer): record new buffer name the right way.
16231
16232 2000-03-08  Andy Piper  <andy@xemacs.org>
16233
16234         * glyphs.c (update_subwindow): increase hash depth so that widget
16235         items get picked up properly.
16236
16237         * redisplay-output.c (compare_runes): increase hash depth so that
16238         widget items get picked up properly.
16239
16240 2000-03-08  Andy Piper  <andy@xemacs.org>
16241
16242         * gutter.c (output_gutter): add some debug.
16243
16244         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16245         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16246         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16247
16248         * redisplay-output.c (compare_runes): use display_hash to
16249         determine if glyphs really are not the same.
16250
16251         * glyphs.c (update_subwindow): check display_hash to see if
16252         anything really needs to be updated. If not then do
16253         nothing. Record the display_hash after updating.
16254         (image_instance_equal): compare the image_instance face also.
16255
16256 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16257
16258         * redisplay.h: Fix comment style.
16259
16260 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16261
16262         * consle-msw.h (struct mswindows_frame):
16263         Added new member paint_pending to indicate whether a WM_PAINT
16264         magic event has been queued for this frame.
16265
16266         * event-msw.c (mswindows_drain_windows_queue):
16267         Don't queue a WM_PAINT magic event if one is already queued.
16268         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16269
16270         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16271
16272 2000-03-07  Didier Verna  <didier@xemacs.org>
16273
16274         * dired.c: #include `regex.h' after `sysfile.h'.
16275
16276 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16277
16278         * sound.c (init_nas_sound): Fix compiler warning.
16279
16280         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16281         (FREE_STRUCT_P):
16282         (MARK_STRUCT_AS_FREE):
16283         (MARK_STRUCT_AS_NOT_FREE):
16284         Make `gcc -fstrict-aliasing' work properly.
16285
16286 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16287
16288         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16289         (mswindows_delete_device): Call CoUnnitialize().
16290
16291         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16292
16293 2000-02-25    <CraigL@DyCon.com>
16294
16295         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16296         <errno.h>.
16297
16298         * sysdep.c: This extern declaration for environ prevents MinGW
16299         from finding the variable in CRTDLL.DLL.
16300
16301         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16302         windows headers.
16303         (SHGFI_EXETYPE): ..
16304         (WM_MOUSEWHEEL): ..
16305         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16306         definitions.
16307         (MMRESULT): Removed, now defined in cygwin's windows headers.
16308         (TIMECAPS): ..
16309         (uid_t,gid_t,pid_t,ssize_t): ..
16310         (_timeb): Removed, MinGW defines both _timeb and timeb.
16311         (HAVE_H_ERRNO): Added.
16312         (HAVE_TZNAME): Added, configure is not detecting this.
16313
16314 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16315
16316         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16317         * syntax.c (syntax_match): Use it.
16318
16319         * cmds.c: Import auto-fill-chars from FSF Emacs.
16320         (Vauto_fill_chars): New variables.
16321         (internal_self_insert): Check Vauto_fill_chars.
16322         (vars_of_cmds):
16323         Declare auto-fill-chars as a Lisp variable and initialize it.
16324
16325 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16326
16327         * fileio.c (Fmake_symbolic_link):
16328         (Ffile_symlink_p):
16329         Run handlers even if local machine doesn't have symlinks.
16330
16331 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16332
16333         * event-msw.c (mswindows_drain_windows_queue):
16334         Don't generate paint magic events for non-XEmacs frames.
16335
16336 2000-03-05  Andy Piper  <andy@xemacs.org>
16337
16338         * redisplay.c (redisplay_frame): generate_displayable_area and
16339         friends assumes that we are not in GC, we therefore have to make
16340         sure that this doesn't happen.
16341
16342         * gutter.c (calculate_gutter_size): generate_displayable_area
16343         assumes that we are not in GC, we therefore have to make sure that
16344         this doesn't happen.
16345
16346 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16347
16348         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16349
16350 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16351
16352         * redisplay.c (regenerate_window): Make sure we set a sane value
16353         for end_pos even if we jump out of the loop.
16354         (regenerate_window): Answer Ben's question :-).
16355         (start_end_of_last_line): Add may_error argument.
16356         (start_of_last_line):
16357         (end_of_last_line): Pass may_error = 0.
16358         (end_of_last_line_may_error): New function.
16359         (pixel_to_glyph_translation): Use it, so we don't crash in
16360         event_to_glyph.
16361
16362 2000-03-04  Andy Piper  <andy@xemacs.org>
16363
16364         * window.h (struct window): add gutter_extent_modiff.
16365
16366         * window.c (allocate_window): zero out gutter_extent_modiff.
16367
16368         * redisplay.h: declare sync_display_line_structs.
16369
16370         * redisplay.c (add_glyph_rune): add a better comment.
16371
16372         * redisplay-output.c (sync_display_line_structs): made non-static.
16373         (compare_runes): remove unneccesary glyph cachel access.
16374
16375         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16376
16377         * gutter.c (output_gutter): don't output the gutter if extent
16378         changes only involve extents in buffers. use 4 sets of display
16379         lines.
16380         (gutter_extent_signal_changed_region_maybe): new function. Mark
16381         extents in gutters as changed.
16382         (update_frame_gutters): use 4 sets of display lines.
16383         (reset_gutter_display_lines): ditto.
16384         (free_frame_gutters): ditto.
16385         (redraw_exposed_gutter): force output of gutters.
16386
16387         * frame.h (struct frame): add 4 sets of gutter display lines.
16388
16389         * extents.c: (extent_changed_for_redisplay): signal changes to
16390         extents in strings in the gutter as well as extents in buffers.
16391
16392 2000-03-02  Andy Piper  <andy@xemacs.org>
16393
16394         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16395
16396         * frame.c (Fmake_frame): make sure the gutters get initialized
16397         after the frame is visible.
16398         (set_frame_selected_window): re-arrange compilation macros a
16399         little.
16400         (change_frame_size_1): mark gutters changed.
16401
16402         * device.c (Fset_device_class): mark gutters changed.
16403
16404 2000-03-01  Andy Piper  <andy@xemacs.org>
16405
16406         * window.c (window_top_frame_gutter_height): deleted.
16407         (window_bottom_frame_gutter_height): ditto.
16408         (window_left_frame_gutter_height): ditto.
16409         (window_right_frame_gutter_height): ditto.
16410         (window_top_gutter_height): don't use them.
16411         (window_bottom_gutter_height): ditto.
16412         (window_left_gutter_width): ditto.
16413         (window_right_gutter_width): ditto.
16414         (Fsplit_window): ditto.
16415         (Fwindow_pixel_edges): don't use border dimensions here.
16416
16417         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16418         (update_scrollbar_instance): ditto.
16419
16420         * redisplay.c (generate_modeline): don't take gutters into account.
16421         (generate_modeline): ditto.
16422         (redisplay_frame): small gutter display optimization.
16423
16424         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16425
16426         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16427         gutters into account.
16428
16429         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16430         for window position and type.
16431
16432         * gutter.c (get_gutter_coords): fix for frame gutters.
16433         (update_frame_gutters): update frame geometry if the gutters have
16434         changed.
16435         (init_frame_gutters): record current gutter geometries.
16436
16437         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16438         var.
16439         (mswindows_widget_instantiate): ditto.
16440
16441         * frame.h (struct frame): add current_gutter_bounds.
16442
16443         * frame.c (change_frame_size_1): position window and minibuffer
16444         appropriately taking into account the frame gutters.
16445
16446         * frame-x.c: (x_initialize_frame_size): take into account the
16447         frame gutters.
16448
16449 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16450
16451         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16452
16453 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16454
16455         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16456
16457 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16458
16459         * file-coding.c (reset_decoding_stream): Clear previous
16460         detection state when autodetect.
16461
16462 2000-02-29  Didier Verna  <didier@xemacs.org>
16463
16464         * extents.c (set_extent_glyph_1): don't require extents to be
16465         attached.
16466
16467 2000-02-27  Andy Piper  <andy@xemacs.org>
16468
16469         * gutter.c (Fset_default_gutter_position): don't default left and
16470         right gutter visibility to t.
16471         (Fset_default_gutter_position): run
16472         default-gutter-position-changed-hook.
16473         (syms_of_gutter): add default-gutter-position-changed-hook.
16474
16475 2000-02-26  Andy Piper  <andy@xemacs.org>
16476
16477         * specifier.c (Fmake_specifier): add gutter references.
16478
16479         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16480
16481         * lisp.h: declare Fvalid_plist_p.
16482
16483         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16484         as changed.
16485         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16486         well as its visibility so that it gets reconstructed.
16487         (construct_window_gutter_spec): new function. Construct a string
16488         to be displayed in the gutter from a plist of strings. Take care
16489         to only use elements that are declared as visible.
16490         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16491         WINDOW_GUTTER.
16492         (gutter_validate): allow plists of strings in the specifier.
16493         (gutter_specs_changed): construct the real_gutter from the gutter
16494         specs using construct_window_gutter_spec.
16495         (gutter_visible_validate): gutter-visible is a new specifier type.
16496         (Fgutter_visible_specifier_p): new function for the new specifier.
16497         (syms_of_gutter): declare gutter-visible and
16498         Fgutter_visible_specifier_p.
16499         (specifier_type_create_gutter): intitalize new gutter-visible
16500         specifier.
16501         (reinit_specifier_type_create_gutter): ditto.
16502         (specifier_vars_of_gutter): use new specifier type for gutter
16503         visibility.
16504         (init_frame_gutters): construct real_gutter correctly.
16505         (Fgutter_specifier_p): beef up documentation.
16506         (Fgutter_size_specifier_p): ditto.
16507
16508         * winslots.h: add real_gutter slots.
16509
16510 2000-02-25  Andy Piper  <andy@xemacs.org>
16511
16512         * device-msw.c: Be kind to older cygwin versions. From Raymond
16513         Toy <toy@rtp.ericsson.se>.
16514
16515         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16516         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16517
16518 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16519
16520         * elhash.c (MARK_OBJ): Practice macro hygiene.
16521
16522 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16523
16524         * miscplay.c: s/__inline__/inline/g;
16525         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16526         (get_device_compdc): INLINE ==> static inline
16527         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16528         find -name '*.h' | \
16529         xargs global-replace \
16530         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16531
16532 2000-02-25  Andy Piper  <andy@xemacs.org>
16533
16534         * window.c (window_top_frame_gutter_height): new function.
16535         (window_top_window_gutter_height): ditto.
16536         (window_top_gutter_height): use them.
16537         (window_bottom_frame_gutter_height): new function.
16538         (window_bottom_window_gutter_height): ditto.
16539         (window_bottom_gutter_height): use them.
16540         (window_left_window_gutter_width): new function.
16541         (window_left_frame_gutter_width): ditto.
16542         (window_left_gutter_width): use them.
16543         (window_right_window_gutter_width): new function.
16544         (window_right_frame_gutter_width): ditto.
16545         (window_right_gutter_width): use them.
16546         (window_pixel_height): new function. calulate window pixel height
16547         with frame gutter involvement.
16548         (Fsplit_window): calculate new sizes taking frame gutters into
16549         account.
16550         (window_char_height_to_pixel_height): don't include frame gutters.
16551         (window_char_height): use window_pixel_height.
16552         (window_pixheight): rename from window_pixel_height.
16553         (change_window_height): use it.
16554         (window_pixel_height_to_char_height): don't include frame gutters.
16555         (window_char_width_to_pixel_width): ditto.
16556
16557 2000-02-25  Andy Piper  <andy@xemacs.org>
16558
16559         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16560         if it is.
16561
16562 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16563
16564         * alloc.c (staticpro):
16565         (staticpro_nodump):
16566         (dumpstruct):
16567         (dumpopaque):
16568         (pdump_wire):
16569         (pdump_wire_list):
16570         (compact_string_chars):
16571         (pdump_dump_wired):
16572         Convert:  if (foo) abort();  ==>  assert (! foo);
16573
16574         * eldap.c (Fldap_search_basic):
16575         (Fldap_add):
16576         (Fldap_modify):
16577         (Fldap_delete):
16578         Fix compiler warnings, and possible crashes if (random) return
16579         value were to be used.
16580
16581 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16582
16583         * device-msw.c: Workaround ResetDC failure.
16584
16585         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16586         applying a devmode.
16587
16588         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16589         (mswindows_text_width): Do not start printer page.
16590
16591         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16592
16593         * glyphs-msw.c: Added image methods to msprinter console and
16594         msprinter-specific image instantiation.
16595
16596 2000-02-20  Mike Alexander  <mta@arbortext.com>
16597
16598         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16599         to avoid crashes when selection-sets-clipboard is on
16600         (mswindows_own_selection): ditto
16601
16602 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16603
16604         * glyphs-msw.c:
16605         * redisplay-msw.c (get_frame_dc):
16606         (get_frame_compdc):
16607         * console-msw.h:
16608         * device-msw.c (mswindows_init_device):
16609         (mswindows_delete_device):
16610         (msprinter_init_device):
16611         (msprinter_delete_device):
16612         * frame-msw.c (mswindows_init_frame_1):
16613         (mswindows_delete_frame):
16614         (msprinter_init_frame_3):
16615         (msprinter_delete_frame): Move compatible DC to device object from
16616         frame object, for both mswindows and msprinter. Only one at a time
16617         is needed, it is a real waste to have one per frame!
16618
16619 2000-02-23  Andy Piper  <andy@xemacs.org>
16620
16621         * glyphs.c: add dynamic width and height elements.
16622         (image_instance_equal): ditto.
16623
16624         * glyphs-widget.c (widget_query_geometry): calculate width and
16625         height dynamically if required.
16626         (initialize_widget_image_instance): initialize dynamic dimensions.
16627         (widget_instantiate): pick-up dynamic dimensions.
16628
16629         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16630         dynamic determination. Add appropriate macros.
16631
16632         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16633         dimensions safe.
16634         (WINDOW_GUTTER_SIZE): ditto.
16635         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16636
16637         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16638         inline.
16639         (get_frame_dc): ditto.
16640
16641         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16642         here.
16643
16644 2000-02-23  Martin Buchholz <martin@xemacs.org>
16645
16646         * XEmacs 21.2.31 is released.
16647
16648 2000-02-22  Ben Wing <ben@xemacs.org>
16649
16650         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16651
16652 2000-02-22  Andy Piper  <andy@xemacs.org>
16653
16654         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16655
16656 2000-02-21  Mike Sperber <mike@xemacs.org>
16657
16658         * .dbxrc:
16659         * .gdbinit:
16660         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16661         variables.
16662
16663 2000-02-21  Mike Sperber <mike@xemacs.org>
16664
16665         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16666
16667 2000-02-21  Martin Buchholz <martin@xemacs.org>
16668
16669         * XEmacs 21.2.30 is released.
16670
16671 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16672
16673         Performance hacking.
16674         * *.c (syms_of_*):
16675         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16676         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16677         * emacs.c (main_1):
16678         * lisp.h (DEFUN):
16679         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16680         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16681         * symeval.h (DEFVAR_SYMVAL_FWD):
16682         * symbols.c (guts_of_unbound_marker):
16683         Make all c_readonly objects also lisp_readonly and marked for life.
16684         * lrecord.h (struct lrecord_implementation):
16685         Document flags better.
16686         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16687         * lrecord.h (DECLARE_LRECORD):
16688         * lrecord.h (XSETRECORD):
16689         * lrecord.h (RECORDP):
16690         * lrecord.h (RECORD_TYPEP):
16691         * lrecord.h (RECORD_MARKER): New.
16692         * lrecord.h (error_check_*):
16693         * lrecord.h (CONCHECK_NONRECORD):
16694         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16695         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16696         * lrecord.h (set_lheader_implementation):
16697         * lrecord.h (enum lrecord_type): New.
16698         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16699         * alloc.c (disksave_object_finalization_1):
16700         * alloc.c (mark_object):
16701         * alloc.c (lrecord_type_index):
16702         * alloc.c (tick_lcrecord_stats):
16703         * alloc.c (Fgarbage_collect):
16704         * alloc.c (init_alloc_once_early):
16705         * alloc.c (pdump_load):
16706         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16707         * alloc.c (lrecord_type_index): Delete.
16708         Make lisp object type indexes be constant.
16709           Makes (byte-compile) 5% faster.
16710         Put all marker functions into their own array.
16711           Makes (garbage-collect) 5% faster.
16712         Optimize SYMBOL_VALUE_MAGIC_P.
16713           Makes (byte-compile) 2-3% faster.
16714         * config.h.in (gc_checking_assert): New.
16715         * alloc.c: Use gc_checking_assert().
16716         * .dbxrc: Make compatible with new object type implementation.
16717         * .gdbinit: Make compatible with new object type implementation.
16718         * alloc.c: Delete all symbols defined only for debugging, such as
16719         Lisp_Type_Vector and lrecord_charset.
16720
16721 2000-02-21  Andy Piper  <andy@xemacs.org>
16722
16723         * gui-msw.c (Fmswindows_shell_execute): fix file location
16724         problems.
16725
16726         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16727         unshowing so that set_window_buffer doesn't undo
16728         kill_buffer_hook's hard work.
16729
16730         * glyphs-widget.c (tab_control_query_geometry): don't count the
16731         first item when calculating geometry.
16732
16733         * glyphs.c (map_subwindow): remove redundant code.
16734         (update_frame_subwindows): be more circumspect about when to
16735         update subwindows.
16736
16737         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16738         when items haven't changed. Update faces if faces have changed as
16739         well as just the widget face.
16740         (x_tab_control_update): Update faces if faces have changed as well
16741         as just the widget face.
16742
16743 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16744
16745         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16746         registration.
16747         (build_syscolor_string): Use mswindows_color_to_string to try to
16748         get a named color.
16749         (mswindows_device_system_metrics): Reverse the foreground and
16750         background colors so that they match the documentation.
16751
16752         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16753         they match the default Windows palette.
16754         (mswindows_color_to_string): New function.
16755
16756 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16757
16758         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16759
16760 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16761
16762         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16763         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16764
16765         * symbols.c (init_symbols_once_early): Removed obsolete
16766         DATA_SEG_BITS related kludge.
16767         (defvar_magic): Ditto.
16768
16769         * malloc.c: Removed obsolete DATA_SEG_BITS
16770         * ralloc.c: Ditto.
16771         * mem-limits.h: Ditto.
16772
16773         * Makefile.in.in: Removed obsolete HAVE_SHM
16774         * emacs.c: Ditto.
16775
16776 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16777
16778         *  device-msw.c (mswindows_delete_device): Free DDE string
16779         handles.
16780
16781 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16782
16783         * keymap.c (get_keyelt):
16784         * unexnt.c (unexec):
16785         * vm-limit.c (memory_warnings):
16786         * ntheap.c (recreate_heap):
16787         * ntheap.h (UNINIT_PTR):
16788         * select-msw.c (Fmswindows_get_clipboard):
16789         (Fmswindows_set_clipboard):
16790         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16791         * objects-msw.c:
16792         * menubar-msw.c (displayable_menu_item):
16793         * glyphs-msw.c:
16794         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16795         * sysdep.c (sys_subshell):
16796         * process-nt.c (nt_create_process):
16797         * nt.c (normalize_filename):
16798         (dostounix_filename):
16799         (unixtodos_filename):
16800         * ntproc.c (win32_executable_type):
16801         * ntplay.c (play_sound_data_1):
16802         (play_sound_file):
16803         * editfns.c (get_home_directory):
16804         * event-msw.c (struct winsock_stream):
16805         (mswindows_dde_callback):
16806         * device-msw.c (msprinter_init_device):
16807         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16808
16809         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16810         mswindows_clear_toolbar were swapped!
16811
16812         * objects-msw.c:(colormap_t):
16813         (fontmap_t):
16814         * emacs.c (struct standard_args): Fixed const jumble.
16815
16816         * glyphs-widget.c (update_widget): Fixed comparison notation.
16817
16818         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16819
16820         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16821         __declspec(noreturn) syntax.
16822
16823 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16824
16825         * eldap.c (Fldap_open):
16826         (Fldap_search_basic):
16827         (Fldap_add):
16828         (Fldap_modify):
16829         Use new coding system conversion macros.
16830
16831 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16832
16833         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16834
16835 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16836
16837         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16838         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16839
16840         * eldap.c (Qadd, Qreplace): New constant symbols
16841         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16842         interruptions by XEmacs signals
16843         Remove unnecessary calls to slow_down_interrupts and
16844         speed_up_interrupts
16845         (Fldap_search_basic): Renamed from Fldap_search_internal
16846         Added new optional parameter VERBOSE that triggers the
16847         display of progress messages
16848         Remove unnecessary calls to slow_down_interrupts and
16849         speed_up_interrupts
16850         LDAP result code analysis rewritten
16851         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16852         (syms_of_eldap): Define the new symbols and functions
16853
16854
16855 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16856
16857         * realpath.c: Determine PATH_MAX maximally portably.
16858
16859         * insdel.c (bytecount_to_charcount): Optimize.
16860         The function used to be optimized for entirely ASCII sequences.
16861         Now it is optimized for successive characters from the same
16862         charset.  This also wins big for _mostly_ ASCII sequences.
16863
16864         * fileio.c (Ffile_truename): convert return from realpath() using
16865         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16866         - Rewrite GCPROing slightly.
16867
16868         * sysdep.c (sys_open): Do filename conversion, like all other
16869         sys_* functions.  Fixes bug:
16870         (let ((file-name-coding-system 'iso-8859-2))
16871            (write-region x y latin2-name))
16872         ==> writes filename using internal encoding.
16873
16874 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16875
16876         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16877         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16878         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16879         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16880         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16881         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16882         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16883         (CONST_IF_NOT_DEBUG): Delete.
16884         * alloc.c (this_one_is_unmarkable): Delete.
16885         (mark_object): Don't check for this_one_is_unmarkable. Use the
16886         c_readonly flag instead.
16887         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16888
16889 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16890
16891         * event-msw.c (mswindows_drain_windows_queue):
16892         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16893         away redundant repaint events.
16894
16895 2000-02-17  Andy Piper  <andy@xemacs.org>
16896
16897         * redisplay.h: declare mark_redisplay_structs.
16898
16899         * redisplay.c (redisplay_window):
16900         (redisplay_frame): don't check subwindows_state_changed.
16901         (mark_redisplay): mark gutters here.
16902
16903         * glyphs.c: (instantiate_image_instantiator): always layout if we
16904         haven't done so already.
16905         (allocate_image_instance): don't mark as dirty.
16906         (update_subwindow): bind inhibit_quit.
16907
16908         * gutter.c (mark_gutters): new function.
16909
16910         * glyphs-x.c (x_update_widget): Always resize to get round a
16911         widget bug.
16912
16913         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16914         breaking absolutely everything.
16915
16916         * gutter.h: declare mark_gutters.
16917
16918 2000-02-16  Martin Buchholz <martin@xemacs.org>
16919
16920         * XEmacs 21.2.29 is released.
16921
16922 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16923
16924         * fns.c (size_bit_vector): Fix computation of the size.
16925
16926 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16927
16928         * *.[ch]: Change CONST to const globally.
16929         find -name '*.[ch]' | \
16930         xargs global-replace \
16931         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16932         - Remove vestigial references to CONST_IS_LOSING
16933
16934 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16935
16936         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16937         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16938         events instead of dispatching them directly.
16939         (mswindows_handle_paint): New function to do repainting.
16940         (mswindows_wnd_proc):
16941         (emacs_mswindows_handle_magic_event): Call above function.
16942
16943 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16944
16945         * objects-msw.c (mswindows_create_font_variant): Return the new
16946         font handle.
16947         (initialize_font_instance): Get font metrics from the underlined
16948         variant of the font to cope with the case where the underlined
16949         font has a bigger descent.
16950
16951 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16952
16953         * gui.c (gui_item_accelerator): Return the first underlined
16954         character in item name.
16955
16956 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16957
16958         * lisp.h: Added Qprinter.
16959
16960         * general.c (syms_of_general): Initialized it.
16961
16962         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16963         (get_frame_dc):
16964         (get_frame_compdc): Made inline.
16965
16966         * console.h (struct console_methods): Added eject_page method.
16967
16968         * frame.h: Added FRAME_DISPLAY_P and friends.
16969         Aligned backslahes in many macros in more readable fashion.
16970         Added page_number to struct frame, and an accessor macro
16971         for it.
16972
16973         * defice.h: Added DEVICE_DISPLAY_P and friends.
16974
16975         * device.c (Fdevice_printer_p): Used these.
16976
16977         * frame.c (allocate_frame_core): Initialize page number.
16978         (Fprint_job_page_number):
16979         (Fprint_job_eject_page): Implemented.
16980
16981         * frame-msw.c (msprinter_eject_page): Added method.
16982         (msprinter_start_page): Added.
16983
16984         * window.c (Fwindow_truncated_p): Fixed docstring.
16985         (Fwindow_last_line_visible_height): Implemented.
16986
16987 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16988
16989         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16990
16991 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16992
16993         * syntax.c (scan_words): Always advance at least one character.
16994
16995 2000-02-13  Andy Piper  <andy@xemacs.org>
16996
16997         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16998         to make sure the glyph is in the cachels.
16999
17000         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
17001         global image instance flag.
17002         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
17003         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
17004
17005         * glyphs.c (allocate_image_instance): set dirty bits correctly.
17006         (Fset_image_instance_property): mark layout as changed.
17007         (invalidate_glyph_geometry_maybe): mark layout as changed.
17008         (glyph_width): use new NEEDS_LAYOUT macro.
17009         (glyph_ascent): ditto.
17010         (glyph_descent): ditto.
17011         (glyph_height): ditto.
17012         (image_instance_layout): mark layout as clean after laying out.
17013         (update_subwindow): don't mark layout as clean here.
17014
17015         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
17016         should no longer be needed.
17017
17018         * glyphs-x.c (x_update_widget): sanitize asserts.
17019         (x_finalize_image_instance): sanitize assignment to widgets.
17020
17021         * glyphs-widget.c (widget_instantiate): don't need to clear the
17022         layout flag here.
17023
17024 2000-02-13  Martin Buchholz  <martin@xemacs.org>
17025
17026         * sysdep.c (getcwd): Use standard prototype.
17027         * sysdep.h (getcwd): Use standard prototype.
17028
17029         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
17030         (sequence, start, end).
17031         Remove redundant type checking.
17032         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
17033         view of `caller-protects') to avoid a crash where the real fix was
17034         found elsewhere.
17035
17036 2000-02-12  Martin Buchholz  <martin@xemacs.org>
17037
17038         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
17039
17040         * s/sol2.h: Remove feature macro initialization.
17041
17042         * alloc.c (alloc_lcrecord): Add more type checking assertions.
17043         (vector_hash): New.  Code from internal_hash.
17044         * lrecord.h:
17045         Fix up allocation subsystem comments.
17046
17047         * config.h.in: Add __EXTENSIONS__ for Solaris.
17048
17049         * systime.h (EMACS_GETTIMEOFDAY): New.
17050         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
17051         Remove Solaris-specific code.
17052         Use void* for the (ignored) second arg for gettimeofday().
17053
17054         * elhash.c (hash_table_hash): Implement it, finally.
17055         * elhash.c:  Use hashcode_t.
17056
17057         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
17058         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
17059
17060         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
17061         * fns.c (size_bit_vector):
17062         * alloc.c (size_vector):
17063         (make_vector_internal):
17064         (make_bit_vector_internal):
17065         (sweep_bit_vectors_1):
17066         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
17067
17068 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17069
17070         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17071         Include strings.h to avoid warnings for bzero and strcasecmp.
17072
17073 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17074
17075         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17076         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17077
17078         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17079         sequence.
17080
17081 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17082
17083         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17084         use a value field instead.
17085         (symbol_value_forward_forward): Use value field.
17086         (DEFVAR_SYMVAL_FWD): Use value field.
17087         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17088         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17089         (DEFVAR_CONST_INT): Ditto.
17090         (DEFVAR_BOOL): Ditto.
17091         (DEFVAR_CONST_BOOL): Ditto.
17092         (DEFVAR_INT_MAGIC): Ditto.
17093         (DEFVAR_BOOL_MAGIC): Ditto.
17094
17095         * symbols.c (guts_of_unbound_marker): Use value field.
17096         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17097         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17098
17099         * lisp.h: Declare dumpopaque and noninteractive1.
17100
17101         * alloc.c (dumpopaque): Added.
17102         (pdump_dump_opaquevec): Added.
17103         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17104         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17105         noninteractive.
17106
17107 2000-02-10  Andy Piper  <andy@xemacs.org>
17108
17109         * glyphs.c (image_instance_layout): if the size changes, mark it
17110         as such.
17111
17112         * redisplay-output.c (redisplay_output_layout): Update the
17113         subwindow here.
17114         (redisplay_output_subwindow): ditto.
17115
17116         * glyphs.c (update_subwindow): make sure we reset flags for
17117         layouts as well as everything else.
17118
17119         * glyphs-widget.c (layout_layout): don't need to set the instances
17120         dimensions here.
17121
17122 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17123
17124         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17125         not HAVE_DLOPEN, which is a lower-level thing.
17126
17127         * .cvsignore: Ignore gmon.out
17128
17129 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17130
17131         * .cvsignore: Ignore portable dumper xemacs.dmp file
17132
17133 2000-02-09  Andy Piper  <andy@xemacs.org>
17134
17135         * redisplay-output.c (redisplay_output_layout): be more clever
17136         about when we output based on the changed flags.
17137
17138         * glyphs.h (struct image_instantiator_methods): add update_method.
17139         (struct Lisp_Image_Instance): add changed flags. Declare new
17140         macros for manipulating them.
17141
17142         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17143         (image_instance_parent_glyph): find an image_instance's parent
17144         glyph or image_instance.
17145         (image_instance_layout): mark the size as changed.
17146         (set_image_instance_dirty_p): new function. mark an image
17147         instance, plus all of its parents, as dirty.
17148         (Fset_image_instance_property): use it.
17149         (Fglyph_animated_timeout_handler): use it.
17150         (update_subwindow): call update_widget and device methods for
17151         update_subwindow. Mark all changed flags as clean.
17152         (Fresize_subwindow): mark size as changed.
17153
17154         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17155         failures.
17156         (x_update_subwindow): only resize subwindows here.
17157         (x_update_widget): new function. Update all changed properties of
17158         a widget.
17159         (x_resize_subwindow): deleted.
17160         (x_widget_set_property): deleted.
17161         (x_progress_gauge_set_property): deleted.
17162         (x_progress_gauge_update): new function. Implement recorded
17163         changes.
17164         (x_tab_control_update): ditto.
17165         (x_tab_control_set_property): deleted.
17166         (console_type_create_glyphs_x): declare new functions.
17167         (image_instantiator_format_create_glyphs_x): ditto.
17168
17169         * glyphs-widget.c (widget_set_property): mark text changed.
17170         (update_widget): new function. Update properties of a widget.
17171         (widget_instantiate): for layouts make sure we set their
17172         children's parent correctly.
17173         (tab_control_set_property): new function. Record changes that will
17174         take place under redisplay's control.
17175         (progress_gauge_set_property): ditto.
17176         (image_instantiator_progress_guage): declare new functions.
17177         (image_instantiator_tab_control): ditto.
17178
17179         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17180         now.
17181         (mswindows_update_widget): new function. Update all properties on
17182         a widget that have changed.
17183         (mswindows_button_update): new function. Update a button's set
17184         state.
17185         (mswindows_tab_control_update): new function. Update the items in
17186         a tab.
17187         (mswindows_tab_control_set_property): deleted.
17188         (mswindows_progress_gauge_update): new function. Update the
17189         progress gauge's progress.
17190         (mswindows_widget_set_property): deleted. This is all done
17191         asynchronously now.
17192         (mswindows_progress_gauge_set_property): ditto.
17193         (console_type_create_glyphs_mswindows): declare new methods.
17194         (image_instantiator_format_create_glyphs_mswindows): ditto.
17195
17196         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17197         (msprinter_set_frame_properties): ditto.
17198
17199         * console.h (struct console_methods): Add update_widget_method.
17200
17201 2000-02-09  Andy Piper  <andy@xemacs.org>
17202
17203         * gui-msw.c (Fmswindows_shell_execute): Make
17204         mswindows-shell-execute industrial strength.
17205
17206 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17207
17208         * lrecord.h: Make macro argument `props' match member function `plist'.
17209         * fns.c (Fget):
17210         * fns.c (Fput):
17211         * fns.c (Fremprop):
17212         * fns.c (Fobject_plist):
17213         * alloc.c:
17214         * symbols.c:
17215         Object property list frobbing cleanup.
17216         - Allow any lisp object (compared with `eq'), not just symbols, as
17217           keys in object plists.
17218         - Move symbol plist frobbing into symbols.c, where it belongs.
17219         - Move string plist frobbing into alloc.c, where it belongs.
17220         - Everything's an lrecord now, so no need to test for symbolp, etc.
17221         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17222
17223         * extents.c: Reorder code to remove declarations.
17224
17225         * frame.h (store_in_alist): Remove useless declaration.
17226
17227 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17228
17229         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17230         * config.h.in: Add HAVE_XCONVERTCASE.
17231
17232 2000-02-07  Andy Piper  <andy@xemacs.org>
17233
17234         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17235         it breaks many things.
17236
17237 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17238
17239         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17240         actually can start a common comment type.
17241         * src/syntax.h (SYNTAX_END_P): ditto for end.
17242
17243 2000-02-07  Martin Buchholz <martin@xemacs.org>
17244
17245         * XEmacs 21.2.28 is released.
17246
17247 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17248
17249         * event-Xt.c (x_keysym_to_character): New.
17250         (maybe_define_x_key_as_self_inserting_character): New.
17251         (x_has_keysym): New.
17252         Auto-define all keys on the keyboard as self-insert-key.
17253
17254 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17255
17256         * menubar.c (vars_of_menubar): A small code simplification.
17257
17258         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17259
17260         * ExternalShell.c:
17261         * ExternalClient.c:
17262         * EmacsShell-sub.c:
17263         * EmacsManager.c:
17264         * EmacsFrame.c:
17265         Use consistent style for specifying X resources.
17266
17267         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17268         This makes (dontusethis-set-symbol-value-handler) actually usable.
17269
17270         * lrecord.h (lrecord_decription_type):
17271         * alloc.c (pdump_register_sub):
17272         (pdump_dump_data):
17273         (pdump_reloc_one):
17274         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17275         Comply with XEmacs coding style.
17276         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17277         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17278
17279         * keymap.c (Faccessible_keymaps):
17280         Make (accessible-keymaps map "\C-h") do the Right Thing.
17281         Make (accessible-keymaps map []) do the Right Thing.
17282         Make (accessible-keymaps map "") do the Right Thing.
17283         (check_keymap_definition_loop): New function.
17284         (keymap_store_internal): Keep luser from shooting self in foot,
17285           via (define-key ctl-x-4-map "p" global-map).
17286         Remove fullness slot from struct Lisp_Keymap, since hash tables
17287         are now reliable.
17288         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17289
17290 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17291
17292         * redisplay.c (init_redisplay): Fix small memory leak.
17293         * elhash.h:
17294         * elhash.c (pdump_reorganize_hash_table):
17295         Rename from reorganize_hash_table. Change prototype.
17296         Reuse the original memory for hentries.  Save 100k.
17297         * alloc.c (PDUMP_READ): new macro.
17298         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17299         * alloc.c: No need to #ifndef before #undef.
17300
17301         * print.c: Allow debug_print() to print readably by modifying
17302         debug_print_readably.  Use consistent variable names.
17303
17304         * .dbxrc: Try to get things to work even if stopped in a function
17305         without source available by explicitly specifying source files.
17306 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17307
17308         * unexnt.c (_start): Removed bogus code which caused loading heap
17309         from differrent executable file.
17310         Removed bogus assignment to _fmode, which caused inconsistencies.
17311
17312 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17313
17314         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17315         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17316         Do not preliminary `#define signal sigset'.
17317
17318         * systime.h: Do not prototype environ on windows nt and cygwin,
17319         this conflicts with system header.
17320
17321         * syssignal.h: Use correct define for WINDOWSNT
17322
17323         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17324         with system header.
17325
17326         * sysdep.c (near start of file): Fixed commentary and rearranged
17327         ifdefs in readable order.
17328         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17329         (start_of_text):
17330         (end_of_text):
17331         (end_of_data): Do not compile in if using PDUMP.
17332
17333         * symsinit.h: Prototyped vars_of_nt().
17334
17335         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17336         (find_child_console): Use it.
17337         (sys_kill): Use it.
17338
17339         * ntheap.h: Do not extern os_subtype.
17340
17341         * ntheap.c (cache_system_info): Do not cache unneeded:
17342         nt_major_version, nt_minor_version and os_subtype.
17343         (recreate_heap): Do not compile in when PDUMPing.
17344
17345         * nt.c (geteuid and friends): Use the new varibale
17346         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17347         (init_user_info): Removed the above mentioned hackery.
17348         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17349         stat has been fixed in the C runtime.
17350         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17351
17352         * file-coding.c (struct file_coding_dump): Do not define
17353         ucs_to_mule_table in the struct if not MULE.
17354         (struct struct lrecord_description fcd_description_1): Do not dump
17355         the above.
17356
17357         * emacs.c (main_1): Call vars_of_nt().
17358         (right before Fdump_emacs_data): Don't need lastfile if using both
17359         portabe dumper and system malloc.
17360
17361         * alloc.c (Fmemory_limit): Conditionalized out.
17362         (pdump): Use OPEN_BINARY for the portable dump file.
17363         (pdump_load): Ditto.
17364
17365 2000-02-02  Mike Alexander  <mta@arbortext.com>
17366
17367         * nt.c (convert_time): Set tm_isdst before calling mktime and
17368         avoid calling it at all if the compiler supports 64 bit integers.
17369         Also initialize utc_base_ft before using it.
17370
17371 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17372
17373         * frame.c (change_frame_size_1): Take f->internal_border_width
17374         into consideration when calculating the width of the frame.
17375
17376 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17377
17378         * window.c (frame_min_height):
17379         (frame_size_valid_p):
17380         (frame_pixsize_valid_p): Added.
17381         (check_frame_size): Generalized.
17382
17383         * window.h: Prototyped the above.
17384
17385         * lisp.h:
17386         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17387         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17388         Deleted Vwin32_* and Vbinary_process_* unused variables.
17389
17390         * device-msw.c (msprinter_init_device): Do not get printer font
17391         list; Added DEVMODE functions.
17392
17393         * frame-msw.c: Added lots of printer code.
17394
17395         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17396         general.c.
17397
17398         * console-msw.h: Added more msprinter device private slots.
17399
17400 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17401
17402         * event-msw.c (key_needs_default_processing_p): Added.
17403         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17404
17405 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17406
17407         * glyphs.c (image_instance_layout): Mark image instance as clean
17408         after layout.
17409         (glyph_dirty_p): Removed redundant function.
17410         (invalidate_glyph_geometry_maybe): Added.
17411         (update_glyph_cachel_data): Call it.
17412
17413         * glyphs.h: Prototyped it.
17414
17415         * redisplay.c (add_glyph_rune): Call it.
17416         (redisplay_window): Reset glyphs cachels when frame faces have
17417         changed, thus forcing recomputation of built-in border glyphs.
17418
17419 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17420
17421         * Makefile.in.in: Make portable dumper and purify play well together.
17422         Add imperfect, but better than nothing, support for pdump.
17423         Remove xemacs.dmp when temacs is re-generated.
17424         Don't ignore errors when dumping xemacs.
17425
17426         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17427
17428 2000-01-28  Andy Piper  <andy@xemacs.org>
17429
17430         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17431         (setup_normal_frame): ditto.
17432         (setup_frame_without_minibuffer): ditto.
17433         (setup_minibuffer_frame): ditto.
17434         (delete_frame_internal): ditto.
17435         (Fmake_frame_invisible): ditto.
17436         (Ficonify_frame): ditto.
17437
17438         * window.h: change Fset_window_buffer signature.
17439
17440         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17441         (Fset_window_buffer): allow recording of buffer if the window is
17442         the selected window.
17443         (window_loop): Use new Fset_window signature.
17444
17445 2000-01-23  Daniel Pittman  <daniel@danann.net>
17446
17447         * config.h.in: Added template for `HAVE_ATHENA_3D'
17448
17449 2000-01-29  Andy Piper  <andy@xemacs.org>
17450
17451         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17452
17453         * gutter.c (output_gutter): Don't output if the window isn't live.
17454
17455 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17456
17457         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17458         of 01/12/00: Moved SetFocus back here where it belongs.
17459
17460 2000-01-23  Andy Piper  <andy@xemacs.org>
17461
17462         * s/cygwin32.h: declare printer things.
17463
17464 2000-01-26  Andy Piper  <andy@xemacs.org>
17465
17466         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17467         Alexander.
17468
17469 2000-01-24  Andy Piper  <andy@xemacs.org>
17470
17471         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17472         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17473
17474         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17475
17476         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17477
17478         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17479
17480         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17481         (mswindows_output_display_block): Avoid local shadows.
17482
17483         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17484         (mswindows_enqueue_mouse_button_event): ditto.
17485         (mswindows_handle_gui_wm_command): remove declaration.
17486
17487         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17488         warnings.
17489
17490         * console-msw.h: Avoid shadows.
17491         (mswindows_get_toolbar_button_text):
17492         (emacs_mswindows_create_stream_pair):
17493         (emacs_mswindows_delete_stream_pair):
17494         (mswindows_handle_toolbar_wm_command): declare.
17495
17496         * device-msw.c (build_syscolor_string): Avoid shadows.
17497
17498 2000-01-23  Andy Piper  <andy@xemacs.org>
17499
17500         * glyphs-widget.c (widget_instantiate): reverse the items for
17501         layouts so that children are in the expected order.
17502
17503 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17504
17505         * ralloc.c: safe_bcopy ==> memmove
17506         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17507         * s/msdos.h: Remove BCOPY macros.
17508         * insdel.c (gap_right): Remove BCOPY conditional code.
17509         * insdel.c (gap_left): Remove BCOPY conditional code.
17510         XEmacs demands a working ANSI C compiler - hence memmove.
17511
17512         * regex.c (regex_compile): Remove accidental use of trigraphs.
17513
17514 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17515
17516         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17517         event timestamp.
17518
17519 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17520
17521         * event-msw.c (mswindows_drain_windows_queue): Added the
17522         parameter.
17523         (mswindows_need_event): Commented the call to
17524         mswindows_drain_windows_queue().
17525         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17526         only.
17527
17528         * console-msw.h: Moved a few function prototypes here from
17529         event-msw.c.
17530
17531         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17532         parameter from unsigned short to unsigned long.
17533         (Fmswindows_shell_execute): Added return value.
17534
17535 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17536
17537         * sysdep.c (init_system_name):
17538           process-unix.c (unix_canonicalized_host_name):
17539         Don't call freeaddrinfo() if getaddrinfo() fails.
17540
17541         * process-unix.c (unix_open_unix_network_stream):
17542         Moved the code to get a port # into address loop.
17543
17544 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17545
17546         * buffer.c (reinit_vars_of_buffer):
17547         The right place to initialize conversion_in_dynarr and
17548         conversion_out_dynarr.
17549
17550         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17551
17552         * process-unix.c (unix_canonicalize_host_name): Muleize.
17553         (unix_open_network_stream): Muleize.
17554
17555         * buffer.h: Fix up prototypes for ralloc.c functions.
17556
17557 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17558         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17559         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17560                 instead of gethostbyname()
17561         * process-unix.c: In unix_canonicalize_host_name() and
17562                 unix_open_network_stream(), add code to use getaddrinfo()
17563                 instead of gethostbyname().
17564
17565 2000-01-27  Daniel Pittman <daniel@danann.net>
17566
17567         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17568         libs when built with flat Athena.
17569
17570 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17571
17572         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17573         Use coding standards for function prototypes.
17574
17575 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17576
17577         * dialog-msw.c (push_lisp_string_as_unicode):
17578         * doc.c (unparesseuxify_doc_string):
17579         * dired.c (Fuser_name_completion_1):
17580         * dired.c (Fuser_name_all_completions):
17581         * dired.c (free_user_cache):
17582         * dired.c (user_name_completion):
17583         * console-x.c (get_display_arg_connection):
17584         * minibuf.c (clear_echo_area_internal):
17585         * minibuf.c (echo_area_append):
17586         * eldap.c (Fldap_open):
17587         * eldap.c (Fldap_search_internal):
17588         * frame-x.c (x_set_frame_text_value):
17589         * frame-x.c (x_set_frame_properties):
17590         * frame-x.c (x_create_widgets):
17591         * redisplay-tty.c (term_get_fkeys_1):
17592         * objects-x.c (x_parse_nearest_color):
17593         * objects-x.c (x_valid_color_name_p):
17594         * objects-x.c (x_initialize_font_instance):
17595         * objects-x.c (x_list_fonts):
17596         * objects-x.c (x_find_charset_font):
17597         * tooltalk.c (Fadd_tooltalk_message_arg):
17598         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17599         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17600         * process-unix.c (unix_create_process):
17601         * ntproc.c (sys_spawnve):
17602         * sound.c (Fplay_sound_file):
17603         * sound.c (Fplay_sound):
17604         * buffer.c (init_initial_directory):
17605         * buffer.c (init_buffer):
17606         * editfns.c (init_editfns):
17607         * editfns.c (Ftemp_directory):
17608         * editfns.c (Fuser_full_name):
17609         * editfns.c (uncache_home_directory):
17610         * editfns.c (get_home_directory):
17611         * editfns.c (Fuser_home_directory):
17612         * editfns.c (Fformat_time_string):
17613         * editfns.c (Fcurrent_time_string):
17614         * gui-x.c (button_item_to_widget_value):
17615         * database.c (Fopen_database):
17616         * event-Xt.c (x_to_emacs_keysym):
17617         * event-Xt.c (x_event_to_emacs_event):
17618         * event-Xt.c (describe_event_window):
17619         * event-msw.c (mswindows_wnd_proc):
17620         * glyphs-eimage.c (jpeg_instantiate):
17621         * glyphs-eimage.c (gif_instantiate):
17622         * glyphs-eimage.c (png_instantiate):
17623         * glyphs-eimage.c (tiff_instantiate):
17624         * glyphs-x.c (xbm_instantiate_1):
17625         * glyphs-x.c (x_xbm_instantiate):
17626         * glyphs-x.c (x_xface_instantiate):
17627         * glyphs-x.c (autodetect_instantiate):
17628         * glyphs-x.c (cursor_font_instantiate):
17629         * glyphs-x.c (x_widget_instantiate):
17630         * glyphs-x.c (x_widget_set_property):
17631         * glyphs-x.c (x_widget_property):
17632         * glyphs-x.c (BUILD_GLYPH_INST):
17633         * print.c (write_string_to_stdio_stream):
17634         * print.c (output_string):
17635         * print.c (Falternate_debugging_output):
17636         * print.c (Fexternal_debugging_output):
17637         * glyphs-msw.c (extract_xpm_color_names):
17638         * glyphs-msw.c (mswindows_xpm_instantiate):
17639         * glyphs-msw.c (bmp_instantiate):
17640         * glyphs-msw.c (resource_name_to_resource):
17641         * glyphs-msw.c (mswindows_resource_instantiate):
17642         * glyphs-msw.c (xbm_instantiate_1):
17643         * glyphs-msw.c (mswindows_xbm_instantiate):
17644         * glyphs-msw.c (mswindows_xface_instantiate):
17645         * glyphs-msw.c (mswindows_widget_instantiate):
17646         * glyphs-msw.c (add_tree_item):
17647         * glyphs-msw.c (add_tab_item):
17648         * glyphs-msw.c (mswindows_combo_box_instantiate):
17649         * glyphs-msw.c (mswindows_widget_property):
17650         * glyphs-msw.c (mswindows_combo_box_property):
17651         * glyphs-msw.c (mswindows_widget_set_property):
17652         * console.c (stuff_buffered_input):
17653         * objects-msw.c (mswindows_initialize_color_instance):
17654         * objects-msw.c (mswindows_valid_color_name_p):
17655         * objects-msw.c (mswindows_list_fonts):
17656         * objects-msw.c (mswindows_font_instance_truename):
17657         * bytecode.c (optimize_compiled_function):
17658         * select-x.c (symbol_to_x_atom):
17659         * select-x.c (x_atom_to_symbol):
17660         * select-x.c (hack_motif_clipboard_selection):
17661         * select-x.c (selection_data_to_lisp_data):
17662         * select-x.c (lisp_data_to_selection_data):
17663         * select-x.c (Fx_get_cutbuffer_internal):
17664         * select-x.c (Fx_store_cutbuffer_internal):
17665         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17666         * buffer.h (TO_INTERNAL_FORMAT): New function.
17667         * emacs.c (make_arg_list_1):
17668         * emacs.c (make_argc_argv):
17669         * emacs.c (main_1):
17670         * emacs.c (Fdump_emacs):
17671         * emacs.c (split_string_by_emchar_1):
17672         * file-coding.h:
17673         * lisp.h:
17674         * lstream.h:
17675         * symsinit.h:
17676         * device-x.c (x_init_device):
17677         * device-x.c (Fx_valid_keysym_name_p):
17678         * device-x.c (Fx_get_font_path):
17679         * device-x.c (Fx_set_font_path):
17680         * glyphs.c (bitmap_to_lisp_data):
17681         * glyphs.c (pixmap_to_lisp_data):
17682         * alloc.c (make_ext_string): Use coding system arguments.  Update
17683         all callers.
17684         * alloc.c (build_string):
17685         * callproc.c (child_setup):
17686         * callproc.c (init_callproc):
17687         * fileio.c (lisp_strerror):
17688         * fileio.c (directory_file_name):
17689         * fileio.c (Fexpand_file_name):
17690         * fileio.c (Ffile_truename):
17691         * fileio.c (Fsysnetunam):
17692         * fileio.c (Fdo_auto_save):
17693         * sysdep.c (sys_readdir):
17694         * tests.c: New file.  Allow adding C tests.
17695         Replace GET_* macros with a more comprehensible and flexible
17696         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17697         Modify all calls.
17698         Any coding system can be used to do format conversion.
17699         Eliminate enum external_data_format.
17700         Eliminate convert_to_external_format.
17701         Eliminate convert_to_internal_format.
17702         Make sure file-name, keyboard, terminal, and ctext are always
17703         defined as coding systems or aliases.  Make
17704         file-name-coding-system, terminal-coding-system, and
17705         keyboard-coding-system magical variables that are equivalent to
17706         defining the corresponding coding system aliases.
17707
17708         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17709         * file-coding.c (Fcoding_system_alias_p): New function.
17710         * file-coding.c (Fcoding_system_aliasee): New function.
17711         * file-coding.c (append_suffix_to_symbol): New function.
17712         * file-coding.c (dangling_coding_system_alias_p): New function.
17713         * file-coding.c (Ffind_coding_system):
17714         * file-coding.c (Fcopy_coding_system):
17715         * file-coding.c (encode_coding_no_conversion):
17716         * file-coding.c (syms_of_file_coding):
17717         * file-coding.c (vars_of_file_coding):
17718         Rewrite coding system alias code.
17719         Allow nested aliases, like symbolic links.
17720         Allow redefinition of coding system aliases.
17721         Prevent existence of dangling coding system aliases.
17722
17723         * dired.c (Fuser_name_completion_1):
17724         * dired.c (Fuser_name_all_completions):
17725         A crash would happen if user did QUIT in the middle of building
17726         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17727
17728         * lisp.h:
17729         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17730
17731         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17732         an unsigned char *.  Update all callers.
17733
17734 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17735
17736         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17737
17738 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17739
17740         * elhash.c (hentry_description): Use more portable definition.
17741         (resize_hash_table): Initialize new hentries using
17742         xnew_array_and_zero, thereby simplifying the code.
17743
17744         * mule-charset.c (make_charset): Make sure entire object is
17745         initialized, to avoid Purify warnings.
17746
17747         * alloc.c (resize_string): Fix unlikely crash with big strings.
17748
17749 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17750
17751         * realpath.c (xrealpath):
17752         Don't call getwd().
17753
17754 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17755
17756         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17757
17758 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17759
17760         * unexelfsgi.c (unexec): Change the way we decide which segment
17761         should be extended.
17762
17763         Assumption that .bss section should be outside the PT_LOADable
17764         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17765         it's present) is inside the 'data' segment. This would fail the
17766         test which was used to find a segment to grow and cover new
17767         heap. Instead of this assumption, I created another one - on IRIX
17768         the segment to grow should start below .bss and it's address
17769         should extent above the end of .bss. Once this segment is
17770         identified, it's grown to accommodate the new heap and new
17771         zero-length .bss section is added at the end of .data2.
17772
17773 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17774
17775         * eval.c (Feval): Wrong number of arguments should use original
17776         function, not the indirect_function version of it.
17777
17778 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17779
17780         * glyphs-x.c (x_button_instantiate): Don't add image if
17781         it is not a pixmap.
17782         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17783         is relative.
17784
17785 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17786
17787         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17788         declaration.
17789         (DEFVAR_INT_MAGIC): Ditto.
17790         (DEFVAR_BOOL_MAGIC): Ditto.
17791         * glyphs.h: Reindent backslash.
17792
17793 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17794
17795         * glyphs-widget.c (layout_query_geometry):
17796         (layout_layout): Use correct types for gheight, gwidth.
17797
17798 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17799
17800         * EmacsManager.c (QueryGeometry): Purified.
17801
17802 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17803
17804         * alloc.c (make_float): Make sure entire object is initialized, to
17805         avoid Purify warnings.
17806         (pdump_register_sub): Remove useless assignment.
17807         (pdump): Use xmalloc, not malloc.
17808         (pdump_load): Use xmalloc, not malloc.
17809
17810 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17811
17812         * callproc.c:
17813         * dired-msw.c:
17814         * fileio.c:
17815         * process-nt.c:
17816         * redisplay-msw.c:
17817         * sysdep.c: Removed redundant #include <windows.h>
17818
17819 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17820
17821         * frame.c (delete_frame_internal): Do not delete device when its
17822         implementation so declares.
17823         (delete_frame_internal): Set device selected frame to nil when
17824         last frame goes away.
17825
17826         * device-msw.c (msprinter_device_system_metrics): Implemented.
17827         (mswindows_device_system_metrics): Added 'device-dpi property.
17828
17829         * device.c: (Fdevice_printer_p): Added.
17830         Added 'offset-workspace device metric.
17831
17832         * console.h (device_metrics): Declared DM_offset_workspace.
17833
17834 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17835
17836         * fileio.c (Ffile_truename): Remove pointless and confusing
17837         initialization of elen.
17838
17839         * glyphs-widget.c: Compiler warning fixes.
17840
17841 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17842
17843         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17844         instead of a Lisp_Object as argument to make it consistent with
17845         the other LIVE_P macros.
17846         (CHECK_LIVE_PROCESS): New macro.
17847
17848         * process.c: Declare Qprocess_live_p.
17849         (Fprocess_live_p): New function.
17850         (create_process): Use PROCESS_LIVE_P.
17851         (read_process_output): Ditto.
17852         (set_process_filter): Ditto.
17853         (Fdelete_process): Ditto.
17854         (kill_buffer_processes): Ditto
17855         (process_send_signal): Use CHECK_LIVE_PROCESS.
17856         (Fprocess_input_coding_system): Check whether process is still
17857         alive (fix PR#1061).
17858         (Fprocess_output_coding_system): Ditto.
17859         (Fprocess_coding_system): Ditto.
17860         (Fset_process_input_coding_system): Ditto.
17861         (Fset_process_output_coding_system): Ditto.
17862
17863 2000-01-23  Andy Piper  <andy@xemacs.org>
17864
17865         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17866         layout and widget.
17867
17868         * glyphs.c (mark_image_instance): take into account changed
17869         image_instance format.
17870         (image_instance_equal): ditto.
17871         (image_instance_hash): ditto.
17872
17873         * glyphs-widget.c (widget_instantiate): Incorporate layout
17874         instantiation here. Delay layout of the layout until later.
17875         (layout_instantiate): deleted.
17876         (layout_query_geometry): new function. get the geometry of a
17877         layout.
17878         (layout_layout): layout a layout dynamically.
17879         (image_instantiator_widget): New function - splitting up
17880         image_instantiator_format_create_glyphs_widget for netwinder
17881         compilation.
17882         (image_instantiator_buttons):
17883         (image_instantiator_edit_fields):
17884         (image_instantiator_combo_box):
17885         (image_instantiator_scrollbar):
17886         (image_instantiator_progress_guage):
17887         (image_instantiator_tree_view):
17888         (image_instantiator_tab_control):
17889         (image_instantiator_labels):
17890         (image_instantiator_layout): ditto.
17891         (image_instantiator_format_create_glyphs_widget): Call preceding
17892         functions.
17893
17894 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17895
17896         * process.c (Fset_process_coding_system):
17897         * device-x.c (Fx_keysym_hash_table):
17898         Docstring fixes.
17899
17900         * lstream.c (Lstream_write): Return documented value, not 0.
17901
17902         * fileio.c (directory_file_name):
17903         (Fsubstitute_in_file_name):
17904         (Fsubstitute_insert_file_contents_internal):
17905         (Fwrite_region_internal):
17906         * emacs.c:
17907         * sysdep.c:
17908         * getloadavg.c:
17909         * systty.h:
17910         Remove vestigial APOLLO-conditional code.
17911
17912 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17913
17914         * getpagesize.h: Add guard macros.
17915         * libsst.h: Add guard macros.
17916         * libst.h: Add guard macros.
17917         * line-number.h: Add guard macros.
17918         * ndir.h: Add guard macros.
17919         * sysfloat.h: Add guard macros.
17920         * sysfile.h: Add guard macros.
17921         * sysproc.h: Add guard macros.
17922         * syswait.h: Add guard macros.
17923         * xintrinsic.h: Add guard macros.
17924         * xintrinsicp.h: Add guard macros.
17925         * xmmanager.h: Add guard macros.
17926         * xmmanagerp.h: Add guard macros.
17927         * xmprimitive.h: Add guard macros.
17928         * xmu.h: Add guard macros.
17929         * gpmevent.h: Add copyright statement. Add guard macros.
17930         * miscplay.h: Add guard macros.
17931         * *.h: Use consistent C-standards-approved guard macro names.
17932
17933         * opaque.c (make_opaque): Switch parameter order.
17934         * opaque.h (make_opaque): Switch parameter order.
17935         Update all callers.
17936         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17937
17938         * config.h.in (type_checking_assert): Added.
17939         (bufpos_checking_assert): Added.
17940
17941 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17942
17943         * alloc.c: Harmless pdump changes.
17944         - Use countof().
17945         - spell alignment correctly.
17946         * sysdep.c: Use countof()
17947
17948 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17949
17950         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17951         initially_selected_for_input() console method, default to 0.
17952         (semi_canonicalize_console_connection): Try to delegate to
17953         canonicalize_console_connection if no such console method.
17954         (canonicalize_console_connection): Vice versa.
17955         (print_console): Do not print nil connection.
17956
17957         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17958         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17959         (XDEVIMPF_FRAMELESS_OK): Added.
17960         (CONSOLE_INHERITS_METHOD): Added.
17961
17962         * console-msw.c (mswindows_canonicalize_console_connection):
17963         Added.
17964         (mswindows_canonicalize_device_connection): Added.
17965
17966         * console-msw.h (struct msprinter_device): Added this struct and
17967         accessor macros.
17968         (mswindows_device): Made fontlist a lisp object.
17969
17970         * device.c (semi_canonicalize_device_connection):  Try to delegate
17971         to canonicalize_device_connection if no such console method.
17972         (canonicalize_device_connection): Vice versa.
17973         (print_device): Do not print nil connection.
17974
17975         * device-msw.c (mswindows_init_device): Call InitCommonControls
17976         when have widgets.
17977         (mswindows_delete_device): Removed fontlist deallocation.
17978         (mswindows_mark_device): Added.
17979
17980         * events.c (event_equal): Added abort() at unreached code.
17981         (event_hash): Ditto.
17982
17983         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17984         fallback tags of Windows devices.
17985
17986         * general.c (syms_of_general): Initialized Qmsprinter.
17987
17988         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17989         of fallback tags of Windows devices.
17990
17991         * lisp.h: Declared Qmsprinter.
17992
17993         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17994         of strings.
17995         (mswindows_list_fonts): Ditto.
17996         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17997         that it can be used by both mswindows and msprinter devices.
17998         (initialize_font_instance): Added.
17999         (mswindows_initialize_font_instance): Use it.
18000         (msprinter_initialize_font_instance): Added.
18001
18002         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
18003         and implementation flags check.
18004         (redisplay_without_hooks): Changed the call to the above.
18005         (Fredraw_device): Ditto.
18006         (Fredisplay_device): Ditto.
18007
18008         * redisplay-msw.c (get_frame_dc): Implemented.
18009         (get_frame_compdc): Implemented.
18010         (many functions): Use the two functions above to get device
18011         contexts, ether for a window or a printer.
18012
18013 2000-01-21  Olivier Galibert  <galibert@pobox.com>
18014
18015         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
18016         initialization here.
18017         (init_symbols_once_early): Call it.
18018         * emacs.c (main_1): Call it.
18019         * symsinit.h: Declare it.
18020
18021 2000-01-19  Olivier Galibert  <galibert@pobox.com>
18022
18023         * alloc.c: Use a lrecord_header * in the backtrace instead of a
18024         Lisp_Object.
18025         (pdump_backtrace): Ditto.
18026         (pdump_register_object): Ditto.  Cleanup use of the pointers.
18027         (pdump_get_entry): Abort if trying to register a null pointer.
18028         (pdump_dump_data): Cleanup types when relocating.
18029         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
18030         (pdump_dump_rtables): Remove bad casts.
18031         (pdump_load): Cleanup relocation w.r.t union type.  Use a
18032         Lisp_Object instead of a EMACS_INT for the hashtable
18033         reorganization.
18034
18035 2000-01-20  Martin Buchholz  <martin@xemacs.org>
18036
18037         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
18038
18039         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
18040
18041         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
18042
18043         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
18044
18045 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18046
18047         * faces.h (FACE_STRIKETHRU_P): Added.
18048
18049         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
18050         of font variants.
18051
18052         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
18053         (mswindows_set_dc_font): New function, aware of font variants,
18054         separated from mswindows_update_dc.
18055
18056         * objects-msw.h (struct mswindows_font_instance_data): Added
18057         definition.
18058
18059         * objects-msw.c (mswindows_finalize_font_instance): Delete all
18060         cached fonts and the data structure.
18061         (mswindows_initialize_font_instance): Added creation of font data
18062         structure.
18063         (mswindows_print_font_instance): Print at least something.
18064         (mswindows_create_font_variant): Implemented.
18065         (mswindows_get_hfont): Implemented.
18066
18067 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18068
18069         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18070         prototyping problem with msvc.
18071
18072         * emacs.c (main_1): added syms_of_gui_mswindows() call
18073
18074         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18075         syms_of_gui_mswindows() function
18076
18077         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18078
18079 2000-01-18  Martin Buchholz <martin@xemacs.org>
18080
18081         * XEmacs 21.2.27 is released.
18082
18083 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18084
18085         * glyphs-eimage.c (struct tiff_error_struct):
18086         (tiff_error_func):
18087         (tiff_warning_func):
18088         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18089
18090         * unexmips.c:
18091         * unexhp9k3.c:
18092         * unexfreebsd.c:
18093         * unexec.c: Remove vestigial Lucid C code.
18094         * unexalpha.c:
18095         * unexaix.c:
18096         * termcap.c:
18097         * libsst.c: Ansify.
18098         Remove declarations of errno and strerror().
18099
18100         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18101
18102         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18103
18104 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18105
18106         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18107         Optimize.
18108
18109 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18110
18111         * md5.c:
18112         * file-coding.c:
18113         * file-coding.h:
18114         Change enum eol_type to eol_type_t.
18115
18116 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18117
18118         * gui.c (get_gui_callback): Check cons before accessing car.
18119
18120 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18121
18122         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18123         (XSETSPECIFIER_TYPE): Ditto.
18124
18125 2000-01-17  Didier Verna  <didier@xemacs.org>
18126
18127         * redisplay.c (generate_fstring_runes): compute string size in
18128         characters, not bytes.
18129
18130 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18131
18132         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18133
18134 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18135
18136         * print.c (print_error_message): Call print_prepare().
18137
18138 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18139
18140         * .dbxrc: Renamed from dbxrc.
18141
18142         * events.c (event_to_character):
18143         Use `assert (foo)' instead of `if (!foo) abort()'
18144
18145         * .gdbinit (xtype): Add documentation.
18146         * .gdbinit (check-temacs): New function.
18147         * .gdbinit (check-xemacs): New function.
18148         * dbxrc (check-xemacs): New function.
18149         * dbxrc (check-xemacs): New function.
18150
18151 2000-01-14  Andy Piper  <andy@xemacs.org>
18152
18153         * glyphs-widget.c (widget_query_geometry): Make sure that we
18154         calculate default dimensions correctly.
18155
18156 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18157
18158         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18159
18160         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18161         pdump_wire'd variable.
18162
18163         * emacs.c: (main_1): Conditionalized calls to
18164         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18165
18166 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18167
18168         * window.c (Fset_window_configuration):
18169         * sysdep.c (_start):
18170         * input-method-motif.c (res):
18171         * event-Xt.c (Xt_process_to_emacs_event):
18172         Simple compiler warning fixes.
18173
18174         * bytecode.c (funcall_compiled_function): Use the original
18175         function symbol on the backtrace list in preference to the
18176         compiled_function object in error messages.
18177
18178 2000-01-13  Andy Piper  <andy@xemacs.org>
18179
18180         * glyphs-x.c (update_widget_face): Make sure we update the widget
18181         background as well as foreground.
18182
18183 2000-01-13  Andy Piper  <andy@xemacs.org>
18184
18185         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18186         fields to subwindow.
18187         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18188         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18189         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18190         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18191
18192         * glyphs-widget.c (check_valid_tab_orientation): new function.
18193         (initialize_widget_image_instance): zero orientation and
18194         justification.
18195         (widget_instantiate): pick up orientation.
18196         (tab_control_query_geometry): return appropriate values for
18197         vertical tabs.
18198
18199         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18200         appropriate creation flags for left, right and bottom tabs.
18201
18202         * s/cygwin32.h: add tab definitions.
18203
18204 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18205
18206         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18207         frame upon hiding a subwindow.
18208         (mswindows_button_instantiate): Changed the push button style to
18209         BS_PUSHBUTTON.
18210         (mswindows_button_instantiate): Removed button BS_NOTIFY
18211         style.
18212         (mswindows_button_instantiate): Removed redundant check for
18213         a disabled gui item.
18214         (mswindows_button_instantiate): Made use of WS_TABSTOP
18215         consistent: "operable" controls (edit, button, tree, scroll) have
18216         this style, "display-only" ones (static, progress gauge) do
18217         not. This style is currently ignored by XEmacs though. Also,
18218         removed the WS_EX_CONTROLPARENT style - it is not for children,
18219         it is for their parents!
18220         (mswindows_edit_field_instantiate): Ditto.
18221         (mswindows_progress_gauge_instantiate): Ditto.
18222         (mswindows_tree_view_instantiate): Ditto.
18223         (mswindows_tab_control_instantiate): Ditto.
18224         (mswindows_scrollbar_instantiate): Ditto.
18225         (mswindows_combo_box_instantiate): Ditto.
18226         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18227         style to the "clip" window.
18228         (mswindows_button_instantiate): Removed compilation warning by
18229         equally typing terms of the ?: operator.
18230
18231 2000-01-12  Didier Verna  <didier@xemacs.org>
18232
18233         * redisplay.c (generate_fstring_runes): new parameter holding the
18234         last modeline-format extent.
18235         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18236         extent, fill the glyph block with it.
18237         (generate_fstring_runes): handle these parameters.
18238         (generate_formatted_string_db): ditto.
18239
18240         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18241         glyphs'extents in the modeline.
18242
18243 1999-01-11  Mike Woolley  <mike@bulsara.com>
18244
18245         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18246         256Mb, as a workaround for the non-starting problem many people
18247         have experienced.
18248
18249 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18250
18251         * console-tty.c (Fset_console_tty_output_coding_system):
18252         Force redrawing tty frame.
18253
18254 2000-01-10  Didier Verna  <didier@xemacs.org>
18255
18256         * redisplay.c (generate_fstring_runes): fix size computation bug.
18257
18258 2000-01-09  William M. Perry <wmperry@aventail.com>
18259
18260         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18261
18262 2000-01-09  Andy Piper  <andy@xemacs.org>
18263
18264         * glyphs-msw.c: index -> i to avoid shadows.
18265         (xbm_create_bitmap_from_data): make static.
18266         (check_valid_string_or_int): deleted.
18267         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18268
18269         * glyphs-x.c (x_update_subwindow): remove unused args.
18270
18271         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18272         back pointer - this is done in allocate_image_instance.
18273         (query_string_font): return Qnil to make the compiler happy.
18274         (unmap_subwindow): set to ~0 to make the compiler happy.
18275         (glyph_query_geometry): comment out until used.
18276         (glyph_layout): ditto.
18277
18278 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18279
18280         * insdel.c (signal_after_change): Remove extraneous unbind_to().